

var strPatEmail = /^\w[\w\.\-]*@\w[\w\-\.]*\.\w{2}[\w\.\-\/]*$/i;
var strPatPhone = /^(\+){0,1}[0-9\.\-()\s]+$/i;


function addInstantValidation(frm) {
	var elements = frm.elements;
	for (var i = 0; i < elements.length; i++) {
		if (eval("typeof instant_validate_"+elements[i].getAttribute("rel")) == "function") {
			if(elements[i].nodeName == "INPUT" || elements[i].nodeName == "TEXTAREA") { elements[i].onkeyup = new Function("instant_validate_"+elements[i].getAttribute("rel")+"(this)"); elements[i].onblur = elements[i].onkeyup; }
			if(elements[i].nodeName == "SELECT") { elements[i].onchange = new Function("instant_validate_"+elements[i].getAttribute("rel")+"(this)"); }
			elements[i].onfocus = new Function("instant_validate_"+elements[i].getAttribute("rel")+"(this)");
			if (elements[i].value != "") { elements[i].onfocus(); }
		}
	}
}
function instant_validate_anything(o) {
	var t = validationCell(o);
	if (t != null) {
		if (o.value == "") {
			t.innerHTML = "";
		} else {
			t.innerHTML = "";
			t.appendChild(ValidationIcon(true));
		}
	}
}
function instant_validate_required(o) {
	var t = validationCell(o);
	if (t != null) {
		t.innerHTML = "";
		if (o.value == "") {
			t.appendChild(ValidationIcon(false));
		} else {
			t.appendChild(ValidationIcon(true));
		}
	}
}
function instant_validate_mail(o) {
	var t = validationCell(o);
	if (t != null) {
		t.innerHTML = "";
		if (!strPatEmail.test(o.value)) {
			t.appendChild(ValidationIcon(false));
		} else {
			t.appendChild(ValidationIcon(true));
		}
	}
}
function instant_validate_phone(o) {
	var t = validationCell(o);
	if (t != null) {
		if (o.value == "") {
			t.innerHTML = "";
		} else if (!strPatPhone.test(o.value)) {
			t.innerHTML = "";
			t.appendChild(ValidationIcon(false));
		} else {
			t.innerHTML = "";
			t.appendChild(ValidationIcon(true));
		}
	}
}
function instant_validate_cvr(o) {
	var t = validationCell(o);
	if (t != null) {
		t.innerHTML = "";
		if (!validate_cvr(o.value)) {
			t.appendChild(ValidationIcon(false));
		} else {
			t.appendChild(ValidationIcon(true));
		}
	}
}
function instant_validate_sameAsPass1(o) {
	var t = validationCell(o);
	if (t != null) {
		t.innerHTML = "";
		if (o.value == "" || o.value != o.form.pass1.value) {
			t.appendChild(ValidationIcon(false));
		} else {
			t.appendChild(ValidationIcon(true));
		}
	}
}
function validationCell(o) {
	var temp = o.parentNode.parentNode;
	var elements = temp.childNodes;
	var result = null;
	var useNext = false;
	for (var i = 0; i < elements.length; i++) {
		if (elements[i].nodeType == 1) {
			if (elements[i].className == "shoppingGetAddressTableTd3") { result = elements[i]; }
			if (useNext) { result = elements[i]; }
			
			if (elements[i] == o.parentNode) { useNext = true; }
		}
	}
	return result;
}

function ValidationIcon(checked) {
	var img = document.createElement("img");
	img.style.width = "11px";
	img.style.height = "10px";
	img.className = "validationIcon";
	if (checked == true) { img.src = "/images/miscellaneous/yes.png"; }
	else { img.src = "/images/miscellaneous/no.png"; }
	return img;
}


function validate_cvr(cvr) {
	var ok = false;
	if(cvr.length == 8 && cvr != "00000000") {
		
		var weights = "2765432";
		var tmp = 0;
		var tmpStr = 0;
		var last = 0;
		for (var i=0;i<=6;i++) {
			tmpStr = parseInt(cvr.substring(i,i+1)) * parseInt(weights.substring(i,i+1));
			tmp += tmpStr
		}
		
		last = 11 - (tmp % 11);
		if(last == 11) { last = 0; }
		if(parseInt(cvr.substring(cvr.length-1)) == parseInt(last)) {
			ok = true;
		}
	}
	return ok;
}


