var reg_number = /^[0-9]+$/;
var reg_telephone = /^[0-9]+\s*-?[0-9]+$/;// \s代表空字符:空格、换行等
//var reg_email = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;  //w代表:a-z A-Z 0-9 _
var reg_email = /^.+@.+\..+$/;
var reg_password = /^[A-Za-z0-9]{6,20}$/;

function show_state(countryid,selected_value){
  delete_state();
  var i;
  var option_obj;
  var state_select_obj = window.document.getElementById("state_select");
  
  if(state_array[countryid] == undefined){
    document.getElementById("state_select").value="";
    document.getElementById("state_select").style.display="none";	
	document.getElementById("state_text").style.display="block";  
  }else{   

	document.getElementById("state_text").value="";
	document.getElementById("state_select").style.display="block";
	document.getElementById("state_text").style.display="none";  
	

	for(i in state_array[countryid]){
      option_obj = new Option(state_array[countryid][i],i);
      state_select_obj.options[state_select_obj.options.length] = option_obj;
	  if(selected_value == i) option_obj.selected=true;
    }
  } 
//  alert( "select:"+document.getElementById("state_select").value+"  "+"text:"+document.getElementById("state_text").value );
}

function delete_state(){    
	var state_select_obj = document.getElementById("state_select");
	while(state_select_obj.options.length>0){	
      state_select_obj.remove(0);
	}
}


function show_option(){
    var state_select_obj = document.getElementById("state");
    var name = state_select_obj.options[state_select_obj.selectedIndex].text;
    var value = state_select_obj.options[state_select_obj.selectedIndex].value;
//    alert(name + " = " + value+"--"+state_select_obj.options);
}


function country_state_init(countryid,stateid){
    var country_select_obj = document.getElementById("country");
	var option_length = country_select_obj.options.length;
    for(i=0;i<option_length;i++){	
     if(country_select_obj.options[i].value==countryid){
        country_select_obj.options[i].selected = true;
	  }
	}
	show_state(countryid,stateid);
}

function check_form_login(form_obj) {  

   if( !reg_email.test(form_obj.email.value) ){
	 alert("Please enter a valid email address in the format name@domain.com!");
	 form_obj.email.focus();
	 return false;
   }
   
   if(form_obj.password.value == ""){
     alert("Please enter your password!");
	 form_obj.password.focus();
	 return false;
   }
   if( !reg_password.test(form_obj.password.value) ){
     alert("Password is invalid!");
	 form_obj.password.focus();
	 return false;
   }
   return true;
}


function check_form_register(form_obj){	
  var reg_empty = /^\s*$/;
  
  if( reg_empty.test(form_obj.customer_firstname.value) ){
	alert("Please enter your first name!");
	return false;
  }
  if( reg_empty.test(form_obj.customer_lastname.value) ){
	alert("Please enter your last name!");
	return false;
  }  
  
  if(!reg_email.test(form_obj.email.value)){
    alert("Please enter a valid email address in the format name@domain.com!");
	form_obj.email.focus();
	return false;
  } 

  if(form_obj.customer_password.value==""){
    alert("Please enter the password!");
	form_obj.customer_password.focus();
	return false;
  }
  if(!reg_password.test(form_obj.customer_password.value)){
    alert("Password is invalid(6 characters minimum)!");
	form_obj.customer_password.focus();
	return false;
  }  
  if(form_obj.customer_password_confirm.value != form_obj.customer_password.value){
    alert("Your password entries did not match");
	form_obj.customer_password_confirm.focus();
	return false;
  }
	
  if(form_obj.password_answer.value != ""){
    if(form_obj.password_question.value == "0"){
	  alert("Please specify a security question!");
	  return false;
	}
  }
  if(form_obj.password_question.value != "0"){
    if( reg_empty.test(form_obj.password_answer.value) ){
      alert("Please enter your security answer");
	  return false;
	}
  }

  if( reg_empty.test(form_obj.address.value) ){
	alert("Please enter a valid Street Address!");
	return false;
  }
  if( reg_empty.test(form_obj.city.value) ){
	alert("Please enter a valid City!");
	return false;
  }
  if( reg_empty.test(form_obj.zip.value) ){
	alert("Pleaese enter a valid Zip/Postal Code!");
	return false;
  }

  if(form_obj.country.value==""){
	alert("Please specify a valid Country or Region!");
	return false;
  }  
 
  if( !reg_number.test(form_obj.tel_area_code.value) ){
	alert("Please enter a valid telephone number!");
	form_obj.tel_area_code.focus();
	return false;
  }

  if( !reg_telephone.test(form_obj.telephone.value) ){
	alert("Please enter a valid telephone number!");
	form_obj.telephone.focus();
	return false;
  }

  if( form_obj.currency.value=="" ){
    alert("Please specify currency type!");
	return false;
  }

  if( form_obj.introducer.value!="" && !reg_email.test(form_obj.introducer.value)){
    alert("Email of introducer is not valid !");
	form_obj.introducer.focus();
	return false;
  } 
  
  return true;	

}


