﻿var Path = "/";

function CheckFormRegister()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("first-name","last-name","email","tel","tel1","tel2", "addr1", "zip", "city","passwd","conf-passwd");
	var params = MakeParameters(arrElementen) + "&type=register";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);

}
function CheckFormVerifyData()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("addressno","first-name","last-name","email","tel", "addr1", "postal", "city", "transport-first-name", "transport-last-name","transport-addr1", "transport-postal","transport-city", "transport-tel");
	var params = MakeParameters(arrElementen) + "&type=verify-data";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}
function CheckFormAccount()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("addressno","first-name","last-name","email","tel", "addr1", "zip", "city","passwd0","passwd1","passwd2");
	var params = MakeParameters(arrElementen) + "&type=account";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}
function CheckFormWu() {
    //--Alle items die gecontroleerd moeten worden
    var arrElementen = Array("amount-remitted", "first-name", "last-name", "mtcn");
    var params = MakeParameters(arrElementen) + "&type=wu";
    $.post("/tools/ajax_form.ashx", params, ShowErrorsForm);
}
function CheckFormSendEmail() {
    //--Alle items die gecontroleerd moeten worden
    var arrElementen = Array("friend-email", "friend-name", "your-email", "your-name", "message");
    var params = MakeParameters(arrElementen) + "&type=sendemail";
    $.post("/tools/ajax_form.ashx", params, ShowErrorsForm);
}

function CheckFormTrack() {
    //--Alle items die gecontroleerd moeten worden
    var arrElementen = Array("track-code");
    var params = MakeParameters(arrElementen) + "&type=checktrack";
    $.post("/tools/ajax_form.ashx", params, ShowErrorsForm);
}

function CheckFormContact()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("email","name");
	var params = MakeParameters(arrElementen) + "&type=contact";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}

function CheckFormComment()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("email","name","DynamicText");
	var params = MakeParameters(arrElementen) + "&type=comment";

	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}
function CheckFormGiftListSignUp()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("first-name","last-name","email","tel","tel1","tel2", "addr1", "postal", "city","passwd","conf-passwd");
	var params = MakeParameters(arrElementen) + "&type=giftlist-signup";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}

function CheckFormGiftListCreate()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("title","msg", "code");
	var params = MakeParameters(arrElementen) + "&type=giftlist-create";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}

function CheckFormECard()
{
	//--Alle items die gecontroleerd moeten worden
	var arrElementen = Array("fname","lname","email","email01","email02", "email03", "email04", "email05");
	var params = MakeParameters(arrElementen) + "&type=ecard";
	$.post("/tools/ajax_form.ashx",params,ShowErrorsForm);
}

function MakeParameters(arr)
{
	var strParameters = "";
	var ampersant = "";

	//--Parameters maken met de inhoude van de velden
	for(var i=0;i<arr.length;i++)
	{
		if(document.getElementById(arr[i]))
		{
			strParameters += ampersant + arr[i] + "=" + document.getElementById(arr[i]).value;
			ampersant = "&";
		}
	}
	return strParameters;
}


function ErrorAjax(err)
{

}
function ShowErrorsForm(transport)
{

	var BooFormOk = true;
	var arrObjecten = eval("(" + transport + ")");

	//--Alle objecten overlopen
	for(var i=0;i<arrObjecten.length;i++)
	{

		var objElement = arrObjecten[i];

		//--Label ophalen die bij het input element hoort
		var	arrLabels = $("label[for='"+objElement.element+"']");
		if($("#p"+objElement.element).length==0)
		{
			var divErrorElement = $("#errors").append("<p id=\"p"+ objElement.element +"\" style=\"display:none;\">"+objElement.message+"</p>");
		}

		if(objElement.value == "0")
		{
			$("#" + objElement.element).addClass("err");
			$("#" + objElement.element).parent().addClass("err");
			$("#" + objElement.element).parent().children("span").addClass("err");

			$("#p"+objElement.element).html(objElement.message);
			$("#p"+objElement.element).show();

			BooFormOk = false;
		}
		else
		{
			$("#p"+objElement.element).hide();
			$("#" + objElement.element).removeClass("err");
			$("#" + objElement.element).parent().removeClass("err");
			$("#" + objElement.element).parent().children("span").removeClass("err");
		}
	}

	//--Als er geen problemen gevonden zijn, dan mag het formulier gepost worden.
if (BooFormOk == true) {
  
		$("#frm").submit();
	}
	else
	{
		$("#errors").slideDown("fast");

		var strLocation = "" + window.location
		if(strLocation.indexOf("#")== -1)
		{
			window.location = window.location + "#errors";
		}
		else
		{
			window.location = window.location;
		}
	}
}


