function check_empty(text){

	return (text.length > 0); //return false if empty

}

//__________________________________________________________________________________________



function trim(strText) { 

    // this will get rid of leading spaces 

    while (strText.substring(0,1) == ' ') 

        strText = strText.substring(1, strText.length);



    // this will get rid of trailing spaces 

    while (strText.substring(strText.length-1,strText.length) == ' ')

        strText = strText.substring(0, strText.length-1);



   return strText;

}

//__________________________________________________________________________________________

function stripNum (val,writeback){

//strips spaces in numbers for validation



 val = "" + val;

 if (!val)

  return "";

 var result = "";

 for (i=0;i<val.length;i++) {

  character = val.charAt(i);

  if ("0123456789".indexOf(character) != -1)

   result += character;

}

  if (writeback == 1){document.form.amount.value = result};

  

  return result;}



//__________________________________________________________________________________________





function stripAlphaNum (val){

//strips spaces in numbers for validation

 val = val.toUpperCase();

 val = "" + val;

 if (!val)

  return "";

 var result = "";

 for (i=0;i<val.length;i++) {

  character = val.charAt(i);

  if ("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(character) != -1)

   result += character;

 }

 return result;

}



//__________________________________________________________________________________________

	

function check_card(ccnum) {

//checks for valid card numbers using lun 10

ccnum = stripNum (ccnum);

 document.form.ccnum.value = ccnum;



   sum = 0; mul = 1; l = ccnum.length;

  for (i = 0; i < l; i++) {

    digit = ccnum.substring(l-i-1,l-i);

    tproduct = parseInt(digit ,10)*mul;

    if (tproduct >= 10)

      sum += (tproduct % 10) + 1;

    else

      sum += tproduct;

    if (mul == 1)

      mul++;

    else

      mul--;

  }

  if ((sum % 10) != 0)

	return false;

	if (ccnum == ""){return false}

    //if (!check_card_type(document.form.ccnum.value)){return false;}

  else return true;



}



//__________________________________________________________________________________________



function check_card_type(ccnum){

//checks for accepted card types

cardNum = stripNum (ccnum);

cardNumBin = cardNum.substring(0,4);

cardKnown= 0;



if ((cardNumBin >=4000) && (cardNumBin <=4999)) // Visa card range

	{ cardKnown++; }

	

if ((cardNumBin >=5100) && (cardNumBin <=5600)) // Mastercard card range

	{ cardKnown++; }

	

if ((cardNumBin >=3000) && (cardNumBin <=3059)// Dinners card ranges

	||(cardNumBin >=3600) && (cardNumBin <=3699)

	||(cardNumBin >=3800) && (cardNumBin <=3889)) 

	{ cardKnown++; }

	

if ((cardNumBin >=3400) && (cardNumBin <=3499)// Amex card ranges

	||(cardNumBin >=3700) && (cardNumBin <=3799)) 

	{ cardKnown++; }



if ((cardNumBin >=3528) && (cardNumBin <=3589)) // JCB card range

	{ cardKnown++; }

	

if ((cardNumBin >=3890) && (cardNumBin <=3899)) // JCB card range

	{ cardKnown++; }



if (cardNumBin ==6011) // Discover card range

	{ cardKnown++; }



if (cardNumBin ==5610) //Australian Bank card range

	{ cardKnown++; }



if (cardNumBin ==2014 || 2149) //enRoute card range

	{ cardKnown++; }	

			

if (cardNumBin ==6759 || 5641) // UK Switch card range

	{ cardKnown++; }	

			

if(cardKnown != 1){return false}

else return true;

}





//__________________________________________________________________________________________



function check_signum(numb){ //returns false if not 3 digit number

	temp1=""

	for(j=0;j<numb.length;++j){

		d=numb.charAt(j)

			if(d!=" ") temp1 +=d

	}

	return (temp1 > 0) && (numb.length == 3);

}	



//__________________________________________________________________________________________



function check_expiry(){



today = new Date()

month =today.getMonth()+1

year=today.getYear()

excount=0;



if(document.form.expmo.value < month){

	if(document.form.expyr.value < (year +1)) {excount++;}

}

if(document.form.expyr.value < year) {excount++;}



if (excount >=1) return false;

else return true;

}



//__________________________________________________________________________________________



function check_email_manditory(email) {

	invalidChars = " /:,;"

	

	if (email == "") {return false}

	

	for (i=0; i<invalidChars.length; i++) {	

	badChar = invalidChars.charAt(i)

		if (email.indexOf(badChar,0) > -1) {

		return false

		}

	}

	

	atPos = email.indexOf("@",1)			

		if (atPos == -1) {

		return false

		}

	

	if (email.indexOf("@",atPos+1) != -1) {return false}

	

	periodPos = email.indexOf(".",atPos+3)

	

	if (periodPos == -1) {					

	return false

	}

	

	if (periodPos+3 > email.length)	{		

	return false

		}

	if (periodPos+4 == email.length)	{ //if has 3 digit domain suffix check its 1 of allowed

	tld = email.substring((periodPos+1),(periodPos+4))

	if(tld != "com" && tld != "net" && tld != "org" && tld != "gov" && tld != "mil" && tld != "edu" && tld != "biz" && tld != "int"){

	return false;

	}

	}

	

	

	return true

}



//__________________________________________________________________________________________



function check_email(email) {

	invalidChars = " /:,;"

	

	if (email != "") {

	

	for (i=0; i<invalidChars.length; i++) {	

	badChar = invalidChars.charAt(i)

		if (email.indexOf(badChar,0) > -1) {

		return false

		}

	}

	

	atPos = email.indexOf("@",1)			

		if (atPos == -1) {

		return false

		}

	

	if (email.indexOf("@",atPos+1) != -1) {return false}

	

	periodPos = email.indexOf(".",atPos+3)

	

	if (periodPos == -1) {					

	return false

	}

	

	if (periodPos+3 > email.length)	{		

	return false

		}

	if (periodPos+4 == email.length)	{ //if has 3 digit domain suffix check its 1 of allowed

	tld = email.substring((periodPos+1),(periodPos+4))

	if(tld != "com" && tld != "net" && tld != "org" && tld != "gov" && tld != "mil" && tld != "edu" && tld != "biz" && tld != "int"){

	return false;

	}

	}

	

	}

	return true

}



//__________________________________________________________________________________________



function check_number_manditory(numb) {

 var temp=""

 for(var i=0;i<numb.length;++i) {

  var c=numb.charAt(i)

  if(c!=" ") temp += c

 }

return (temp > 0);

}



//__________________________________________________________________________________________



function check_uk_phone(numb) {

numb = stripNum(numb)



 if(numb.length < 9 || numb.length > 11){return false}// less than 9 or more than 11 digits is not valid

  if(numb.charAt(0) != 0 ){return false}// number must begin with a 0

 var temp=""

 for(var i=0;i<numb.length;++i) {

  var c=numb.charAt(i)

  if(c!=" ") temp += c

 }

return (temp > 0);

}



//__________________________________________________________________________________________





function check_uk_landline_phone(numb) {

numb = stripNum(numb)



 if(numb.length < 9 || numb.length > 11){return false}// less than 9 or more than 11 digits is not valid

  if(numb.charAt(0) != 0 || numb.charAt(1) == 7){return false}// number must begin with a 0

 var temp=""

 for(var i=0;i<numb.length;++i) {

  var c=numb.charAt(i)

  if(c!=" ") temp += c

 }

return (temp > 0);

}



//__________________________________________________________________________________________





function check_uk_mobile_phone(numb) {

numb = stripNum(numb)



 if(numb.length < 9 || numb.length > 11){return false}// less than 9 or more than 11 digits is not valid

  if(numb.charAt(0) != 0 || numb.charAt(1) != 7){return false}// number must begin with a 07



  

   var temp=""

 for(var i=0;i<numb.length;++i) {

  var c=numb.charAt(i)

  if(c!=" ") temp += c

 }

return (temp > 0);

}



//__________________________________________________________________________________________



function check_number(numb) {



if(numb !=""){

	var temp=""

	for(var i=0;i<numb.length;++i) {

	var c=numb.charAt(i)

		if(c!=" ") temp += c

	}

	return (temp > 0);

}

return true}



//__________________________________________________________________________________________



function check_UK_postcode(zip){

cleanZip = stripAlphaNum(zip) ;



if( (cleanZip.length >=5) && (cleanZip.length <=7) ) {



cleanZip = cleanZip.toUpperCase();







var goodun = 0;

cleanZipPre = new Array("AB","AL","BA","BB","BD","BH","BL","BN","BR","BS","BT","CA","CB","CF","CH","CM","CO","CR","CT","CV","CW","DA","DD","DE","DG","DH","DL","DN","DT","DY","EC","EH","EN","EX","FK","FY","GL","GU","GY","HA","HD","HG","HP","HR","HS","HU","HX","IG","IM","IP","IV","JE","KA","KT","KW","KY","LA","LD","LE","LL","LN","LS","LU","ME","MK","ML","NE","NG","NN","NP","NR","NW","OL","OX","PA","PE","PH","PL","PO","PR","RG","RH","RM","SA","SE","SG","SK","SL","SM","SN","SO","SP","SR","SS","ST","SW","SY","TA","TD","TF","TN","TQ","TR","TS","TW","UB","WA","WC","WD","WF","WN","WR","WS","WV","YO","ZE")

var firstchar = cleanZip.charAt(0);

var secondchar = cleanZip.charAt(1);



//***********************************************************

//this section checks the 116 valid 2 char alpha prefix



if (isNaN(secondchar)){//is not a number

	for (i = 0; i<115; i++){ // compare with array 

		if (cleanZipPre[i] == cleanZip.substring(0,2)){goodun = 1} 

	}

}

//***********************************************************

//this section is used to check a 1 char alpha prefix



if (!isNaN(secondchar))

{

	if (firstchar == "B" 

	||firstchar == "E" 

	||firstchar == "G"

	||firstchar == "L" 

	||firstchar == "M" 

	||firstchar == "N" 

	||firstchar == "S" 

	||firstchar == "W" ){goodun = 1}   

   

}

//***********************************************************



if (goodun != 1) return false;



districtIdChar = (cleanZip.length - 3);// count backwards from end to cope with both lengths

streetIdOneChar= (cleanZip.length - 2);

streetIdTwoChar= (cleanZip.length - 1);



firstAlpha = cleanZip.charAt(0); // get first char must be alpha

districtId = cleanZip.charAt(districtIdChar); //get district char, 3rd from end, must be num

streetIdOne = cleanZip.charAt(streetIdOneChar);// get first street id char, 2nd from end, must be alpha

streetIdTwo = cleanZip.charAt(streetIdTwoChar);// get second street id char, last in string, must be alpha



	if ("ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(firstAlpha) != -1){

		if ("01234567890".indexOf(districtId) != -1){ 

			if ("ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(streetIdOne) != -1){

					if ("ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(streetIdTwo) != -1){

					return true;}

			}

		}

	}

}

else return false;

}

//__________________________________________________________________________________________



function check_US_Zip(zip){



var valid="0123456789-";

var hyphencount = 0;



if (zip.length !=5 && zip.length !=10) {return false;}

for (var i=0; i <zip.length; i++){

temp="" +zip.substring(i,i++);

if (temp == "-")hyphencount++;

if (valid.indexOf(temp)== "-1"){return false;}

if ((hyphencount > 1)|| ((zip.length ==10) && ""+zip.charAt(5) != "-")) {return false;}

}

return true;

}



//__________________________________________________________________________________________



function check_date(date){

date = stripNum (date);

 



if (date.length!=6 && date.length!=8){return false;}

dy = parseInt(date.substring(0,2));

var mth = parseInt(date.substring(2,4));

if (date.length==6) {var yr = parseInt(date.substring(4,6)) + 2000;} //asume 21st century date and adds 2000

if (date.length==8) {var yr = parseInt(date.substring(4,8));}



if (mth > 12){return false;}

daycount = numDaysIn(mth,yr)



if (dy > daycount){return false;}



return true;

}

//__________________________________________________________________________________________

function check_date_slash(date){

date = stripNum (date);

 



if (date.length!=6 && date.length!=8){return false;}

dy = parseInt(date.substring(0,2));

var mth = parseInt(date.substring(2,4));

if (date.length==6) {var yr = parseInt(date.substring(4,6)) + 2000;} //asume 21st century date and adds 2000

if (date.length==8) {var yr = parseInt(date.substring(4,8));}



if (mth > 12){return false;}

daycount = numDaysIn(mth,yr)



if (dy > daycount){return false;}



formatdate = date.substring(0,2);

formatdate += "/";

formatdate += date.substring(2,4);

formatdate += "/";

formatdate += date.substring(4,8);



document.form.date.value = formatdate;

return true;

}

//__________________________________________________________________________________________



function numDaysIn(mth,yr) {

 if (mth==4 || mth==6 || mth==9 || mth==11) return 30;

 else if ((mth==2) && leapYear(yr)) return 29;

 else if (mth==2) return 28;

 else return 31;

}



//__________________________________________________________________________________________



function leapYear(yr) {

 if (((yr % 4 == 0) && yr % 100 != 0) || yr % 400 == 0)

  return true;

 else

  return false;

}



//__________________________________________________________________________________________



function SSNValidation(ssn) { // valid format 111-11-1111 or without dashes

var matchArr = ssn.match(/^(\d{3})-?\d{2}-?\d{4}$/);

var numDashes = ssn.split('-').length - 1;

if (matchArr == null || numDashes == 1) {

return false;

}

else 

if (parseInt(matchArr[1],10)==0) {

return false;

}

else { 

msg = "appears to be valid";

return true;

   }

}



//__________________________________________________________________________________________



function check_cash(fieldValue) {



decallowed = 2;  // how many decimals are allowed?



if (isNaN(fieldValue) || fieldValue == "") {

return false;

}

else {

if (fieldValue.indexOf('.') == -1) fieldValue += ".";

dectext = fieldValue.substring(fieldValue.indexOf('.')+1, fieldValue.length);



if (dectext.length > decallowed)

{

return false;

      }

else {

return true;

      }

   }

}



//__________________________________________________________________________________________



function word_count(inputText,num) {

//checks for number of words in a string

var fullStr = inputText + " ";

var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;

var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");

var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;

var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");

var splitString = cleanedStr.split(" ");

var word_count = splitString.length -1;

if (word_count >= num){return true;}

else {return false;}

}

//__________________________________________________________________________________________



//-- change first letters to caps

function changeCase(frmObj) {

var index;

var tmpStr;

var tmpChar;

var preString;

var postString;

var strlen;

tmpStr = frmObj.value.toLowerCase();

strLen = tmpStr.length;

if (strLen > 0)  {

for (index = 0; index < strLen; index++)  {

if (index == 0)  {

tmpChar = tmpStr.substring(0,1).toUpperCase();

postString = tmpStr.substring(1,strLen);

tmpStr = tmpChar + postString;

}

else {

tmpChar = tmpStr.substring(index, index+1);

if (tmpChar == " " && index < (strLen-1))  {

tmpChar = tmpStr.substring(index+1, index+2).toUpperCase();

preString = tmpStr.substring(0, index+1);

postString = tmpStr.substring(index+2,strLen);

tmpStr = preString + tmpChar + postString;

         }

      }

   }

}

frmObj.value = tmpStr;

}




