function ShowGalItem(obj) {
	if (obj.parentNode.className=="item") {
		$(obj).parents(".item").addClass("active");
		$(obj).next(".photo").slideDown("slow");
	} else if (obj.parentNode.className=="item active") {
		$(obj).parents(".item").removeClass("active");		
		$(obj).next(".photo").slideUp("slow");
	}	
}

var showed_select = null;

function HideOpenedSelects(){
	if (showed_select != null){ //HideSelect
		var sib = showed_select.nextSibling;
		while (sib.tagName != 'DIV') sib = sib.nextSibling;
		sib = sib.childNodes.item(0).childNodes.item(0);
		while (sib.tagName != 'A') sib = sib.nextSibling;
		HideSelect(sib);
		showed_select = null;
//		alert(showed_select.nextSibling.nextSibling.childNodes.item(0).childNodes.length); //.childNodes.item(0).childNodes.item(0).tagName
	}
}

var fakeSelectTimeout = false;

function timeoutHideFakeSelects(){ unsetTimeoutFakeSelects(); fakeSelectTimeout = setTimeout("HideOpenedSelects()",500); }
function unsetTimeoutFakeSelects(){ if (fakeSelectTimeout) clearTimeout(fakeSelectTimeout); fakeSelectTimeout = false; };

window.onclick = function(){ timeoutHideFakeSelects(); }
document.onclick = function(){ timeoutHideFakeSelects(); }

function ShowSelect(itemobj) {
	var old = showed_select;
	HideOpenedSelects();
	if (old != itemobj){
		showed_select = itemobj;
		$(itemobj).next(".big").addClass("active_select");
		$(".active_select .select").slideDown("slow");	
		$(itemobj).next("div.select").slideDown("slow");
		setTimeout("unsetTimeoutFakeSelects()",300);
	}
}

function HideSelect(itemobj) {
	$(itemobj).parent("div.select").slideUp("slow");
	$(".active_select").removeClass("active_select");
	showed_select = null;
}

function ClearInput(obj) {
	var valInput = $(obj).val();
	$(obj).val('');	
}

$(document).ready(function(){
  $("a.help, area").tooltip({
    track: true,
    delay: 100,
    showURL: false,
    opacity: 0.6
  });
});

function ShowCatalogInfo(obj) {
	var IE = navigator.appName=="Microsoft Internet Explorer";
	var IEver = '';
	if (IE){
		$("#dark").css({ display: "block" });
		$("#popupie").css({ display: "block" });
		$("#more_info").css({ display: "block" });
	} else {
		$("#dark").animate({ opacity: "show" }, "slow");
		$("#popupie").animate({ opacity: "show" }, "slow");
		$("#more_info").animate({ opacity: "show" }, "slow");
	}
}

function HideCatalogInfo(obj) {
	var IE = navigator.appName=="Microsoft Internet Explorer";
	var IEver = '';
	if (IE){
		$("#dark").css({ display: "none" });
		$("#popupie").css({ display: "none" });
		$("#more_info").css({ display: "none" });
	} else {
		$("#dark").animate({ opacity: "hide" }, "slow");
		$("#popupie").animate({ opacity: "hide" }, "slow");
		$("#more_info").animate({ opacity: "hide" }, "slow");
	}
}

//================================

function SetSelectValue(objs, code, text){
	document.getElementById(objs).value = code;
	document.getElementById(objs + "_fake").value = text;
}

function multiReplace(str, from, to){
	var s2;
	while (1){
		s2 = str.replace(from,to);
		if (s2 == str) return s2;
		str = s2;
	}
}

function antiHtmlSpecialChars(str){
	str = multiReplace(str, "&nbsp;"," ");
	str = multiReplace(str, "&quot;","\"");
	return str;
}

//Для опросного листа:
function HideSelectOpros(itemobj) {
	HideSelect(itemobj);
	
	var val = antiHtmlSpecialChars(itemobj.innerHTML);
	var nod = itemobj.parentNode.parentNode;
//	alert(nod.tagName);
	for (var i=0; i<4; i++){
		nod = nod.previousSibling;
		if (nod.tagName == 'INPUT'){
			nod.value = val;
			return true;
		}
	}
	return false;
}

function ajax_newXmlHttpObject()
{
	if (window.XMLHttpRequest) {
		try {
			return new XMLHttpRequest();
		} catch (e){}
	} else if (window.ActiveXObject) {
		try {
			return new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e){}
		try {
			return new ActiveXObject('Microsoft.XMLHTTP');
		} catch (e){}
	}
	return null;
}

