
window.Lib=new Object();
window.ExecQ="0"

var MSG1="Week Hours could not be > 84!";
var MSG2="At least one field must be entered!";
var MSG3="You must check \"I accept these terms.\" \nin order to submit eTimeCard(s)."
var MSG4="You must select how your would like to receive your check."
var MSG5="Your session has been timed out. \n\nAs a security precaution, sessions are ended after 5 minutes of inactivity. \n\nYou can sign in again to resume using this site."
var MSG6="Please take note: \nThis email address is your myPSG login name. \nThe next time log on to myPSG, use your new email address."
var MSG7="There was an error in the information you provided.\nPlease try again.";
var MSG8="Please take note: \nBank name field must have alphanumeric value. \nBank number and Account number must have numeric value. \nBank Number must contain 9 digits.";
var MSG9="If you see this message, you are probably using some\n older type of a browser.\nPlease use IE or NS (6+) compatible browser.";
var MSG10="Please click 'OK' if you d'like to \n have your direct deposit canceled. \nThis operation can't be reversed."
var MSG11=" Please make sure that\n items in red are completed.";
var MSG12="System error,\n to resolve this issue please call front desk for assistance.";
var MSG13=" Please make sure that\n all items are completed.";
var MSG14="Invalid character(s), or empty field.";
var MSG15="Phone extention must not exid 5 numbers \n(example 23653).";
var MSG16="Please make sure that\n Old equals to New password.";
var MSG17a=" Please enter amount you\'d like to pay.";
var MSG18="Please make sure that\n both entries are equal.";
var MSG19a="Your MyPSG password will expire in ";
var MSG19b=" day(s). \nYou can change your password by selecting\n 'Change Password' menu.";

function sessionTimeOut(min){
	self.setTimeout('visitExpired()', min*60*1000 );
}

function visitExpired(){
	alert(MSG5);
	window.location.href="employee/bin/action.asp?hEvent=logout-timeout";
}

	function valSSChanged(me){
		ssn=me.value;
		var matchArr = ssn.match(/^(\d{3})-?\d{2}-?\d{4}$/);
		var numDashes = ssn.split('-').length - 1;
		var s1=""; var s2=""; var s3="";
		if (matchArr == null || numDashes == 1) {
			alert('Invalid SSN. Must be 9 digits or in the form NNN-NN-NNNN.');
			var flag=false;
		}else if (parseInt(matchArr[1],10)==0) {
				alert("Invalid SSN: SSN's can't start with 000.");
				var flag=false;
		}else {
			var flag=true;
			ssn=window.Lib.replace(me.value,"-","");
			for(i=0; i<ssn.length; i++){
				if(i==0 || i==1 || i==2){ s1+=ssn.charAt(i); }
				if(i==3 || i==4){ s2+=ssn.charAt(i); }
				if(i==5 || i==6 || i==7 || i==8){ s3+=ssn.charAt(i); }
			}
			me.value=s1 +"-"+ s2 +"-"+ s3;
		}
		if(!flag){
			me.value="";
			me.focus();
			//me.select();
		}
		return flag;
	}

	function valPhoneChanged(me){
		var re = /^\(?(\d{3})\)?[\.\-\/ ]?(\d{3})[\.\-\/ ]?(\d{4})$/;
		var val = re.exec(me.value);
		if (val) {
			me.value = "(" + val[1] + ") " + val[2] + "-" + val[3];
			var flag=true;
		}else{
			alert(me.value + " isn't a valid phone number");
			var flag=false;
			me.value="";
			me.focus();
			//me.select();
		}
		return flag;	
	}
	
	function valEmailChanged(me){
		if(me.name=='txtEmail'){
			if(!confirm(MSG6)){ me.value=me.form.hidEmail.value; }
		}
		var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		if (re.test(me.value)){ return true; }
		alert("Invalid email address");
		me.value="";
		me.focus();
		return false;
	}
	
	function valNameChanged(me){
		var ret=window.Lib.validate(me,'name',false);
		if(!ret){ alert(MSG14); }
		return ret;
	}
	
	function valPasswordChanged(me){
		var ret=window.Lib.validate(me,'password',false);
		if(!ret){ alert(MSG14); }
		return ret;
	}

