// detect features of user`s browser 
 var AgntUsr=navigator.userAgent.toLowerCase(); 
 var DomYes=document.getElementById?1:0;
 var Navigator=AgntUsr.indexOf('mozilla')!=-1&&AgntUsr.indexOf('compatible')==-1?1:0;
 var Explorer=AgntUsr.indexOf('msie')!=-1?1:0;
 var Nav4=Navigator&&!DomYes&&document.layers?1:0; 
 var Exp4=Explorer&&!DomYes&&document.all?1:0;

 var root;
 var img_path;

function init(path,img)  { root=path; img_path=img;} 

//Функция получения содержимого файла загружаемого в iframe
//---------------------------------------------------------------
  function getIframeBody() {
     var ifbody=null;
	 var ifbodyEnd=null; 
     try { ifbody=document.frames('source').document;
     	   if (ifbody!=null) ifbodyEnd=ifbody.getElementById("fileEnd");
	     } catch(e) {}
     if (ifbody == null || ifbodyEnd==null ) setTimeout("getIframeBody()",200); 
     else {// alert(ifbody.body.innerHTML);
             document.getElementById("iframeBody").innerHTML=ifbody.body.innerHTML; 
             document.frames('source').location.replace("about:blank");
			 if(self.fillform!=null) fillform();
	    }
   } 


//Функция чистки куки
//---------------------------------
 function clearKuki(name) {
   var exp = new Date();
   exp.setTime (exp.getTime() - (60*60*1000));
   document.cookie = name+"; expires="+exp.toGMTString()+"; ";
}	

//Функции открытия новых окон
//---------------------------------
function openWin(name,w,h)
{ //alert(name+"  "+w+"   "+h);
   Winid=window.open(name, "miscwin","width="+w+", height="+h+", toolbar=no,status=no,scrollbars=yes,resizable=yes, directories=no, menuBar=yes, location=no");
   Winid.focus();
 }

 var myWinOpened=0;
 function OpenImgWin(name,w,h,comm)
{ if (myWinOpened) { if (!myWin.closed) myWin.close();} 
 //alert(name+"    "+w+"   "+h);
  myWin = open("", "imgwin","width="+(w+80)+", height="+(h+100)+", toolbar=no,status=no,scrollbars=no,resizable=no, directories=no, location=no");
  myWin.document.open();
  myWin.document.write("<html><head><title>"+comm);
  myWin.document.write("</title></head><body bgcolor=white>");
  myWin.document.write("<center><table border=0><caption style='COLOR: #21477b;'>"+comm+"</caption>");
  myWin.document.write("<tr><th><img src='"+name+"' width="+w+"  height="+h+"></th><tr>");
  myWin.document.write("<tr><td align=center><br><a href='javascript:close()' style='color:#1f5f8d;font-size: 12px;'>Закрыть это окно.</a></td></tr>");
  myWin.document.write("</table></center></body></html>");
  myWin.document.close();
  myWinOpened=1;
}
//----------------------------------------

//Функции для работы с массивами
//--------------------------------------------------------
//Функция для подсчета элементов массива
function ArrLen(arr)
 {var len=0;
   for (var i in arr)
	   { if (isNaN(parseInt(i))) {continue;}
          else {len++;}
       }      
   return len;
 }

//Функция для проверки наличия элемента с таким-то индексом в массиве
function IsElemInArray(arr,el)
 {var result=false;
  for (var i in arr)
	   { if (isNaN(parseInt(i))) {continue;}
          else
		   { if(i==el) {result=true; break;}} 
       }      
   return result;
 }

//Функция поиска элемента массива по его номеру, НО не индексу
function FindElem(arr,num)
 { var marker=0;
    var id=-1;
   for (var i in arr)
	   { if (isNaN(parseInt(i))) {continue;}
          else { if (marker==num) {id=i; break;}
			       marker++;}
       }      
   return id;
 }
//---------------------------------------------


//Функции работы с формами
//---------------------------------
function clear_form(form) 
 { var f = document.forms[form];
   for (var i=0; i < f.elements.length; i++ )
       { if (f.elements[i].type =="text" || f.elements[i].type =="hidden" || f.elements[i].type =="textarea" || f.elements[i].type =="file")
	        { f.elements[i].value ="";}
		 if (f.elements[i].type == "select-one") f.elements[i].selectedIndex=0;
       }
  }

function clear_action(url) 
{
  if (url!=null && trim(url)!="") loc=url;
  else {
	  l=self.location.href;
	  ch=l.indexOf("#");
	  if (ch == -1) {loc=l;}
	  else {loc=l.substring(0,ch);}
  }
//  self.location.href=loc; 
  self.location.replace(loc); 
 }

