// java Library

//usage  onFocus="clearField(this);">
function clearField(thefield){
	if (thefield.defaultValue==thefield.value) 
	thefield.value = ""
}



//////////////////////////////////////////


function checkIsPhoneNumber(phoneNum)
{
	var num = "";
	num = phoneNum.replace(RegExp('[^0-9]','gi'),'');
	if(num.length >= 5)
	{
		return true;
	}
	return false;
}


function isValidInformation(currField)
{
	if(currField.toLowerCase().search('fuck') != -1) { return false; }
	if(currField.toLowerCase().search('shit') != -1) { return false; }
	if(currField.toLowerCase().search('ass') != -1) { return false; }
	if(currField.toLowerCase().search('pussy') != -1) { return false; }
	if(currField.toLowerCase().search('cock') != -1) { return false; }
	if(currField.toLowerCase().search('cunt') != -1) { return false; }
	if(currField.toLowerCase().search('dick') != -1) { return false; }
	if(currField.toLowerCase().search('bitch') != -1) { return false; }
	if(currField.toLowerCase().search('fag') != -1) { return false; }
	if(currField.toLowerCase().search('lesbian') != -1) { return false; }
	if(currField.toLowerCase().search('twat') != -1) { return false; }
	if(currField.toLowerCase().search('anal') != -1) { return false; }
	if(currField.toLowerCase().search('butt') != -1) { return false; }
	if(currField.toLowerCase().search('fisting') != -1) { return false; }
	if(currField.toLowerCase().search('clit') != -1) { return false; }
	if(currField.toLowerCase().search('piss') != -1) { return false; }
	if(currField.toLowerCase().search('tits') != -1) { return false; }
	if(currField.toLowerCase().search('scrotum') != -1) { return false; }
	if(currField.toLowerCase().search('pubic') != -1) { return false; }
	if(currField.toLowerCase().search('sperm') != -1) { return false; }
	if(currField.toLowerCase().search('jizz') != -1) { return false; }
	if(currField.toLowerCase().search('errection') != -1) { return false; }
	if(currField.toLowerCase().search('labia') != -1) { return false; }
	if(currField.toLowerCase().search('nipple') != -1) { return false; }
	if(currField.toLowerCase().search('bastard') != -1) { return false; }
	if(currField.toLowerCase().search('poop') != -1) { return false; }
	if(currField.toLowerCase().search('feces') != -1) { return false; }
	if(currField.toLowerCase().search('anus') != -1) { return false; }
	if(currField.toLowerCase().search('boob') != -1) { return false; }
	if(currField.toLowerCase().search('knockers') != -1) { return false; }
	if(currField.toLowerCase().search('retard') != -1) { return false; }
	if(currField.toLowerCase().search('gay') != -1) { return false; }
	if(currField.toLowerCase().search('chinc') != -1) { return false; }
	if(currField.toLowerCase().search('nigger') != -1) { return false; }
	if(currField.toLowerCase().search('cracker') != -1) { return false; }
	if(currField.toLowerCase().search('sodomy') != -1) { return false; }
	if(currField.toLowerCase().search('kill') != -1) { return false; }	
	if(currField.toLowerCase().search('murder') != -1) { return false; }
	if(currField.toLowerCase().search('hate') != -1) { return false; }
	if(currField.toLowerCase().search('hell') != -1) { return false; }
	if(currField.toLowerCase().search('testicles') != -1) { return false; }
	if(currField.toLowerCase().search('rape') != -1) { return false; }
	if(currField.toLowerCase().search('suck') != -1) { return false; }
	if(currField.toLowerCase().search('gook') != -1) { return false; }
	if(currField.toLowerCase().search('nazi') != -1) { return false; }
	if(currField.toLowerCase().search('diarhea') != -1) { return false; }
	
	
	return true;
}


function isLegal(txt) {
var invalids = "!@#$%^&*()~<>/?;:\|"
for(i=0; i<invalids.length; i++) {
if(txt.indexOf(invalids.charAt(i)) >= 0 ) {
return false;
}
        }
return true;
}


function isNumeric(val){

return(parseFloat(val,10)==(val*1));

}


function isZipCode(inputStr)
{
	inputStr = getRawText(inputStr);
	if (isNaN(inputStr)) {
		return false;
	}
	else if (inputStr.length != 5 && inputStr.length != 9) {
		return false;
	}
	return true;
}


function getRawText(inputStr)
{
	// Remove formatting characters for Zip Codes and Phone Numbers
	var s = "" + inputStr;
	s = replaceAll(s, "-", "");
	s = replaceAll(s, " ", "");
	s = replaceAll(s, "/", "");
	s = replaceAll(s, "(", "");
	s = replaceAll(s, ")", "");
	s = replaceAll(s, ".", "");
	s = replaceAll(s, "!", "");
	s = replaceAll(s, "*", "");
	return s;
}



function replaceAll(inputStr, searchFor, replaceWith)
{
	var s = "" + inputStr;
	while (s.indexOf(searchFor) > -1) {
		pos= s.indexOf(searchFor);
		s = "" + (s.substring(0, pos) + replaceWith + s.substring((pos + searchFor.length), s.length));
	}
	return s;
}



function isPhoneNumber(phone) {

	// Generic Non-US validation

	// If the user has entered +1 or +01, remove it
	if (phone.substring(0, 2) == "+1") { phone = phone.substring(2, phone.length); }
	if (phone.substring(0, 3) == "+01") { phone = phone.substring(3, phone.length); }
	
	var digits = getRawText(phone);	  					// Remove all non-formatting characters
	if (isNaN(digits)) { return false; }				// Must be digits only
	if (digits.length < 3) { return false; }		// Must be at least 3 numbers in length
	return true;		
}



function isPhoneNumberUS(inputStr)
{
  var npa, nxx, npa_filter, nxx_filter;

	// Some US users are entering numbers like 1-222-333-4444 - this chunk removes the leading "1" (or "+1")
	if (inputStr.substring(0,1) == "1" && inputStr.length > 11) { inputStr = inputStr.substring(1, inputStr.length); }
	if (inputStr.substring(0,2) == "+1" && inputStr.length > 11) { inputStr = inputStr.substring(2, inputStr.length); }

	var digits = getRawText(inputStr);					// Remove all non-formatting characters
	if (digits.length == 10) {
		if (isNaN(digits)) { return false; }
	}
	else if (digits.length != 10) {	return false;	}

  // Check for obvious invalid NPA's (like 000/123-4567, 001.., 011...)
	npa = digits.substring(0,3);
	if (npa < 201) { return false; }
  npa_filter = '300,400,500,600,700,900,999';
	if (npa_filter.indexOf(npa) > -1) { return false; } 
	
	// Check for obvious invalid NXX's (like 123/555-4567)
	nxx = digits.substring(3, 6);
  nxx_filter = '000,555';
	if (nxx_filter.indexOf(nxx) > -1) { return false; } 

	return true;
}


function isEmailAddress(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}
	

function isUrl(s) {
	//(ftp|http|https):\/\/
	var regexp = /(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}
