<!--
//********************************************************************
// 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);
	}
}


// Radio Button Validation
// copyright Stephen Chapman, 15th Nov 2004,14th Sep 2005
// you may copy this function but please keep the copyright notice with it
function valButton(btn) {
    var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) return btn[cnt].value;
    else return null;
}
                  

function checktheme()
{
	var template;
	
	with(window.document.theme)
    {
		ctemplate = template;
		
    }
	
	var temp = valButton(ctemplate);
	//alert(ctemplate);
	if (temp == null)
	{
		alert('Please choose template.');
		return false;
	}
	
   
}


function checkregister()
{
	var username, password, website, email, birthdate, country, charge, price, cardName, customerCardType, cardNumber, cardCVC, expDate_Month, expDate_Year, billingAddress, city, state, cardcountry, agree;
	
	with(window.document.register)
    {
		cusername = username;
		cpassword = password;
		cwebsite = website;
		cemail = email;
		cbirthdate = birthdate;
		ccountry = country;
		//cgender = gender;
		
		ccharge = charge;
		cprice = price;
		ccardName = cardName;
		ccustomerCardType = customerCardType;
		ccardNumber = cardNumber;
		ccardCVC = cardCVC;
		cexpDate_Month = expDate_Month;
		cexpDate_Year = expDate_Year;
		cbillingAddress = billingAddress;
		ccity = city;
		cstate = state;
		ccardcountry = cardcountry;
		
		//ctemplate = template;
		cagree = agree;
    }
	
	//var btn = valButton(cgender);
	var btn1 = valButton(ccharge);
	
	//var temp = valButton(ctemplate);
	
	
	
	if(trim(cusername.value) == '')
    {
        alert('Please enter username.');
        cusername.focus();
        return false;
    }
	if(trim(cpassword.value) == '')
    {
        alert('Please enter password.');
        cpassword.focus();
        return false;
    }
	if(trim(cwebsite.value) == '')
    {
        alert('Please enter Site title.');
        cwebsite.focus();
        return false;
    }
	if(trim(cemail.value) == '')
    {
        alert('Please enter Email.');
        cemail.focus();
        return false;
    }
	if(!isEmail(trim(cemail.value)))    {
        alert('Please enter valid email address');
        cemail.focus();
        return false;
    }
	if(trim(cbirthdate.value) == '')
    {
        alert('Please enter year of Birth.');
        cbirthdate.focus();
        return false;
    }
	if(trim(ccountry.value) == '')
    {
        alert('Please enter country.');
        ccountry.focus();
        return false;
    }
	/*if (btn == null)
	{
	alert('Please choose gender.');
	return false;
	}*/
	
	if (btn1 == null)
	{
		alert('Please choose chargeable radio button.');
		return false;
	}
	
	
	if(trim(cprice.value) == '')
    {
        alert('Please enter Price.');
        cprice.focus();
        return false;
    }
	
	if(trim(ccardName.value) == '')
    {
        alert('Please enter Name on Card.');
        ccardName.focus();
        return false;
    }
	if(trim(ccustomerCardType.value) == '')
    {
        alert('Please Select Card Type.');
        ccustomerCardType.focus();
        return false;
    }
	if(trim(ccardNumber.value) == '')
    {
        alert('Please enter Credit Card Number.');
        ccardNumber.focus();
        return false;
    }
	if(trim(ccardCVC.value) == '')
    {
        alert('Please enter CVC on Card.');
        ccardCVC.focus();
        return false;
    }
	if(trim(cexpDate_Month.value) == '')
    {
        alert('Please enter expiry month on Card.');
        cexpDate_Month.focus();
        return false;
    }
	
	if(trim(cexpDate_Year.value) == '')
    {
        alert('Please enter expiry year on Card.');
        cexpDate_Year.focus();
        return false;
    }
	
	if(trim(cbillingAddress.value) == '')
    {
        alert('Please enter billing address.');
        cbillingAddress.focus();
        return false;
    }
	if(trim(ccity.value) == '')
    {
        alert('Please enter city.');
        ccity.focus();
        return false;
    }
	
	if(trim(cstate.value) == '')
    {
        alert('Please enter state.');
        cstate.focus();
        return false;
    }
	
	if(trim(ccardcountry.value) == '')
    {
        alert('Please enter country.');
        ccardcountry.focus();
        return false;
    }
	
	
	
	/*if (temp == null)
	{
		alert('Please choose template.');
		return false;
	}*/
	if(!cagree.checked){
		alert("Please Read the Terms and Conditions and check the box below");
		cagree.focus();
		return false;
	}
    else
    {
		cusername.value = trim(cusername.value);
		return true;
    }
}

function contactcheck(theForm)
{
	var issue, name, email, phone, subject, mess;
	
	with(window.document.contact)
    {
		cissue = issue;
		cname = name;
		cemail = email;
		cphone = phone;
		csubject = subject;
		cmess = mess;
    }

	if(trim(cissue.value) == '')
    {
        alert('Please select Options');
        cissue.focus();
        return false;
    }
	if(trim(cname.value) == '')
    {
        alert('Please enter your name');
        cname.focus();
        return false;
    }
	if(trim(cemail.value) == '')
    {
        alert('Please enter email address');
        cemail.focus();
        return false;
    }
	if(!isEmail(trim(cemail.value)))    {
        alert('Please enter valid email address');
        cemail.focus();
        return false;
    }
	
	if(trim(csubject.value) == '')
    {
        alert('Please enter subject.');
        csubject.focus();
        return false;
    }
	
	if(trim(cmess.value) == '')
    {
        alert('Please enter message.');
        cmess.focus();
        return false;
    }
	else
    {
		cname.value = trim(cname.value);
		cemail.value = trim(cemail.value);
        return true;
    }
}

