var clientPC = navigator.userAgent.toLowerCase();
var clientVer = parseInt(navigator.appVersion);
var nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var moz = 0;
var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);
var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;

if(document.all)                                {ie=1; ns6=0; fShow="visible"; fHide="hidden";}
if(document.getElementById && !document.all)    {ie=0; ns6=1; fShow="visible"; fHide="hidden";}
opr6 = ie&&navigator.userAgent.indexOf("Opera")!=-1;
window.onerror = new Function("return true");

var win_ie_ver = parseFloat(navigator.appVersion.split("MSIE")[1]);
if (navigator.userAgent.indexOf('Mac')        >= 0 ||
	 navigator.userAgent.indexOf('Windows CE') >= 0 ||
    navigator.userAgent.indexOf('Opera')      >= 0) win_ie_ver = 0;


var folder;

function confirm_(caption_, url_){
	var val = confirm(caption_);
	if(val){
		window.location=url_;
	}
}

function previewImage(form_name, list, image, base_path, blank_image) {
	form = eval("document." + form_name);
	srcList = eval("form." + list);
	srcImage = eval("document." + image);

	var fileName = srcList.options[srcList.selectedIndex].text;
	var fileName2 = srcList.options[srcList.selectedIndex].value;

	if (fileName.length == 0 || fileName2.length == 0) {
		srcImage.src = blank_image;
	} else {
		srcImage.src = base_path + fileName2;
	}
}

function setImage(image, file_src) {
	if(document.all)
		srcImage = document.all[image];
	else
		srcImage = document.getElementById(target);
	
	if(srcImage)
		srcImage.src = file_src;	
}

function setPlusMinusImage(img, imgbase, imgstyle){
   if(imgstyle) setImage(img, imgbase+'forms/minus.gif')
   else setImage(img, imgbase+'forms/plus.gif')
}

// From http://www.massless.org/mozedit/
function mozWrap(txtarea, open, close){
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	if (selEnd == 1 || selEnd == 2) selEnd = selLength;
	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);
	txtarea.value = s1 + open + s2 + close + s3;
	return;
}

function storeCaret (){
	selectedInputArea = this;
	if(selectedInputArea.createTextRange){
		selectedRange = document.selection.createRange().duplicate();
	}
}

function clear_text(form_name, text_area_name){
	hform = eval("document." + form_name);
	ta = eval("hform." + text_area_name);

	ta.value ='';
}

function check_val(hform, req){
	var i, j;

	for(i=0; i<req.length; i++){
		ta = eval("hform." + req[i][0]);

		if(req[i][2] == 'noblank'){
			if(ta.value == ''){
				alert('Пожалуйста, введите ' + req[i][1] + '!');
				ta.focus();
				return false
			}
		}
		else if(req[i][2] == 'nozero'){
			if(parseInt(ta.value) == '0'){
				alert('Пожалуйста, введите ' + req[i][1] + '!');
				ta.focus();
				return false
			}
		}
		else if(req[i][2] == 'float'){
			re = /\,/;
			tmp = ta.value.replace(re, '.');	
			re = / /;
			tmp = tmp.replace(re, '');	
						
			tmp = parseFloat(tmp);
			if(isNaN(tmp)){
				alert('Некорректное значение ' + req[i][1] + '.\nДолжно быть число!');
				ta.focus();
				return false
			}
			else ta.value = tmp;
		}
		else if(req[i][2] == 'int'){
			re = / /;
			tmp = ta.value.replace(re, '');
			tmp = parseInt(tmp);
			if(isNaN(tmp)){
				alert('Некорректное значение ' + req[i][1] + '.\nДолжно быть число!');
				ta.focus();
				return false
			}
			else ta.value = tmp;
		}
		else if(req[i][2] == 'pass'){
			ta2 = eval("hform." + req[i][0] + "1");
			tmp = ta.value.toString();
			tmp2 = ta2.value.toString();
			if(tmp=='' || tmp2=='' || tmp1!=tmp2){
				alert('Пожалуйста, введите ' + req[i][1] + '. Значения в полях должны совпадать!');
				ta.focus();
				return false
			}
		}
		else if(req[i][2] == 'email'){
			tmp = ta.value.toString();
			if(tmp != ""){
				t = tmp.indexOf("@");
				if((tmp.indexOf(".") == -1) || (t == -1) || (t < 1) || (t > tmp.length - 5) || (tmp.charAt(t - 1) == '.') || (tmp.charAt(t + 1) == '.')){
					alert('Некорректно указан ' + req[i][1] + '.\nДолжен быть Email!');
					ta.focus();
					return false
				}
			}
			else{
				alert('Некорректно указан ' + req[i][1] + '.\nПустое значение не допустимо!');
				ta.focus();
				return false
			}
		}
	}
	return true;
}

