﻿// menu
//window.onload=show;
var active = false;
var temp_d = '';
function show(id) 
{
	var d = document.getElementById(id); 
	if(d == temp_d)
	{
		if(active)
		{
			for (var i = 1; i<=document.getElementsByTagName('dt').length; i++) 
				if (document.getElementById('smenu'+i)) 
					document.getElementById('smenu'+i).style.display='none';
			active = false;		
		} else {
			if (d) 
				d.style.display='block';
			active = true; 	
		}
	} else {
		for (var i = 1; i<=document.getElementsByTagName('dt').length; i++) 
			if (document.getElementById('smenu'+i)) 
				document.getElementById('smenu'+i).style.display='none';
		if (d) 
			d.style.display='block';
		active = true; 	
	}
 	temp_d = d;
}

function managerLI(show,hidden)
{
	if(show != "null")
		document.getElementById(show).style.display='block';
	if(hidden != "null")
		document.getElementById(hidden).style.display='none';
}
// end menu
     function validateHour(inputobj, elemid, regValidation)
	  {
          var message = "";
          var regExp =/^([0-1][0-9]|[2][0-3]):([0-5][0-9])$/;
          var flagerror = false;
		  
		if(inputobj.value.length > 0)
		{  
			if(!(regExp.test(inputobj.value) && regValidation) )
			  {
				message +="Въведете коректно време.";
				flagerror = true;
			  }
		}
          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
     }

	function echeck(str) 
	{
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}
		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}
		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}
		if (str.indexOf(at,(lat+1))!=-1){
		    return false
		}
		if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		}
		if (str.indexOf(dot,(lat+2))==-1){
		    return false
		}
		if (str.indexOf(" ")!=-1){
		    return false
		}
 		return true					
	}

     function validateMail(inputobj, elemid, regValidation,message)
	  {
          var regExp =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
          var flagerror = false;


          if(!(regExp.test(inputobj.value) && regValidation) )  {
            flagerror = true;
          }
          if (echeck(inputobj.value)==false) {
	    flagerror = true;
          }

          if(flagerror)  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
     }

      function validateTextFree(inputobj, elemid, minChars, regValidation,message){
          var regExp = /[^a-zA-Zа-яА-Я0-9_.,'"]+$/;
          var flagerror = false;

          if(inputobj.value.length < minChars) {
            flagerror = true;
          }

          if(regExp.test(inputobj.value) && regValidation) {
            flagerror = true;
          }
          if( flagerror) {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }

      function validateText(inputobj, elemid, minChars, regValidation){
          var message = "";
          var regExp = /[^a-zA-Zа-яА-Я0-9_\'\"-]+$/;
          var flagerror = false;
		  
          if(inputobj.value.length < minChars) {
            message = "Полето тябва да е поне " + minChars + " символ" + ((minChars==1)?".":"а.");
            flagerror = true;
          }
          if(regExp.test(inputobj.value) && regValidation) {
            message += "Моля, въведете коректни символи (латинските букви A-Z и числата 0-9 са коректни символи).";
            flagerror = true;
          }

          if( flagerror) {
            message = "Error: " + message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
	  function validateNumberSybmol(inputobj, elemid, minChars,regValidation){
          var message = "";
          var flagerror = false;

          if(inputobj.value.length < minChars) {
            message = "Полето тябва да е поне " + minChars + " символ" + ((minChars==1)?".":"а.");
            flagerror = true;
          }

         if( flagerror) {
            message =  message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }

          else {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
      function validateNumberNotRequire(inputobj, elemid, regValidation)
	  {
          var message = "";
          var regExp = /^\d{1,}$/;
          var flagerror = false;

		  if(inputobj.value.length > 0)
		  {
			  if(!(regExp.test(inputobj.value)) && regValidation) 
			  {
				message += "Моля, въведете коректни числа.";
				flagerror = true;
			  }
	  	  }

          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }

          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
	  
      function validatePassword(passobj,cpassobj, elemid, minChars)
	  {
          var message = "";
          var flagerror = false;

          if(passobj.value.length < minChars || cpassobj.value.length < minChars)
		  {
            message = "Password must be at least six characters.<br/>";
            flagerror = true;
          }

          if(passobj.value != cpassobj.value)
		  {
            message += "Retyped password must match the original.";
            flagerror = true;
          }

          if( flagerror)
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }

      function validateReEmail(mailobj,cmailobj, elemid)
	  {
          var message = "";
          var flagerror = false;

          if(mailobj.value != cmailobj.value)
		  {
            message += "Retyped email must match the original.";
            flagerror = true;
          }

          if( flagerror)
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }

      function validateSelect(selectobj, elemid, regValidation)
	  {
		  validateSelect(selectobj,elemid,regValidation,null);
	  }
      function validateSelect(selectobj, elemid, regValidation, objTitle) 
	  {
         var message = "";
          var flagerror = false;
		 // alert(selectobj.value)
         if(selectobj.value==0  && regValidation)
		 {
			 message="Списъкът "
			 if(objTitle!=null)
			 message=message+"'"+objTitle+"' ";
			 message=message+"неможе да бъде празен!";
            flagerror = true;
          }
		  //alert(flagerror)
		  //alert(elem.style.display);
          if(flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
	  function validateNumber(inputobj, elemid ,minChars, regValidation)
	  {
		 validateNumber(inputobj, elemid ,minChars, regValidation,null); 
	  }

	  function validateNumber(inputobj, elemid ,minChars, regValidation,objTitle)
	  {
          var message = "";
          var regExp = /^[0-9-_]+$/;
          var flagerror = false;
		  
          if(inputobj.value.length < minChars) {
			 message="Полето "
			 if(objTitle!=null)
			 message=message+"'"+objTitle+"' ";
			 message=message+"тябва да е поне " + minChars + " символ" + ((minChars==1)?".":"а.");
            flagerror = true;
          }
		  if(inputobj.value.length > 0)
		  {
			  if(!(regExp.test(inputobj.value)) && regValidation) 
			  {
				 message="Моля, въведете коректно число"
				 if(objTitle!=null)
				 message=message+" в полето '"+objTitle+"'";
				flagerror = true;
			  }
	  	  }

          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }

          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
	  function validateFloat(inputobj, elemid ,minChars, regValidation)
	  {
          var message = "";
		  //var regExp = /^[+-]?[0-9]*(\.?|\,?)[0-9]+$/;
		  var regExp = /^[+-]?([0-9]|\s)*(\,?)[0-9]+$/;		  
          var flagerror = false;

          if(inputobj.value.length < minChars) {
            message = "Полето тябва да е поне " + minChars + " символ" + ((minChars==1)?".":"а.");
            flagerror = true;
          }
		  if(inputobj.value.length > 0)
		  {
			  
			  if(!(regExp.test(inputobj.value)) && regValidation)
			  {
				message += "Моля, въведете коректно число.";
				flagerror = true;
			  }
	  	  }

          if( flagerror)
		  {
            message = "Грешка: " + message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }

          else
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
	  function validateDate(inputobj, elemid, regValidation)
	  {
          var message = "";
		  //var regExp = /^(((0|)[1-9]|1[0-9]|2[0-9]|3[01])\.((0|)[1-9]|1[0-2])\.((18[5-9][0-9])|(19([0-9]{2}))|(20[0-4][0-9])))$/;

          var flagerror = false;

		  if(inputobj.value.length > 0)
		  {
	
			  if(!(isValidDate(inputobj.value,"DMY")) && regValidation) 
			  {
				message += "Моля, въведете коректна дата.";
				flagerror = true;
			  }
	  	  }

          if( flagerror) 
		  {
            message =  message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }

          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
	  function validateMailNotRequire(inputobj, elemid, regValidation)
	  {
          var message = "";
          var regExp =/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
          var flagerror = false;
		  
		  if(inputobj.value.length > 0 )
		  {
			  if(!(regExp.test(inputobj.value) && regValidation) )
			  {
				message +="Въведете коректен e-mail.";
				flagerror = true;
			  }
		  }

          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
     }
	 function validateDateRequire(inputobj, elemid, minChars,regValidation)
	 {
		validateDateRequire(inputobj, elemid, minChars,regValidation,null)
	 }

	 function validateDateRequire(inputobj, elemid, minChars,regValidation,objTitle)
	  {
          var message = "";
		 //var regExp = /^(((0|)[1-9]|1[0-9]|2[0-9]|3[01])\.((0|)[1-9]|1[0-2])\.((18[5-9][0-9])|(19([0-9]{2}))|(20[0-4][0-9])))$/;

          var flagerror = false;
		  
		  if(inputobj.value.length < minChars) {
			 message="Полето "
			 if(objTitle!=null)
			 message=message+"'"+objTitle+"' ";
			 message=message+"тябва да е поне " + minChars + " символ" + ((minChars==1)?".":"а.");
            flagerror = true;
          }

		  if(inputobj.value.length > 0)
		  {
	
			  if(!(isValidDate(inputobj.value,"DMY")) && regValidation) 
			  {
				 message="Моля, въведете коректна дата"
				 if(objTitle!=null)
				 message=message+" в полето '"+objTitle+"'";
				flagerror = true;
			  }
	  	  }

          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }

          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
 function validateDateComp(inputobj, elemid,elemidcomp, minChars,regValidation,inputobj1,inputobj2)
	  {
          var message = "";
		 //var regExp = /^(((0|)[1-9]|1[0-9]|2[0-9]|3[01])\.((0|)[1-9]|1[0-2])\.((18[5-9][0-9])|(19([0-9]{2}))|(20[0-4][0-9])))$/;

          var flagerror = false;
		  
		  if(inputobj.value.length < minChars) {
            message = "Полето тябва да е поне " + minChars + " символ" + ((minChars==1)?".":"а.");
            flagerror = true;
          }

		  if(inputobj.value.length > 0)
		  {
	
			  if(!(isValidDate(inputobj.value,"DMY")) && regValidation)
			  {
				message += "Моля, въведете коректна дата.";
				flagerror = true;
			  }
			  
		 	 compDate(inputobj, elemidcomp , regValidation,inputobj1,inputobj2);
			  
	  	  }

          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else 
		  {
			var elem = document.getElementById(elemid);
			var elem_ = document.getElementById(elemid + "_");
			elem.style.display = 'none';
			elem_.style.display = 'none';
          }

      }
	  function validateTime(inputobj, elemid, regValidation)
	  {
          var message = "";
		  var regExp = /^\d{1,2}[:]\d{2}([:]\d{2})?( [aApP][mM]?)?$/;


          var flagerror = false;
		  
		  if(inputobj.value.length > 0)
		  {
			  if(!(regExp.test(inputobj.value)) && regValidation) 
			  {
				message += "Моля, въведете коректно време.";
				flagerror = true;
			  }
	  	  }

          if( flagerror) 
		  {
            message = message;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = message;
          }
          else 
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }
function isValidDate(dateStr, format) {
   if (format == null) { format = "MDY"; }
   format = format.toUpperCase();
   if (format.length != 3) { format = "MDY"; }
   if ( (format.indexOf("M") == -1) || (format.indexOf("D") == -1) || 
      (format.indexOf("Y") == -1) ) { format = "MDY"; }
   if (format.substring(0, 1) == "Y") { 
   // If the year is first
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") { // If the year is second
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { // The year must be third
      var reg1 = /^\d{2}(\-|\/|\.)\d{2}\1\d{2}$/
      var reg2 = /^\d{2}(\-|\/|\.)\d{2}\1\d{4}$/
   }
   // If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
   // Check to see if the 3 parts end up making a valid date
   
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } 
   else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } 
   else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } 
   else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}

function compDate(inputobj, elemid , regValidation,inputobj1,inputobj2)
	  {
          var messagecomp = "";
          var flagerrorcomp = false;
		  if(inputobj1.value.length > 0 && inputobj2.value.length > 0)
		  {
			  if(compare(getDate(inputobj1.value),getDate(inputobj2.value)) == 1 )
			  {
				messagecomp += "Началната дата е след крайната дата!";
				flagerrorcomp = true;
			  }
	  	  }

          if(flagerrorcomp)
		  {

            messagecomp = messagecomp;
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");

            elem.style.display = 'inline';
            elem_.style.display = 'inline';
            elem.innerHTML = messagecomp;
			  			//alert("Minava "+elem.innerHTML);
          }

          else
		  {
            var elem = document.getElementById(elemid);
            var elem_ = document.getElementById(elemid + "_");
            elem.style.display = 'none';
            elem_.style.display = 'none';
          }
      }

	 function getDate(strDate){
	    day = strDate.substring(0,2);
		month = strDate.substring(3,5);
		year = strDate.substring(6,10);
		d = new Date();
        setTimeout('doSomething()',30);
		d.setFullYear(year);
        setTimeout('doSomething()',30);
		d.setMonth(month-1);
        setTimeout('doSomething()',30);
		d.setDate(day);
		return d;
	  }

      function doSomething() {}
	  //Retorune:
	  //   0 si date_1=date_2
  	  //   1 si date_1>date_2
	  //  -1 si date_1<date_2
	  function compare(date_1, date_2)
	  {
        timeA = new Date(date_1);
        timeB = new Date(date_2);
//        alert(timeA);
  //      alert(timeB);
        diff = timeB - timeA;
        if(diff >= 0) return 0;
        else return 1;
	  }