$(document).ready(function () {

    $("a[rel='external']").each(function () {
        $(this).attr("target", "_blank");
    })

    //--Als de shoppincart table bestaat wordt onderstaande uitgevoerd
    $("#shopcart-items a.del").each(function () {
        $(this).click(function () {

            var strId = $(this).parent().parent().attr("id");
            var arrId = strId.split("_");
            var strParams = "articleno=" + arrId[1] + "&priceno=" + arrId[2] + "&giftlistno=" + arrId[3];

            $.post("/tools/ajax_remove_item_cart.ashx", strParams, function (data) {
                $("#tr_" + data.id).fadeOut();
                changePriceInformation(data);

            }, "json");

        });
    });

    $("#shopcart-items input[id^='amount']").blur(function () {

    });
    //--Alleen numerieke getallen toestaan in de shopping cart
    $("#shopcart-items input[id^='amount']").each(function () {
        $(this).numeric();
    });

    //--Als er op de knop recalculate geklikt wordt, functie uitvoeren
    $("#recalculate").click(function () {
        var strParams = "";
        $("#shopcart-items input[id^='amount']").each(function () {
            var strId = $(this).attr("id");
            var strValue = $(this).attr("value");
            strParams = strParams + strId + "=" + strValue + "&";
        });

        $.post("/tools/ajax_update_item_cart.ashx", strParams, function (data) {
            var arrRespons = eval(data);
            var arrElementen = arrRespons[0];

            for (var i = 0; i < arrElementen.length; i++) {
                var objElement = arrElementen[i];
                var strId = objElement.articleno + "_" + objElement.priceno;
                changeText($("#total_" + strId), objElement.total);
                changeText($("#price_" + strId), objElement.price);

            }

            changePriceInformation(arrRespons[1][0]);
        });
    });
})