function insert_text(form_name, text_area_name, text){
	hform = eval("document." + form_name);
	ta = eval("hform." + text_area_name);

	val = text.split('] [');

	if(document.selection && document.selection.createRange){
		theSelection = document.selection.createRange().text;
		if (theSelection) {
			if(val==text) document.selection.createRange().text = text +  theSelection;
			else document.selection.createRange().text = val[0] +']' +  theSelection + '[' + val[1];
			ta.focus();
			theSelection = '';
			return;
		}
	}
	else if (ta.selectionEnd && (ta.selectionEnd - ta.selectionStart > 0)){
		if(val==text) mozWrap(ta, text, '');
		else mozWrap(ta, val[0] +']', '[' + val[1]);
		return;
	}

	ta.value  += text;
	ta.focus();
}

function show_hint(form_name, hint_area_name, help){
	hform = eval("document." + form_name);
	helpb = eval("hform." + hint_area_name);
	helpb.value = help;
}

function expandit(curobj, target){
   var AObj = ie? eval(target) : document.getElementById(target);

   if(AObj){
		folder = AObj.style;
	}
	else{
		if(nav || opr6)
			folder=curobj.nextSibling.style;
      else
         folder=document.all[curobj.sourceIndex+1].style;
	}

	if(folder.display=="none"){
		folder.display="";
		folder.visibility="visible";
      return true;
	}
	else{
		folder.display="none";
		folder.visibility = "hidden";
      return false;
	}
}

function parse(obj, type){
	if(type == 'int'){
		re = /[^0-9]|\s/;
		tmp = obj.value.replace(re, '');
		tmp = parseInt(tmp);
		if(isNaN(tmp))	obj.value = 0;
		else obj.value = tmp;
	}
	else if(type == 'float'){
		re = /[^0-9\.\,]|\s/;
		tmp = obj.value.replace(re, '');
		tmp = parseFloat(tmp);
		if(isNaN(tmp))	obj.value = 0;
		else obj.value = tmp;
	}
	return true;
}






if (navigator.userAgent.toLowerCase().indexOf('gecko') != -1) { // Author: Denis Ivchenko (voodoos) http://aspnetmania.com/Users/User/1010.html
	window.attachEvent = function(eventName, delegate) {
		this.addEventListener(eventName.substring(2), delegate, false);
	}

	window.detachEvent = function(eventName, delegate) {
		this.removeEventListener(eventName.substring(2), delegate, false);
	}

	window.document.attachEvent = function(eventName, delegate) {
		this.addEventListener(eventName.substring(2), delegate, false);
	}

	window.document.detachEvent = function(eventName, delegate) {
		this.removeEventListener(eventName.substring(2), delegate, false);
	}

	HTMLElement.prototype.attachEvent = function(eventName, delegate) {
		this.addEventListener(eventName.substring(2), delegate, false);
	}

	HTMLElement.prototype.detachEvent = function(eventName, delegate) {
		this.removeEventListener(eventName.substring(2), delegate, false);
	}

	HTMLElement.prototype.fireEvent = function(eventName, eventInstance) {
		var events = this.ownerDocument.createEvent("events");
		events.initEvent(eventName.substring(2), false, true);
		this.dispatchEvent(ev);
	}

	Event.prototype.__defineGetter__("srcElement", function () {
		var node = this.target;
		while (node.nodeType != 1) node = node.parentNode;
		return node;
	})
}


