//	Функции для показа строки помощи

function GetObject(id) {
	if (navigator.appName.substring(0,2) !="Mi")
		return document.getElementById(id);
	else return document.all[id];
}

function GetAbsoluteTop(obj_id) {
   var obj;
   var result = 0;
   obj = GetObject(obj_id);
   while( obj.tagName != 'BODY' ) {
     result += obj.offsetTop;
     obj = obj.offsetParent;
   }
   return result;
}

function GetAbsoluteLeft(obj_id) {
   var obj;
   var result = 0;
   obj = GetObject(obj_id);
   while( obj.tagName != 'BODY' ) {
     result += obj.offsetLeft;
     obj = obj.offsetParent;
   }
   return result;
}

function HelpSystem(id) {
	GetObject(id).style.display = (	GetObject(id).style.display == 'none') ? '' : 'none';
}

//	Функции для проверки типов данных
function SetFocus( field ) {
  field.focus();
}

function Trim( str ) {
  var trimmed;
  trimmed = str.toString().replace( /^ */g, '' );
  trimmed = trimmed.toString().replace( / *$/g, '' );
  return( trimmed );
}

function GetElementStr(form, name) {
	return Trim(GetElement(form, name).value);
}

function GetElement(form, name) {
	return form.elements[name];
}

function CheckPass(form) {
	if (form.elements["pers[password]"].value != form.elements["pers[password2]"].value) {
		alert("Пароли не совпадают");
		return false;
	} else {
		return true;
	}
}

function CheckField( form, name, message, type, minlength, maxlength ) {
	var str;
	var success;
	success = 1;

	str = GetElementStr(form, name);
	
	if(name=='price' && str.length>10){
//		alert("хуясе о_О");
	}
	if ((minlength != null) && (str.length < minlength)) {
		success = 0;
	} else
	if (str == '') {
		success = 0;
	}
	if ((maxlength != null) && (str.length > maxlength)) {
		success = 0;
	}
	//
	// TYPE description 
	// 0 - text
	// 1 - int
	// 2 - float
	// 3 - e-mail
	// 4 - AlphaNumeric
	// 8 - Enum
	// 9 - Summ
	// 10 - Web
	
	switch (type){
		case 1:
			if (!IsInt(str)) {
				//alert ("."+str+". '"+parseInt(str)+"'")
				//alert( str == parseInt(str).toString())
				success = 0;
			}
		break;
		case 2:
			if (!IsFloat(str)) {
				success = 0;
			}
		break;
		case 3:
			if (!IsEmail(str)) {
				success = 0;
			}
		break;
		case 4:
			if (!IsAlphaNumeric(str)) {
				success = 0;
			}
		break;
		case 8:
			if (!IsEnum(str)) {
				success = 0;
			}
		break;
		case 9:
			if (!IsSumm(str)) {
				success = 0;
			}
		break;
		case 10:
			if (!IsWeb(str)) {
				success = 0;
			}
		break;

	}
	if (success == 0) {
    	alert( message );
    	return( false );
	} else {
    	return( true );
	}
}

function IsInt( val ) {
  var pattern = /^[0-9]+$/gi
  return( pattern.exec( val )!=null );
}

function IsFloat( val ) {
  var pattern = /^[0-9]*\.?[0-9]+$/gi
  return( pattern.exec( val )!=null );
}

function IsEmail( val ) {
  var pattern = /^[^\.@]+(\.[^\.@]+)*@([^\.@]+\.)+[^\.@]+$/gi
  return( pattern.exec( val )!=null );
}

function IsAlphaNumeric( val ) {
  var pattern = /^\w+$/gi
  return( pattern.exec( val )!=null );
}

function IsEnum( val ) {
  var pattern = /^[0-9, ]+$/gi
  return( pattern.exec( val )!=null );
}

function IsSumm( val ) {
  var pattern = /^([0-9]\.?[0-9]*[ ]*\+?[ ]*)+$/gi
  return( pattern.exec( val )!=null );
}

