var urlPrefixPath = LOCAL_PATH;
function zipcode_validation(zipcode){
	var valid = "0123456789-";
	var hyphencount = 0;
	if (zipcode.length!=5 && zipcode.length!=10) {
		return false;
	}
	for (var i=0; i < zipcode.length; i++) {
		temp = "" + zipcode.substring(i, i+1);
		if (temp == "-") hyphencount++;
		if (valid.indexOf(temp) == "-1") {
			return false;
		}
		if ((hyphencount > 1) || ((zipcode.length == 10) && ""+zipcode.charAt(5) != "-")) {
			return false;
		}
	}
}

function login_validation()
{
	var fnameRegxp = /^([a-zA-Z ]+)$/;
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var telnoRegxp = /^\d{3}-\d{3}-\d{4}$/;

	var errmsg	=	""; 
	if(($("ec_firstName").value)==""){	
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{ $("err_ecfirstname").innerHTML=""; }

	if(($("ec_lastName").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else { $("err_eclastname").innerHTML=""; }

	if(($("ec_address").value)==""){
		errmsg+=$("err_ecaddress").innerHTML="Address is required";
	}else { $("err_ecaddress").innerHTML=""; }

	if(($("ec_city").value)==""){
		errmsg+=$("err_eccity").innerHTML = "City is required";
	}else{
		if(fnameRegxp.test($("ec_city").value) != true)
			errmsg += $("err_eccity").innerHTML = "Enter valid City";
		else
			errmsg += $("err_eccity").innerHTML = "";
	}
	if(($("ec_state").value) == ""){
		errmsg+=$("err_ecstate").innerHTML = "State is required";
	}else{
		if(fnameRegxp.test($("ec_state").value) != true)
			errmsg += $("err_ecstate").innerHTML = "Enter valid State";
		else
			errmsg += $("err_ecstate").innerHTML = "";
	}
	if(($("ec_zipcode").value)==""){
		errmsg += $("err_eczipcode").innerHTML = "Zip is required";
	}else{
		if(zipcode_validation($("ec_zipcode").value) == false)
			errmsg += $("err_eczipcode").innerHTML = "Enter valid Zip";
		else 
			errmsg += $("err_eczipcode").innerHTML = ""; 
	}
	if(($("ec_phoneNumber").value) == ""){
		errmsg += $("err_echomephone").innerHTML = "Phone Number is required";
	}else{
		if(telnoRegxp.test($("ec_phoneNumber").value) != true)
			errmsg += $("err_echomephone").innerHTML = "Enter valid Phone Number";
		else
			errmsg += $("err_echomephone").innerHTML = "";
	}
	if(($("ec_email").value) == ""){
		errmsg+=$("err_ecemail").innerHTML = "Email is required";
	}else{
		if(emailRegxp.test($("ec_email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML="";
	}
	if($("realtor_id").value == ""){
		if($("ec_area")){
			if(($("ec_area").selectedIndex) == ""){
				errmsg += $("err_realtorarea").innerHTML = "Please select Area";
			}
			else{
				$("err_realtorarea").innerHTML = "";
			}
		}
		if($("realtor_name")){
			if(($("realtor_name").value) == ""){
				errmsg += $("err_realtorname").innerHTML = "Realtor is Required";
			}else{
				errmsg += $("err_realtorname").innerHTML = "";
			}
		}
	}else{
		$("realtor_update").value = "yes";
	}
	if(errmsg){
		return false;
	}else{
		$("cansave").value = "yes";
		document.loginfrm.submit();
		//return true;
	}
}

function validate_searchrealtor(){
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var errmsg="";
	if(($("firstname").value)==""){
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{ $("err_ecfirstname").innerHTML=""; }
	if(($("lastname").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else{ $("err_eclastname").innerHTML=""; }
	if(($("company").value)==""){
		errmsg+=$("err_eccompany").innerHTML="Company is required";
	}else{ $("err_eccompany").innerHTML=""; }
	if(($("email").value)==""){
		errmsg+=$("err_ecemail").innerHTML="Email is required";
	}else{
		if(emailRegxp.test($("email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML="";
	}
	if(errmsg==""){
		$("ErrorMessage").innerHTML = "<div><img src='"+IMAGE_PATH+"loader/loader_square.gif'></div>";
		var url 	= urlPrefixPath+"EndUser/EU_function/search.php";
		var pars 	= "mid=sendmail&firstname="+$("firstname").value+"&lastname="+$("lastname").value+"&company="+$("company").value+"&email="+$("email").value;
		var success = function(t){sendinvitationComplete(t);}
		var failure = function(t){editFailed(t);}
		var myAjax 	= new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
		return false;
	}else{
		return false;
	}
}

function sendinvitationComplete(t){
	if(t.responseText == "exist"){
		$("ErrorMessage").innerHTML = "Email id already exist";
		return false;
	}else if(t.responseText == "exist_update"){
		$("ErrorMessage").innerHTML = "Already invited as a realtor";
		return false;
	}else{
		alert("Your Realtor information updated. Register yourself to activate your Realtor.");
		window.top.hidePopWin(false, t.responseText);
		return false;
	}
}

function editprofile_validation(){
	var fnameRegxp = /^([a-zA-Z ]+)$/;
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var telnoRegxp = /^\d{3}-\d{3}-\d{4}$/;
	var errmsg=""; 
	if(($("ec_firstName").value)==""){	
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{
		if(fnameRegxp.test($("ec_firstName").value) != true)
			errmsg += $("err_ecfirstname").innerHTML = "Enter valid First Name";
		else
			errmsg += $("err_ecfirstname").innerHTML = "";
	}
	if(($("ec_lastName").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else{
		if(fnameRegxp.test($("ec_lastName").value) != true)
			errmsg += $("err_eclastname").innerHTML = "Enter valid Last Name";
		else
			errmsg += $("err_eclastname").innerHTML = "";
	}
	if(($("ec_address").value)==""){
		errmsg+=$("err_ecaddress").innerHTML="";
	}else{ $("err_ecaddress").innerHTML=""; }
	if(($("ec_city").value)==""){
		errmsg+=$("err_eccity").innerHTML="";
	}else{
		if(fnameRegxp.test($("ec_city").value) != true)
			errmsg += $("err_eccity").innerHTML = "Enter valid City";
		else
			errmsg += $("err_eccity").innerHTML = "";
	}
	if(($("ec_state").value)==""){
		errmsg+=$("err_ecstate").innerHTML="";
	}else{
		if(fnameRegxp.test($("ec_state").value) != true)
			errmsg += $("err_ecstate").innerHTML = "Enter valid State";
		else
			errmsg += $("err_ecstate").innerHTML = "";
	}
	if(($("ec_zipcode").value)==""){
		errmsg+=$("err_eczipcode").innerHTML="";
	}else{ 
		if(zipcode_validation($("ec_zipcode").value) == false)
			errmsg+=$("err_eczipcode").innerHTML = "Enter valid Zip";
		else 
			errmsg+=$("err_eczipcode").innerHTML="";
	}
	if(($("ec_phoneNumber").value)==""){
		errmsg+=$("err_echomephone").innerHTML="";
	}else{
		if(telnoRegxp.test($("ec_phoneNumber").value) != true)
			errmsg += $("err_echomephone").innerHTML = "Enter valid Phone Number";
		else
			errmsg+=$("err_echomephone").innerHTML="";
	}
	if(($("ec_email").value)==""){
		errmsg+=$("err_ecemail").innerHTML="Email is required";
	}else{ 
		if(emailRegxp.test($("ec_email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML=""; }
	if(errmsg){
		return false;
	}else{
		$("cansave").value = "yes";
		document.loginfrm.submit();
		//return true;
	}
}

function check_userdetails(){
	var flagset = "";
	var fnameRegxp = /^([a-zA-Z., ]+)$/; 
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	if($("rc_firstname").value == ""){
		$("rc_firstname_error").innerHTML		=	"First Name is required";
		flagset = "1";
	}else{
		$("rc_firstname_error").innerHTML		=	"";
	}
	if($("rc_lastname").value == ""){
		flagset = "1";
		$("rc_lastname_error").innerHTML		=	"Last Name is required";
	}else{
		$("rc_lastname_error").innerHTML		=	"";
	}
	if($("rc_salutation").value != ""){ 
		if(fnameRegxp.test($("rc_salutation").value) != true){
			flagset = "1";
			$("rc_salutation_error").innerHTML = "Enter valid Salutation name";
		}else
			$("rc_salutation_error").innerHTML	= '';
	}else{
		$("rc_salutation_error").innerHTML	= '';
	}
	if($("rc_email").value == ""){
		flagset = "1";
		$("rc_email_error").innerHTML			=	"Enter the E-Mail address";
	}else{
		if(emailRegxp.test($("rc_email").value) != true){
			flagset = "1";
			$("rc_email_error").innerHTML = "Enter valid E-mail address";
		}else
			$("rc_email_error").innerHTML	= '';
	}
	if(flagset == "1"){
		return false;
	}
	return true;
}

function set_salutationfield(){
$("rc_salutation").value = "";	
var firstname = $("rc_firstname").value;	
var lastname = $("rc_lastname").value;	
	if(firstname != "")
		$("rc_salutation").value = firstname;
}

function validate_file(){
	if($("import_file").value == ""){
		$("import_file_error").innerHTML = "Select a file";
		return false;
	}else{
		var filename = $("import_file").value.split(".");
		if(filename[1] != "csv"){
			$("import_file_error").innerHTML = "Select a valid csv file";
			return false;
		}
	}
	return true;
}

function term_cancel() {
$("term1").checked = false;
$("term2").checked = false;
return false;
}

function substerm_cancel() {
$("term1").checked = false;
return false;
}

function term_validation() {
	var errmsg	=	""; 
	$("termerr").innerHTML = "";
	if ($("term1").checked == false) {
		errmsg += "Please agree to the terms and conditions. <br>";
	}
	if ($("term2").checked == false) {
		errmsg += "Please check you are a licensed Realtor. <br>";
	}
	if(errmsg) {
		$("termerr").innerHTML = "<font color=red>" + errmsg + "</font>";
		return false;
	}else {
		$("cansave").value = "yes";
		document.frm_realtor.submit();
		return true;
	}
}

function substerm_validation() {
	var errmsg	=	""; 
	$("termerr").innerHTML = "";
	if ($("term1").checked == false) {
		errmsg += "Please agree to the terms and conditions. <br>";
	}
	if(errmsg) {
		$("termerr").innerHTML = "<font color=red>" + errmsg + "</font>";
		return false;
	}else {
		$("cansave").value = "yes";
		document.subscriberfrm.submit();
	}
}

function subs_validation() {
	$("err_realtorarea").innerHTML = "";
	$("err_realtorname").innerHTML = "";
	
	if ($("ec_area").value=="") {
		$("err_realtorarea").innerHTML = "Choose your Market Area";
		return false;
	}
	if ($("realtor_name").value==0) {
		$("err_realtorname").innerHTML = "Choose your Realtor";
		return false;
	}
	return true;
}

function subs_validation1() {
	var err_msg = "";
	$("err_realtorarea").innerHTML = "";
	if ($("ec_area").value=="") {
		$("err_realtorarea").innerHTML = "Choose your Market Area";
		err_msg = "Choose your Market Area";
	}
	if (err_msg) {
	} else {
		$("invsave").value = "yes";
		document.subscriberfrm.submit();
	}
}

function subs_validation2() {
	var err_msg = "";
	$("err_realtorarea").innerHTML = "";
	if ($("ec_area").value=="") {
		$("err_realtorarea").innerHTML = "Choose your Market Area";
		err_msg = "Choose your Market Area";
	}
	if (err_msg) {
	} else {
		$("selfsave").value = "yes";
		document.subscriberfrm.submit();
	}
}

function subs_regvalidation() {
	var fnameRegxp = /^([a-zA-Z ]+)$/;
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var telnoRegxp = /^\d{3}-\d{3}-\d{4}$/;
	var errmsg	=	"";
	if(($("ec_firstName").value)==""){	
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{
		if(fnameRegxp.test($("ec_firstName").value) != true)
			errmsg += $("err_ecfirstname").innerHTML = "Enter valid First Name";
		else
			errmsg += $("err_ecfirstname").innerHTML = "";
	}
	if(($("ec_lastName").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else{
		if(fnameRegxp.test($("ec_lastName").value) != true)
			errmsg += $("err_eclastname").innerHTML = "Enter valid Last Name";
		else
			errmsg += $("err_eclastname").innerHTML = "";
	}
	if(($("ec_address").value)==""){
		errmsg+=$("err_ecaddress").innerHTML="";
	}else{ $("err_ecaddress").innerHTML=""; }
	if(($("ec_city").value)==""){
		errmsg+=$("err_eccity").innerHTML = "";
	}else{
		if(fnameRegxp.test($("ec_city").value) != true)
			errmsg += $("err_eccity").innerHTML = "Enter valid City";
		else
			errmsg += $("err_eccity").innerHTML = "";
	}
	if(($("ec_state").value) == ""){
		errmsg+=$("err_ecstate").innerHTML = "";
	}else{
		if(fnameRegxp.test($("ec_state").value) != true)
			errmsg += $("err_ecstate").innerHTML = "Enter valid State";
		else
			errmsg += $("err_ecstate").innerHTML = "";
	}
	if(($("ec_zipcode").value)==""){
		errmsg += $("err_eczipcode").innerHTML = "";
	}else{
		if(zipcode_validation($("ec_zipcode").value) == false)
			errmsg += $("err_eczipcode").innerHTML = "Enter valid Zip";
		else 
			errmsg += $("err_eczipcode").innerHTML = ""; 
	}
	if(($("ec_phoneNumber").value) == ""){
		errmsg += $("err_echomephone").innerHTML = "";
	}else{
		if(telnoRegxp.test($("ec_phoneNumber").value) != true)
			errmsg += $("err_echomephone").innerHTML = "Enter valid Phone Number";
		else
			errmsg += $("err_echomephone").innerHTML = "";
	}
	if(($("ec_email").value) == ""){
		errmsg+=$("err_ecemail").innerHTML = "Email is required";
	}else{
		if(emailRegxp.test($("ec_email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML=""; 
	}
	if(errmsg){
		return false;
	}else{
		$("cansave").value = "yes";
		document.subscriberfrm.submit();
		//return true;
	}
}

function paidsubs_regvalidation() {
	var fnameRegxp = /^([a-zA-Z ]+)$/;
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var telnoRegxp = /^\d{3}-\d{3}-\d{4}$/;
	var errmsg	=	"";
	if(($("ec_firstName").value)==""){	
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{
		if(fnameRegxp.test($("ec_firstName").value) != true)
			errmsg += $("err_ecfirstname").innerHTML = "Enter valid First Name";
		else
			errmsg += $("err_ecfirstname").innerHTML = "";	
	}
	if(($("ec_lastName").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else{
		if(fnameRegxp.test($("ec_lastName").value) != true)
			errmsg += $("err_eclastname").innerHTML = "Enter valid Last Name";
		else
			errmsg += $("err_eclastname").innerHTML = "";
	}
	if(($("ec_address").value)==""){
		errmsg+=$("err_ecaddress").innerHTML="Address is required";
	}
	else { $("err_ecaddress").innerHTML=""; }
	if(($("ec_city").value)==""){
		errmsg+=$("err_eccity").innerHTML = "City is required";
	}else{
		if(fnameRegxp.test($("ec_city").value) != true)
			errmsg += $("err_eccity").innerHTML = "Enter valid City";
		else
			errmsg += $("err_eccity").innerHTML = "";
	}
	if(($("ec_state").value) == ""){
		errmsg+=$("err_ecstate").innerHTML = "State is required";
	}else{
		if(fnameRegxp.test($("ec_state").value) != true)
			errmsg += $("err_ecstate").innerHTML = "Enter valid State";
		else
			errmsg += $("err_ecstate").innerHTML = "";
	}
	if(($("ec_zipcode").value)==""){
		errmsg += $("err_eczipcode").innerHTML = "Zip is required";
	}else{
		if(zipcode_validation($("ec_zipcode").value) == false)
			errmsg += $("err_eczipcode").innerHTML = "Enter valid Zip";
		else 
			errmsg += $("err_eczipcode").innerHTML = ""; 
	}
	if(($("ec_phoneNumber").value) == ""){
		errmsg += $("err_echomephone").innerHTML = "Phone number is required";
	}else{
		if(telnoRegxp.test($("ec_phoneNumber").value) != true)
			errmsg += $("err_echomephone").innerHTML = "Enter valid Phone Number";
		else
			errmsg += $("err_echomephone").innerHTML = "";
	}
	if(($("ec_email").value) == ""){
		errmsg+=$("err_ecemail").innerHTML = "Email is required";
	}else{
		if(emailRegxp.test($("ec_email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML=""; 
	}
	if(errmsg){
		return false;
	}else{
		$("cansave").value = "yes";
		document.subscriberfrm.submit();
		//return true;
	}
}

function inviterc_validation() {
	var fnameRegxp = /^([a-zA-Z ]+)$/;
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var telnoRegxp = /^\d{3}-\d{3}-\d{4}$/;
	var errmsg	=	""; 
	if(($("ec_firstName").value)==""){	
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{ 
		if(fnameRegxp.test($("ec_firstName").value) != true)
			errmsg += $("err_ecfirstname").innerHTML = "Enter valid First Name";
		else
			errmsg += $("err_ecfirstname").innerHTML = "";
	}
	if(($("ec_lastName").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else{
		if(fnameRegxp.test($("ec_lastName").value) != true)
			errmsg += $("err_eclastname").innerHTML = "Enter valid Last Name";
		else
			errmsg += $("err_eclastname").innerHTML = "";
	}
	if(($("ec_address").value)==""){
		errmsg+=$("err_ecaddress").innerHTML="";
	}else{ $("err_ecaddress").innerHTML=""; }
	if(($("ec_city").value)==""){
		errmsg+=$("err_eccity").innerHTML = "";
	}else{
		if(fnameRegxp.test($("ec_city").value) != true)
			errmsg += $("err_eccity").innerHTML = "Enter valid City";
		else
			errmsg += $("err_eccity").innerHTML = "";
	}
	if(($("ec_state").value) == ""){
		errmsg+=$("err_ecstate").innerHTML = "";
	}else{
		if(fnameRegxp.test($("ec_state").value) != true)
			errmsg += $("err_ecstate").innerHTML = "Enter valid State";
		else
			errmsg += $("err_ecstate").innerHTML = "";
	}
	if(($("ec_zipcode").value)==""){
		errmsg += $("err_eczipcode").innerHTML = "";
	}else{
		if(zipcode_validation($("ec_zipcode").value) == false)
			errmsg += $("err_eczipcode").innerHTML = "Enter valid Zip";
		else 
			errmsg += $("err_eczipcode").innerHTML = ""; 
	}
	if(($("ec_phoneNumber").value) == ""){
		errmsg += $("err_echomephone").innerHTML = "";
	}else{
		if(telnoRegxp.test($("ec_phoneNumber").value) != true)
			errmsg += $("err_echomephone").innerHTML = "Enter valid Phone Number";
		else
			errmsg += $("err_echomephone").innerHTML = "";
	}
	if(($("ec_email").value) == ""){
		errmsg+=$("err_ecemail").innerHTML = "Email is required";
	}else{
		if(emailRegxp.test($("ec_email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML="";
	}
	if(($("rc_email").value) == ""){
		errmsg+=$("err_rcemail").innerHTML = "Realtor Email is required";
	}else{
		if(emailRegxp.test($("rc_email").value) != true)
			errmsg += $("err_rcemail").innerHTML = "Enter valid Realtor E-mail address";
		else
			errmsg += $("err_rcemail").innerHTML="";
	}
	if(errmsg){
		return false;
	}else{
		$("cansave").value = "yes";
		document.inviterealtorfrm.submit();
		//return true;
	}
}

function subsame(){
	var address	=	$("hid_ec_address").value;
	var state	=	$("hid_ec_state").value;
	var zipcode	=	$("hid_ec_zipCode").value;
	var city	=	$("hid_ec_city").value;
	$("ec_address").value	=	address;
	$("ec_city").value	=	city;
	$("ec_state").value	=	state;
	$("ec_zip").value	=	zipcode;
}

function subde_select(){
	$("ec_address").value	=	"";
	$("ec_city").value	=	"";
	$("ec_state").value	=	"";
	$("ec_zip").value		=	"";
}

var ccErrorNo = 0;
var ccErrors = new Array ()
ccErrors [0] = "Unknown card type";
ccErrors [1] = "No card number provided";
ccErrors [2] = "Credit card number is in invalid format";
ccErrors [3] = "Credit card number is invalid";
ccErrors [4] = "Credit card number has an inappropriate number of digits";
function CreditcardValidation1 (cardnumber, cardname) {
  // Array to hold the permitted card characteristics
  var cards = new Array();
  // Define the cards we support. You may add addtional card types.
  //  Name:      As in the selection box of the form - must be same as user's
  //  Length:    List of possible valid lengths of the card number for the card
  //  prefixes:  List of possible prefixes for the card
  //  checkdigit Boolean to say whether there is a check digit
  cards [0] = {name: "visa", 
               length: "13,16", 
               prefixes: "4",
               checkdigit: true};
  cards [1] = {name: "master_card", 
               length: "16", 
               prefixes: "51,52,53,54,55",
               checkdigit: true};
  cards [2] = {name: "DinersClub", 
               length: "14,16", 
               prefixes: "300,301,302,303,304,305,36,38,55",
               checkdigit: true};
  cards [3] = {name: "CarteBlanche", 
               length: "14", 
               prefixes: "300,301,302,303,304,305,36,38",
               checkdigit: true};
  cards [4] = {name: "AmEx", 
               length: "15", 
               prefixes: "34,37",
               checkdigit: true};
  cards [5] = {name: "Discover", 
               length: "16", 
               prefixes: "6011,650",
               checkdigit: true};
  cards [6] = {name: "JCB", 
               length: "15,16", 
               prefixes: "3,1800,2131",
               checkdigit: true};
  cards [7] = {name: "enRoute", 
               length: "15", 
               prefixes: "2014,2149",
               checkdigit: true};
  cards [8] = {name: "Solo", 
               length: "16,18,19", 
               prefixes: "6334, 6767",
               checkdigit: true};
  cards [9] = {name: "Switch", 
               length: "16,18,19", 
               prefixes: "4903,4905,4911,4936,564182,633110,6333,6759",
               checkdigit: true};
  cards [10] = {name: "Maestro", 
               length: "16,18", 
               prefixes: "5020,6",
               checkdigit: true};
  cards [11] = {name: "VisaElectron", 
               length: "16", 
               prefixes: "417500,4917,4913",
               checkdigit: true};
  // Establish card type
  var cardType = -1;
  for (var i=0; i<cards.length; i++) {
    // See if it is this card (ignoring the case of the string)
    if (cardname.toLowerCase () == cards[i].name.toLowerCase()) {
      cardType = i;
      break;
    }
  }
  // If card type not found, report an error
  if (cardType == -1) {
     ccErrorNo = 0;
     return false; 
  }
  // Ensure that the user has provided a credit card number
  if (cardnumber.length == 0)  {
     ccErrorNo = 1;
     return false; 
  }
  // Now remove any spaces from the credit card number
  cardnumber = cardnumber.replace (/\s/g, "");
  // Check that the number is numeric
  var cardNo = cardnumber
  var cardexp = /^[0-9]{13,19}$/;
  if (!cardexp.exec(cardNo))  {
     ccErrorNo = 2;
     return false; 
  }
  // Now check the modulus 10 check digit - if required
  if (cards[cardType].checkdigit) {
    var checksum = 0;                                  // running checksum total
    var mychar = "";                                   // next char to process
    var j = 1;                                         // takes value of 1 or 2
    // Process each digit one by one starting at the right
    var calc;
    for (i = cardNo.length - 1; i >= 0; i--) {
      // Extract the next digit and multiply by 1 or 2 on alternative digits.
      calc = Number(cardNo.charAt(i)) * j;
      // If the result is in two digits add 1 to the checksum total
      if (calc > 9) {
        checksum = checksum + 1;
        calc = calc - 10;
      }
      // Add the units element to the checksum total
      checksum = checksum + calc;
      // Switch the value of j
      if (j ==1) {j = 2} else {j = 1};
    } 
    // All done - if checksum is divisible by 10, it is a valid modulus 10.
    // If not, report an error.
    if (checksum % 10 != 0)  {
     ccErrorNo = 3;
     return false; 
    }
  }  
  // The following are the card-specific checks we undertake.
  var LengthValid = false;
  var PrefixValid = false; 
  var undefined; 
  // We use these for holding the valid lengths and prefixes of a card type
  var prefix = new Array ();
  var lengths = new Array ();
  // Load an array with the valid prefixes for this card
  prefix = cards[cardType].prefixes.split(",");
  // Now see if any of them match what we have in the card number
  for (i=0; i<prefix.length; i++) {
    var exp = new RegExp ("^" + prefix[i]);
    if (exp.test (cardNo)) PrefixValid = true;
  }
  // If it isn't a valid prefix there's no point at looking at the length
  if (!PrefixValid) {
     ccErrorNo = 3;
     return false; 
  }
  // See if the length is valid for this card
  lengths = cards[cardType].length.split(",");
  for (j=0; j<lengths.length; j++) {
    if (cardNo.length == lengths[j]) LengthValid = true;
  }
  // See if all is OK by seeing if the length was valid. We only check the 
  // length if all else was hunky dory.
  if (!LengthValid) {
     ccErrorNo = 4;
     return false; 
  };
  // The credit card is in the required format.
  return true;
}

function isExpiryDate1(month, year) {
	if (!isNum1(year+""))
	return false;
	if (!isNum1(month+""))
	return false;
	today = new Date();
	expiry = new Date(year, month);
	if (today.getTime() > expiry.getTime())
	return false;
	else
	return true;
}

function isNum1(argvalue) {
	argvalue = argvalue.toString();
	if (argvalue.length == 0)
	return false;
	for (var n = 0; n < argvalue.length; n++)
	if (argvalue.substring(n, n+1) < "0" || argvalue.substring(n, n+1) > "9")
	return false;
	return true;
}

function enduser_billing(){
	var errmsg="";
	var fnameRegxp = /^([a-zA-Z0-9]+)$/;
	var ec_firstName		=	$("ec_firstName").value;
	var ec_lastName			=	$("ec_lastName").value;
	var subcribetype_length	=	subscriberfrm.subcribetype.length;
	for(var i=0; i<subcribetype_length; i++){
		if(subscriberfrm.subcribetype[i].checked){
			var subcribe_type=subscriberfrm.subcribetype[i].value;
		}
	}
	var cardtype	=	$("cardtype").value;
	var ec_cardno	=	$("ec_cardno").value;
	var ec_cvvno	=	$("ec_cvvno").value;
	var month_select=	$("month_select").value;
	var year_select	=	$("year_select").value;
	var ec_address	=	$("ec_address").value;
	var ec_city	=	$("ec_city").value;
	var ec_state	=	$("ec_state").value;
	var ec_zip		=	$("ec_zip").value;
	if(ec_firstName==""){
		errmsg		+=	$("err_fn").innerHTML="First Name is required";
	}else{
		errmsg		+=	$("err_fn").innerHTML="";
	}
	if(ec_lastName==""){
		errmsg		+=	$("err_ln").innerHTML="Last Name is required";
	}else{
		errmsg		+=	$("err_ln").innerHTML="";
	}
	if(cardtype==""){
		errmsg		+=	$("err_cardtype").innerHTML="Card Type is required";
	}else{
		errmsg		+=	$("err_cardtype").innerHTML="";
	}
	if(ec_cardno==""){
		errmsg		+=	$("err_cardno").innerHTML	=	"Card No is required";
	}else{
		if(cardtype != ""){
			if(CreditcardValidation1(ec_cardno, cardtype)==false){
				errmsg		+=	$("err_cardno").innerHTML	=	"Enter valid Credit card number";
			}else
				errmsg		+=	$("err_cardno").innerHTML	=	"";
		}
	}
	if(month_select==""){
		errmsg		+=	$("err_month").innerHTML="Month is required";
	}else{
		errmsg		+=	$("err_month").innerHTML="";
	}
	if(year_select==""){
		errmsg		+=	$("err_year").innerHTML="Year is required";
	}else{
		errmsg		+=	$("err_year").innerHTML="";
	}
	if(month_select != "" && year_select != ""){
		//alert(isExpiryDate1(month_select, year_select));
		if(isExpiryDate1(month_select, year_select) == false)
			errmsg		+=	$("err_year").innerHTML="Your card already expired";
		else errmsg		+=	$("err_year").innerHTML= "";
	}
	if(ec_cvvno==""){
		errmsg		+=	$("err_cvvno").innerHTML="CVV No is required";
	}else{
		if(isNaN(ec_cvvno)) {
			errmsg += $("err_cvvno").innerHTML = "Enter valid CVV Number";
		} else if (ec_cvvno.length>3) {
			errmsg += $("err_cvvno").innerHTML = "Enter valid CVV Number";
		} else {
			errmsg+=$("err_cvvno").innerHTML=""; 
		}
	}
	if(ec_address==""){
		errmsg		+=	$("err_address").innerHTML="Address is required";
	}else{
		errmsg		+=	$("err_address").innerHTML="";
	}
	if(ec_city==""){
		errmsg		+=	$("err_city").innerHTML="City is required";
	}else{
		errmsg		+=	$("err_city").innerHTML="";
	}
	if(ec_state==""){
		errmsg		+=	$("err_state").innerHTML="State is required";
	}else{
		errmsg		+=	$("err_state").innerHTML="";
	}
	if(ec_zip==""){
		errmsg		+=	$("err_zipcode").innerHTML="Zip is required";
	}else{
		if(zipcode_validation(ec_zip) == false){
			errmsg		+=	$("err_zipcode").innerHTML="Enter valid Zip";
		}else{
			errmsg		+=	$("err_zipcode").innerHTML="";
		}
	}
	if(errmsg==""){
		$("cansave").value = "yes";
		document.subscriberfrm.submit();
		//return true;
	}else return false;
}

function eu_changepassword(){
	var errmsg = "";
	var ident = $("user_id").value;
	if($("eu_password").value=="")
		errmsg += $("err_eu_password").innerHTML = "Enter new password";
	else if($("eu_password").value.length < 6)
		errmsg += $("err_eu_password").innerHTML = "Enter password atleast with 6 characters";
	else errmsg += $("err_eu_password").innerHTML = '';
	if($("eu_password").value != $("eu_repassword").value)
		errmsg += $("err_eu_repassword").innerHTML = "Retyped password didn't match";
	else errmsg += $("err_eu_repassword").innerHTML = '';
	if(errmsg){
		return false;
	}else{
		var objAction 	=	"changepassword";
		var url		=	urlPrefixPath+"ajax/manageEndUser.php";
		var pars	=	"objAction="+objAction+"&id="+ident+"&password="+$("eu_password").value;
		var success	=	function(t){ eu_changepasswordComplete(t, "SuccessMessage"); }
		var failure	=	function(t){ eu_changepasswordFailed(t);}
		var myAjax	=	new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
	}
	return false;
}

function eu_changepasswordComplete(t, successIdent){
	var response = t.responseText.split("||");
	if(response[1] == undefined){
		$(successIdent).innerHTML = response[0];
	}else{
		$(successIdent).innerHTML = response[0];
		RedirectPage(response[1]);
	}
	return false;
}

function eu_change_password(){
	var errmsg = "";
	var ident = $("user_id").value;
	if($("eu_prev_password").value==""){
		errmsg += $("err_eu_prev_password").innerHTML = "Enter old password";
	}else{
		errmsg += $("err_eu_prev_password").innerHTML = "";
	}
	if($("eu_password").value=="")
		errmsg += $("err_eu_password").innerHTML = "Enter new password";
	else if($("eu_password").value.length < 6)
		errmsg += $("err_eu_password").innerHTML = "Enter password atleast with 6 characters";
	else errmsg += $("err_eu_password").innerHTML = '';
	if($("eu_password").value != $("eu_repassword").value)
		errmsg += $("err_eu_repassword").innerHTML = "Retyped password didn't match";
	else errmsg += $("err_eu_repassword").innerHTML = '';
	if(errmsg){
		return false;
	}else{
		var objAction 	=	"change_password";
		var url		=	urlPrefixPath+"ajax/manageEndUser.php";
		var pars	=	"objAction="+objAction+"&id="+ident+"&old_password="+$("eu_prev_password").value+"&password="+$("eu_password").value;
		var success	=	function(t){ eu_changepasswordComplete(t, "SuccessMessage"); }
		var failure	=	function(t){ eu_changepasswordFailed(t);}
		var myAjax	=	new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
	}
	return false;
}

function createprofile_validation(){
	var fnameRegxp = /^([a-zA-Z ]+)$/;
	var emailRegxp = /^([\w]+)(.[\w]+)*@([\w]+)(.[\w]{2,3}){1,2}$/;
	var telnoRegxp = /^\d{3}-\d{3}-\d{4}$/;
	var errmsg=""; 
	if(($("ec_firstName").value)=="") {
		errmsg+=$("err_ecfirstname").innerHTML="First Name is required";
	}else{
		if(fnameRegxp.test($("ec_firstName").value) != true)
			errmsg += $("err_ecfirstname").innerHTML = "Enter valid First Name";
		else
			errmsg += $("err_ecfirstname").innerHTML = "";
	}
	if(($("ec_lastName").value)==""){
		errmsg+=$("err_eclastname").innerHTML="Last Name is required";
	}else{
		if(fnameRegxp.test($("ec_lastName").value) != true)
			errmsg += $("err_eclastname").innerHTML = "Enter valid Last Name";
		else
			errmsg += $("err_eclastname").innerHTML = "";
	}
	if(($("ec_address").value)==""){
		errmsg+=$("err_ecaddress").innerHTML="";
	}else{ $("err_ecaddress").innerHTML=""; }
	if(($("ec_city").value)==""){
		errmsg+=$("err_eccity").innerHTML="";
	}else{
		if(fnameRegxp.test($("ec_city").value) != true)
			errmsg += $("err_eccity").innerHTML = "Enter valid City";
		else
			errmsg += $("err_eccity").innerHTML = "";
	}
	if(($("ec_state").value)==""){
		errmsg+=$("err_ecstate").innerHTML="";
	}else{
		if(fnameRegxp.test($("ec_state").value) != true)
			errmsg += $("err_ecstate").innerHTML = "Enter valid State";
		else
			errmsg += $("err_ecstate").innerHTML = "";
	}
	if(($("ec_zipcode").value)==""){
		errmsg+=$("err_eczipcode").innerHTML="";
	}else{ 
		if(zipcode_validation($("ec_zipcode").value) == false)
			errmsg+=$("err_eczipcode").innerHTML = "Enter valid Zip";
		else 
			errmsg+=$("err_eczipcode").innerHTML=""; }
	if(($("ec_phoneNumber").value)==""){
		errmsg+=$("err_echomephone").innerHTML="";
	}else{
		if(telnoRegxp.test($("ec_phoneNumber").value) != true)
			errmsg += $("err_echomephone").innerHTML = "Enter valid Phone Number";
		else
			errmsg+=$("err_echomephone").innerHTML="";
	}
	if(($("ec_email").value)==""){
		errmsg+=$("err_ecemail").innerHTML="Email is required";
	}else{
		if(emailRegxp.test($("ec_email").value) != true)
			errmsg += $("err_ecemail").innerHTML = "Enter valid E-mail address";
		else
			errmsg += $("err_ecemail").innerHTML=""; }
	if(errmsg){
		return false;
	}else{
		var objAction	=	"createprofile";
		var url		=	urlPrefixPath+"ajax/manageEndUser.php";
		var pars	=	"objAction="+objAction+"&user_id="+$("user_id").value+"&ec_firstName="+$("ec_firstName").value+"&ec_lastName="+$("ec_lastName").value+"&ec_address="+$("ec_address").value+"&ec_city="+$("ec_city").value+"&ec_state="+$("ec_state").value+"&ec_zipcode="+$("ec_zipcode").value+"&ec_phoneNumber="+$("ec_phoneNumber").value+"&ec_email="+$("ec_email").value;
		var success	=	function(t){ createprofile_validationComplete(t, "errcode"); }
		var failure	=	function(t){ createprofile_validationFailed(t);}
		var myAjax	=	new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
		return false;
	}
}

function createprofile_validationComplete(t, SuccessIdent){
	var response = t.responseText.split("||");
	if(response[1] == undefined){
		$(SuccessIdent).innerHTML = response[0];
	}else{
		$(SuccessIdent).innerHTML = response[0];
		RedirectPage(response[1]);
	}
}