function ajax_DoRequest(uri_, codeAfter, codeOnError){
  //gen query url:
	var dttm = new Date;
	var url = "http://" + location.hostname + uri_ + "&rnd="+dttm.getTime();
//	alert(url);
	
	if (!codeOnError) codeOnError = 'alert("Failed query to service!");';
	
  //request:
	var ajax = ajax_newXmlHttpObject();
	if (ajax){
		ajax.onreadystatechange = function (){
			if (ajax.readyState == 4){
				if (ajax.status == 200){
//						alert(codeAfter);
					eval(codeAfter+";");
				}
				else{
					eval(codeOnError+";");
				}
				ajax = null;
			}
		};
		
		ajax.open("GET", url, true);
		ajax.send("null");						
		return true;
	}
}

//=========================================================
var catalogueLoadStek = new Array();

function catalogueFakeSelectSetDisabled(id){
	var fake = document.getElementById(id+"_fake");
	if (!fake) return false;
	HideSelect(fake);
	fake.disabled = true;
	$(fake).addClass('disabled');
}
function catalogueFakeSelectSetUnDisabled(id){
	var fake = document.getElementById(id+"_fake");
	if (!fake) return false;
	HideSelect(fake);
	fake.disabled = false;
	$(fake).removeClass('disabled');
}
function catalogueFakeSelectSetOptions(id){
	var types = new Array('kind','env','du','manuf','conn');
	var str = '';
	for (var i=0; i<types.length; i++) str+= '&'+types[i]+'='+document.getElementById(types[i]).value;
	catalogueFakeSelectSetDisabled(id);
	document.getElementById(id).value = '-1';
	document.getElementById(id + "_fake").value = 'Все';
	ajax_DoRequest('/inc/catalog/params.php?type='+id+str, '$(\'#'+id+'_options_container\')[0].innerHTML = ajax.responseText; catalogueFakeSelectSetUnDisabled(\''+id+'\');', 'return false');
}
function catalogueShowAuma(){
	$('#auma').css({display: 'block'}); $('#hide').css({display: 'none'});
}
function catalogueHideAuma(){
	$('#auma').css({display: 'none'}); $('#hide').css({display: 'block'});
}
function catalogueSetSelectValue(objs, code, text){
	document.getElementById(objs).value = code;
	document.getElementById(objs + "_fake").value = text;
	var newCatalogueLoadStek = new Array();
	for (var i=0; i<catalogueLoadStek.length; i++){
		if (catalogueLoadStek[i]!=objs) newCatalogueLoadStek[i] = catalogueLoadStek[i];
		else break;
	}
	if (code>0) newCatalogueLoadStek[newCatalogueLoadStek.length] = objs;
	catalogueLoadStek = newCatalogueLoadStek;
	catalogueLoadAvailableValues(objs);
}
function catalogueLoadAvailableValues(noid){
	var types = new Array('kind','env','du','manuf','conn');
	var addtypes = new Array();
	for (var i=0; i<types.length; i++){
		var add = (types[i]==noid)?false:true;
		for (var j=0; j<catalogueLoadStek.length; j++) if (catalogueLoadStek[j]==types[i]) add = false;
		if (add) addtypes[addtypes.length] = types[i];
	}
	for (var i=0; i<addtypes.length; i++) catalogueFakeSelectSetOptions(addtypes[i]);
}

//=========================================================

function StrTrim(str){
	var re = new RegExp("^\\s*(.*?)\\s*$","i");
	re.exec(str);
	return RegExp.$1;
}

function CheckStr(obj, minlen){
	if (StrTrim(obj.value).length < minlen){
		return false;
	}
	return true;
}

function CheckEmail(obj){
	var n=0, i=-1, ix=-1, str = obj.value, err = false;
	while (i < str.length){
		i = str.indexOf('@', i+1);
		if (i >= 0){ n++; if (i==0) err = true; ix=i;}
		if (i < 0) break;
	}
	if (n != 1) err = true;
	if (str.length < 3) err = true;
	
	if (str.indexOf('.',ix+2) < 0) err = true;
	
	return (!err);
}					

function NumOnly(obj, e){
	if (!e) var e = window.event;
	var key = e.keyCode;
	if (!(key>0)) key = e.charCode;
	//alert(key);
	if ((key < 48 || key > 57) && key != '-'.charCodeAt(0) && key != 8 && key != 37 && key != 39 && key != 9 && key != 46 && key != 36 && key != 35 && key != 32 && key != 40 && key != 41 && key != 43){ //0-9,) (,+,-,пробел, табуляция, стрелоки, backspace, del
		return false;
	}
	return true;
}
