var pm_passwords_not_equal = {
    "nl" : "De wachtwoorden zijn niet gelijk",
    "en" : "Passwords are different",
    "pl" : "Hasła są różne",
    "fr" : "Les mots de passe sont différents",
    "it" : "Le passwords sono differenti",
    "es" : "Las contraseñas son diferentes",
    "de" : "Passwort ist falsch"
};

var enter_required = {
    "nl" : "U moet alle verplichte velden invoeren!",
    "en" : "Please fill in all required information!",
    "pl" : "Proszę podać wszystkie wymagane informacje",
    "fr" : "Merci de compléter toutes les informations",
    "it" : "Per favore inserisci le informazioni richieste",
    "es" : "Por favor rellene la siguiente información",
    "de" : "Bitte füllen Sie alle gefragten Informationen aus"
};

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 == "") return true;
         
	if ( form.p.value != form.pret.value){
		alert(pm_passwords_not_equal[lang]);
		return false;
	}
	
	if ( form.p.value != ""){
		form.password.value=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.login.value == "") || (form.email.value == "") || (form.p.value == "") ){
		alert(enter_required[lang]);
		return false;
	}
*/	
/*	form.password.value=hex_md5(form.p.value); 
	form.p.value='';
	form.pret.value='';
 */
form.password.value = form.p.value;

	return true;
}

function doPrevious(clicked_element){
	var form = findParentForm(clicked_element);
	form.act.value = "prev";
	form.submit();
	return true;
}

function doNext(clicked_element){

	var form = findParentForm(clicked_element);
    if(validate(form)) {
	form.act.value = "next";
	form.submit();	
	return true;
	}
	return false;
}

function doFinish(clicked_element){
	var form = findParentForm(clicked_element);
	form.act.value = "finish";
	form.submit();
	return true;
}

function validatePI(logoRequired, msgWrongImageType) {
	var check = true;
	var obj = new Object();

    	obj = document.getElementById('pantone');
		if(obj.value==null || obj.value=='') {
		 obj.style.backgroundColor= "red";
		 check= false ;
		}
		else obj.style.backgroundColor= "";
		
    	obj = document.getElementById('situation');
		if(obj.value==null || obj.value=='') {
		 obj.style.backgroundColor= "red";
		 check= false ;
		}
		else obj.style.backgroundColor= "";
		if(logoRequired){
	    	obj = document.getElementById('logo');
	    	
	    	if(obj.value!=null && obj.value!='') {
		    	var s = obj.value;
				var ss = s.substr(s.length-4,s.length);
				if(ss!=".gif" && ss!=".jpg" && ss!=".jpeg" && ss!=".png") {
				 	alert(msgWrongImageType+"\n(.gif, .jpg, .jpeg, .png)");
				 	obj.style.backgroundColor= "red";
					check= false ;
				 } else {
					 obj.style.backgroundColor= "";
				 }
	    	} else {
		    	obj.style.backgroundColor= "red";
				check= false ;
	    	}
		}
		return check;
}

function printInquiry(productId,logoRequired,msgWrongImageType){
	var f = new Object();
    	f = document.getElementById('frm');
		f.act.value = "print_inquiry";
		f.product_id.value = productId;

	if (validatePI(logoRequired, msgWrongImageType)) {
		return true;
		}
		else {
		 return false;
		}
	 return false;
}

/* login showModal - START */
function gotoLogin(link,act,basePage1) {	
	if(act!='') link=link+'act='+act;
	var basePage2;
	if (window.showModalDialog) {
		basePage2 = ''+window.showModalDialog(link, null,'resizable:yes;scroll:no;status:no;dialogWidth: 525px;dialogHeight: 350px; center: yes;');
	} 
	else{
		basePage2 = ''+window.open(link,'loginWindow','height=330,width=518px,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,modal=yes');	
	}
//	if(basePage2!=basePage1) alert('basePage1 = '+basePage1+'\nbasePage2 = '+basePage2);
	if ((act=='do_logout')||(basePage2!=""))
		if ((basePage2.length == null)||(basePage1.search(basePage2) > -1))	document.location.reload(true);
		else document.location.href=basePage2;
}
/* login showModal - FINISH */

function validateAccount(f,page) {
	if(page=='update') {
		if(validate(f)) return onAccountUpdate(f)
		else return false;		
	}
	else {
		if(validate(f)) return onCustomerRegisterSubmit(f)
		else return false;	
	}	
}

function showdate() {
    var obj = new Object();
    obj = document.getElementById('dateplace');
    var d = new Date();
    var s = new String();
    s += d.getDate() + "/";
    s += (d.getMonth() + 1) + "/";
    s += d.getFullYear();
    obj.innerHTML = s;
    return true;

}

function checkEnter(e){ //e is event object passed from function invocation
    var characterCode; // literal character code will be stored in this variable
    if(e && e.which){ //if which property of event object is supported (NN4)
        e = e;
        characterCode = e.which; //character code is contained in NN4's which property
    }
    else {
        e = event;
        characterCode = e.keyCode; //character code is contained in IE's keyCode property
    }
    
    if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
        actSubmit('update'); //submit the form
        return false; 
    }
    else {
        return true; 
    }
}

function actSubmit(actValue) {
    var f = new Object();
    f = document.getElementById('frm');
    f.act.value=actValue;
    f.submit();
}

function closeAndContinue(nextHref) {
if (navigator.appVersion.indexOf("MSIE")!=-1){
	window.returnValue = nextHref;
 }
 else {
	var opener = new Object();
	opener=window.opener;
	opener.location.href=nextHref;
 }
 window.close();
}

function showPriceRange(selObj) {
	if(selObj.options(0).selected) { 
		document.getElementById("upperTd").style.display="none";
		document.getElementById("tdPrice1").style.display="none";
		document.getElementById("tdAnd").style.display="none";
		document.getElementById("tdPrice2").style.display="block";
		document.getElementById("price2").focus();
	} else if(selObj.options(1).selected) { 
		document.getElementById("upperTd").style.display="none";
		document.getElementById("tdPrice1").style.display="block";
		document.getElementById("tdAnd").style.display="none";
		document.getElementById("tdPrice2").style.display="none";
		document.getElementById("price1").focus();
	} else {
		document.getElementById("upperTd").style.display="block";
		document.getElementById("tdPrice1").style.display="block";
		document.getElementById("tdAnd").style.display="block";
		document.getElementById("tdPrice2").style.display="block";
		document.getElementById("price1").focus();
	}
}

function checkPrice(inpObj) {
	var s = ""+inpObj.value;
	var format = /^(\d+\.\d{0,2}|\d*)$/;
	var check = !format.test(s);
	if(check) {
		while (check && s.length>0) {
			s = s.substring(0,s.length-1);
			check = !format.test(s);
		}
		inpObj.value = s;
	}
}

function hang() {
	var amountInputs = document.getElementsByName('amounts');
	for(i=0;i<amountInputs.length;i++){
		amountInputs[i].readonly=true;
	}
	document.getElementById('orderNow').disabled=true;
}

function free() {
	var amountInputs = document.getElementsByName('amounts');
	for(i=0;i<amountInputs.length;i++){
		amountInputs[i].readonly=false;
	}
	document.getElementById('orderNow').disabled=false;
}