function SelectDate(name,longformat,showCurrent)
{ mon= new Array ("январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь");
  now=new Date();
  m=now.getMinutes();
  h=now.getHours();
  today=now.getDate();
  month=now.getMonth()+1;
  year=now.getYear();
  YearDelta=2;
  dateSTR ="";
  str=name;  
//  if (fl==1) {str="end"; }
//  else  { str="start"; }
  if (longformat)
  {
    dateSTR += "<select name='"+str+"Time'>";
    for(var d=0;d<24;d++) {if (d==h && showCurrent) dateSTR += "<option selected>"+((d<10)? "0"+d:d)+"</option>";
	                                 else dateSTR += "<option>"+((d<10)? "0"+d:d)+"</option>"; }
  
    dateSTR +="</select>:<select name='"+str+"Min'>";
    for(var d=0;d<60;d++) {if (d==m && showCurrent) dateSTR +="<option selected>"+((d<10)? "0"+d:d)+"</option>";
	                                 else dateSTR +="<option>"+((d<10)? "0"+d:d)+"</option>"; }
    dateSTR +="</select>&nbsp;&nbsp;&nbsp;";
  }

  dateSTR +="<select name='"+str+"Day'>";
  for(var d=1;d<=31;d++) { if (d==today && showCurrent) dateSTR += "<option selected>"+((d<10)? "0"+d:d)+"</option>";
	                                  else dateSTR += "<option>"+((d<10)? "0"+d:d)+"</option>"; }
  
  dateSTR += "</select>-<select name='"+str+"Month'>";
  for(var d=1;d<=12;d++) { if (d==month && showCurrent) dateSTR += "<option selected value='"+((d<10)? "0"+d:d)+"'>"+mon[d-1]+"</option>";
	                       else dateSTR += "<option value='"+((d<10)? "0"+d:d)+"'>"+mon[d-1]+"</option>"; }
						   
  dateSTR += "</select>-<select name='"+str+"Year'>";
  for(var d=year-60;d<=year-15;d++) { if (d==year && showCurrent) dateSTR += "<option selected>"+d+"</option>";
	                       else dateSTR += "<option>"+d+"</option>"; }
  dateSTR +="</select>\n";
  return dateSTR;
}

function checkmail(str)
    { var i2;
      if (str == '') return true;
      i1 = str.lastIndexOf("@",str.length-1);
      i2 = str.lastIndexOf(".",str.length-1);
      if (i2 >i1) return true; else return false;
    }

function checkNumbers(pole)
  { number= parseInt(pole.value,10); 
     if ( isNaN(number) == true) {number="";}
 	 pole.value = number;
 }

  function go(form,len)
 { var f=form;
     var l= (len==null) ? 1:len;
     var fieldName= "";
	 for (var i=0; i < f.elements.length; i++ ) {
		if (f.elements[i].getAttribute("mode")==null) { continue;}
        if (f.elements[i].name.indexOf("date")>=0) {                    
			if (f.elements[i].type!="hidden") { continue;}
 			selName=f.elements[i].name.substring(0,f.elements[i].name.length-2);
			//alert(selName);
            Yf=f.elements[selName+"Year"].options[f.elements[selName+"Year"].selectedIndex]; 
            Mf=f.elements[selName+"Month"].options[f.elements[selName+"Month"].selectedIndex]; 
            Df=f.elements[selName+"Day"].options[f.elements[selName+"Day"].selectedIndex]; 
            //   alert(Yf.text+"\n"+Mf.text+"\n"+Df.text+"\n");   
            if  ( (Mf.text==2 || Mf.text==4 || Mf.text==6 || Mf.text==9 || Mf.text==11) && Df.text==31 ) {Df.text=30;}
            f.elements[i].value=Yf.text+"-"+Mf.text+"-"+Df.text+" 00:00:00";
		    continue;
  	    }  
         fieldName= (f.elements[i].getAttribute("field")==null) ? f.elements[i].name : '  "'+f.elements[i].getAttribute("field")+'"  ';
		if ( (f.elements[i].type == "text" || f.elements[i].type == "textarea") && f.elements[i].value.length < l)
           { alert("Проверьте, пожалуйста, правильность ввода поля:  "+fieldName+" ! "); return false;}
		if (f.elements[i].type == "text" && f.elements[i].name.indexOf("mail")!=-1 && !checkmail(f.elements[i].value)) 
			{alert("Проверьте, пожалуйста, правильность ввода поля:  "+fieldName+" ! "); return false;}
		if (f.elements[i].type == "select-one" && f.elements[i].options[f.elements[i].selectedIndex].value == "-1")
                         { alert("Не выбран ни один элемент в выпадающем списке:  "+fieldName+" ! "); return false;}    
	 }
	return true;
 }

//---------------------------------------------------------
function trim(str)
{
   var s="";
   s= str.replace(/^\s*|\s*$/g,"");   //Вырезание пробелов в начале и конце строки

   var  b = s.split('\n');   // Вырезание  симоволов "\n" - новой строки
   s=b.join("");
   b = s.split('\t');          // Вырезание  симоволов "\t" - табуляции
   s=b.join("");
   b = s.split('\r');         // Вырезание  симоволов "\r" - возврата каретки
   s=b.join("");
   b = s.split('\f');          // Вырезание  симоволов "\f" - прокрутки страницы
   s=b.join("");
   b = s.split('\v');         // Вырезание  симоволов "\v" - вертикальной табуляции
   s=b.join("");
   
   return s;
}

function show_hide(objName) {
  if(trim(objName) =="") return;
  o=null;
  if((o=document.getElementById(objName)) == null) return;
  var act="";
  if (o.style.display!="none") act="none";
  o.style.display=act;
}