function getObjByID(aid){
	if(typeof aid!='string') return aid;
	else{
		if(document.all) return document.all[aid];
		else if(document.getElementById) return document.getElementById(aid);
		else return null;
	}
}

function checkDefined(){
	for (var i=0; i<arguments.length; i++)
		if(typeof(arguments[i])=='undefined') return false;
	return true;
}

function expand(target){
	if(!(target = getObjByID(target))) return false;

	if(target.style){
		target.style.visibility = (target.style.display=='none')?'visible':'hidden';
		target.style.display = (target.style.display=='none')?'':'none';

		return (target.style.visibility=='visible');
	}
	return false;
}

function expanditnext(target){
	if(!(target = getObjByID(target))) return false;
		
	if(checkDefined(target.nextSibling)) target=target.nextSibling;
	else if(document.all) target=document.all[target.sourceIndex+1];
	else return false;
		
	return expandit(target);
}

function focusit(target, event){
	if(!(target = getObjByID(target))) return;
    
	if(event){
		if((document.all && event.keyCode == 13) || ((document.getElementById || document.layers) && event.which == 13)){
			event.returnValue=false;
			event.cancel=true;
			
			if(checkDefined(target.focus)) target.focus();
		}
	}
	else
		if(checkDefined(target.focus)) target.focus();	
}

function clickit(target, event){
	if(!(target = getObjByID(target))) return;
    
   if(event){
		if((document.all && event.keyCode == 13) || ((document.getElementById || document.layers) && event.which == 13)){
			event.returnValue=false;
			event.cancel=true;
			
			if(checkDefined(target.click)) target.click();
		}
	}   
}

function SetText(target, value){
	if(!(target = getObjByID(target))) return false;
	
	if(checkDefined(target.innerHTML)){
		target.innerHTML = value;
		return true;
	}
	else return false;
}

function SetImage(target, value){
	if(!(target = getObjByID(target))) return false;
	
	if(checkDefined(target.setAttribute)){
		target.setAttribute('src', value);
		return true;
	}
	else return false;
}

function SetImageLarge(target, value){
	if(!(target = getObjByID(target))) return false;
	
	if(checkDefined(target.setAttribute)){
		target.setAttribute('srclarge', value);
		return true;
	}
	else return false;
}

function c_(){
	return "'";
}

function c__(){
	return '"';
}

var ShowImagePath = 'showimage.php';

OnclickImage = function(element) {
	this.element = element;

   this.imgClick = new Image();
   this.imgClick.src = element.getAttribute('srclarge');

   var instance = this;
   element.attachEvent("onclick", function(event) { instance.onClick(event); } );
   
   if(element.style.setAttribute){
	   element.style.setAttribute("cursor", "pointer");
	   element.style.setAttribute("cursor", "hand");
   }
   else if(element.style.setProperty){
	   element.style.setProperty("cursor", "pointer", "");
	   element.style.setProperty("cursor", "hand", "");
   }
}

OnclickImage.prototype.element = null;
OnclickImage.prototype.imgClick = null;            

OnclickImage.prototype.onClick = function(event) {
	this.imgClick.src = this.element.getAttribute('srclarge');

	if(this.imgClick.src != '')
		window.open(ShowImagePath + '?img=' + this.imgClick.src, "Large", "toolbar=no,status=no,resizable=yes,dependent=yes,width=100,height=100");
	return false;
}

OnclickImage.PageLoad = function (event) {
	var i, img, Alt, overSrc;	

   for(i = 0; img = document.images[i]; i++) {
		Alt = img.getAttribute('alt');
		
		if(Alt != null && Alt != '') img.setAttribute('title', Alt);
		
		overSrc = img.getAttribute('srclarge');
   
      if(overSrc != null)
			new OnclickImage(img);
	}
}


if(root){  
  root.attachEvent("onload", OnclickImage.PageLoad);
  }