function createConfiguration(strPath,intPriceno)
{
	$("#add-to-cart").fadeOut();
	$("#add-to-fav").fadeOut();
	$("#add-to-giftl").fadeOut();

	var intAnimationSpeed = 250;
	var strGekozenOpties = getSelectedList();
	var intArticleno = $("#articleno").val();
	var params = "articleno=" + intArticleno + "&options=" + strGekozenOpties;

	if(intPriceno != "")
	{
		params = params + "&priceno=" + intPriceno;
	}

	if(parseFloat($("#configurator-overlay").width()) > 0)
	{
		$("#configurator-overlay").fadeIn(intAnimationSpeed);
	}

	$.post("/tools/ajax_configuratie.ashx", params, function (data) {
	    var arrArtikel = eval(data);
	    arrArtikel = arrArtikel[0];

	    var arrElementen = arrArtikel.elements;
	    var configurator = $("#configurator");

	    $("#configurator div.row.clearfix").each(function () {
	        $(this).hide(0.5).empty().remove();
	    }
		);

	    //--Alle elementen overlopen
	    for (var i = 0; i < arrElementen.length; i++) {
	        var objElement = arrElementen[i];

	        //--Iedere 3 items moet er een nieuwe container komen.
	        if (i % 3 == 0) {
	            if ($("#divRow" + i).length > 0) {
	                var row = $("#divRow" + i);
	            }
	            else {
	                var row = $("<div id=\"divRow" + i + "\" class=\"row clearfix\"></div>");
	                row.appendTo(configurator);
	            }
	        }

	        //--Een col div maken die alles bevat van het select item
	        var col = $("<div class=\"col\" id=\"divSerie" + i + "\"></div>");

	        //--Element onzichtbaar maken om dan te kunnen animeren.
	        //			$(col).css("display","none");

	        //--H4 titel meegeven
	        var header4 = $("<h4>" + objElement.name + "</h4>");

	        //--Lege paragraaf maken waarin alle labels en inputs inkomen
	        var paragraph = $("<p></p>");

	        //--Kijken welk type het is die gebruikt zal worden.
	        switch (objElement.type) {
	            //--Dropdown  
	            case "D":

	                //--Label en select element genereren
	                var label = $("<label for=\"serie" + objElement.optionserieno + "\" class=\"structural\" title=\"" + objElement.attribute + "\">" + objElement.name + "</label>");
	                var select = $("<select id=\"serie" + objElement.optionserieno + "\" name=\"serie" + objElement.optionserieno + "\"></select>");

	                //--Alle subelementen overlopen en een optie ervan maken.
	                for (var x = 0; x < objElement.elements.length; x++) {
	                    var objSubElement = objElement.elements[x];
	                    var strSelected = objSubElement.standard == "Y" ? " selected=\"selected\"" : "";

	                    var option = $("<option value=\"" + objSubElement.optionno + "\"" + strSelected + ">" + objSubElement.name + "</option>");
	                    //--Opties aan select koppelen
	                    option.appendTo(select);
	                }

	                //--Label en select aan paragraaf koppelen
	                label.appendTo(paragraph);
	                select.appendTo(paragraph);

	                break;

	            //--Radiobutton  
	            case "R":

	                //--Alle sub elementen overlopen en er een label + input bij maken
	                for (var x = 0; x < objElement.elements.length; x++) {
	                    var objSubElement = objElement.elements[x];
	                    var strChecked = objSubElement.standard == "Y" ? " checked=\"checked\"" : "";

	                    $("<input type=\"radio\" name=\"serie" + objElement.optionserieno + "\" id=\"serie" + objElement.optionserieno + objSubElement.optionno + "\"" + strChecked + "/>").appendTo(paragraph);
	                    $("<label for=\"serie" + objElement.optionserieno + objSubElement.optionno + "\" title=\"" + objElement.attribute + " - " + objSubElement.name + "\"><img src='" + objSubElement.image + "' align='middle' onclick='$(\"#serie" + objElement.optionserieno + objSubElement.optionno + "\").attr(\"checked\",\"checked\").click();'  /> " + objSubElement.name + "</label>").appendTo(paragraph);
	                    $("").appendTo(paragraph);
	                }

	                break;
	        }


	        //--Pas op het laatste moment de items aan elkaar koppelen.
	        header4.appendTo(col);
	        paragraph.appendTo(col);
	        col.appendTo(row);

	        //--Element laten infaden
	        $(col).fadeIn(intAnimationSpeed);

	    }

	    //--Alle inputs overlopen, en als er op geklikt wordt, moet de createConfiguration terug opnieuw beginnen.
	    $("div [id^='divSerie'] p input[type=radio]").click(function () {
	        createConfiguration(strPath, "");
	    });

	    //--Alle selects overlopen en als er iets veranderd wordt createConfiguration opnieuw uitgevoerd
	    $("div [id^='divSerie'] p select").change(function () {
	        createConfiguration(strPath, "");
	    });

	    //--Configurator overlay weghalen
	    $("#configurator-overlay").fadeOut(intAnimationSpeed);


	    //--Width & height instellen voor de overlay
	    $("#configurator-overlay").height(parseFloat($("#configurator").height()) + parseFloat($("#configurator").css("padding-top")) + parseFloat($("#configurator").css("padding-bottom")) + "px");
	    $("#configurator-overlay").width(parseFloat($("#configurator").width()) + parseFloat($("#configurator").css("padding-right")) + parseFloat($("#configurator").css("padding-left")) + "px");
	    $("#configurator-overlay img").css("margin-top", (parseFloat($("#configurator").height()) / 2) - ($("#configurator-overlay img").height() / 2) + "px");

	    changeImageArticleDetail(arrArtikel.image);

	    changePropertiesArticle(arrArtikel);

	    if (arrArtikel.priceIncl != "0.00") {
	 //       $("#add-to-cart").fadeIn();
	        $("#add-to-fav").fadeIn();
	  //      $("#add-to-giftl").fadeIn();
	    }

	    changeFormInputsArticle(arrArtikel);
	});
}