function IsWeb( val ) {	
  var pattern = /^(http:\/\/|https:\/\/|ftp:\/\/)+([A-Za-z0-9_-]+\.)+[A-Za-z]+$/gi
  return( pattern.exec( val )!=null );
}


function ConfirmWindow(question){
	return window.confirm(question);
}

/*
 *   type - 5 дата, 6 - дата время, 7 - время
 */
function GetAndCheckDate(form, date, month, year, hour, min, sec, message, type) {
	
	var str = GetElementStr(form, date);
	var v_date = (str != '') ? eval(str) : 0;
	str = GetElementStr(form, month);	
	var v_month = (str != '') ? eval(str) : 0;
	str = GetElementStr(form, year);		
	var v_year = (str != '') ? eval(str) : 0;

	if (type == 5) {
		return CheckDate(v_date, v_month, v_year, 0, 0, 0, message, type);
	}
	
	str = GetElementStr(form, hour);
	var v_hour = (str != '') ? eval(str) : 0;
	str = GetElementStr(form, min);	
	var v_min = (str != '') ? eval(str) : 0;
	str = GetElementStr(form, sec);		
	var v_sec = (str != '') ? eval(str) : 0;
		
	if (type == 6) {
		return CheckDate(v_date, v_month, v_year, v_hour, v_min, v_sec, message, type);
	}
	
	if (type == 7) {
		return CheckDate(20, 12, 1980, v_hour, v_min, v_sec, message, type);		
	}
	
}

function CheckDate(day, month, year, hour, min, sec, message, type) {

	switch (type) {
	case 5: 
		month = month - 1;
		dt = new Date(year, month, day);
		result = (dt.getDate() == day) && (dt.getMonth() == month) && (dt.getFullYear() == year);

		break;
	case 6: 
	case 7:
		month = month - 1;
		dt = new Date(year, month, day, hour, min, sec);
		result = (dt.getDate() == day) && (dt.getMonth() == month) && (dt.getFullYear() == year) && (dt.getHours() == hour) && (dt.getMinutes() == min) && (dt.getSeconds() == sec);
	
		break;
	default:
		return false;
	}

	if (result == false) {
		month = month * 1 + 1;
		alert(message + " : " + day + "-" + month + "-" + year);
	}
	
	return result;
	
}

function ClearCombobox(object) {
	for (var i = 0; i < object.length; i++)  {
		object.options[i].selected=false;
	}
}

function CheckIp(form, ip1, ip2, ip3, ip4, message) {
	result = CheckField(form, ip1, message, 1, 0, 255) && CheckField(form, ip2, message, 1, 0, 255) && CheckField(form, ip3, message, 1, 0, 255) && CheckField(form, ip4, message, 1, 0, 255);
	sip1 = GetElementStr(form, ip1);
	sip2 = GetElementStr(form, ip2);
	sip3 = GetElementStr(form, ip3);
	sip4 = GetElementStr(form, ip4);
	if (result) {
		if (sip1 > 255 || sip2 > 255 || sip3 > 255 || sip4 > 255) {
			alert(message);
			result = 0;
		}
	}
	return result;
}

function Compare (form, name, message){
	str = GetElementStr(form, name);	
	if(str == ''){
		return true;
	}
	if (!CheckField( form, name, message, 2, 0, 1000)) {
		return false;	
	}	
//	value = parseFloat(str);
//	if(value >= min && value <= max){
//		return true;	
//	}
	return true;	
}

function CheckMultiComboBox(form, name, message) {

	if (form.elements[name].selectedIndex == -1) {
		alert( message );
    	return false;
	} 
	return true;
}

var id_menu = 0;
var id_div = 0;
var id_submenu = 0;
var timer = '';

