function setHint(_id,_caption,_class)
{
	if (document.getElementById(_id)==null)
		return;
	var inp=document.getElementById(_id);
	inp._caption=_caption;
	inp._class=_class;
	if (inp.value.length==0)
	{
		inp.value=_caption;
		inp.className+=' '+_class;
		inp._state=0;
	}else
	{
		inp._state=1;
	}
	inp.onfocus=function () {
		if (this._state==0)
		{
			this._state=1;
			this.value='';
			this.className=this.className.replace(' '+this._class,'');
		}
	}
	inp.onblur=function () {
		if (this.value.length==0)
		{
			this._state=0;
			this.value=this._caption;
			this.className+=' '+this._class;
		}
	}
}
function i_focus (objdata) 
{
	if (objdata.value==objdata.alt) 
	{
		objdata.value='';
		objdata.className+=" active";
	}
}
function i_blur (objdata) 
{
	if (objdata.value=='') 
	{
		objdata.value=objdata.alt;
		objdata.className=objdata.className.replace(/active/g,"");
	}
}
function onlynum(event)
{
	var e=event;
	var k=(typeof e.charCode=="undefined"?e.keyCode:e.charCode);
	if (k<32||e.ctrlKey||e.altKey||e.metaKey)
		return true;
	return (k>=48&&k<=57);
}
function onlyfloat(event)
{
	var e=event;
	var k=(typeof e.charCode=="undefined"?e.keyCode:e.charCode);
	if (k<32||e.ctrlKey||e.altKey||e.metaKey)
		return true;
	return(k>=48&&k<=57)||(k==46);
}
function valid_integer_replace(obj)
{
	obj.value=obj.value.replace(/[^0-9]+/g,'');
}
function valid_float_replace(obj)
{
	obj.value=obj.value.replace(/\,/g,'.');
	obj.value=obj.value.replace(/[^0-9\.]+/g,'');
}
function flip_hidden(obj,target_id)
{
	if (obj.type=='checkbox')
	{
		for (i=0;i<target_id.length;i++)
		{
			if (obj.checked)
			{
				document.getElementById(target_id[i]).style.display='';
			}else
			{
				document.getElementById(target_id[i]).style.display='none';
			}
		}
	}else
	{
		for (i=0;i<target_id.length;i++)
		{
			if (obj.selectedIndex==obj.options.length-1)
			{
				document.getElementById(target_id[i]).style.display='';
			}else
			{
				document.getElementById(target_id[i]).style.display='none';
			}
		}
	}
}
function flip_select(obj,target_id)
{
	if (obj.selectedIndex==obj.options.length-1)
	{
		document.getElementById(target_id).style.display='';
	}else
	{
		document.getElementById(target_id).style.display='none';
	}
}
function disable_submit(obj)
{
	obj.disabled='disabled';
	obj.value='Ждите...';
}

//style="font-weight: bold;"
function switch_check(sender,change_class)
{
	if (change_class!=null)
	{
		if (sender.checked)
		{
			if (document.getElementById(change_class))
				document.getElementById(change_class).style.fontWeight = 'bold';
		}else
		{
			if (document.getElementById(change_class))
				document.getElementById(change_class).style.fontWeight ='normal';
		}
	}
}
/*
function switch_check(sender,change_class)
{
	if (change_class!=null)
	{
		if (sender.checked)
		{
			document.getElementById(change_class).className=document.getElementById(change_class).className+' bold';
		}else
		{
			document.getElementById(change_class).className=document.getElementById(change_class).className.replace(/bold/g,'');
		}
	}
	alert(sender+", "+change_class+", "+document.getElementById(change_class).className);
	if (sender.alt=="")
	{
		return false;
	}
	var targets = sender.alt.split("|");
	if (targets.length>0)
	{
		for (i=0;i<targets.length;i++)
		{
			var target = document.getElementById(targets[i]);
			if (target==null)
			{
				return false;
			}
			if (sender.checked)
			{
				target.style.display="";
			}else
			{
				target.style.display="none";
			}
		}
	}
}
*/
function switch_check_vis(sender,change_class)
{
	if (change_class!=null)
	{
		if (sender.checked)
		{
			document.getElementById(change_class).className=document.getElementById(change_class).className+' bold';
		}else
		{
			document.getElementById(change_class).className=document.getElementById(change_class).className.replace(/bold/g,'');
		}
	}
	if (sender.alt=="")
	{
		return false;
	}
	var targets = sender.alt.split("|");
	if (targets.length>0)
	{
		for (i=0;i<targets.length;i++)
		{
			var target = document.getElementById(targets[i]);
			if (target==null)
			{
				return false;
			}
			if (sender.checked)
			{
				target.style.visibility="";
			}else
			{
				target.style.visibility="hidden";
			}
		}
	}
}
function switch_radio_v2(sender,allow_labels,disabled)
{
	form=sender.form;
	if (form==null)
	{
		if (document.all==null)
		{
			var temp=document.getElementsByTagName('INPUT');
			var group=new Array();
			z=0;
			for (i=0;i<temp.length;i++)
			{
				if (temp[i].name==sender.name)
				{
					group[z]=temp[i];
					z++;
				}
			}
		}else
		{
			group=document.all[sender.name];
		}
	}else
	{
		group=form.elements[sender.name];
	}
	total=group.length;
	if (allow_labels)
	{
		var labels=document.getElementsByTagName("LABEL");
		for (i=0;i<total;i++)
		{
			for (z=0;z<labels.length;z++)
			{
				label_for=labels[z].getAttribute("htmlFor");
				if (label_for==null)
				{
					label_for=labels[z].getAttribute("for");
				}
				if (label_for==group[i].id)
				{
					if (group[i].checked)
					{
						labels[z].className="current";
					}else
					{
						labels[z].className=disabled;
					}
					break;
				}
			}
		}
	}
	for (i=0;i<total;i++)
	{
		if ((group[i].alt!='')/*&&(group[i].value!=sender.value)*/)
		{
			document.getElementById(group[i].alt).style.display='none';
		}
	}
	if (sender.alt!='')
	{
		document.getElementById(sender.alt).style.display='';
	}
}
function BuildCache()
{
	LinkCache = new Array();
	for (var c=0;c<document.links.length;c++)
		LinkCache[c]=document.links[c];
}

