// JavaScript Document

<!--
//********************************************************************
// VERSION	1.0
// CREATED	9/12/2005
// AUTHOR	Ashish Mohan(ashishmohan@textware.be)
// SUMMARY	This javascript function will validate the field of various forms
//********************************************************************


//Strip whitespace from the beginning and end of a string
//Input : a string

function trim(str)
{
    return str.replace(/^\s+|\s+$/g,'');
}

/*
Check if a string is in valid email format. 
Returns true if valid, false otherwise.
*/

function checkDomain(nname)
{
var arr = new Array(
'.com','.net','.org','.biz','.coop','.info','.museum','.name',
'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
'.wf','.ye','.yt','.yu','.za','.zm','.zw');

var mai = nname;
var val = true;

var dot = mai.lastIndexOf(".");
var dname = mai.substring(0,dot);
var ext = mai.substring(dot,mai.length);
//alert(ext);
	
if(dot>2 && dot<57)
{
	for(var i=0; i<arr.length; i++)
	{
	  if(ext == arr[i])
	  {
	 	val = true;
		break;
	  }	
	  else
	  {
	 	val = false;
	  }
	}
	if(val == false)
	{
	  	 // alert("Your domain extension "+ext+" is not correct");
		 return false;
	}
	else
	{
		for(var j=0; j<dname.length; j++)
		{
		  var dh = dname.charAt(j);
		  var hh = dh.charCodeAt(0);
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
		  {
			 if((j==0 || j==dname.length-1) && hh == 45)	
		  	 {
		 	  	 // alert("Domain name should not begin are end with '-'");
			      return false;
		 	 }
		  }
		else	{
		  	 // alert("Your domain name should not have special characters");
			 return false;
		  }
		}
	}
}
else
{
 // alert("Your Domain name is too short/long");
 return false;
}	

return true;
}


function isEmail(str)
{
	// Should not beging with a '.' or '@'
	if(str.charAt(0)=='@' || str.charAt(0) == '.')
	{	
		return false;
	}

    var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;
    return regex.test(str);
}

function isNumber(TheNumber) {
	var valid = 1
	var GoodChars = "-+0123456789"
	var i = 0
	if (TheNumber=="") {
		// Return false if number is empty
		valid = 0
	}
	for (i =0; i <= TheNumber.length -1; i++) {
		if (GoodChars.indexOf(TheNumber.charAt(i)) == -1) {
// Note: Remove the comments from the following line to see this
// for loop in action.
// alert(TheNumber.charAt(i) + " is no good.")
			valid = 0
		} // End if statement
	} // End for loop
	return valid
}	

function validateMultipleSelect(listObject) {

	// "listObject" is the object input array for the select 
	// list, referenced in the function call as "this.name", where
	// "name" is the name of the select list.
	// "numToSelect" is the number of items you allow to be selected.

	var j = 0;

	for (var i = 0; i < listObject.length; i++) {
		if (listObject.options[i].selected) {
			j++;
		}
	}
	
	if (j < 1)
	{
		return (false);
	} else {
		return (true);
	}
}