function menu_on (id,is_parent) {
	 var div;
	 	 
	if(id_menu!=0){
	
		id_menu = 0;
	}
	if(id_div!=0){
		GetObject("div"+id_div).style.display="none";
		id_div = 0;
	}
	if(id_submenu!=0){	
		id_submenu = 0;
	}

	id_menu = id;
	
	if(is_parent == 1){		
		div = GetObject("div"+id);		
		div.style.left = GetAbsoluteLeft("menu"+id) - 10 + 'px';		
		div.style.top = GetAbsoluteTop("menu"+id) + 22 + 'px';
		div.style.display="Block";
		id_div=id;
	}
	
	clearTimeout(timer);
}

function menu_off(id,is_parent) {	
	if(is_parent == 1){
		timer = window.setTimeout(" GetObject('div"+id+"').style.display='none'; id_div = 0; id_menu = 0",1000);
	}
		
}

function submenu_off (id,id_parent) {		
	timer = window.setTimeout(" GetObject('div"+id_div+"').style.display='none'; id_div=0; id_menu = 0;",1000);	
}

function submenu_on (id,id_parent) {
	
	if(GetObject!=0){
		GetObject("div"+id_div).style.display = 'Block';
	}
	if(id_submenu!=0){	
		id_submenu = 0;
	}
	
	id_submenu = id;
	
	clearTimeout(timer);
}

function change(td, bgcolor, color) {
	td.style.background = bgcolor; 
	td.style.color= color;
}

step = 5;

function startScrollingDiv(type) {
	switch (type) {
		case 1:
			stepX = -step;
		break;
		case 2:
			stepX = step;
		break;
	}
	tid = setInterval("scrollDiv()", 10);
}

function scrollDiv() {
	d = GetObject('gallery');
	if (d.scrollLeft + stepX < d.scrollWidth - d.clientWidth && d.scrollLeft + stepX >= 0) {
		d.scrollLeft += stepX;
	}
}

function stopScrolling(){
	clearInterval(tid);
}
cl = 1;
function change(obj){
	if (cl) {
		if(obj.className != 'active'){
			obj.className = 'active';
		}else{
			obj.className = '';
		}
	}
}

function addValue(id, value){
	obj = document.getElementById(id);
	var newvalue = parseInt(obj.value) + value;
	obj.value = (newvalue>1&&newvalue<256) ? newvalue.toString() : '1';
}

// форматирует вывод числа, аналог number_format() в PHP
function number_format(number, decimals, dec_point, thousands_sep){
  var exponent = "";
  var numberstr = number.toString ();
  var eindex = numberstr.indexOf ("e");
 var i, z;
  if(eindex > -1){
    exponent = numberstr.substring (eindex);
    number = parseFloat (numberstr.substring (0, eindex));
  }
  
  if(decimals != null){
    var temp = Math.pow (10, decimals);
    number = Math.round (number * temp) / temp;
  }
  var sign = number < 0 ? "-" : "";
  var integer = (number > 0 ? 
      Math.floor (number) : Math.abs (Math.ceil (number))).toString ();
  
  var fractional = number.toString ().substring (integer.length + sign.length);
  dec_point = dec_point != null ? dec_point : ".";
  fractional = decimals != null && decimals > 0 || fractional.length > 1 ? (dec_point + fractional.substring (1)) : "";
  if(decimals != null && decimals > 0){
    for(i = fractional.length - 1, z = decimals; i < z; ++i)
      fractional += "0";
  }
  
  thousands_sep = (thousands_sep != dec_point || fractional.length == 0) ? 
                  thousands_sep : null;
  if(thousands_sep != null && thousands_sep != ""){
  for (i = integer.length - 3; i > 0; i -= 3)
   integer = integer.substring (0 , i) + thousands_sep + integer.substring (i);
  }
  return sign + integer + fractional + exponent;
}