function check_form_register_modify(form_obj){ 
  var reg_empty = /^\s*$/; 
  
  if( reg_empty.test(form_obj.customer_firstname.value) ){
	alert("Please enter your first name!");
	return false;
  }
  if( reg_empty.test(form_obj.customer_lastname.value) ){
	alert("Please enter your last name!");
	return false;
  }  
  
  if(!reg_email.test(form_obj.email.value)){
    alert("Please enter a valid email address in the format name@domain.com !");
	form_obj.email.focus();
	return false;
  }
  
  if( reg_empty.test(form_obj.address.value) ){
	alert("Please enter a valid Street Address!");
	return false;
  }
  if( reg_empty.test(form_obj.city.value) ){
	alert("Please enter a valid City!");
	return false;
  }
  if( reg_empty.test(form_obj.zip.value) ){
	alert("Pleaese enter a valid Zip/Postal Code!");
	return false;
  }

  if(form_obj.country.value==""){
	alert("Please specify a valid Country or Region!");
	return false;
  }

  if( !reg_number.test(form_obj.tel_area_code.value) ){
	alert("Telephone number is invalid.");
	form_obj.tel_area_code.focus();
	return false;
  }
 
  if( !reg_telephone.test(form_obj.telephone.value) ){
	alert("Telephone number is invalid.");
	form_obj.telephone.focus();
	return false;
  }

  if( form_obj.currency.value=="" ){
    alert("Please specify currency type.");
	return false;
  }

  return true;	
}


function check_form_change_password(form_obj){
 
  if( form_obj.old_password.value == "" ){
  	alert( "Please enter the old password." );
  	form_obj.old_password.focus();
  	return false; 
  }

 
  if( !reg_password.test(form_obj.new_password.value) ){
    alert("New password is invalid.");
	form_obj.new_password.focus();
	return false;
  }  
  if( form_obj.new_password_confirm.value !=  form_obj.new_password.value ){
    alert("New password entries did not match.");
	form_obj.new_password_confirm.focus();
	return false;
  }
 
  return true;	
}

function check_form_password_protection(form_obj){ 
  var reg_empty = /^\s*$/;
 	
  if(form_obj.password_question.value == "0"){
    alert("Please specify a security question.");
	return false;
  }

  if( reg_empty.test(form_obj.password_answer.value) ){
    alert("Please enter your security answer.");
	return false;
  }

  return true;
}

function check_form_find_password(form_obj){

  if( !reg_email.test(form_obj.email.value) ){
    alert("Please enter a valid email address in the format name@domain.com !");
	return false;
  }
  return true;
}

function check_form_find_password_send(form_obj){
  
  if( form_obj.password_answer.value == "" ){
    alert("Please enter your security answer.");
	return false;
  }
  return true;

}

function check_form_find_password_reset(form_obj){

  if( !reg_password.test(form_obj.new_password.value) ){
     alert("Password is invalid(6 characters minimum).");
	form_obj.new_password.focus();
	return false;
  }  
  if( form_obj.new_password_confirm.value !=  form_obj.new_password.value ){
    alert("Your new password entries did not match.");
	form_obj.new_password_confirm.focus();
	return false;
  }

  return true;
}