function checkcontactForm1(theForm)
{
	
//	var caption, email, address, city, zip, phone, contactme;
	var caption,adText,region,race,bodytype,age,height,weight,eyecolor,haircolor,education,profession,smoking,drinking,interest,state,street,city,zip,country,email,extra;

	with(window.document.name)
    {
		ccaption = caption;
		cadText = adText;
		cregion = region;
		crace = race;
		cbodytype = bodytype;
		cage = age;
		cheight = height;
		cweight = weight;
		ceyecolor = eyecolor;
		chaircolor = haircolor;
		ceducation = education;
		cprofession = profession;
		csmoking = smoking;
		cdrinking = drinking;
		cinterest = interest;
		cstate = state;
		cstreet = street;
		ccity = city;
		czip = zip;
		ccountry = country;
		cemail = email;
		cextra = extra;
		
		
	}

	if(trim(ccaption.value) == '')
    {
        alert('Please enter your Caption');
        ccaption.focus();
        return false;
    }
	
	if(trim(cadText.value) == '')
    {
        alert('Please enter some text');
        cadText.focus();
        return false;
    }
	/*if(!isEmail(trim(cemail.value)))    {
        alert('Please enter valid email address');
        cemail.focus();
        return false;
    }*/
	if(trim(cregion.value) == '')
    {
        alert('Please enter Region');
        cregion.focus();
        return false;
    }

	if(trim(crace.value) == '')
    {
        alert('Please enter Race/Ethnicity');
        crace.focus();
        return false;
    }	
	
	if(trim(cbodytype.value) == '')
    {
        alert('Please enter Bodytype');
        cbodytype.focus();
        return false;
    }
	
	if(trim(cage.value) == '')
    {
        alert('Please enter Age');
        cage.focus();
        return false;
    }
	
	if(!isNumber(trim(cage.value)))    {
        alert('Please enter valid Age');
        cage.focus();
        return false;
    }
	if(trim(cheight.value) == '') {
        alert('Please enter Height');
        cheight.focus();
        return false;
    }
	if(!isNumber(trim(cheight.value)))    {
        alert('Please enter valid Height');
        cheight.focus();
        return false;
    }
	
	if(trim(cweight.value) == '') {
        alert('Please enter Weight');
        cweight.focus();
        return false;
    }
	
	if(!isNumber(trim(cweight.value)))    {
        alert('Please enter valid Weight');
        cweight.focus();
        return false;
    }
	if(trim(ceyecolor.value) == '')
    {
        alert('Please enter Eyecolor');
        ceyecolor.focus();
        return false;
    }
	if(trim(chaircolor.value) == '')
    {
        alert('Please enter Haircolor');
        chaircolor.focus();
        return false;
    }
	if(trim(ceducation.value) == '')
    {
        alert('Please enter Education');
        ceducation.focus();
        return false;
    }
	if(trim(cprofession.value) == '')
    {
        alert('Please enter Profession');
        cprofession.focus();
        return false;
    }
	if(trim(csmoking.value) == '')
    {
        alert('Please enter Smoking or not');
        csmoking.focus();
        return false;
    }
	if(trim(cdrinking.value) == '')
    {
        alert('Please enter Drinking or not');
        cdrinking.focus();
        return false;
    }
	if(trim(cinterest.value) == '')
    {
        alert('Please enter Interest');
        cinterest.focus();
        return false;
    }
	if(trim(cstate.value) == '')
    {
        alert('Please enter State');
        cstate.focus();
        return false;
    }
	if(trim(cstreet.value) == '')
    {
        alert('Please enter Street address');
        cstreet.focus();
        return false;
    }
	if(trim(ccity.value) == '')
    {
        alert('Please enter city');
        ccity.focus();
        return false;
    }
	if(trim(czip.value) == '')
    {
        alert('Please enter Zip Code');
        czip.focus();
        return false;
    }
	
	if(!isNumber(trim(czip.value)))    {
        alert('Please enter valid Zip Code');
        czip.focus();
        return false;
    }
	
	if(trim(ccountry.value) == '')
    {
        alert('Please enter Country Name');
        ccountry.focus();
        return false;
    }
	if(trim(cemail.value) == '')
    {
        alert('Please enter Email-Address');
        cemail.focus();
        return false;
    }
	if(trim(cextra.value) == '')
    {
        alert('Please enter your Extras');
        cextra.focus();
        return false;
    }
    else
    {
		ccaption.value = trim(ccaption.value);
		cadText.value = trim(cadText.value);
		cregion.value = trim(cregion.value);
		crace.value = trim(crace.value);
		cbodytype.value = trim(cbodytype.value);
		cage.value = trim(cage.value);
		
        return true;
    }
}

