﻿// JScript File main functions
function check_date(control_4_check,type_act)
{//проверка даты на корректность	
	
	var inputDate=document.getElementById(control_4_check).value.substr(0,10) ;
	var inputTitle=document.getElementById(control_4_check).title;
	if (inputDate=="") {return true;}   //не проводить проверку для пустой даты
	
	var d_index,m_index,y_index;
	var day=0,mon="",yer="";
	var myDate;
	var res=false;
	
	if  (inputDate.length!=10) {alert('Неверный формат даты "'+inputTitle+'"...');}
	else {
		d_index=inputDate.indexOf(".");
		m_index=inputDate.indexOf(".",d_index+1);
		if (d_index==-1 || m_index==-1)
		{alert('Неверный формат даты..."'+inputTitle+'"...')}
		else {
		day=inputDate.substring(0,d_index);
		mon=inputDate.substring(d_index+1,m_index);
		yer=inputDate.substring(m_index+1,inputDate.length);

		myDate=new Date(yer,(mon-1).toString(),day);
		
		if (myDate.getDate()!=day) {alert('Неверно задано число месяца в дате "'+inputTitle+'"...');}
		else 
			if (myDate.getMonth()!=(mon-1).toString()) {alert('Неверно задан месяц в дате "'+inputTitle+'"...');}
			else {res=true;}
		}
	}
	return res;
}


function del_confirm(url)
{
	if (url!="")
	{
		if (confirm('Удалить строку ?')) {window.location.href=url;}
	}

}

function requireFieldCheck(field_id_Array,form_name)
{//проверка обязательных полей формы и выдача списка незаполненных
//подсказка берется из передаваемого массива, если пусто - из title-проверяемого поля
//получаемый объект работает для Опера,ИЕ, Мозилла
err=false;
msg='';

for (i=0;i<field_id_Array.length;i++)
{ 
try {filedItem=document.getElementById(field_id_Array[i][0]);filedItem.value;}
catch (e) {
 	filedItem=eval("document.all."+field_id_Array[i][0]);
 }

if (filedItem.value=='') { 
   err=true;	
   if (field_id_Array[i][1]=='') {msg=msg+'- '+filedItem.title+';\n';}
   else {msg=msg+field_id_Array[i][1]+';';}
   }

}

if (err==true) {alert('Не заполнены обязательные поля:\n\n'+msg);}
else {
  	try {document.getElementById(form_name).submit();}
  	catch (e) {alert('Ошибка при отправке формы.\nПроверьте все обязательные поля и повторите отправку.');}
	  }
	 //alert(field_id_Array.length);
} 

function get_email(author,company)
{
    //формирование ссылки на эл.почту 
    var email=author+'@'+company;   
    document.write('<a href="mailto:'+email+'" class=mail>'+email+'</a>');
}

function show_hide(id_name,mode,link,rootPath,saveState)    
// id объекта, режим показа {null,'...'}, ссылка на <a ...> {null,'...'}, путь до корня проекта {null,'..'}, режим сохранения состояния {null,0,1} 
{   //показать-скрыть mode=show|hide
    if (rootPath!=null) //графическое представление 
        var linkCaptions=new Array('<img src='+rootPath+'img/arrows/up.gif border=0 height=16>','<img src='+rootPath+'img/arrows/down.gif border=0 height=16>');
    else    //символьное представление
        var linkCaptions=new Array('скрыть','показать');
        
    var elem=document.getElementById(id_name);
    if (elem!=null) {
       if (mode!=null)
           switch (mode) {
           case 'show' :
              elem.style.display='';
              break;
           case 'hide' :
              elem.style.display='none';
              break;
           case '':
               if (elem.style.display=='')  elem.style.display='none';
               else elem.style.display=''; 
               break;
           default :
                alert('ошибка вызова функции show_hide');
            }
       else {
               if (elem.style.display=='')  elem.style.display='none';
               else elem.style.display='';
       }
       
       if (link!=null)  //смена подписи ссылки
               if (elem.style.display=='')  link.innerHTML=linkCaptions[0]; 
               else link.innerHTML=linkCaptions[1];
       if (saveState)   //созранить в Cookie состояние объекта
       {
               if (elem.style.display=='')  setCookie(id_name,"show",7,"/");
               else setCookie(id_name,"hide",7,"/");                
       }
	}
    else {alert('элемент не найден');}   
}