function checkpwd(){
	var pwd = document.getElementById("regpwd").value;
	var pwdrepeat = document.getElementById("regpwdrepeat").value;
	if (pwd.length<6){
		document.getElementById("pwd_info").innerHTML = "Password is invalid(6 characters minimum).";
		document.getElementById("pwd_info").style.displqy=""
	} else{
		document.getElementById("pwd_info").innerHTML = "";
		document.getElementById("pwd_info").style.display="none";
	}
	if(pwdrepeat){
		checkpwdrepeat();
	}
}
function checkpwdrepeat(){
	var pwd = document.getElementById("regpwd").value;
	var pwdrepeat = document.getElementById("regpwdrepeat").value;
	if (pwdrepeat==pwd){
		document.getElementById("pwdrepeat_info").innerHTML = "";
		document.getElementById("pwdrepeat_info").style.display="none";
	} else{
		document.getElementById("pwdrepeat_info").innerHTML = "Your password entries did not match.";
		document.getElementById("pwdrepeat_info").style.display="";
	}
}
function checkemail(){
	var email = document.getElementById("email_value").value;
	
	var myReg = /^[-a-zA-Z0-9_\.]+@([0-9A-Za-z][0-9A-Za-z-]+\.)+[A-Za-z]{2,5}$/; 
	if(myReg.test(email)){
		document.getElementById("error_text").innerHTML = "";
		document.getElementById("error_text").style.display="none";
	} else{
		document.getElementById("error_text").innerHTML = "Please enter a valid email address in the format name@domain.com!";
		document.getElementById("error_text").style.display="";
	}
}

function checkfirstname(){
	var fristname = document.getElementById("firstname").value;

	if (fristname==""){
		document.getElementById("fristname_error").innerHTML = "Please enter your first name!";
		document.getElementById("fristname_error").style.display="";
	} else{
		document.getElementById("fristname_error").innerHTML = "";
		document.getElementById("fristname_error").style.display="none";
	}
	
}

function checklastname(){

	var lastname = document.getElementById("lastname").value;
	if (lastname==""){
		document.getElementById("lastname_error").innerHTML = "Please enter your last name!";
		document.getElementById("lastname_error").style.display="";
	} else{
		document.getElementById("lastname_error").innerHTML = "";
		document.getElementById("lastname_error").style.display="none";
	}
	
}

function checkaddress(){

	var address = document.getElementById("address").value;
	if (address==""){
		document.getElementById("address_error").innerHTML = "Please enter your address!";
		document.getElementById("address_error").style.display="";
	} else{
		document.getElementById("address_error").innerHTML = "";
		document.getElementById("address_error").style.display="none";
	}
	
}

function checkcity(){

	var address = document.getElementById("city").value;
	if (address==""){
		document.getElementById("city_error").innerHTML = "Please enter your city!";
		document.getElementById("city_error").style.display="";
	} else{
		document.getElementById("city_error").innerHTML = "";
		document.getElementById("city_error").style.display="none";
	}
	
}


function checkzip(){

	var address = document.getElementById("zip").value;
	if (address==""){
		document.getElementById("zip_error").innerHTML = "Please enter your zip!";
		document.getElementById("zip_error").style.display="";
	} else{
		document.getElementById("zip_error").innerHTML = "";
		document.getElementById("zip_error").style.display="none";
	}
	
}
function checkselect(){

	var address = document.getElementById("currency").value;
	var country = document.getElementById("country").value;
	var tel_area_code = document.getElementById("tel_area_code").value;
	var telephone = document.getElementById("telephone").value;
	if (address==0){
		document.getElementById("currency_error").innerHTML = "Please specify currency type!";
		document.getElementById("currency_error").style.display="";
	} else{
		document.getElementById("currency_error").innerHTML = "";
		document.getElementById("currency_error").style.display="none";
	}
	
	if(country==0){
		document.getElementById("country_error").innerHTML = "Please specify a valid Country or Region!"
		document.getElementById("country_error").style.display="";
	} else{
		document.getElementById("country_error").innerHTML = "";
		document.getElementById("country_error").style.display="none";
	}
	if(tel_area_code==""||telephone==""){
		document.getElementById("tel_error").innerHTML = "Please enter your telephone number!"
		document.getElementById("tel_error").style.display="";
	} else{
		document.getElementById("tel_error").innerHTML = "";
		document.getElementById("tel_error").style.display="none";
	}
	
	
	
} 