window.Lib.validate = function(ctr,patern,isString,showAlert){

	if(!arguments[3]){ var showAlert=false; }
	
     var cc = String.fromCharCode(34);
     var c = String.fromCharCode(39);
     var o = String.fromCharCode(32);
	 var HELP_LEGALCHAR="Legal characters:\n ";
	
     NUMERIC="0123456789";
     ALPHA="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
     ALPHAPLUS= ALPHA + " -";
     ALPHANUMERIC=ALPHA + NUMERIC;
     URL=ALPHANUMERIC +"/:.?=&-";
     FLOAT=NUMERIC +".,";
     ALPHANUMERICPLUS=ALPHANUMERIC +" " + "'";
     EMAIL=ALPHANUMERIC +"_-@.";
     PASSWORD=ALPHANUMERIC +"_-"
     STREET=ALPHANUMERIC +"#- ";
     CITY=ALPHANUMERICPLUS +"-"
     ZIP=NUMERIC +"-";
     NAME=ALPHA +" '";
     TITLE=ALPHANUMERIC +"/:.?=&-, ;_!*";
     
     var s=ALPHA;
     if(patern=='numeric'){ s=NUMERIC; }
     if(patern=='alphanumericplus'){ s=ALPHANUMERICPLUS; }
     if(patern=='alpha'){ s=ALPHA; }
     if(patern=='alphaplus'){ s=ALPHAPLUS; }
     if(patern=='alphanumeric'){s=ALPHANUMERIC;}
     if(patern=='float'){ s=FLOAT; }
     if(patern=='url'){ s=URL; }
     if(patern=='email'){ s=EMAIL; }
     if(patern=='password'){ s=PASSWORD; }
	 if(patern=='street'){ s=STREET; }
	 if(patern=='city'){ s=CITY; }
	 if(patern=='zip'){ s=ZIP; }
	 if(patern=='name'){ s=NAME; }
	 if(patern=='title'){ s=TITLE; }

     var flag=false;
  
     if(arguments[2]){
		window.Lib.trim(ctr);
		if(!IsStringValid(ctr,s)){
			try{
				if(showAlert){ alert(HELP_LEGALCHAR+s); }
			}catch(e){ ; }
		}
	}else{
		window.Lib.trim(ctr.value);
		if(!IsStringValid(ctr.value,s)){
			try{
				if(showAlert){ alert(HELP_LEGALCHAR+s); }
				ctr.value='';
				ctr.focus();
			}catch(e){ ; }
		}
	}
    
     function IsStringValid(str,s){
		try{
			var c='';
			for (var i=0; i<str.length; i++) {
				c = str.substring(i, i+1); flag=false;
				for (var j=0; j<s.length; j++){
					if (c==s.substring(j,j+1)){ flag=true; break; }
				}
				if (flag==false){ break; }
			}
			
			return flag;
		}catch(e){ return false; }
     }
     
     return flag;
 }//-- end

//-------------------------------------------------------------------------------------------

window.Lib.trim=function(inputString ){
     if (typeof inputString != 'string') { return inputString; }
     var retValue = inputString;
     var ch = retValue.substring(0, 1);
     while (ch == ' '){
         retValue = retValue.substring(1, retValue.length);
         ch = retValue.substring(0, 1);
     }
     ch = retValue.substring(retValue.length-1, retValue.length);
     while (ch == ' '){
         retValue = retValue.substring(0, retValue.length-1);
         ch = retValue.substring(retValue.length-1, retValue.length);
     }
     while (retValue.indexOf('  ') != -1){
         retValue = retValue.substring(0, retValue.indexOf('  '))
             + retValue.substring(retValue.indexOf('  ')+1, retValue.length);
     }
     return retValue;
}

window.Lib.replace=function(str,t,u){     // string old new
	var s=String(str);
	function replace(s,t,u){
		i=s.indexOf(t);r='';if(i==-1){ return s; }
		r+=s.substring(0,i)+u;
		if(i+t.length<s.length){ r+=replace(s.substring(i+t.length,s.length),t,u); }
		return r;
	}
	return replace(s,t,u); 
}

window.Lib.capFirstLetter=function(ctr){
     var pattern = /(\w)(\w*)/;
     var a = ctr.value.split(/\s+/g);
     for (i = 0 ; i < a.length ; i ++ ){
         var parts = a[i].match(pattern);
         try{
             var firstLetter = parts[1].toUpperCase();
             var restOfWord = parts[2].toLowerCase();
         }catch(e){ ; }
         a[i] = firstLetter + restOfWord;
     }
     ctr.value = a.join(' ');
 }
 
//-------------------------------------------------------- COOKIES ------------------------------------------

window.Lib.getcookie=function(name){
	var s=document.cookie;
	var n=s.indexOf(name);
	if(n==-1 || name==""){return "";} 
	var sp=s.split(";")
	for(var i=0; i<sp.length; i++){
		var ps=sp[i].split("=");
		var key=ps[0];
		var val=ps[1];
		if(window.Lib.trim(key)==name){
			return val; break;
		}
	}
	return "";
}

window.Lib.getcookie1=function(cookiename){
	var cookiestring=""+document.cookie;
	var index1=cookiestring.indexOf(cookiename);
	if (index1==-1 || cookiename=="") return ""; 
	var index2=cookiestring.indexOf(';',index1);
	if (index2==-1) index2=cookiestring.length; 
	var str=unescape(cookiestring.substring(index1+cookiename.length+1,index2));
	str=window.Lib.replace(str,"+"," ");
	str=window.Lib.replace(str,"*","+");
	return str;
}

window.Lib.setcookie=function(name,value,duration){
	cookiestring=name+"="+escape(value)+";EXPIRES="+window.Lib.getexpirydate(duration);
	document.cookie=cookiestring;
	if(!window.Lib.getcookie(name)){
		return false;
	}
	else{
		return true;
	}
}

window.Lib.getexpirydate=function(nodays){
	var UTCstring;
	Today = new Date();
	nomilli=Date.parse(Today);
	Today.setTime(nomilli+nodays*24*60*60*1000);
	UTCstring = Today.toUTCString();
	return UTCstring;
}

window.Lib.getcookieAdvanced=function(cname,defval,expires){
	var val=window.getcookie(cname);
	if(val==";" || val==""){
		window.Lib.setcookie(cname,String(defval),expires);
	}
	var val=window.Lib.getcookie(cname);
	if(val==";" || val==""){ return ""; }
	return val;
}







