var pm_passwords_not_equal = {
    "nl" : "De wachtwoorden zijn niet gelijk",
    "en" : "Passwords are not equal"
};

var enter_required = {
    "nl" : "U moet alle verplichte velden invoeren!",
    "en" : "Fill in all required fields please!"
};

function findParentForm(obj) {
    while (obj && (obj != document)) {
        if (obj.tagName.toLowerCase() == "form") return obj;
        obj = (obj.parentElement) ? obj.parentElement : obj.parentNode;
    }
    return false;
}

function submitPmMailToForm(){
	var lnk = window.location.href;
	lnk = lnk.replace(window.location.search, "");
	//alert(lnk);
	document.pmMailToForm.pmMailToPmPageLink.value = lnk;
	document.pmMailToForm.pmMailToSiteLink.value = "http://" + window.location.host;
	//alert(document.pmMailToForm.pmMailToPmPageLink.value);
	
	if (!validateEmail(document.pmMailToForm.pmToEmail.value)){
		alert("Friend's Email adress is invalid");
		return false;
	}
	if (!validateEmail(document.pmMailToForm.pmFromEmail.value)){
		alert("Your Email adress is invalid");
		return false;
	}
	
	document.pmMailToForm.submit();
	return true;
}


/** 
 *  Validate email adrres string
 */
function validateEmail(checkThisEmail)
{
	var myEMailIsValid = true;
	var myAtSymbolAt = checkThisEmail.indexOf('@');
	var myLastDotAt = checkThisEmail.lastIndexOf('.');
	var mySpaceAt = checkThisEmail.indexOf(' ');
	var myLength = checkThisEmail.length;

	// at least one @ must be present and not before position 2
	// @yellow.com : NOT valid
	// x@yellow.com : VALID
	
	if (myAtSymbolAt < 1 ) myEMailIsValid = false;


	// at least one . (dot) afer the @ is required
	// x@yellow : NOT valid
	// x.y@yellow : NOT valid
	// x@yellow.org : VALID
	
	if (myLastDotAt < myAtSymbolAt) myEMailIsValid = false;
	
	// at least two characters [com, uk, fr, ...] must occur after the last . (dot)
	// x.y@yellow. : NOT valid
	// x.y@yellow.a : NOT valid
	// x.y@yellow.ca : VALID
	
	if (myLength - myLastDotAt <= 2) myEMailIsValid = false;
	
	
	// no empty space " " is permitted (one may trim the email)
	// x.y@yell ow.com : NOT valid
	
	if (mySpaceAt != -1) myEMailIsValid = false;

	return myEMailIsValid
}


function onAccountUpdate(form){
	if ( form.p.value != form.pret.value){
		alert(pm_passwords_not_equal[lang]);
		return false;
	}
	
	if ( form.p.value != ""){
		form.customer_password.value=hex_md5(form.p.value); 
	}       
	else{                                        
		form.customer_password.value="";
	}
	form.p.value='';
	form.pret.value='';
	return true;
}

function disableDiv(trigger_checkbox){
	if ( trigger_checkbox.checked ){
		billing_address_div.style.display = "none";
	}
	else{
		billing_address_div.style.display = "inline";
	}
}

function onCustomerRegisterSubmit(form){
	if ( form.p.value != form.pret.value){
		alert(pm_passwords_not_equal[lang]);
		return false;
	}
	
	if ( (form.customer_login.value == "") || (form.customer_email.value == "") || (form.p.value == "") ){
		alert(enter_required[lang]);
		return false;
	}
	
	form.customer_password.value=hex_md5(form.p.value); 
	form.p.value='';
	form.pret.value='';
	return true;
}

function doPrevious(clicked_element){
	var form = findParentForm(clicked_element);
	form.action.value = "prev";
	form.submit();
	return true;
}

function doNext(clicked_element){
	var form = findParentForm(clicked_element);
	form.action.value = "next";
	form.submit();
	return true;
}

function doFinish(clicked_element){
	var form = findParentForm(clicked_element);
	form.action.value = "finish";
	form.submit();
	return true;
}