function validate_recommend(frm) {
	var send,varAlert;
	varAlert = ""

	if (frm.from_name.value == "") {
		varAlert = varAlert + "- Dit navn\n";
		send = false;
	}
	
	if (!strPatEmail.test(frm.from_email.value) ) {
		varAlert = varAlert + "- Din e-mail\n";
		send = false;
	}
	
	if (!strPatEmail.test(frm.recipient_email.value) ) {
		varAlert = varAlert + "- Modtagers e-mail\n";
		send = false;
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_contact(frm) {
	var send,varAlert;
	varAlert = ""

	if (frm.name.value == "") {
		varAlert = varAlert + "- Navn\n";
		send = false;
	}
	
	if (frm.phone.value != "" && !strPatPhone.test(frm.phone.value)) {
		varAlert = varAlert + "- Telefon\n";
		send = false;
	}
	
	if (!strPatEmail.test(frm.email.value) ) {
		varAlert = varAlert + "- E-mail\n";
		send = false;
	}
	
	if (frm.comments.value == "") {
		varAlert = varAlert + "- Besked\n";
		send = false;
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_feature_search(frm) {
	var send,varAlert;
	varAlert = ""

	if (frm.searchKeywords.value == "" || frm.searchKeywords.value == "Indtast s\u00F8geord her") {
		varAlert = varAlert + "Indtast venligst mindst \u00E9t s\u00F8geord !\n";
		send = false;
	}

	if (send == false) { 
		alert(varAlert);
		frm.searchKeywords.focus();
		return false;
	}
	else {
		return true;
	}
}

function validate_forgot_password(frm) {
	var send,varAlert;
	varAlert = ""

	if (!strPatEmail.test(frm.email.value) ) {
		varAlert = varAlert + "Angiv venligst en gyldig e-mail-adresse !\n";
		send = false;
	}
	
	if (send == false) { 
		alert(varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_newsletter(frm) {
	var send,varAlert;
	varAlert = ""

	if (frm.newsletterName.value == "") {
		varAlert = varAlert + "- Dit navn\n";
		send = false;
	}
	
	if (!strPatEmail.test(frm.newsletterEmail.value) ) {
		varAlert = varAlert + "- Din e-mail\n";
		send = false;
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_shopping_customer_login(frm) {
	var send,varAlert;
	varAlert = ""

	if (!strPatEmail.test(frm.loginEmail.value) ) {
		varAlert = varAlert + "- E-mail\n";
		send = false;
	}
	
	if (frm.loginPassword.value == "") {
		varAlert = varAlert + "- Password\n";
		send = false;
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_shopping_get_address(frm) {
	var send,varAlert;
	varAlert = ""
	
	if (frm.customertype[1].checked) {
		if (frm.c_company.value == "") {
			varAlert = varAlert + "- Firma\n";
			send = false;
		}
	}
	
	if (frm.c_name.value == "") {
		varAlert = varAlert + "- Navn\n";
		send = false;
	}
	
	if (frm.c_address1.value == "") {
		varAlert = varAlert + "- Adresse\n";
		send = false;
	}
	
	if (frm.c_zipcode.value == "") {
		varAlert = varAlert + "- Postnr\n";
		send = false;
	}
	
	if (frm.c_city.value == "") {
		varAlert = varAlert + "- By\n";
		send = false;
	}
	
	if (frm.c_country.value == "") {
		varAlert = varAlert + "- Land\n";
		send = false;
	}
	
	if (frm.c_phone.value != "" && !strPatPhone.test(frm.c_phone.value)) {
		varAlert = varAlert + "- Telefon\n";
		send = false;
	}	
	if (!strPatEmail.test(frm.c_email.value) ) {
		varAlert = varAlert + "- E-mail\n";
		send = false;
	}
	
	if (frm.customertype[1].checked) {
		if (frm.c_vat_number.value == "") {
			varAlert = varAlert + "- CVR-nr\n";
			send = false;
		}
	}
	
	if (frm.different_deliveryaddress[0].checked) {
	
		if (frm.c_delivery_name.value == "") {
			varAlert = varAlert + "- Navn (levering)\n";
			send = false;
		}
	
		if (frm.c_delivery_address1.value == "") {
			varAlert = varAlert + "- Adresse (levering)\n";
			send = false;
		}
	
		if (frm.c_delivery_zipcode.value == "") {
			varAlert = varAlert + "- Postnr (levering)\n";
			send = false;
		}
	
		if (frm.c_delivery_city.value == "") {
			varAlert = varAlert + "- By (levering)\n";
			send = false;
		}
	
		if (frm.c_delivery_country.value == "") {
			varAlert = varAlert + "- Land (levering)\n";
			send = false;
		}
	
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_shopping_edit_customer_login(frm) {
	var send,varAlert;
	varAlert = ""

	if (frm.c_name.value == "") {
		varAlert = varAlert + "- Navn\n";
		send = false;
	}
	
	if (frm.c_address1.value == "") {
		varAlert = varAlert + "- Adresse\n";
		send = false;
	}
	
	if (frm.c_zipcode.value == "") {
		varAlert = varAlert + "- Postnr\n";
		send = false;
	}
	
	if (frm.c_city.value == "") {
		varAlert = varAlert + "- By\n";
		send = false;
	}
	
	if (frm.c_country.value == "") {
		varAlert = varAlert + "- Land\n";
		send = false;
	}
	
	if (frm.c_delivery_name.value == "") {
		varAlert = varAlert + "- Navn (levering)\n";
		send = false;
	}
	
	if (frm.c_delivery_address1.value == "") {
		varAlert = varAlert + "- Adresse (levering)\n";
		send = false;
	}
	
	if (frm.c_delivery_zipcode.value == "") {
		varAlert = varAlert + "- Postnr (levering)\n";
		send = false;
	}
	
	if (frm.c_delivery_city.value == "") {
		varAlert = varAlert + "- By (levering)\n";
		send = false;
	}
	
	if (frm.c_delivery_country.value == "") {
		varAlert = varAlert + "- Land (levering)\n";
		send = false;
	}
	
	if (frm.c_phone.value == "") {
		varAlert = varAlert + "- Telefon\n";
		send = false;
	}
	
	if (!strPatEmail.test(frm.c_username.value) ) {
		varAlert = varAlert + "- E-mail\n";
		send = false;
	}
	
	if (frm.c_password.value == "") {
		varAlert = varAlert + "- Password\n";
		send = false;
	}
	
	if (frm.c_password.value != frm.c_password2.value) {
		varAlert = varAlert + "- Du har ikke indtastet samme password i de 2 felter hertil\n";
		send = false;
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}

function validate_confirm_order(frm) {
	var send,varAlert;
	varAlert = ""

	if (!frm.acceptTerms.checked) {
		varAlert = varAlert + "Du skal acceptere salgs- & leveringsbetingelser for at kunne afgive din ordre !\n";
		send = false;
	}

	if (send == false) { 
		alert(varAlert);
		return false;
	}
	else {
		return true;
	}
}


function validate_customer_changepassword(frm) {
	var send,varAlert;
	varAlert = ""

	if (frm.pass1.value == "") {
		varAlert = varAlert + "- Password\n";
		send = false;
	}
	if (frm.pass2.value == "") {
		varAlert = varAlert + "- Gentag password\n";
		send = false;
	}
	if (frm.pass1.value != "" && frm.pass2.value != "" && frm.pass1.value != frm.pass2.value) {
		varAlert = varAlert + "- De indtastede passwords er ikke identiske\n";
		send = false;
	}

	if (send == false) { 
		alert("F\u00F8lgende felter skal udfyldes korrekt:\n\n" + varAlert);
		return false;
	}
	else {
		return true;
	}
}
