/////////////// GLOBAL FUNCTIONS ////////////////
function isNumeric(strString) {
   var strValidChars = "0123456789.-"; var blnResult = true;
   if (strString.length == 0) return false;
   for (i = 0; i < strString.length && blnResult == true; i++) {
		var strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}
function Left(str, n) {
   if (n <= 0) return "";
   else if (n > String(str).length) return str;
   else return String(str).substring(0,n);
}
function removeSpaces(string) {
	return string.split(' ').join('');
}
function Right(str, n) {
	if (n <= 0) { return ""; }
	else if (n > String(str).length) { return str; }
	else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}
function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function validCC(ccNumb) {
	var valid = "0123456789"; var len = ccNumb.length;
	var iCCN = parseInt(ccNumb); var sCCN = ccNumb.toString();
	sCCN = sCCN.replace (/^\s+|\s+$/g,'');
	var iTotal = 0; var bNum = true; var bResult = false; var temp; var calc;
	for (var j=0; j<len; j++) {
		temp = "" + sCCN.substring(j, j+1);
		if (valid.indexOf(temp) == "-1") {bNum = false;}
	}
	if (!bNum){ return false; }
	if ((len == 0)&&(bResult)) { 
		bResult = false;
	} else {
		if(len >= 15) {
			for(var i=len;i>0;i--) {
				calc = parseInt(iCCN) % 10;
				calc = parseInt(calc);
				iTotal += calc; i--;
				iCCN = iCCN / 10;
				calc = parseInt(iCCN) % 10;
				calc = calc *2;
				switch(calc) {
					case 10: calc = 1; break;
					case 12: calc = 3; break;
					case 14: calc = 5; break;
					case 16: calc = 7; break;
					case 18: calc = 9; break;
					default: calc = calc;
				}
				iCCN = iCCN / 10;
				iTotal += calc;
			}
		if ((iTotal%10)==0) {
			bResult = true;
		} else {
			bResult = false;
		}
	}
}
return bResult;
}
function validDate(dateStr) {
   var format = "MDY";
   if (format.substring(0, 1) == "Y") {
      var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
      var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/
   } else if (format.substring(1, 2) == "Y") {
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/
   } else { 
      var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/
      var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/
   }
   if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
   var parts = dateStr.split(RegExp.$1);
   if (format.substring(0, 1) == "M") { var mm = parts[0]; } else if (format.substring(1, 2) == "M") { var mm = parts[1]; } else { var mm = parts[2]; }
   if (format.substring(0, 1) == "D") { var dd = parts[0]; } else if (format.substring(1, 2) == "D") { var dd = parts[1]; } else { var dd = parts[2]; }
   if (format.substring(0, 1) == "Y") { var yy = parts[0]; } else if (format.substring(1, 2) == "Y") { var yy = parts[1]; } else { var yy = parts[2]; }
   if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
   if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
   var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
   if (parseFloat(dd) != dt.getDate()) { return false; }
   if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
   return true;
}
function validEmail(addr) {
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (e=0; e<invalidChars.length; e++) {
		if (addr.indexOf(invalidChars.charAt(e),0) > -1) { return false; }
	}
	for (e=0; e<addr.length; e++) {
		if (addr.charCodeAt(e)>127) { return false; }
	}
	var atPos = addr.indexOf('@',0);
	if (atPos == -1) { return false; }
	if (atPos == 0) { return false; }
	if (addr.indexOf('@', atPos + 1) > - 1) { return false; }
	if (addr.indexOf('.', atPos) == -1) { return false; }
	if (addr.indexOf('@.',0) != -1) { return false; }
	if (addr.indexOf('.@',0) != -1){ return false; }
	if (addr.indexOf('..',0) != -1) { return false; }
	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') { return false; }
	return true;
}
function validPhone(sText) {
	var ValidChars = "0123456789";
	var IsNumber=true; var Char;
	if (sText.length != 10) { IsNumber = false }
	for (s = 0; s < sText.length && IsNumber == true; s++) { 
		Char = sText.charAt(s);
		if (ValidChars.indexOf(Char) == -1) {
			IsNumber = false;
		}
	}
	return IsNumber;
}
