<!--
/* Subversion $Id: basic.js 3675 2008-07-28 11:30:25Z atonkin $ */
function Browser() {
	this.dom = document.getElementById?1:0;
	this.ie4 = (document.all && !this.dom)?1:0;
	this.ns4 = (document.layers && !this.dom)?1:0;
	this.ns6 = (this.dom && !document.all)?1:0;
	this.ie5 = (this.dom && document.all)?1:0;
	this.ok = this.dom || this.ie4 || this.ns4;
	this.platform = navigator.platform;
	this.isOpera = navigator.userAgent.indexOf("Opera")>-1;
	this.isIE = navigator.userAgent.indexOf("compatible")>-1 && navigator.userAgent.indexOf("MSIE")>-1 && !this.isOpera;
	this.isWin = (navigator.platform == "Win32") || (navigator.platform == "Windows")
}
var browser=new Browser();

var EventUtil=new Object();
EventUtil.addEventHandler=function(oTarget,sEventType,fnHandler) {
	if(oTarget.addEventListener) {
		oTarget.addEventListener(sEventType,fnHandler,false);
	}
	else if(oTarget.attachEvent) {
		oTarget.attachEvent("on"+sEventType,fnHandler);
	}
	else {
		oTarget["on"+sEventType]=fnHandler;
	}
};
EventUtil.removeEventHandler=function(oTarget,sEventType,fnHandler) {
	if(oTarget.removeEventListener) {
		oTarget.removeEventListener(sEventType,fnHandler,false);
	}
	else if(oTarget.detachEvent) {
		oTarget.attachEvent("on"+sEventType,fnHandler);
	}
	else {
		oTarget["on"+sEventType]=null;
	}
};
EventUtil.formatEvent=function(oEvent) {
	if(browser.isIE && browser.isWin) {
		oEvent.charCode=(oEvent.type=="keypress")?oEvent.keyCode:0;
		oEvent.EventPhase=2;
		oEvent.isChar=(oEvent.charCode>0);
		oEvent.pageX=oEvent.clientX+document.body.scrollLeft;
		oEvent.pageY=oEvent.clientY+document.body.scrollTop;
		oEvent.preventDefault=function() {
			this.returnValue=false;
		}
		oEvent.stopPropagation=function() {
			this.cancelBubble=true;
		}
		
	}
	return oEvent;
};
EventUtil.getEvent=function() {
	if(window.event) {
		return this.formatEvent(window.event);
	}
	else {
		return EventUtil.getEvent.caller.arguments[0];
	}
};

function printpreviewIE() {
	var OLECMDID = 7;
	/* OLECMDID values:
	* 6 - print
	* 7 - print preview
	* 1 - open window
	* 4 - Save As
	*/
	var PROMPT = 1; // 2 DONTPROMPTUSER
	var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
	document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
	WebBrowser1.ExecWB(OLECMDID, PROMPT);
	WebBrowser1.outerHTML = "";
}

function trim(s) {
	//while (s.substring(0,1) == ' ')
  //	s = s.substring(1,s.length);
	//while (s.substring(s.length-1,s.length) == ' ')
  //	s = s.substring(0,s.length-1);
	//return s;
	var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
	return (m == null) ? "" : m[1];
}

function strpadr(s,n,c) {
	//alert(s);
	var rets="";
	for(i=0;i<n-s.length;i++)
		rets+=c;
	return s+rets;
}

function strpadl(s,n,c) {
	var rets="";
	for(i=0;i<n-s.length;i++)
		rets+=c;
	return rets+s;
}

function OnFormFieldErr(theFormField, mess) {
	alert(mess);
	if(theFormField.focus)
		theFormField.focus();
	return false;
}

function in_array(s,arr) {
	try {
		for(w in arr)	{
			if(s==arr[w])
				return true;
		}
		return false;
	}
	catch(E) {
		return false;
	}
}

function IsDigit(checkSymbol) {
	if(checkSymbol==13)
		return true;
	if(checkSymbol < 48 || checkSymbol > 57) // от 0 до 9
		return false;
	return true;
}