function getSelectedList()
{
	var strParent = "0";
	$("#configurator div[id^='divSerie'] p :input ").each(function()
	{
		switch($(this).attr("type"))
		{
			case "radio":
			if(($(this).attr("checked")) == true)
			{
				var strName = $(this).attr("name");
				var strId = $(this).attr("id");

				strParent = strParent + "_" + strId.substr(strName.length,strId.length);
			}
			break;

			case "select-one":
			strParent = strParent +  "_" + $(this).val();
			break;
		}
	});

	return strParent;
}

function changeImageArticleDetail(strImage)
{
	$(".items a").each(function()
	{
		if($(this).attr("href") == strImage)
		{
			$(this).click();
		}
	});
}

function changePropertiesArticle(arrArtikel)
{
	changeText("#spa-priceIncl",arrArtikel.priceIncl);
//	changeText("#spa-priceExcl",arrArtikel.priceExcl);
	changeText("#em-articleno",arrArtikel.articleno);

	if(parseFloat(arrArtikel.oldPrice) > 0)
	{
		$("#spa-priceOldContainer").fadeIn();
		changeText("#spa-priceOld", arrArtikel.oldPrice);
	}
	else
	{
		$("#spa-priceOldContainer").fadeOut();
	}
  
}

function changeText(object,strText)
{
	if($(object).text() != strText)
	{
		$(object).fadeOut("fast",function()
		{
			$(this).text(strText);
			$(this).fadeIn("fast");
		});
	}


}

function changeFormInputsArticle(arrArtikel) {
    if (arrArtikel.priceno == "0") {
        //console.log("probleem priceno" + arrArtikel.opties);
    }

    $("#priceno").val(arrArtikel.priceno);
    //	alert($("#priceno").val());
    $("#colorno").val(arrArtikel.colorno);

    $("#scrollable .items img").each(function () {
        $(this).hide(0.5);
    });

    var arrElementen = arrArtikel.imglist.split(',');
    for (var x = 0; x < arrElementen.length; x++) {
        var objSubElement = arrElementen[x];
        $("#scrollable .items img[src='" + objSubElement + "']").show(0.5);
        if (x == 0) {
            $("#zoom1 img").attr('src', objSubElement.replace('_40x40', ''));
        }
    }

    if (parseInt(arrArtikel.store) < 1) {
        $("#add-to-cart").fadeOut();
        $("span.in-stock").fadeOut();
    } else {
        $("#add-to-cart").fadeIn();
        $("span.in-stock").fadeIn();
    }
}

function changePriceInformation(objPriceInfo)
{
	changeText("#spaTotal",objPriceInfo.total);
	if(parseFloat(objPriceInfo.discount) == 0)
	{
		$("#coupon-disc").fadeOut("fast");
	}
	else
	{

		$("#coupon-disc").fadeIn("fast");
	}

	changeText("#spaReduction",objPriceInfo.discount);
}

function SendInvitations(itemno)
{
	$("#emails"+itemno).slideUp();
	$("#emails"+itemno).slideDown();

	var params = "giftlistno=" + itemno + "&emails=" + $("#friends" + itemno).val();
	$.post("/tools/ajax_send_giftlistinvitation.ashx",params,function(data)
	{
		if(data.status == 0)
		{
			$("#emails"+itemno).slideUp();
			$("#errors"+itemno).html(data.message);
			$("#errors"+itemno).slideDown();
		}
		else if(data.status == 1)
		{
			$("#errors"+itemno).slideUp();
			$("#emails"+itemno).html(data.message);
			$("#emails"+itemno).slideDown();
		}
	},"json");
}


function GetKey(e)
{
	if (window.event)
	return window.event.keyCode;
	else if (e)
	return e.which;
	else
	return null;
}

function writeFlash(p) {
	writeEmbed(
	'D27CDB6E-AE6D-11cf-96B8-444553540000',
	'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0',
	'application/x-shockwave-flash',
	p
	);
}

function writeEmbed(cls, cb, mt, p) {
	var h = '', n;

	h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
	h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
	h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
	h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
	h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
	h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
	h += '>';

	for (n in p)
	h += '<param name="' + n + '" value="' + p[n] + '">';

	h += '<embed type="' + mt + '"';

	for (n in p)
	h += n + '="' + p[n] + '" ';

	h += '></embed></object>';

	document.write(h);
}
