function gei(id){
	return document.getElementById(id);
}
function get(tag,el){
	el = el || document;
	return el.getElementsByTagName(tag);
}
function gen(name){
	return document.getElementsByName(name);
}

function externalLinks() {
	var links = get('A');
	for (var i=0;i < links.length;i++){
		if (links[i].className == 'external'){
			links[i].target = "_blank";
		}
	}
}

function menu_divclick(a){
	if (a.firstChild.href.lastIndexOf('/')!=a.firstChild.href.length-1 && a.firstChild.href!=location.href){
		location.href=a.firstChild;
	}
}

function menu_over(a){
	if (a.href==location.href){
		a.style.cursor='default';
		a.title='';
		window.status='';
	}
	if (a.href.lastIndexOf('/')==a.href.length-1){
		a.style.cursor='default';
		a.title='';
		window.status='';
	}
}

function menu_click(a){
	if (a.href.lastIndexOf('/')==a.href.length-1){
		return false;
	}else{
		return (a.href!=location.href);
	}
}

function loadImage(url){
	var i=new Image;
	i.src=url;
}

function loadImages(){
	for (var i=0;i<arguments.length;i++)
		loadImage(arguments[i]);
}

// выбрать все галочки (checkbox)
function CheckAll(form,name){
	var f=gei(form),selected=false;
	var n=name.length, length=f.elements.length;
	for(var i=0; i<length; i++)
		if(f.elements[i].id && f.elements[i].id.substr(0,n)==name)
			if(f.elements[i].checked)
				var selected=true;
	for(i=0; i<length; i++)
		if(f.elements[i].id && f.elements[i].id.substr(0,n)==name)
			f.elements[i].checked=!selected;
}

function ajaxMessage(code,num,img,hash){
	/*for(var i=0; i<document.getElementById(code+'_hide').childNodes.length; i++)
		if(document.getElementById(code+'_hide').childNodes[i].nodeName=='DIV')
			document.getElementById(code+'_hide').childNodes[i].style.display='none';*/
	if(num){
		document.getElementById(code+'_message_'+num).style.display='block';
		//document.getElementById(code+'_hide').style.display='block';
		if(num==1){
			var el=document.getElementById(code+"_form").elements;
			var l=code.length;
			for (var i=0;i<el.length;i++)
				if (el[i].id.substr(l).indexOf('clean')==1) el[i].value="";
		}
	}
	if(img&&hash){
		document.getElementById(code+'_code_img').src=img;
		document.getElementById(code+'_hash').value=hash;
	}
}

function initOnLoad() {  
	var elem=arguments[0];
	var oElem=(elem=="body"?get(elem)[0]:gei(elem));
	if(oElem != null && typeof(oElem) != "undefined") {
		var initOnLoad_args = Array.prototype.slice.call(arguments);
		initOnLoad_args.shift();
		initOnLoad_args.shift();
		arguments[1].apply(null, initOnLoad_args); 
	}else { 
		var initOnLoad_args = Array.prototype.slice.call(arguments);
		setTimeout(function(){initOnLoad.apply(null,initOnLoad_args); },50);
	} 
}

function loadMnImage(el){
	if (!el.nodeType) el=gei(el);
	var elements=get("A",el)
	var count=elements.length;
	for (var i=0;i<count;i++){
		if (elements[i].innerHTML.lastIndexOf('<!--')!=-1){
			loadImage(elements[i].innerHTML.slice(elements[i].innerHTML.lastIndexOf('<!--')+4,elements[i].innerHTML.lastIndexOf('-->')));
		}
	}
}

function SendFormData(id,url,method){
	url=url || location.href;
	if (url.indexOf('#')!=-1) url=url.substr(0,url.indexOf('#'));
	method=method || "post";
	var el=gei(id+"_form");
	if (!el){
		alert ("Не найдена форма '"+id+"_form'");
		return 0;
	}
	el=el.elements;
	var exchanger = new ajax();
	exchanger.onLoaded=function(){eval(this.connector.responseText);}
	for (var i=0;i<el.length;i++){
		if (el[i].type=="checkbox") el[i].value=(el[i].checked?(el[i].value?el[i].value:"on"):"");
		if (el[i].type=="radio"){
			if (el[i].checked){
				el[i].value=(el[i].value?el[i].value:"on");
				exchanger.add_variable(el[i].name,el[i].value);
			}
		}else if (el[i].type=="image"){
			exchanger.add_variable(el[i].name+"_x","1");
			exchanger.add_variable(el[i].name+"_y","1");
		}else{
			el[i].name=(el[i].name?el[i].name:el[i].id);
			exchanger.add_variable(el[i].name,el[i].value);
		}
	}
	exchanger.add_variable("ajax_query",1);
	exchanger.send(url,method);
	var error=false;
	var i=0;
	var msg="";
	AjaxHandler(exchanger);

	function AjaxHandler(obj){
		i++;
		if (!obj.successfull && !error && i<100){
			if (obj.errors.length>0){
				error=true;
				ShowError(obj);
			}else{
				setTimeout(function(){AjaxHandler(obj);},100);
			}
		}else if (!obj.successfull && !error){
			ShowError(obj);
		}
	}
	
	function ShowError(obj){
		var el_error=gei(id+"_error");
		if (error && el_error){
			for (var j=0;j<obj.errors.length;j++){
				msg+=obj.errors[j]+"<br/>";
			}
			el_error.innerHTML=msg;
			el_error.style.display="block";
		}else if(!obj.successfull){
			obj.abort();
			if (el_error){
				el_error.innerHTML="Таймаут соединения";
				el_error.style.display="block";
			}
		}
	}
}