function killallmenu (menumainkill)
{
		num = LinkCache.length;
		for (i=0; i<num; i++) 
		{
			node = LinkCache[i];
			if (node.id.search("menuopen") != -1)
			{
				targetelem = document.getElementById(node.id.replace("menuopen_", ""));
				if (targetelem)
				{
					if (targetelem.className.search("hidden") == -1)
					{
						targetelem.className+=" hidden";
						if (document.getElementById(targetelem.id+"_menu"))
						{
						document.getElementById(targetelem.id+"_menu").className = document.getElementById(targetelem.id+"_menu").className.replace("active","");
						}
					}
				}			
			}					
		}		
		if (menumainkill)
		{
			menumainkill.className = menumainkill.className.replace("hidden","");
			if (document.getElementById(menumainkill.id+"_menu"))
			{
			document.getElementById(menumainkill.id+"_menu").className+=" active";
			}
		}
}
function killallblock (blockmainkill)
{
		num = LinkCache.length;
		for (i=0; i<num; i++) 
		{
			node = LinkCache[i];
			if (node.id.search("blockopen") != -1)
			{
				targetelem = document.getElementById(node.id.replace("blockopen_", ""));
				if (targetelem)
				{
					if (targetelem.className.search("hidden") == -1)
					{
						targetelem.className+=" hidden";
					}   					
				}			
			}					
		}		
		if (blockmainkill)
		{
			blockmainkill.className = blockmainkill.className.replace("hidden","");
		}
}
function linkwatch ()
{
	num = LinkCache.length;
	for (i=0; i<num; i++) 
	{
		node = LinkCache[i];		
		if (node.id.search("menuopen") != -1)
		{
			node.onclick=function()
			{
				hrefmain = document.getElementById(this.id.replace("menuopen_", ""));
				if (hrefmain)
				{
					if (hrefmain.className.search("hidden") != -1)
					{
						killallmenu(hrefmain);
					}
					else
					{
						killallmenu();
					}
					if (validate!=null)
					{
						validate();
					}
					return false;	
				}
				else { alert ("error: element not found id = " + this.id.replace("menuopen_", "")); return false; }
			}
		}
		if (node.id.search("blockopen") != -1)
		{
			if (node.onclick!=null)
			{
				node._onclick=node.onclick;
			}
			node.onclick=function()
			{
				if (this._onclick!=null)
				{
					this._onclick();
				}
   				blockhrefmain = document.getElementById(this.id.replace("blockopen_", ""));
   				if (blockhrefmain)
				{
					if (blockhrefmain.className.search("hidden") != -1)
					{
						if (blockhrefmain.id.search("selector2") != -1)
						{
							if (document.getElementById("desc").className.search("hidden") != -1)	{}
							else { document.getElementById("desc").className+=" hidden"; }    								
						}
						if (blockhrefmain.id.search("desc") != -1)
						{
							if (document.getElementById("selector2").className.search("hidden") != -1)	{}
							else { document.getElementById("selector2").className+=" hidden"; }
						}
						if (blockhrefmain.id.search("hot_top") != -1)
						{
							if (document.getElementById("new_top").className.search("hidden") != -1)	{}
							else { document.getElementById("new_top").className+=" hidden"; }    								
						}
						if (blockhrefmain.id.search("new_top") != -1)
						{
							if (document.getElementById("hot_top").className.search("hidden") != -1)	{}
							else { document.getElementById("hot_top").className+=" hidden"; }
						}
						if (blockhrefmain.id.search("all") != -1)
						{
							if (document.getElementById("top20").className.search("hidden") != -1)	{}
							else { document.getElementById("top20").className+=" hidden"; }    								
						}
						if (blockhrefmain.id.search("top20") != -1)
						{
							if (document.getElementById("all").className.search("hidden") != -1)	{}
							else { document.getElementById("all").className+=" hidden"; }
						}
						blockhrefmain.className = blockhrefmain.className.replace("hidden","");
					}
					else
					{
						blockhrefmain.className+=" hidden";
					}
					/* заплатка для выбора городов */ 
					if (blockhrefmain.id.search("selector2") != -1)
					{
						if (document.getElementById("clh"))
						{
							document.getElementById("clh").className+=" hidden";
							document.getElementById("clh2").className+=" hidden";
						}
						if (document.getElementById("all"))
						{
							document.getElementById("all").className+=" hidden";
							document.getElementById("top20").className+=" hidden";
						}
					}
					if (blockhrefmain.id.search("desc") != -1)
					{
						if (document.getElementById("clh"))
						{							
							document.getElementById("clh").className = document.getElementById("clh").className.replace("hidden","");
							document.getElementById("clh2").className = document.getElementById("clh2").className.replace("hidden","");
						}
						if (document.getElementById("all"))
						{
							document.getElementById("all").className = document.getElementById("all").className.replace("hidden","");
							document.getElementById("top20").className = document.getElementById("top20").className.replace("hidden","");
						}
					}						     					
					/* конец заплатки для выбора городов */
					if (validate!=null)
					{
						validate();
					}
					return false;
           			} else
				{
					alert ("error: element not found id = " + this.id.replace("blockopen_", ""));
					return false;
				}
			}
		}
		if (node.id.search("blockclose") != -1)
		{
			node.onclick=function()
			{		
				blockhrefmain = document.getElementById(this.id.replace("blockclose_", ""));				
				if (blockhrefmain)
				{					
					blockhrefmain.className+=" hidden";
					return false;
				}
				else 
				{ 
					alert ("error: element not found id = " + this.id.replace("blockclose_", "")); return false; 
				}
			}
		}						
	}
}

