// JavaScript Document

function addEvent(obj, evType, fn)
{ 
	if (obj.addEventListener)
	{obj.addEventListener(evType, fn, false);return true;}
	else if (obj.attachEvent)
	{var r = obj.attachEvent("on"+evType, fn);return r;}
	else {return false;} 
}

function obj(objName)
{
	try{return document.getElementById(objName);}
	catch(err)
	{alert(err.message+" (BEPC Value:"+objName+")"); return;}	
}

function returnPG()
{
	appPage="";
	runSplit="";
	appURL=location.href;
	
	appURL=appURL.split("?");
		
	try
	{
		appPageParms=appURL[1].split("&");
		for(i=0;i<appPageParms.length;i++)
		{
			thispage=appPageParms[i].split("=");
			if(thispage[0]=="Page")
			{appPage=thispage[1];}
		}
	}
	catch(err)
	{
		if(err.number=="-2146823281" || err.number==undefined)
		{//do nothing
		}
		else
		{alert(err.message+"::"+err.number);}
	}
	return appPage;
}

function newWindow(URL, WinWidth, WinHeight, resizeable, menubar, scrollbar)
{
	var ScreenVars="";
	
	if ((screen.width<=800) && (screen.height<=600))
	{ScreenVars = ScreenVars+" left=0 top=0";}
	else
	{
		if(WinWidth!="")
		{ScreenVars = ScreenVars+" left="+screen.width*.25+" top=200";}
		else
		{ScreenVars = ScreenVars+" left=0 top=0";}
	}
	
	if (WinWidth!="" && WinHeight!="")
	{ScreenVars = ScreenVars+" width="+WinWidth+" height="+WinHeight;}
	else
	{ScreenVars = ScreenVars+" width="+screen.width+" height="+screen.height;}
	
	if (resizeable == "Y")
	{ScreenVars = ScreenVars+" resizable=yes";}
	if (scrollbar == "Y")
	{ScreenVars = ScreenVars+" scrollbars=yes";}
	if (menubar == "Y")
	{ScreenVars = ScreenVars+" menubar=yes";}
	//alert(URL+ 'KLJ Pop Up'+ ScreenVars);				
	window.open(URL, 'BEPCWin1', ScreenVars);
}

function splitRetText(text)
{
	var textArr=text.split("||");
	var validate="";
	var retMess=textArr[0];
	var redirectArr=text.split("+");
	var redirect="";
	
	try
	{validate=textArr[1];}
	catch(err)
	{retMess=text;}
	try
	{redirect=redirectArr[1];}
	catch(err)
	{redirect="";}
	
	if(redirect!="" && redirect!=undefined)
	{location.replace(redirect);}
	
	document.getElementById("retmess").innerHTML=retMess;
	
	if(validate==undefined)
	{return "";}
	else
	{return validate;}
}

function trim(stringToTrim) 
{return stringToTrim.replace(/^\s+|\s+$/g,"");}

function validatePwd(object) 
{
	//Initialise variables
	var errorMsg = "";
	var space  = " ";
	fieldname   = object.password; 
	fieldvalue  = fieldname.value; 
	fieldlength = fieldvalue.length; 
	
	//if(fieldvalue == "")
	//{return true;}
	
 
	//It must not contain a space
	if (fieldvalue.indexOf(space) > -1) 
	{ errorMsg += "\nPasswords cannot include a space.\n";}
	
	//It must contain at least one number character
	if (!(fieldvalue.match(/\d/))) 
	{errorMsg += "\nStrong passwords must include at least one number.\n";}
	
	//It must start with at least one letter     
	if (!(fieldvalue.match(/^[a-zA-Z]+/))) 
	{errorMsg += "\nStrong passwords must start with at least one letter.\n";}
	
	//It must contain at least one upper case character
	if (!(fieldvalue.match(/[A-Z]/))) 
	{errorMsg += "\nStrong passwords must include at least one uppercase letter.\n";}
	
	//It must contain at least one lower case character
	if (!(fieldvalue.match(/[a-z]/))) 
	{errorMsg += "\nStrong passwords must include one or more lowercase letters.\n";}
	
	//It must contain at least one special character
	/*if (!(fieldvalue.match(/\W+/))) 
	{errorMsg += "\nStrong passwords must include at least one special character - #,@,%,!\n";}*/
	
	//It must be at least 7 characters long.
	if (!(fieldlength >= 8)) 
	{errorMsg += "\nStrong passwords must be at least 8 characters long.\n";}
	
	//If there is aproblem with the form then display an error
	if (errorMsg != "")
	{
		msg = "______________________________________________________\n\n";
		msg += "Please correct the problem(s) with your password.\n";
		msg += "______________________________________________________\n";
		errorMsg += alert(msg + errorMsg + "\n\n");
		fieldname.focus();
		return false;
     }
     
	 return true;
}


function CompareDates(d1,d2)
{
    var str1 = d1;
    var str2 = d2;
    var dt1  = parseInt(str1.substring(8,10),10); 
    var mon1 = parseInt(str1.substring(5,7),10)-1; 
    var yr1  = parseInt(str1.substring(0,4),10); 
    var dt2  = parseInt(str2.substring(8,10),10); 
    var mon2 = parseInt(str2.substring(5,7),10)-1; 
    var yr2  = parseInt(str2.substring(0,4),10); 
    var sDate = new Date(yr1, mon1, dt1); 
    var eDate = new Date(yr2, mon2, dt2);
	
	if(sDate >eDate){return "greater";}
	else if(sDate < eDate){return "lesser";}
	else if(yr1+"-"+mon1+"-"+dt1==yr2+"-"+mon2+"-"+dt2){return "same";}
	//else{return yr1+"-"+mon1+"-"+dt1+" "+yr2+"-"+mon2+"-"+dt2+" "+sDate.toDateString()+" "+eDate.toDateString();}
	else{return "";}
}

function datediff(dt1,dt2)
{
  var date1 = dt1;
  var date2 = dt2;
  date1 = date1.split("-");
  date2 = date2.split("-");
  var sDate = new Date(date1[0]+"/"+date1[1]+"/"+date1[2]);
  var eDate = new Date(date2[0]+"/"+date2[1]+"/"+date2[2]);
  var daysApart = "";
  if((sDate-eDate) <= 0)
  {daysApart = Math.abs(Math.round((sDate-eDate)/86400000));}
  else{daysApart = "-"+Math.abs(Math.round((sDate-eDate)/86400000));}
  return daysApart;
}

function startDateCheck(d1)
{
    var str1 = d1;
    var dt1  = parseInt(str1.substring(8,10),10); 
    var mon1 = parseInt(str1.substring(5,7),10)-1; 
    var yr1  = parseInt(str1.substring(0,4),10); 
    var sDate = new Date(); 
    var eDate = new Date(yr1, mon1, dt1);
	
	if(sDate >eDate){return "greater";}
	else if(sDate < eDate){return "lesser";}
	else if(yr1+"-"+mon1+"-"+dt1==yr2+"-"+mon2+"-"+dt2){return "same";}
	//else{return yr1+"-"+mon1+"-"+dt1+" "+yr2+"-"+mon2+"-"+dt2+" "+sDate.toDateString()+" "+eDate.toDateString();}
	else{return "";}
}