function copyToClipboard(text2copy) {
  if (window.clipboardData) {
    window.clipboardData.setData("Text",text2copy);
  } else {
    var flashcopier = 'flashcopier';
    if(!document.getElementById(flashcopier)) {
      var divholder = document.createElement('div');
      divholder.id = flashcopier;
      document.body.appendChild(divholder);
    }
    document.getElementById(flashcopier).innerHTML = '';
    var divinfo = '<embed src="/includes/js/clipboard.swf" FlashVars="clipboard='+escape(text2copy)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
    document.getElementById(flashcopier).innerHTML = divinfo;
  }
}
function copyLink(link_text){
	copyToClipboard(link_text); 
	alert('Ссылка на текущую страницу скопирована в буфер обмена');
}

function news(id, alias, link){
	if(id != '0')
		link = link + alias + '/' + id + '/';
	location.href = link;
}

var W3CDOM = (document.createElement && document.getElementsByTagName);

function initFileUploads() {
	if (!W3CDOM) return;
	var fakeFileUpload = document.createElement('div');
	fakeFileUpload.className = 'fakefile';
	fakeFileUpload.appendChild(document.createElement('input'));
	var image = document.createElement('input');
	image.type='button';
	image.className='but2';
	image.value='Выбрать';
	fakeFileUpload.appendChild(image);
	var x = document.getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
        if (x[i].className == 'file'){

		x[i].className = 'file hidden';
		var clone = fakeFileUpload.cloneNode(true);
		x[i].parentNode.appendChild(clone);
		x[i].relatedElement = clone.getElementsByTagName('input')[0];
		x[i].onchange = x[i].onmouseout = function () {
			this.relatedElement.value = this.value;
		}                 }

        if (x[i].className == 'but2 abs'){

		x[i].onclick = function(){
        	this.parentNode.innerHTML = "<div class='file'>"+this.parentNode.title+": <input type='file' size='20' name='' class='file hidden'/><div class='fakefile'><input/><input type='button' class='but2' value='Выбрать'/></div></div>"
		};
		}
	}
}


function CheckMessageResumeForm(form){
	return (CheckField(form,"name","Вы не заполнили поле 'Имя'",0,1,200) &&
			CheckField(form,"ser_name","Вы не заполнили поле 'Фамилия'",0,1,200) &&
			CheckField(form,"staj","Вы не заполнили поле 'Стаж'",0,1,200) &&
			CheckField(form,"education","Вы не заполнили поле 'Образование'",0,1,200) &&
			CheckField(form,"registr","Вы не заполнили поле 'Регистрация'",0,1,200) &&
			CheckField(form,"phone","Вы не заполнили поле 'Телефон'",0,5,99) &&
			CheckField(form,"email","Вы не заполнили поле 'E-mail'",3,5,99) &&
			CheckField(form,"filename","Вы не выбрали файл ",0,3,255));
}

function clearResumeForm(elem){
	var form = elem.parentNode;
	
	for(key in form.elements){
		if(form.elements[key].tagName=='INPUT'&&form.elements[key].readOnly==false&&form.elements[key].type!="submit"){
			form.elements[key].value='';
		}
	}
}