/****************************************************************************************************************************************/
/**************************************** Ветров алексей, мутки с мульти-регистрационной формой *****************************************/
/****************************************************************************************************************************************/



/****************************************************************************************************************************************/
/****************************************************************************************************************************************/

/* For IE and Opera */
browser = navigator.userAgent.toLowerCase();
if (browser.search("msie") != -1 || browser.search("opera") != -1)
{
	BuildCache();
	linkwatch();
	if (document.onmouseup!=null)
	{
		document._onmouseup=document.onmouseup;
		document.onmouseup = function() 
		{
			document._onmouseup();
			killallmenu();
		}
	}else
	{
		document.onmouseup = function()
		{
			killallmenu();
		}
	}
}
/* for Mozilla */
if (navigator.product == "Gecko")
{
	BuildCache();
	linkwatch();
	document.onclick = function (evnt) 
	{
		hrefmain = document.getElementById(evnt.target.id.replace("menuopen_", ""));
		if (!hrefmain)
		{
			killallmenu();
		}
	}
}
/* работаем с формами */
formnum = document.forms.length;
for (i=0; i<formnum; i++) 
{
	formelnum = document.forms[i].elements.length; 
	for (g=0; g<formelnum; g++) 
	{
		if(document.forms[i].elements[g].className.search("active") != -1 && document.forms[i].elements[g].value == "")
		{
			document.forms[i].elements[g].className = document.forms[i].elements[g].className.replace("active","");
			document.forms[i].elements[g].value = document.forms[i].elements[g].alt;
		}
	}			
}

function showAdminForm(objId)
{
	var obj = document.getElementById(objId);
	if (obj.className.search('hidden') == -1)
	{
		obj.className = obj.className += ' hidden';
	}
	else
	{
		obj.className = obj.className.replace("hidden","");
	}
}
function loginChangeCitys(regSelect)
{
	var authForm = regSelect.parentNode;
	var citySelect = authForm.getElementsByTagName('select')[1];
	citySelect.setAttribute('disabled', 'disabled');

	if (citySelect.length > 0) {
		while (citySelect.length > 0) {
			citySelect.options[0] = null;
		}
	}
	
	if (regSelect.value != 0)
	{
		$("#id_geo_city_id").empty().attr("disabled","disabled").append("<option value='0'><?=$lang_static['register_common']['loading'];?></option>");
		$.post(
			'/php_includes/register_v2.php',
			{
				iaction: "change_region",
				region_id: regSelect.value
			},
			function(request) {
				items = eval("(" + request + ")");
				citySelect.options[0] = new Option(langVars[13], 0);
				for (i = 0; i < items.length; i++)
				{
					citySelect.options[(i + 1)] = new Option(items[i][1], items[i][0]);
				}
				citySelect.removeAttribute('disabled');
			}
		);
	}
	else
	{
		citySelect.setAttribute('disabled', 'disabled');
	}
}
