// JavaScript Document
var bad=["fuck"];


function Del(Word) {
//	a = Word.indexOf("<");
//	b = Word.indexOf(">");
//	len = Word.length;
//	c = Word.substring(0, a);
//	if(b == -1) b = a;
//	d = Word.substring((b + 1), len);
//	Word = c + d;
//	tagCheck = Word.indexOf("<");
//	if(tagCheck != -1) Word = Del(Word);
//	return Word;
	
	var re= /<\S[^>]*>/g; 
	Word = Word.replace(re,""); 
	return Word; 

	
	
}

function validateZIP(field) {
	var valid = "0123456789-";
	var hyphencount = 0;

	if (field.length!=5 && field.length!=10) {
		return false;
	}
	for (var i=0; i < field.length; i++) {
		temp = "" + field.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			return false;
		}
		if ((hyphencount > 1) || ((field.length==10) && ""+field.charAt(5)!="-")) {
			return false;
		   }
	}
	return true;
}

function checkdate(input){
	var validformat=/^\d{2}\/\d{2}\/\d{4}$/ //Basic check for format validity
	//Basic check for format validity
	if (validformat.test(input))
		{
		//Detailed check for valid date ranges
		var monthfield=input.split("/")[0];
		var dayfield=input.split("/")[1];
		var yearfield=input.split("/")[2];
		var dayobj = new Date(yearfield, monthfield-1, dayfield);
		//alert ("msg" + yearfield+ monthfield-1+ dayfield);
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield))
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		//alert ("my B format");
		return false;
	}
}



function echeck(str) {
var mypage = window.location.pathname.toLowerCase();
var sPage = mypage.substring(mypage.lastIndexOf('/') + 1);
if (sPage=='property.asp') 
{return true
}
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		var isOK = !r1.test(str) && r2.test(str);
		if (!isOK)
		{
		  return false;
        }
		
		
		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
		 }

		var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
		for (i=0; i<invalidChars.length; i++) {
		   if (str.indexOf(invalidChars.charAt(i),0) > -1) {
			  return false;
		   }
		}
		for (i=0; i<str.length; i++) {
		   if (str.charCodeAt(i)>127) {
			  return false;
		   }
		}
		
		var atPos = str.indexOf('@',0);
		if (atPos == -1) {
		   return false;
		}
		if (atPos == 0) {
		   return false;
		}
		if (str.indexOf('@', atPos + 1) > - 1) {
		   return false;
		}
		if (str.indexOf('.', atPos) == -1) {
		   return false;
		}
		if (str.indexOf('@.',0) != -1) {
		   return false;
		}
		if (str.indexOf('.@',0) != -1){
		   return false;
		}
		if (str.indexOf('..',0) != -1) {
		   return false;
		}
		var suffix = str.substring(str.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 checkrequired(which) {
	var pass=true;
	var badword=false;
	var passrequired=true;
	var passformat=true;
	var msg = "";
	var msgformat = "";
	var detected ="";
	
	if (document.images) 
	var x = which.elements;
    for (var i=0;i<x.length;i++)
	//for (i=0;i<which.length;i++) 
		{
		
			var tempobj=which.elements[i];
			//alert (tempobj.className);
			if (tempobj.className!="FS")
			{
				
			if (tempobj.type=="text"||tempobj.type=="textarea"||tempobj.type=="password")
			{
				if (tempobj.value!='')
				{
				document.getElementById(("Label" +tempobj.name)).style.borderBottom ="none"
				str=tempobj.value;
				tempobj.value = Del(str);
				for(var ij=0;ij<bad.length;ij++) 
				{
					var strWord = str.toLowerCase()
					if(strWord.indexOf(bad[ij])!=-1) {
						detected += " " + bad[ij];
						badword=true;
						pass=false;
						passrequired=false;
						document.getElementById(tempobj.id).style.background="#FFECEC"
						str = ("Label" + tempobj.name);
						document.getElementById(str).style.borderBottom ="1px dashed red"
						//break;
					}
				}
					if(tempobj.name.toLowerCase().indexOf('email')!=-1) {
						if (echeck(str)==false){
						msgformat += "\t - BAD EMAIL\n";
						pass=false;
						passformat=false;
						passrequired=false;
						document.getElementById(tempobj.id).style.background="#FFECEC"
						str = ("Label" + tempobj.name);
						document.getElementById(str).style.borderBottom ="1px dashed red"
						//break;
						}
					}
					if(tempobj.name.toLowerCase().indexOf('date')!=-1) {
						if (checkdate(str)==false){
						msgformat += "\t - BAD DATE\n";
						pass=false;
						passformat=false;
						passrequired=false;
						document.getElementById(tempobj.id).style.background="#FFECEC"
						str = ("Label" + tempobj.name);
						document.getElementById(str).style.borderBottom ="1px dashed red"
						//break;
						}
					}
					if(tempobj.name.toLowerCase().indexOf('zip')!=-1) {
						if (validateZIP(str)==false){
						msgformat += "\t - BAD ZIP\n";
						pass=false;
						passformat=false;
						passrequired=false;
						document.getElementById(tempobj.id).style.background="#FFECEC"
						str = ("Label" + tempobj.name);
						document.getElementById(str).style.borderBottom ="1px dashed red"
						//break;
						}
					}
					
				}
			}
			str=tempobj.className.toLowerCase();
			if (str.indexOf('required') != -1) 
				{
					
					if (((tempobj.type=="text"||tempobj.type=="textarea"||tempobj.type=="password")&&
						tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
						tempobj.value=='')) 
					{
						pass=false;
						passrequired=false;
						msg += "\t - " + tempobj.title + "\n";
						document.getElementById(tempobj.id).style.background="#FFECEC"
						str = ("Label" + tempobj.name);
						//document.getElementById("LabelFirstName").style.borderBottom ="1px dashed red"
						document.getElementById(str).style.borderBottom ="1px dashed red"
						//break;
			        }
			    }
			}
	   }

	if (!pass) {
		if (badword==true)
			{
			msg += "\n********************************\nHey! We do not allow words like\n'"+detected + "'\n at our site.\n********************************\n";
			}
		if (passformat==false)
			{
			msg += "\n\nWRONG FORMAT\n"+msgformat + "\n";
			}
		if (passrequired==false)
			{
			alert("ERRORS:\n\n"+msg);
			}	
		return false;
	}
		else
		return true;
}