function getAdvDsc(type,act){ 
		var form = document.forms[0]; 
	if(!AdminCheckForm(form, true)){
		return ;
	}      

	var price =  GetElement(form, 'param[price]');
	var cur =  GetElement(form, 'param[id_curr]');
	var phone = GetElement(form, 'param[phone]'); 
	var area = GetElement(form, 'param[dsc_adv]');	
	var milage = GetElement(form, 'param[milage]');	
	var year = GetElement(form, 'param[year]');	
	
	var engine = GetElement(form, 'param[engine_v]');	
	var hps = GetElement(form, 'param[hp]');
 	var gens = GetElement(form, 'param[id_car_gen]'); 
 	var cols = GetElement(form, 'param[cv9]');	
	
	var gen
   if(typeof(gens)!='undefined'){	
	   gen = gens.value;
	   for (var i=0; i<gens.options.length; i++){
	       if(gens.options[i].value == gen)
		   gen = gens.options[i].innerHTML
	   }	
   }
   else
      gen='';
	
	var col
   if(typeof(cols)!='undefined'){
	   col = cols.value;
	   for (var i=0; i<cols.options.length; i++){
	       if(cols.options[i].value == col)
		   col = cols.options[i].innerHTML
	   }	
   }
   else
      col='';
		col = (col=="") ? "":col+", ";
	
   var cu = cur.value;
   for (var i=0; i<cur.options.length; i++){
       if(cur.options[i].value == cu)
	   cu = cur.options[i].innerHTML
	   cu = (cu=="р.")?"руб.":cu;
   }
	
	

	if(type==1){         
   	    var ye=(year.value=="") ? "":year.value+" г., ";
   		var mil=(milage.value=="" || milage.value==0) ? "":milage.value+" тыс. км, ";
		
   		var eng = (engine.value=="" || engine.value==0) ? "":engine.value+" л, ";
   		var hp = (hps.value=="" || hps.value==0) ? "":hps.value+" л.с., ";
		
		if(act!='edit')
		area.value = /*mark_name+' '+model_name+((gen!='') ? ' '+gen: '')+*/': '+ye + eng + hp +mil+col+((price.value!='' && price.value!='0')? price.value+' '+cu+',': '')+' т.:'+phone.value // 
		else{
			/*
			var mark = GetElement(form, 'param[id_car_man]');
	  		var model = GetElement(form, 'param[id_car_model]');
			*/
			area.value = /*mark.value+' '+model.value+((gen!='') ? ' '+gen: '')+*/': '+ye + eng + hp +mil+col+((price.value!='' && price.value!='0')? price.value+' '+cu+',': '')+' т.:'+phone.value 		
		}
		
	}else{
		/*
		var mark = GetElement(form, 'param[mark]');
  		var model = GetElement(form, 'param[model]');
		*/
		area.value = /*mark.value+' '+model.value+((gen!='') ? ' '+gen: '')+*/': '+col+((price.value!='' && price.value!='0')? price.value+' '+cu+',': '')+', т.:'+phone.value
	}
}  
        
function showSub(a){    
	var ul = a.nextSibling;
	if(ul.tagNAme!="ul")
		ul = a.parentNode.getElementsByTagName("ul")[0]
	   
	if(ul.style.display != "none")
		ul.style.display = "none";
	else	
		ul.style.display = "block"; 	
}
  
  
  
  
  function createIFrame(fname, src, container)
		{
		var height='1050px';
		if(container!='stat.php') height='60px';
		
		
		container="/files/iframe/"+container;
		if(document.getElementById(fname)!=null )
			{
			
			
			var el=document.getElementById(fname);
			el.style.height=height;
				if(el.childNodes!=null)
					{
						for(var i=0; i< el.childNodes.length;i++)
							{
								var childNode=el.childNodes[i];
								if(childNode.tagName=='IFRAME')
									{
										return false;
									}
							}
					}
			
			
			
			
				
				var ifrstr='iframe';
				
				if(navigator.appName.indexOf("Microsoft Internet Explorer")!= -1){
				var cframe = document.createElement('<iframe src="'+container+'" name="'+src+'" frameborder=0 scrolling="0" height="'+height+'">');
				
					}
					
				else 
				
				 var cframe = document.createElement(ifrstr);
		
   
   
 
    with(cframe){ 
       name =src; // IE
        setAttribute("name", src); 
		 setAttribute("width", "455px");
			if(container=="/files/iframe/stat.php") setAttribute("height", "1050px");
			else setAttribute("height", "60px");
		  setAttribute("frameborder","0");
		    setAttribute("src",container);
				 setAttribute("scrolling","0");
		  
        id = src; 
		 
		
    }
 
    // 
    el.appendChild(cframe);
 
   obj=document.getElementById(fname);
				obj.style.frameborder='no';
				obj.src= container;
		}
}

	
