/*
* Copyright © www.bruidssuiker.nl
* Design www.xardeau.com
*/
var image_url = '';
var imageFrame;

/**  VALIDATE FORM FUNCTIONS **/

var validationErrorColor = '#B90034';
var orgBorderStyle = '';
var selectedDelivery = false;


function showAdditionalText(elementId1, elementId2, elementId3, dateElementId, textElementId, choice){
	var element1 = getElement(elementId1 + "_loc");
	var element2 = getElement(elementId2 + "_loc");
	var element3 = getElement(elementId3 + "_loc");
	
	//First clear all elements to prevent duplicate ID's
	element1.style.display = "none";
	element2.style.display = "none";
	element3.style.display = "none";
	
	var dateElement = getElement(dateElementId);
	var textElement = getElement(textElementId);
	var dateLabelElement = getElement('customer_message_date_label' + choice);
	var nameLabelElement = getElement('customer_message_name_label' + choice);

	if(choice != 0){
		if(dateElement) dateElement.value = "";
		if(textElement)textElement.value = "";
	}
	
	if(choice == 1){
		//Then add style
		dateLabelElement.style.display = "";
		dateElement.style.display = "";
		nameLabelElement.style.display = "";
		nameLabelElement.style.width = "65px";

		element1.style.display = "";
		element2.style.display = "none";
		element3.style.display = "none";
	}else if(choice == 2){
		dateLabelElement.style.display = "";
		dateElement.style.display = "";
		nameLabelElement.style.display = "";
		nameLabelElement.style.width = "65px";

		element1.style.display = "none";
		element2.style.display = "";
		element3.style.display = "none";
	}else if(choice == 3){
		nameLabelElement.style.width = "0px";
		nameLabelElement.style.display = "none";

		element1.style.display = "none";
		element2.style.display = "none";
		element3.style.display = "";
	}
}

function hideAdditionalText(elementId, dateElementId, textElementId){
	var element = getElement(elementId);
	var dateElement = getElement(dateElementId);
	var textElement = getElement(textElementId);
	element.style.display = "none";
	dateElement.style.display = "none";
	textElement.style.display = "none";
	dateElement.value = "";
	textElement.value = "";
}


function validateCustomerForm(formName){
	var theForm = document.forms[formName];
	var validationMsg = '';
	var textIsEmpty_nl = 'De volgende velden zijn niet correct gevuld:\n';
	
	if(!isChecked(getElement('customer_terms'))){	
		validationMsg += 'Voorwaarden' + '\n';
	};
	if(isEmpty(getElement('customer_name'))){	
		validationMsg += 'Naam' + '\n';
	};
	if(isEmpty(getElement('customer_address'))){	
		validationMsg += 'Adres' + '\n';
	};
	if(isEmpty(getElement('customer_zip'))){	
		validationMsg += 'Postcode' + '\n';
	};
	if(isEmpty(getElement('customer_city'))){	
		validationMsg += 'Plaats.' + '\n';
	};
	if(isEmpty(getElement('customer_phone'))){	
		validationMsg += 'Telefoonnr.' + '\n';
	};
	if(isEmpty(getElement('customer_email_contact'))){	
		validationMsg += 'E-mail' + '\n';
		setInvalid(getElement('customer_email_contact'), true);
	}else if(isInValidEmail(getElement('customer_email_contact'))){
		validationMsg += 'E-mailadres is ongeldig' + '\n';
		var emailText = getElement('customer_email_contact').value;
		setInvalid(getElement('customer_email_contact'), true);
		getElement('customer_email_contact').value = emailText;
	}
	
	var customer_add1 = getElement('customer_add1');
	var customer_add2 = getElement('customer_add2');
	var customer_add3 = getElement('customer_add3');
	
	if(customer_add1.checked){
		if(isEmpty(getElement('customer_message_date1'))){	
			validationMsg += 'Opdruk datum.' + '\n';
		};
		if(isEmpty(getElement('customer_message_text1'))){	
			validationMsg += 'Opdruk tekst.' + '\n';
		};
	}else if(customer_add2.checked){
		if(isEmpty(getElement('customer_message_date2'))){	
			validationMsg += 'Opdruk datum.' + '\n';
		};
		if(isEmpty(getElement('customer_message_text2'))){	
			validationMsg += 'Opdruk tekst.' + '\n';
		};
	}else if(customer_add3.checked){
		if(isEmpty(getElement('customer_message_text3'))){	
			validationMsg += 'Opdruk tekst.' + '\n';
		};
	}
	
	if(validationMsg.length > 0){
        showDivMessage('base_message', 'De aangegeven verplichte velden zijn niet correct gevuld.', 'message nok');
		//alert(validationMsg);
	}else{
		document.forms[formName].submit();
	}
}