function IsDateOK(sDate) {
	var dar=sDate.split("/");
	dday=parseFloat(dar[0]);
	dmonth=parseFloat(dar[1]);
	dyear=parseFloat(dar[2]);
	if(isNaN(dyear)) {
		return false;
	}
	if(isNaN(dmonth) || dmonth<1 || dmonth>12) {
		return false;
	}
	if(isNaN(dday) || dday<1 || dday>31) {
		return false;
	}
	if((dmonth==4 || dmonth==6 || dmonth==9 || dmonth==11) && dday==31) {
		return false;
	}
	if(dmonth==2) {
		var isleap=(dyear%4==0 && (dyear%100!=0 || dyear%400==0));
		if(dday>=29 || (dday==29 && !isleap)) {
			return false;
		}
	}
	dDate=new Date(dyear,dmonth-1,dday);
	var MonthNumber=dDate.getMonth()+1;
	var DayNumber=dDate.getDate();
	var sdDate=((DayNumber>0 && DayNumber<10) ? '0'+DayNumber : DayNumber) + "/" + ((MonthNumber>0 && MonthNumber<10) ? '0'+MonthNumber : MonthNumber) + "/" + dDate.getFullYear();
	if(sDate!=sdDate) {
		return false;
	}
	return true;
}

function IsDateGtToday(sDate) {
	var dar=sDate.split("/");
	var dDate=dar[2]+"/"+dar[1]+"/"+dar[0];
	var yDate=new Date();
	var MonthNumber=yDate.getMonth()+1;
	var DayNumber=yDate.getDate();
	var sDDate=yDate.getFullYear() + "/" + ((MonthNumber>0 && MonthNumber<10) ? '0'+MonthNumber : MonthNumber) + "/" + ((DayNumber>0 && DayNumber<10) ? '0'+DayNumber : DayNumber);
	return dDate>=sDDate;
}

function IsPeriodOK(fromd,tod) {
	var otd=fromd.split('/');
	var dod=tod.split('/');
	var otdd=new Date(otd[2],otd[1]-1,otd[0]);
	var dodd=new Date(dod[2],dod[1]-1,dod[0]);
	return fromd!='' && tod!='' && otdd<=dodd;
}

function isEGN(st) {
  if (st.length != 10) {
    return (false);
  }
  contr = "020408051009070306";
  sum = 0; l = st.length;
  for (i = 0; i < 9; i++) {
    digit = st.substring(i,i+1);
    teglo = contr.substring(2*i ,2*i+2);
    tproduct = parseInt(digit ,10) * parseInt(teglo ,10);
    sum += tproduct;
  }
  last = ((sum % 11) == 10)? 0 : (sum % 11) ;
  if ( last != st.substring(9,10) )
   return (false);
  else
   return (true);
}

function checkGroup(vform,exclcb,nocharr,grpid) {
	sform=document.getElementById(vform);
	scheckbox=document.getElementById(exclcb);
	nocheck=Array();
	for(i in nocharr)
		nocheck[i]=document.getElementById(nocharr[i]);
	for(i=0;i<sform.length;i++) {
		if(!in_array(sform.elements[i],nocheck)) {
			if(grpid && sform.elements[i]!=scheckbox) {
				if(sform.elements[i].group_id==grpid) {
					sform.elements[i].checked=scheckbox.checked;
				}
			}
			else {
				sform.elements[i].checked=scheckbox.checked;
			}
		}
	}
}

function checkAll(vform, vcheckbox) {
	sform=document.getElementById(vform);
	scheckbox=document.getElementById(vcheckbox);
	for(i=0;i<sform.length;i++) {
		if(sform.elements[i]!=scheckbox)
			sform.elements[i].checked=scheckbox.checked;
	}
}

function ShowHide() {
	var select_name = document.getElementById('comparison_operator');
	var obj1=document.getElementById('object1').style;
	var obj2=document.getElementById('object2').style;
	if (select_name.selectedIndex == "5") {
		obj1.display = "inline";
		obj2.display = "inline";
		return;
	}
	else {
		obj1.display = "none";
		obj2.display = "none";
		return;
	}
}

function Suma_onkeypress(thisObj,event) {
	//if(thisObj.)
	oEvent=EventUtil.formatEvent(event);
	//alert(oEvent.charCode);
	if(oEvent.charCode==13)
		return true;
	
	if(!IsDigit(oEvent.charCode) && oEvent.charCode!=46 && oEvent.charCode!=8 && oEvent.charCode!=0) {
		oEvent.preventDefault();
		return false;
	}
	
	var index=thisObj.value.lastIndexOf(".");
	if(oEvent.charCode==46) {
		//ако има вече "." или ако започва с "."
		if(index!=-1 || thisObj.value=="") {
			//"."та, не се приема
			oEvent.preventDefault();
			return false;
		}
	}
	
	if(index!=-1) {
		
		var fractStr = thisObj.value.substr(index);	
		if(fractStr.length>2 && oEvent.charCode!=0) {
			
			oEvent.preventDefault();
			return false;
		}
	}
}

function previewdlg(arg) {
	var args=arg.split("§");
	var p_id=args[0];
	var acc;
	acc="invoice/"+p_id+"/";
	w=window.open(acc, "preview"+p_id, "toolbar=no,menubar=no,location=no,status=yes,scrollbars=yes,resizable=yes,width=700,height=700,left=100,top=100");
	if(w.focus) {
		w.focus();
	}
	return false;
}

