// JavaScript Document

function login(){

	if(document.frmRegister.username.value==""){
		alert("Please enter your First Name")
		return false
	}
	
}

var lbl_required_field_is_empty = "The required field '~~field~~' is empty!";

var requiredFields = new Array();

requiredFields[0] = new Array("title","Title",false);
requiredFields[1] = new Array("firstname","First Name",false);
requiredFields[2] = new Array("lastname","Last Name",false);
requiredFields[3] = new Array("b_address","Address",false);
requiredFields[4] = new Array("b_city","City",false);
requiredFields[5] = new Array("b_state","State",true);
requiredFields[6] = new Array("b_country","Country",false);
requiredFields[7] = new Array("b_zipcode","Zip/Postal code",false);
requiredFields[8] = new Array("phone","Phone",false);
requiredFields[9] = new Array("email","E-Mail",false);
 
requiredFields[10] = new Array("uname","Username",false);
requiredFields[11] = new Array("passwd1","Password",false);
requiredFields[12] = new Array("passwd2","Confirm Password",false);
	
function checkRequired(id) {
	var errors = new Array();
	var x, true_id, type;
	var cnt = 0;
	var id_element = -1;

	if(!requiredFields)
		return true;
	if(requiredFields.length == 0)
		return true;

	if(id) {
		for(x = 0; x < requiredFields.length; x++)
			if(requiredFields[x][0] == id) {
				id_element = x;
				break;
			}
	}

	for(x = 0; x < requiredFields.length; x++) {
		if(x != id_element && id_element != -1)
			continue;
		if(requiredFields[x].length > 2)
			true_id = ((requiredFields[x][2] && document.getElementById("_"+requiredFields[x][0]))?"_":"")+requiredFields[x][0];
		else
			true_id = ((document.getElementById("_"+requiredFields[x][0]))?"_":"")+requiredFields[x][0];
		if(document.getElementById(true_id)) {
			type = document.getElementById(true_id).type;
			if(document.getElementById(true_id).value == '' && (type == 'text' || type == 'password' || type == 'textarea'))
				errors[cnt++] = new Array(requiredFields[x][1],true_id);
		}
	}

	if(errors.length == 0)
		return true;

	if(lbl_required_field_is_empty != '')
		alert(lbl_required_field_is_empty.replace(/~~field~~/gi, errors[0][0]));
	else
		alert(errors[0][0]);

	if(!document.getElementById(errors[0][1]).disabled && document.getElementById(errors[0][1]).type != 'hidden')
		document.getElementById(errors[0][1]).focus();
	
	return false;
}

function check_agree()
{
	if(!document.registerform.chkAgree.checked)
	{
		alert("Please agree to the terms!")
		return false;
	}
	
	return true;
}

var is_run = false;
function check_registerform_fields() {
	if(is_run)
		return false;
	is_run = true;
	if (checkEmailAddress(document.registerform.email) && checkRequired('') && check_agree()) {
		document.registerform.submit();
		return true;
	}
	is_run = false;
	return false;
}


function checkEmailAddress(field, empty_err) {

var domains = new Array();

domains[0] = 'yahoo.com';
domains[1] = 'hotmail.com';
domains[2] = 'gmail.com';
domains[3] = '7metasearch.com';
domains[4] = 'aaemail.com';
domains[5] = 'abts.ne';
domains[6] = 'acoolemail.com';
domains[7] = 'address.com';
domains[8] = 'afreeinternet.com';
domains[9] = 'altavista.com';
domains[10] = 'angelfire.com';
//var domains_count=11;

var err = false;
var blocked_email = false;
var res, x;
	if(!field)
		return true;

	if(field.value.length == 0) {
		if(empty_err != 'Y')
			return true;
		else
			err = true;
	}

	var arrEmail = field.value.split('@');

	if(arrEmail.length != 2 || arrEmail[0].length < 1)
		err = true;
	if(!err) {
	for(x=0; x<domains.length; x++){
	if (arrEmail[1] == domains[x]){
		 err = true; 
		 blocked_email = true;
			}
	}
		if(arrEmail[0].length > 2)
			res = arrEmail[0].search(/^[-\w][-\.\w]+[-\w]$/gi);
		else
			res = arrEmail[0].search(/^[-\w]+$/gi);
		if(res == -1)
			err = true;
	}
	if(!err) {
		var arr2Email = arrEmail[1].split('.');
		if(arr2Email.length < 2)
			err = true;
	}
	if(!err) {
		var domenTail = arr2Email[arr2Email.length-1];
		var _arr2Email = new Array();
		for(x = 0; x < arr2Email.length-1; x++)
			_arr2Email[x] = arr2Email[x];
		arr2Email = _arr2Email;
		var domen = arr2Email.join('.');
		res = domen.search(/^[-!#\$%&*+\\\/=?\.\w^`{|}~]+$/gi);
		if(res == -1)
			err = true;
		res = domenTail.search(/^[a-zA-Z]+$/gi);
		if(res == -1 || domenTail.length < 2 || domenTail.length > 6)
			err = true;
	}
//	/^([-\w][-\.\w]*)?[-\w]@([-!#\$%&*+\\\/=?\w^`{|}~]+\.)+[a-zA-Z]{2,6}$/gi

	if (err) {
		if (blocked_email)
		alert("We do not accept free email accounts (Yahoo, Hotmail, etc...) due to high fraud rate from such accounts. Please use your Internet Service Provider's email address.");
		else
		alert("E-mail address is invalid! Please correct");
		field.focus();
		field.select();
	}
	return !err;
}

var us_zip_code = 'Ensure that you have 5 digits in your zip code';
var ca_zip_code = 'Ensure that you have 6 or 7 characters in your postal code';

function check_zip_code_field(cnt, zip){
var alert_str;
	if(!cnt || !zip)
		return true;
	alert_str = '';
	if (cnt.options[cnt.selectedIndex].value=="US") {
		if (zip.value.length!=5 && zip.value!="")
			alert_str = us_zip_code;
	} else if (cnt.value=="CA") {
		if (zip.value.length!=6 && zip.value.length!=7 && zip.value!="")
			alert_str = ca_zip_code;
	}

	if(alert_str.length > 0) {
		alert(alert_str);
		zip.focus();
		return false;
	} else 
		return true
}

function check_zip_code(){
	return check_zip_code_field(document.forms["registerform"].b_country, document.forms["registerform"].b_zipcode) && check_zip_code_field(document.forms["registerform"].s_country, document.forms["registerform"].s_zipcode); 
}