function validateContactForm(formName){
	var theForm = document.forms[formName];
	var validationMsg = '';
	var textIsEmpty_nl = 'De volgende velden zijn niet correct gevuld:\n';
	
	if(isEmpty(getElement('contact_name'))){	
		validationMsg += 'Naam' + '\n';
	};
	if(isEmpty(getElement('contact_phone'))){	
		validationMsg += 'Telefoonnr.' + '\n';
	};
	if(isEmpty(getElement('contact_email_contact'))){	
		validationMsg += 'E-mail' + '\n';
		setInvalid(getElement('contact_email_contact'), true);
	}else if(isInValidEmail(getElement('contact_email_contact'))){
		validationMsg += 'E-mailadres is ongeldig' + '\n';
		var emailText = getElement('contact_email_contact').value;
		setInvalid(getElement('contact_email_contact'), true);
		getElement('contact_email_contact').value = emailText;
	}
	if(isEmpty(getElement('contact_text'))){	
		validationMsg += 'Reden' + '\n';
	};

	if(validationMsg.length > 0){
        showDivMessage('base_message', 'De aangegeven verplichte velden zijn niet correct gevuld.', 'message nok');
		//alert(validationMsg);
	}else{
		document.forms[formName].submit();
	}
}

function isEmpty(element){
	var isEmpty = false;
	if(element && element.value.replace(/^\s+|\s+$/, "") == ''){
		isEmpty =  true;
		setInvalid(element, true);
	}else{
		setInvalid(element, false);
	}
	return isEmpty;
}

function isChecked(element){
	var isChecked = false;
	if(element.checked){
		isChecked =  true;
		element.parentNode.style.borderColor = '';
		element.parentNode.style.borderWidth = '';
		element.parentNode.style.borderStyle = '';
	}else{
		element.parentNode.style.borderColor = validationErrorColor;
		element.parentNode.style.borderWidth = "1px";
		element.parentNode.style.borderStyle = "solid";
	}
	return isChecked;
}

function setInvalid(element, isInvalid){
	if(isInvalid){
		element.value = '';
		element.style.borderColor  = validationErrorColor;
	}else{
		element.style.borderColor = '';
	}
}

function isInValidEmail(element){
	var isInvalid = true;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(element.value)){
		element.style.borderColor  = validationErrorColor;
	}else{
		isInvalid = false;
	}
	return isInvalid;
}

/**  JAVASCRIPT UTILITIES **/

function getElement(id){
	var element = document.getElementById(id);
	return element;
}

function showDivMessage(id, message, className ){
	var theElement = showTheDiv(id);
	theElement.className = className;
	theElement.innerHTML = message;
}

function showTheDiv(id){
	var	theElement = getElement(id);
	changeOpacity(100,id);
	theElement.style.display = 'block';
	return theElement;
}

function hideTheDiv(id, fadeOut){
	var	theElement = getElement(id);
	if(fadeOut){
		setTimeout("doFade('"+id+"', 100, 0, 1000)", 4000);
		setTimeout("hideTheDiv('"+id+"', false)", 5000);
	}else{
		theElement.style.display = 'none';
	}
}

function doFade(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpacity(opacity,id) {
    var object = getElement(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}