function disputepreviewdlg(arg) {
	var args=arg.split("§");
	var acc;
	//acc="main.php?page=dispute"+"&invoiceid="+args[0]+"&disputeid="+args[1]+"&preview="+args[2];
	acc="dispute.php?"+"invoiceid="+args[0]+"&disputeid="+args[1]+"&preview="+args[2];
	//alert(acc);
	//window.location.href=acc;
	w=window.open(acc, "dispute", "toolbar=no,menubar=no,location=no,status=yes,scrollbars=yes,resizable=yes,width=700,height=700,left=100,top=100");
	if(w.focus) {
		w.focus();
	}
	return false;
}

function checkAllInDocument_elem(vcheckbox, vname) {
	var sform=document;
	var scheckbox=document.getElementById(vcheckbox);
	var ids=document.getElementById("global_ids");
	ids.value="";
	
	for(i=0;i<sform.all.length;i++) {
		if(sform.all[i].name==vname) {
			sform.all[i].checked=scheckbox.checked;
			if(sform.all[i].checked) {
				var vals=sform.all[i].value.split("§");
				ids.value+="§"+vals[0]+"§";
			}
		}
	}
	//alert(ids.value);
}

function elem_check(arg) {
	var args=arg.split("§");
	var p_id=args[0];
	var elem=document.getElementById("chk_"+arg);
	var ids=document.getElementById("global_ids");
	var vals=elem.value.split("§");
	if(ids.value.indexOf("§"+vals[0]+"§")!=-1) {
		if(!elem.checked) {
			var idx=ids.value.indexOf("§"+vals[0]+"§");
			ids.value=ids.value.substring(0,idx)+ids.value.substring(idx+(("§"+vals[0]+"§").length),ids.value.length);
		}
	}
	else {
		ids.value+="§"+vals[0]+"§";
	}
	//alert(ids.value);
}


function isValidEGN(egn) {
	try {
		if (egn.length != 10) {
			return false;
		}
		contr = "020408051009070306";
		sum = 0; l = egn.length;
		for (i = 0; i < 9; i++) {
			digit = egn.substring(i,i+1);
			teglo = contr.substring(2*i ,2*i+2);
			tproduct = parseInt(digit ,10) * parseInt(teglo ,10);
			sum += tproduct;
		}
		last = ((sum % 11) == 10)? 0 : (sum % 11);
		if (last != egn.substring(9,10)) {
			return false;
		} else {
			return true;
		}
	}
	catch(E) {
		return false;
	}
}

// Функция за валидиране на БУЛСТАТ
function isControlDigitEKPOUOK(ekpou) {
	try {
		if(ekpou=="")
			return false;
		var sum=0;
		var mn=new Array(2,7,3,5);
		//първите 9 цифри
		for(var i=0; i<8; i++) {
			sum+=ekpou.charAt(i)*(i+1);
		}
		var ost=sum%11;
		sum=0;
		if(ost==10)	{
			//първите 9 цифри
			for(i=3; i<=10; i++) {
				sum+=ekpou.charAt(i-3)*i;
			}
			ost=sum % 11;
			if(ost==10) ost=0;
		}
		if(ost!=ekpou.charAt(8)) {
			return false;
		}
		if(ekpou.length==9) {
			return true;
		}
		else {
			//13-цифрен ЕКПОУ
			if(ekpou.length==13) {
				sum=0;
				for(i=0; i<4; i++) {
					sum+=ekpou.charAt(i+8)*mn[i];
				}
				ost=sum % 11;
				sum=0;
				if(ost==10) {
					for(i=0; i<4; i++) {
						//първите 9 цифри
						sum+=ekpou.charAt(i+8)*(mn[i]+2);
					}
					ost=sum % 11;
					if(ost==10)
						ost=0;
				}
				if(ost!=ekpou.charAt(12)) {
					return false;
				}
			}
			else {
				return false;
			}
			return true;
		}
	}
	catch(E) {
		return false;
	}
}

function isValidPassword(pass){
	var res = true ;
	var reDigit = /[0-9]+/;
	var reLetter = /[a-zA-Z]+/;
	var reUpper = /[A-Z]+/;
	var reLower = /[a-z]+/;   
	if(pass.search(reDigit)==-1) {res = false;}
	if(pass.search(reLetter)==-1) {res = false;}
	//if(pass.search(reUpper)==-1) {res = false;}
	//if(pass.search(reLower)==-1) {res = false;}
	if ((pass.length < 6)||(!res)) {res = false;}
	return res;
}



//-->