//Js Include File
//Contains the standard functions, such as form validators
function isEmpty(value2check){

	if (value2check == "" || value2check == null){
		return true;
	}
	//nice bit of regexp!
	var nonSpaceCharacters = /\w/
	hasCharacters = nonSpaceCharacters.exec(value2check)
	if (hasCharacters == null){
		return true;
	}
		return false;
} //isEmpty
function isInteger(checkValue){
	if (isNaN(checkValue)){
		return false;
	}
	if (checkValue.indexOf('.') > -1){
		return false;
	}
	return true;
} //isInteger

function MM_swapImgRestore(){
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_swapImage(){
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_findObj(n, d){
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function openWindow(url,height,width,winObj){
	intWidth = width	
	intHeight = height
	if (navigator.appName=="Netscape") {
		intTopDiff=(screen.height/10);
	 	intXPos=(screen.width/2)-(intWidth/2);
	 	intYPos=((screen.height/2)-(intHeight/2))-intTopDiff;

	} else {
	 	intXPos=(screen.availWidth/2)-(intWidth/2);
	 	intYPos=(screen.availHeight/2)-(intHeight/2);
	}
	intXPos=intXPos>0?intXPos:0;
	intYPos=intYPos>0?intYPos:0;
	strProperties="location=no,menubar=no,resizable=yes,status=no,toolbar=no,titlebar=yes,directories=no,scrollbars=yes,toolbar=0,screenX="+intXPos+",left="+intXPos+",screenY="+intYPos+",top="+intYPos+",width="+intWidth+",height="+intHeight;
	winObj=window.open(url,"" + winObj + "",strProperties);
	winObj.focus();
}
function setStatus(msg){
	status=msg;
	return true;
}
function validateDate(dateIn,monthIn,yearIn, strName){
	if (parseInt(yearIn, 10)  < 1753) {
		alert("You've entered a year earlier than 1753. Unfortunately we can only support dates after 1753, because this is when the Gregorian and Julian calendars were synchronized! Please re-enter a more recent date.")
		return false
	}

	if (dateIn.length==1){
		dateIn = "0" + dateIn
	}
	
	if (monthIn.length==1){
		monthIn = "0" + monthIn
	}

	var textStr = dateIn+"/"+monthIn+"/"+yearIn
	
	var chkDate=new Date()
	
	if(dateIn.indexOf("0") == 0){
		dateIn = dateIn.substring(1)
	}

	if(monthIn.indexOf("0") == 0){
		monthIn = monthIn.substring(1)
	}
	
	chkDate.setMonth((parseInt(monthIn)-1),(parseInt(dateIn)))
	chkDate.setFullYear(parseInt(yearIn))
	
	var chkMonthInt  = chkDate.getMonth()+1
	var chkMonthStr = chkMonthInt+"/"
	if (chkMonthStr.length == 2){
		chkMonthStr = "0"+chkMonthStr
	} 
	
	var chkDateInt = chkDate.getDate()
	var chkDateStr = chkDateInt+"/"
	if (chkDateStr.length == 2){
		chkDateStr = "0"+chkDateStr
	}

	var cmpDate=chkDateStr+chkMonthStr+(chkDate.getFullYear())
	
	if (cmpDate.length != 10){
		alert("You've entered a " + strName + " that does not exist or used an invalid date format.  Please use the dd/mm/yyyy format.");
		return false;
	}
	else {
		if (textStr!=cmpDate){
			alert("You've entered a " + strName + " that does not exist or used an invalid date format.  Please use the dd/mm/yyyy format.");
			return false;
		}
		else {
			if (cmpDate=="NaN/NaN/NaN"){
				alert("You've entered a " + strName + " that does not exist or used an invalid date format.  Please use the dd/mm/yyyy format.");
				return false;
			}
		}
	}
	return true;
}