function SendData(params){
	var exchanger = new ajax();
	exchanger.onLoaded=function(){eval(this.connector.responseText);}
	for (var i in params){
		if (i=="method"){
			method=params[i];
		}else if (i=="url"){
			url==params[i];
		}else{
			exchanger.add_variable(i,params[i]);
		}
	}
	exchanger.add_variable("ajax_query",1);
	var url=url || location.href;
	if (url.indexOf('#')!=-1) url=url.substr(0,url.indexOf('#'));
	var method=method || "post";
	exchanger.send(url,method);
	var error=false;
	var i=0;
	var msg="";
	AjaxHandler(exchanger);

	function AjaxHandler(obj){
		i++;
		if (!obj.successfull && !error && i<30){
			if (obj.errors.length>0){
				error=true;
				ShowError(obj);
			}else{
				setTimeout(function(){AjaxHandler(obj);},1000);
			}
		}else if (!obj.successfull && !error){
			ShowError(obj);
		}
	}
	
	function ShowError(obj){
		if (error){
			for (var j=0;j<obj.errors.length;j++){
				msg+=obj.errors[j]+'\n';
			}
			alert(msg);
		}else if(!obj.successfull){
			obj.abort();
			alert("Таймаут соединения");
		}
	}
}

function feedback_check(){
	var error=false;
	var hide_el=get('DIV',gei('feedback_form'));
	var count=hide_el.length;
	for (var i=0;i<count;i++){
		if (hide_el[i].id && hide_el[i].id.lastIndexOf('feedback_message_')!=-1) hide_el[i].style.display='none';
	}
	if (!CheckForm({'feedback_pho':{3:true}})){
		error=true;
		gei('feedback_title_pho').style.display='none';
		gei('feedback_pho').className='text actborder';
	}else{
		gei('feedback_title_pho').style.display='block';
		gei('feedback_pho').className='text';
	}
	if (!CheckForm({'feedback_emai':{1:true,2:true}})){
		error=true;
		gei('feedback_title_emai').style.display='none';
		gei('feedback_emai').className='text actborder';
	}else{
		gei('feedback_title_emai').style.display='block';
		gei('feedback_emai').className='text';
	}
	if (!CheckForm({'feedback_clean_code':{1:true}})){
		error=true;
		gei('feedback_title_clean_code').style.display='none';
		gei('feedback_clean_code').className='captcha actborder';
	}else{
		gei('feedback_title_clean_code').style.display='block';
		gei('feedback_clean_code').className='captcha';
	}
	if (!CheckForm({'feedback_clean_message':{1:true}})){
		error=true;
		gei('feedback_title_clean_message').style.display='none';
		gei('feedback_clean_message').className='text actborder';
	}else{
		gei('feedback_title_clean_message').style.display='block';
		gei('feedback_clean_message').className='text';
	}
	//alert(error);
	return !error;
}

function search_event_check(){
	var error=false;
	if (!CheckForm({'search_event_name':{1:true}})){
		error=true;
		gei('search_event_title_name').style.display='none';
		gei('search_event_name').className='text actborder';
	}else{
		gei('search_event_title_name').style.display='block';
		gei('search_event_name').className='text';
	}
	return !error;
}

function sub_company(a){
	if (a.id=="btn_company_des" && a.className=='link'){
		gei('company_des').style.display='block';
		gei('company_service').style.display='none';
		gei('company_contact').style.display='none';
		gei('btn_company_des').className='act';
		gei('btn_company_service').className='link';
		gei('btn_company_contact').className='link';
	}else if (a.id=="btn_company_service" && a.className=='link'){
		gei('company_des').style.display='none';
		gei('company_service').style.display='block';
		gei('company_contact').style.display='none';
		gei('btn_company_des').className='link';
		gei('btn_company_service').className='act';
		gei('btn_company_contact').className='link';
	}else if (a.id=="btn_company_contact" && a.className=='link'){
		gei('company_des').style.display='none';
		gei('company_service').style.display='none';
		gei('company_contact').style.display='block';
		gei('btn_company_des').className='link';
		gei('btn_company_service').className='link';
		gei('btn_company_contact').className='act';
	}
}
initOnLoad('mn_pic',loadMnImage,'mn_pic');
initOnLoad('body',externalLinks);

//loadImages("sait/images/mn_main_act.gif","sait/images/sub_left_top.png","sait/images/sub_right_top.png","sait/images/sub_left_bottom.png","sait/images/sub_right_bottom.png");
