function GetElementAbsoluteLeft(pi_obj) {
	
	var lOffsetLeft = 0;
	
	if(pi_obj != null) {
		lOffsetLeft = pi_obj.offsetLeft;
		if(pi_obj.offsetParent != null)
			lOffsetLeft += GetElementAbsoluteLeft(pi_obj.offsetParent);		
	}
	
	return(lOffsetLeft);
}


function GetElementAbsoluteTop(pi_obj) {
	
	var lOffsetTop = 0;
	
	if(pi_obj != null) {
		lOffsetTop = pi_obj.offsetTop;		
		if(pi_obj.offsetParent != null)			
			lOffsetTop += GetElementAbsoluteTop(pi_obj.offsetParent);						
	}
	
	return(lOffsetTop);
}

// check for empty field


function checkempty(thisfield, fieldname) {

   if (thisfield.value.length == 0) {
      alert('Error : ' + fieldname + ' cannot be empty.   ');
	  thisfield.focus();
	  thisfield.select();
	  return false;
   }
   
   else {
      allspaces=true;
      for(i=0;i<thisfield.value.length;i++) {
         if (thisfield.value.substring(i,i+1) != " ") {
            allspaces=false;
		 }
	  }
	  if (allspaces) {
	     alert('Error : ' + fieldname + ' cannot contained only spaces.   ');
		 thisfield.focus();
		 thisfield.select();
		 return false;
	  }
   }  
   return true;
   
}

// checks character only

function checkcharacter(ThisField, FieldName) {

   var char_str = "._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ "
	   
   inputStr = ThisField.value

   for (i = 0;	i < inputStr.length; i++) {
      checkchar = inputStr.substring(i, i+1);
      if (-1 == char_str.indexOf(checkchar)) {
         alert('The ' + FieldName + ' entry is invaild !  Please fill in with character only .');
		 ThisField.focus();
		 ThisField.select();
	     return false;
	  }
   }
   return true;
   
}


// checks number only

function checknumber(ThisField, FieldName) {

   var char_str = "0123456789"
	   
   inputStr = ThisField.value

   for (i = 0;	i < inputStr.length; i++) {
      checkno = inputStr.substring(i, i+1);
      if (-1 == char_str.indexOf(checkno)) {
         alert('The ' + FieldName + ' entry is invaild !  Please fill in with number only .');
		 ThisField.focus();
		 ThisField.select();
		 return false;
	  }
   }   
   return true;
   
}  

//checks valid email

function isEmail(input){
var inputStr=input.value
if(window.RegExp && inputStr){
	var regstr1 = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)"
	var regstr2 = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"
	var regExp1 = new RegExp(regstr1)
	var regExp2 = new RegExp(regstr2)
	var regExp3 = /[^a-zA-Z0-9\-_.@]/
	if(!(!regExp1.test(inputStr) && regExp2.test(inputStr) && !regExp3.test(inputStr)) || !(inputStr.indexOf("@")>=0)) {alert("Please enter a valid Email Address.");input.value=input.defaultValue;input.focus();return false}; return true
}}

function isNumber(input){
var inputStr=input.value
if(window.RegExp && inputStr){
	var regExp1 = /[^0-9]/
	if(regExp1.test(inputStr)) {alert("Please ensure that entries are numbers (0-9) only.");input.value=input.defaultValue;input.focus();return false}; return true
}}

//date functions

var smonths = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')
function writeDateList(dd){
for(i=1; i<=31; i++){
	if(i==parseInt(dd,10)) {document.write("<option value="+insZero(i,2)+" selected>"+insZero(i,2))}
	else {document.write("<option value="+insZero(i,2)+">"+insZero(i,2))}
}}

function writeMonthList(mm,l){
mthList=l?months:smonths
for(i=1; i<=12; i++){
	if(i==parseInt(mm,10)) {document.write("<option value="+insZero(i,2)+" selected>"+mthList[i-1])}
	else {document.write("<option value="+insZero(i,2)+">"+mthList[i-1])}
}}

function insZero(num,sf){
var inputStr=num.toString()
while(inputStr.length<sf) {inputStr="0"+inputStr}
return inputStr
}

function isFwdDate(sd,sm,sy,min,cd,cm,cy){
var sDate=new Date(); cDate=new Date()
sDate.setDate(1);sDate.setFullYear(parseInt(sy,10));sDate.setMonth(parseInt(sm,10)-1);sDate.setDate(parseInt(sd,10))
if(cd&&cm&&cy) {cDate.setDate(1);cDate.setFullYear(parseInt(cy,10));cDate.setMonth(parseInt(cm,10)-1);cDate.setDate(parseInt(cd,10))}
if(min) {cDate.setDate(cDate.getDate()+min)}
if(sDate.getTime()<cDate.getTime()) {return false}
return true
}

//Check Select Box
function checkselectbox(thisfield, fieldname) {
//alert("oi");
   if (thisfield.value.length == -1) {
      alert('Error : ' + fieldname );
	  //thisfield.focus();
	  thisfield.select();
	  return false;
   }
   return true;
}