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);

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 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 expandit(target){
	if(!(target = getObjByID(target))) return false;

	if(arguments.length > 1 && arguments[1]==true){
		var el = document.getElementsByTagName('a');
		var el_len = el.length; 
		
		for(var i = 0; i < el_len; i++){
			var oc = el[i].getAttribute('onclick');
		
			if(oc != null && String(oc).indexOf('expandit') >= 0){
				oc = String(oc);
				
				var sub_target = oc.match(/expandit *\( *([^,\)]+)/i);
				sub_target = sub_target[1];
				
				if(sub_target != ''){
					if(sub_target.indexOf('\'') == 0 || sub_target.indexOf('"') == 0)
						sub_target = sub_target.substring(1, sub_target.length-1);
						
					if(sub_target = getObjByID(sub_target)){
						sub_target.style.visibility = 'hidden';
						sub_target.style.display = 'none';	
					}
				}				
			}
		}
	}
	
	
	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 SetStyle(target, value){
    if(!(target = getObjByID(target))) return false;
    
    for(stylename in value) target.style[stylename] = value[stylename];
}

function SetImage(target, value){
	if(!(target = getObjByID(target))) return false;

	var Result = false;
	
	if(document.all && checkDefined(target.style.filter)){			
		target.style.filter = "blendTrans(duration=2)";
		target.style.filter = "blendTrans(duration=crossFadeDuration)";
		target.filters.blendTrans.Apply(); 
	}
	
	if(checkDefined(target.setAttribute)){
		target.setAttribute('src', value);
		Result = true;
	}
	
	if(document.all && checkDefined(target.style.filter))
		target.filters.blendTrans.Play();	
	
	return Result;
}


RoloverImage = function(element, oversrc){
	this.element = element;
	this.realsrc = element.getAttribute('src');
	this.oversrc = oversrc;
	
	var instance = this;
	
	SetImage(element, oversrc);
	element.setAttribute('onmouseover', '');	
	
   element.attachEvent("onmouseover", function(event) { instance.onMouseOver(event); } );
	element.attachEvent("onmouseout", function(event) { instance.onMouseOut(event); } );
}

RoloverImage.prototype.onMouseOut = function(event) {	
	SetImage(this.element, this.realsrc);
	return false;
}

RoloverImage.prototype.onMouseOver = function(event) {	
	SetImage(this.element, this.oversrc);
	return false;
}


function SetImageRolover(target, value){
	if(!(target = getObjByID(target))) return false;	
	new RoloverImage(target, value);
}

RoloverText = function(element, target, overtext){
	this.element = element;
	this.target = target;
	this.realtext = target.innerHTML;
	this.overtext = overtext;
		
	var instance = this;
	
	SetText(target, overtext);
	element.setAttribute('onmouseover', '');
	
   element.attachEvent("onmouseover", function(event) { instance.onMouseOver(event); } );
	element.attachEvent("onmouseout", function(event) { instance.onMouseOut(event); } );
}

RoloverText.prototype.onMouseOut = function(event) {	
	SetText(this.target, this.realtext);
	return false;
}

RoloverText.prototype.onMouseOver = function(event) {		
	SetText(this.target, this.overtext);
	return false;
}


function SetTextRolover(obj, target, value){	
	if(!(obj = getObjByID(obj))) return false;	
	if(!(target = getObjByID(target))) return false;	
	new RoloverText(obj, target, value);
}




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);
	}
}

function m_ov(target, type){
	if(!((type + '_cur_for_ov') in window)) window[type + '_cur_for_ov'] = null;
		
	if(window[type + '_cur_for_ov'] == null){
		var a = document.getElementsByTagName('a');
		var a_len = a.length; 
		
		for(var i = 0; i < a_len; i++) {
			var id = a[i].getAttribute('id');			
			if(id == (type + '_current')){ window[type + '_cur_for_ov'] = a[i]; break; }
		}
	}
	
	target.setAttribute('id', type + '_current');
	if(window[type + '_cur_for_ov'] != null && window[type + '_cur_for_ov'] != target) window[type + '_cur_for_ov'].setAttribute('id', null);
}

function m_ou(target, type){
	if(!((type + '_cur_for_ov') in window)) window[type + '_cur_for_ov'] = null;
	
	target.setAttribute('id', null);	
	if(window[type + '_cur_for_ov'] != null) window[type + '_cur_for_ov'].setAttribute('id', type + '_current');
}


function PreloadImage(){	
	if(!('____ImgToPreload' in window)) window['____ImgToPreload'] = new Array();
	
	for(var i = 0; i < arguments.length; i++){	
		window['____ImgToPreload'][window['____ImgToPreload'].length] = new Image();
		window['____ImgToPreload'][window['____ImgToPreload'].length-1].src = arguments[i];
	}	
}


function ScriptsOnPageLoad(event) {
	OnclickImage.PageLoad(event);
}
