function encode(uri){if(encodeURIComponent){return encodeURIComponent(uri);}if(escape){return escape(uri);}};function display(msg){window.status=msg;return true;};function setAJAXMessage(str){document.getElementById("AJAXMessage").innerHTML = str;if(str=="")document.getElementById("AJAXMessage").style.display='none';else document.getElementById("AJAXMessage").style.display='block';};function noPermission(){alert("You do not have permissions to perform this action. Please contact your Administrator or support@edeskonline.com");};function buildQueryString(theForm){var qs='';for(e=0;e<theForm.elements.length;e++){if(theForm.elements[e].name!=''){qs+=(qs=='')?'':'&';qs+=theForm.elements[e].name+'='+encode(theForm.elements[e].value);}}return qs;};
function openWin(url,n,h,w,m,s,r){att="status=0,toolbar=0,location=0,menubar="+m+",directories=0,resizable="+r+",scrollbars="+s+",height="+h+",width="+w;pwin=window.open(url,n,att);try{pwin.moveTo(0,0);}catch(ee){}};
function validDate(Dt,required){
	if(required)
		return(checkDate(Dt));
	else{
		if(Dt.value!="")
			return(checkDate(Dt));
		else
			return(true);
	}
}
function checkDate(Dt){
	// Defining month name array
	var mNm=new Array("Jan","Feb","Mar","Apr","May","Jun", "Jul","Aug","Sep","Oct","Nov","Dec"); 
	//Getting System Date
	var now=new Date(); 
	var thismn = now.getMonth();
	var thismonth=mNm[now.getMonth()]; 
	var thisyear=now.getFullYear(); 
	// Getting value from text box and adding a standard separator
	var dt=Dt.value;
	//dt=dt+"/";
	dt=dt+"-";
	//Harmonising separator
	dt=dt.replace(".","-");
	dt=dt.replace(".","-");
	dt=dt.replace(" ","-");
	dt=dt.replace(" ","-");
	dt=dt.replace("/","-");
	dt=dt.replace("/","-");
	dt=dt.replace("\\","-");
	dt=dt.replace("\\","-");
	//Defining separator variable
//	var sep=/(-|\/| |\.)/;
	var sep=/-/;
	// Defining varibale for month number to checking date 
	var mnt1=/3|5|7|8|10|12/;
	var mnt2=/4|6|9|11/;
	var mnt3=/2/;
	// Variable defined for date number of January
	var dv=31;
	// Variable defined for breaking input value of ddate in 3 parts
	var da=new Array(3);
	if(dt.search(sep)!=-1){
		da = dt.split(sep);
		if(da[1]==undefined || da[1]==""){
			da[1]=(thismn+1).toString();
		}
		if(da[1].length==3){
			var sMn=da[1].toLowerCase();
			for(var x=0;x<12;x++){
				if(sMn==mNm[x].toLowerCase()){
					da[1]=(x +1).toString();
					break;
				}
			}
		}
		// Checking month number to validate the maximum date value
		if(da[1].search(mnt1)!=-1){
			dv=31;
		}else if(da[1].search(mnt2)!=-1){
			dv=30;
		}else if(da[1].search(mnt3)!=-1){
			dv=29;
		}
		if(da[2]==undefined || da[2]==""){
			da[2]=thisyear;
		}
		if(da[2].length==1){
			if(da[2]<=9){
				da[2]="200"+da[2];
			}
		}else if(da[2].length==2){
			if(da[2]<=79){
				da[2]="20"+da[2];
			}else{
				da[2]="19"+da[2];
			}
		}
		if((da[1]<13)&&(da[1]>0)&&(da[0]>0)&&(da[0]<=dv)&&(da[2]<2080)){
		
			//Checking for year digits and applying correction
							
			//Converting month number to month name
			var dtMn = mNm[da[1]-1];
			
			// Writing final date in to text box
			Dt.value=da[0]+"-"+dtMn+"-"+da[2];
		}else{
			window.alert('Please Enter A Valid Date' + "\n" + 'Use dd/mm/yyyy Format' + "\n" + 'Or Use dd/mmm/yyyy Format' );
			Dt.focus();
			Dt.value=now.getDate()+"-"+thismonth+"-"+thisyear;
			Dt.select();
		}
	}
}
function month(strmonth){
if(strmonth=='Jan')return(0);if(strmonth=='Feb')return(1);if(strmonth=='Mar')return(2);if(strmonth=='Apr')return(3);if(strmonth=='May')return(4);if(strmonth=='Jun')return(5);if(strmonth=='Jul')return(6);if(strmonth=='Aug')return(7);if(strmonth=='Sep')return(8);if(strmonth=='Oct')return(9);if(strmonth=='Nov')return(10);if(strmonth=='Dec')return(11);
};
function convertDDMMMYYYYtoDate(sdate){
	if (sdate=="")
		return null;
	else
	{
		var adate,tdate;
		adate=sdate.split("-");
		tdate= new Date();
		tdate.setFullYear(adate[2],month(adate[1]),adate[0]);
		return tdate;
	}
}
function checkCurrency(dt,d){
	var txtCur=dt.value;
	var txtType=/\d+/;
	if(txtCur.search(txtType)!=-1){
			dt.value=(txtCur/1).toFixed(d);
	}else{
		txtCur=0;
		window.alert("Please enter number");
		dt.value = (txtCur/1).toFixed(d);
		dt.focus();
	}
}

//creates a zero sized iframe
var getIFrameWindow = function(frm) 
{
	var ifr = document.getElementById(frm);
	if (!ifr){
		var frame = document.createElement("iframe");
		frame.name = frm;
		frame.id = frm;
		document.body.appendChild(frame);
		frame.style.width = "0px";
		frame.style.height = "0px";
		frame.style.border = "0px";
	}
	var wnd = window.frames[frm];
	return wnd;
}
//Export to Excel
// requires a div with id=report
function exportXLS(htmlbody){
	var frmWindow = getIFrameWindow("xlsFrame");
	var browser="ie";
	if (Ext.isGecko)browser="ff";
	var content = "<form id='frmXLS' method='post' enctype='application/data' action='/v4/accounts/exportxls.asp'><input type='text' id='xlscontent' name='xlscontent' value='' /><input type='hidden' name='browser' id='browser' value='"+browser+"' /></form>";
	frmWindow.document.open();
	frmWindow.document.write(content);
	frmWindow.document.close();

	var xlsContent = frmWindow.document.getElementById("xlscontent");
	xlsContent.value = htmlbody;
	var frm = frmWindow.document.getElementById("frmXLS");
	frm.submit();
}
function emailReport(){
	window.parent.emailReport(document.getElementById("report").innerHTML);
	}
function printReport(){
	var win=window.open();
	win.document.body.innerHTML=document.getElementById("report").innerHTML + "<p align='center'>generated using www.edeskonline.com</p>";
}
