function isValidURL(urlval) {
        splitval1 = urlval.split("?");
        domain  = splitval1[0];
        qstring = splitval1[1];
        splitval2 = domain.split("#");
        url     = splitval2[0];
        var v   = new RegExp();
	v.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-,~\(\)!_%&[\\]@\?\$\:\+\/.=]+$");
        if(!v.test(url)) { return false; }
        else { return true; }
}

function JumpURL(selection) {
        var tempIndex, selectedURL;
        tempIndex = selection.selectedIndex;
        selectedURL = selection.options[tempIndex].value;
        location.href = selectedURL;
}

function Set_Cookie(name,value,expiredays,path,domain,secure) { 
	if(expiredays == ""){
		expires = "";
	} else {
		expires = new Date();
		expires.setDate(expires.getDate() + expiredays);
	}
	var cookieString = name + "=" +escape(value) + 
	( (expires) ? ";expires=" + expires.toGMTString() : "") + 
	( (path) ? ";path=" + path : "") + 
	( (domain) ? ";domain=" + domain : "") + 
	( (secure) ? ";secure" : ""); 
	document.cookie = cookieString; 
}

function getCookie(c_name){
	if (document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=")
		if (c_start!=-1){ 
			c_start=c_start + c_name.length+1 
			c_end=document.cookie.indexOf(";",c_start)
			if (c_end==-1) c_end=document.cookie.length
			return unescape(document.cookie.substring(c_start,c_end))
		} 
	}
	return "";
}

function toggleDisplay (elid) {
	var curDisp	= document.getElementById(elid).style.display;
	var newDisp	= "none";
	if(curDisp=="none" || !curDisp)	{ newDisp = "block"; }
	document.getElementById(elid).style.display = newDisp;
}

function trim(str){
	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
}

function isNumber(InString){
        if(InString.length==0)
                return (false);
        RefString="1234567890";
        for (Count=0; Count < InString.length; Count++)  {
                TempChar= InString.substring (Count, Count+1);
                if (RefString.indexOf (TempChar, 0)==-1)
                        return (false);
        }
        return (true);
}

function isEmail (emailStr) {	// updated 4/22/2008
	var checkTLD=1;	// 1 to check for two-letter country or well-known TLD - 0 to ignore
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) { return false; }	// Email address seems incorrect (check @ and .'s)
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) { return false; }	// The username contains invalid characters
	}
	for (i=0; i<domain.length; i++) { 
		if (domain.charCodeAt(i)>127) { return false; }	// The domain name contains invalid characters
	}

	if (user.match(userPat)==null) { return false; }	// The username is invalid

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {	// this is an IP address
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) { return false; }	// Destination IP address is invalid
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) { return false; }	// The domain name is invalid
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
		return false;	// The address must end in a well-known domain or two letter country code
	}

	if (len<2) { return false; }	// This address is missing a hostname
	return true;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
	window.open(theURL,winName,features);
}

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 isNumeric (InString)  {
	if(InString.length==0) 
		return (false);
	RefString="1234567890.-";
	for (Count=0; Count < InString.length; Count++)  {
		TempChar= InString.substring (Count, Count+1);
		if (RefString.indexOf (TempChar, 0)==-1)  
			return (false);
	}
	return (true);
}

function isInteger (InString)  {
	if(InString.length==0) 
		return (false);
	RefString="1234567890";
	for (Count=0; Count < InString.length; Count++)  {
		TempChar= InString.substring (Count, Count+1);
		if (RefString.indexOf (TempChar, 0)==-1)  
			return (false);
	}
	return (true);
}

function isValidZip(InString)  {
        InString = InString.toUpperCase();
        reZip = new RegExp(/((^\d{5}$)|(^\d{5}([- |]\d{4})?$)|(^[A-Z]\d[A-Z][- |]\d[A-Z]\d$))/);
        if(!reZip.test(InString)) { return (false); }
        return (true);
}

function isValidPhone(InString)  {
        rePhone = new RegExp(/^(\()?(\d{3})([\)-\. ])?(\d{3})([-\. ])?(\d{4})$/);
        if(!rePhone.test(InString)) { return (false); }
        return (true);
}

