function WebCheckKey(elm, value, minimumOrderQuantity, priceUnit) 
{
    if (window.event.keyCode == 13) 
    {
        if (WebMax(elm, value, minimumOrderQuantity, priceUnit))
            return true;
        else
            return false;
    }
}

function WebMax(input, value, minimumOrderQuantity, priceUnit) 
{
    input.value = Trim(input.value);
    if (input.value == "")
        return false;

    if (!IsNumeric(input.value)) 
    {
        input.value = "";
        return false;
    }

    if (!CheckQuant(input, input.name, minimumOrderQuantity, priceUnit))
        return false;

    if ((input.value * 1) > (value * 1)) 
    {
        input.value = value;
        alert("U kunt nog maar " + value + " stuk(s) van dit product bestellen!");
        return false;
    }

    return true;
}

function Trim(value)
{
    return value.replace(/^\s*|\s*$/g,"");
}
function IsNumeric(value)
{
    var c;
    var validChars = "0123456789.";
    var isNumeric = true;

    for (var i = 0; i < value.length && isNumeric == true; i++) {
        c = value.charAt(i);
        if (validChars.indexOf(c) == -1)
            isNumeric = false;
    }

    return isNumeric;
}
function CheckKey(elm, bestelnr, minafname, eenheid) {

    if (window.event.keyCode == 13)
    {
        if (CheckQuant(elm, bestelnr, minafname, eenheid))
            return true;
        else
            return false;
    }
}
function CheckQuant(input, supplierOrderCode, minimumOrderQuantity, priceUnit)
{
    input.value = Trim(input.value);
    input.value = input.value.replace(",", ".");
    minimumOrderQuantity = minimumOrderQuantity.replace(",", ".");

    if (input.value == "")
        return false;
    
    if (!IsNumeric(input.value))
    {
        alert("De opgegeven bestelhoeveelheid van artikel " + supplierOrderCode + " is niet numeriek.");
        input.value = "";
        return false;
    }
       
    if ((input.value == 0) || (input.value % minimumOrderQuantity != 0))
    {
        value = (parseInt(input.value / minimumOrderQuantity) + 1) * minimumOrderQuantity;
        
        msg = "Artikel " + supplierOrderCode + " kan alleen in hoeveelheden van ";
        msg += minimumOrderQuantity + " " + priceUnit + " worden besteld.\n";
        msg += "Bestelhoeveelheid wijzigen van " + input.value + " ";
        msg += priceUnit + " in " + value + " " + priceUnit + "?";
        
        if (confirm(msg))
        {
            input.value = value;
            input.value = input.value.replace(".", ",");
            return true;
        }
        else
        {
            input.value = "";
            return false;
        }
    }
    
    input.value = input.value.replace(".", ",");
    return true;
}

function OnSubmitOrderForm()
{   if (navigator.appName == 'Netscape') // FireFox
    { 
    
	    for (var i = 0; i < ArtSelect.elements.length; i++)
			    if (ArtSelect.elements[i].id == "OrderNummer")
			    {   ArtSelect.elements[i].value = document.getElementById("OrderNummer").value
			    }
        return true;
	}
	else  // Internet Explorer
	{   
	
	    for (var i = 0; i < ArtSelect.elements.length; i++)
			    if (ArtSelect.elements[i].id == "OrderNummer")
			    {   ArtSelect.elements[i].value = document.getElementById("OrderNummer").value
			    }
        return true;
	}
	
}

function OnSubmitOrderFormABB(objTopFrame,url)
{
	if (objTopFrame != null)
	{
		var strPostVars = "OrderNummer=" + objTopFrame.document.getElementById("OrderNummer").value;
		for (var i = 0; i < document.getElementById(url).elements.length; i++)
			if (document.getElementById(url).elements[i].type == "text")
				if (document.getElementById(url).elements[i].id != "")
					if (document.getElementById(url).elements[i].value != "")
						strPostVars += "&" + document.getElementById(url).elements[i].id + "=" + document.getElementById(url).elements[i].value;
		
		PostOrderForm(document.getElementById(url).action, strPostVars);
		ClearOrderFormABB(url);
		objTopFrame.location.reload();
	}
	return false;
}

function PostOrderForm(strUrl, strPostVars)
{	
	var objSrvHttp = new ActiveXObject("Microsoft.XMLHTTP");
	objSrvHttp.open("POST", strUrl, false);
	objSrvHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objSrvHttp.send("&" + strPostVars);
}

function ClearOrderForm()
{  
	for (var i = 0; i < ArtSelect.elements.length; i++)
		if (ArtSelect.elements[i].type == "text")
			if (ArtSelect.elements[i].value != "")
				ArtSelect.elements[i].value = "";
}
function ClearOrderFormABB(url)
{
    
	for (var i = 0; i < document.getElementById(url).elements.length; i++)
		if (document.getElementById(url).elements[i].type == "text")
			if (document.getElementById(url).elements[i].value != "")
				document.getElementById(url).elements[i].value = "";
}
function SetOrderSession(strOrderNummer)
{
	var objSrvHttp = new ActiveXObject("Microsoft.XMLHTTP");
	objSrvHttp.open("GET", "Order/SetOrderSession.asp?" + strOrderNummer, false);
	objSrvHttp.send();
}

function DisableContextMenuForImages()
{
	var objImages = document.getElementsByTagName("img");
	for (var i = 0; i < objImages.length; i++)
		objImages[i].oncontextmenu = function() { return false; };
}

function WaitForMenuBalk(strMenu, strSubMenu, strMenuItem)
{
	if (!top.frames[0].document.getElementById("lastElement"))
		setTimeout("WaitForMenuBalk('" + strMenu + "','" + strSubMenu + "','" + strMenuItem + "');", 500);
	else
		top.frames[0].ShowSubMenuByString(strMenu, strSubMenu, strMenuItem);
}

function ShowVoorraad(strArtikel)
{
    $("#loaddialog").load('../producten/ShowVoorraad2.asp?Actie=Zoeken&Artikel=' + strArtikel, function() {
        $("#loaddialog").dialog({
            width: 800,
            resizable: false,
            height: 600,
            modal: true,
            title: $("#vrdomschrijving").val(),
            open: function() { // fix for IE height & position                            
                $(".ui-dialog-content").css('padding-left', '0px');
                $(".ui-dialog-content").css('padding-top', '0px');
                $(".ui-dialog-content").css('padding-right', '1px');

                $(this).parent().height($(this).dialog('option', 'height'));
                $(this).height('auto');
                $(this).dialog('option', 'position', 'center');
            }
        });
    });    	
}

function ShowRelatie(strArtikel)
{
	b = screen.availWidth-30;
	h = 500;
	x = (screen.availWidth-b)/2;
	y = (screen.availHeight-h)/2;

	window.open('../producten/ArtikelRelatie.asp?ArtNr='+strArtikel,'RelatiePopUp','location=no,width='+b+',height='+h+',left='+x+',top='+y+',menubar=no,scrollbars=yes,resizable=yes');
}

function ShowBarcode() {
    var x;
    var strArtLijst;
    var iCount;

    strArtLijst = "";
    iCount = 0;

    //popup
    $.get('../jQuery_getBarcodeType.asp', function(data) {
        if (data == "1" || data == "2") {
            //alle velden in het formulier doorlopen
            for (x = 0; x < document.ArtSelect.length; x++) {
                //controleren of het veld een afdekking is
                if (document.ArtSelect.elements[x].name.substr(0, 3) == 'chk') {
                    if (document.ArtSelect.elements[x].checked) {
                        //het artikelnummer selecteren
                        strArtLijst = strArtLijst + document.ArtSelect.elements[x].name.substr(3, 8) + "|";
                        iCount = iCount + 1;
                    }
                }
            }

            if (iCount < 1)
                alert("Om een barcode to genereren dient u \nminimaal één artikel te selecteren!");
            else {
                strArtLijst = strArtLijst.substr(0, strArtLijst.length - 1);
                window.open('../producten/barcode.asp?ArtLijst=' + strArtLijst, '_blanc');
            }
        }
        else {
            $("#dialog").dialog({
                height: 300,
                width: 600,
                modal: true,
                resizable: false,
                open: function() { // fix for IE height & position
                    $(this).parent().height($(this).dialog('option', 'height'));
                    $(this).height('auto');
                    $(this).dialog('option', 'position', 'center');
                }
            });
        }
    });
}

function ShowVergelijken() {
    var x;
    var strArtLijst;
    var iCount;

    strArtLijst = "";
    iCount = 0;

    //alle velden in het formulier doorlopen
    for (x = 0; x < document.ArtSelect.length; x++) {
        //controleren of het veld een afdekking is
        if (document.ArtSelect.elements[x].name.substr(0, 3) == 'chk') {
            if (document.ArtSelect.elements[x].checked) {
                //het artikelnummer selecteren
                strArtLijst = strArtLijst + document.ArtSelect.elements[x].name.substr(3, 8) + "|";
                iCount = iCount + 1;
            }
        }
    }

    if (iCount < 2)
        alert("Om te kunnen vergelijken dient u \nminimaal twee artikelen te selecteren!");
    else {
        if (iCount > 5)
            alert("U kunt maximaal vijf artikelen met elkaar vergelijken!");
        else {
            strArtLijst = strArtLijst.substr(0, strArtLijst.length - 1);
            window.open('../producten/Vergelijk.asp?Aantal=' + iCount + '&ArtLijst=' + strArtLijst, '_self');
        }
    }
}


function AddProject() {
    var i;
    var intCount = 0;
    var objForm = document.getElementById('ArtSelect');
    var strBestelNrs = "";

    for (i = 0; i < objForm.elements.length; i++) {
        if ((objForm.elements[i].type == "checkbox") && (objForm.elements[i].checked) && (objForm.elements[i].name.substr(0, 3) == 'chk')) {
            var length = objForm.elements[i].name.length;
            strBestelNrs += objForm.elements[i].name.substr(3, length) + "|";
            intCount = +1;
        }
    }

    if (intCount == 0)
        alert("Om artikelen toe te voegen aan een project\ndient u minimaal één artikel te selecteren!");
    else {
        strBestelNrs = strBestelNrs.substr(0, strBestelNrs.length - 1);
        window.open('../Order/AddProject.asp?BestelNr=' + strBestelNrs, '_self');
    }
}

function AddFavorit()
{
    var i;
    var intCount = 0;
    var objForm = document.getElementById('ArtSelect');
    var strBestelNrs = "";

    for (i = 0; i < objForm.elements.length; i++)
    {
        if ((objForm.elements[i].type == "checkbox") && (objForm.elements[i].checked) && (objForm.elements[i].name.substr(0, 3) == 'chk'))
        {
            var length = objForm.elements[i].name.length;
            strBestelNrs += objForm.elements[i].name.substr(3, length) + "|";
            intCount =+ 1;
        }
    }

	if (intCount == 0)
		alert("Om artikelen toe te voegen aan een favorietenlijst\ndient u minimaal één artikel te selecteren!");
	else
	{
		strBestelNrs = strBestelNrs.substr(0, strBestelNrs.length - 1);
		window.open('../Order/AddFavorit.asp?BestelNr='+strBestelNrs,'_self');
	}
}
function AddFavoritABB(strfilename)
{
    var i;
    var intCount = 0;
    var objForm = document.getElementById(strfilename);
    var strBestelNrs = "";

    for (i = 0; i < objForm.elements.length; i++)
    {
        if ((objForm.elements[i].type == "checkbox") && (objForm.elements[i].checked))
        {
            var length = objForm.elements[i].name.length;
            strBestelNrs += objForm.elements[i].name.substr(3, length) + "|";
            intCount =+ 1;
        }
    }

	if (intCount == 0)
		alert("Om artikelen toe te voegen aan een favorietenlijst\ndient u minimaal één artikel te selecteren!");
	else
	{
		strBestelNrs = strBestelNrs.substr(0, strBestelNrs.length - 1);
		window.open('../Order/AddFavorit.asp?BestelNr='+strBestelNrs,'_self');
	}
}
function ShowAlternatief(strArtikel)
{
	window.open('../producten/InputArtSpecs.asp?Artikel='+strArtikel,'_self');
	
}

function ShowSpecs(strArtikel, omschrijving)
{
    $("#specsdialog").load('ArtikelSpecs.asp?Artikel=' + strArtikel, function() {
        $("#specsdialog").dialog({
            width: 500,
            resizable: false,
            height: 'auto',
            modal: true,
            title: omschrijving,
            open: function() { // fix for IE height & position                            
                $(".ui-dialog-content").css('padding-left', '0px');
                $(".ui-dialog-content").css('padding-top', '0px');
                $(".ui-dialog-content").css('padding-right', '1px');

                $(this).parent().height($(this).dialog('option', 'height'));
                $(this).height('auto');
                $(this).dialog('option', 'position', 'center');
            }
        });
    });
}

function SelectFirstTextBox()
{
	var objForm = document.getElementById('ArtSelect');
	for (var i = 0; i < objForm.elements.length; i++)
	{
		if (objForm.elements[i].type == "text")
		{
			objForm.elements[i].focus();
			break;
		}
	}	
}
function SelectFirstTextBoxABB()
{
	var objForm = document.getElementById('ArtikelLijstABB');
	for (var i = 0; i < objForm.elements.length; i++)
	{
		if (objForm.elements[i].type == "text")
		{
			objForm.elements[i].focus();
			break;
		}
	}	
}
function SetCaretToEnd(input)
{
/*
	if (input.createTextRange)
	{
		var range = input.createTextRange();
		range.moveEnd('character', input.value.length);
		range.moveStart('character', input.value.length);
		range.select();
	}
*/

	// De CreateTextRange() functie geeft problemen bij bepaalde firewalls vanwege een exploit.
	// Zie https://mysecurity.zyxel.com/mysecurity/jsp/policy.jsp?ID=1052276
	input.focus();
	return;
}

function VerhoogVerpakking(elm, qty)
{
	var elmCount;

	if (document.getElementById(elm) != null) {
	    if (document.getElementById(elm).value == 0) {
	        elmCount = 1;
	    }
	    else if (IsNumeric(document.getElementById(elm).value)) {
	        elmCount = Math.floor((parseFloat(document.getElementById(elm).value) + qty) / qty);
	    }
	    else {
	        elmCount = 1;
	    }
	    document.getElementById(elm).value = elmCount * qty;
	}
}

function focusselect(id)
{
    var elm = document.getElementById(id);
    elm.focus();
    elm.select();
}

function refreshOrderFrame()
{
    if (navigator.appName == 'Netscape')    
    {   parent.frames.top.frames.orderframe.location.reload(); }
    else
    {   parent.document.frames[1].document.frames[0].location.reload(); }
}

function urlencode(s) {
    return encodeURIComponent(s).replace(/\%20/g, '+').replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/\~/g, '%7E');
}

function isNumber(mynum) {
    return IsNumeric(mynum);
}

function addOrderLines2(refresh, externapp) {
    var dataString;
    dataString = "dummyvar=1";

    // save everything
    for (i = 0; i < document.getElementById("ArtSelect").elements.length; i++) {
        if (urlencode(document.getElementById("ArtSelect").elements[i].id)) {
            dataString = dataString + "&" + urlencode(document.getElementById("ArtSelect").elements[i].id) + "=" + escape(document.getElementById("ArtSelect").elements[i].value);
        }
    }
    dataString = dataString + "&x=" + (new Date()).getTime();

    var url = '';
    if (externapp) {
        url = "../Order/AddMandjeLines.asp";
    }
    else {
        url = "../Order/AddOrderLines.asp";
    }

    $.ajax({
        type: "POST",
        url: url,
        data: dataString,
        success: function(data) {
            emptyOrderFields();
            if (isCoBrowsing()) {
                var newLocation = window.location.href;
                if (newLocation.indexOf("?") != -1) {
                    newLocation = newLocation.replace("&tmp=" + getQueryVariable("tmp"), "");
                } else {
                    newLocation = newLocation + "?";
                }
                newLocation = newLocation + "&tmp=" + (new Date()).getTime();
                window.location.href = newLocation;
            }
            else if (refresh) {
                window.location.reload();
            }
            else {
                if (!externapp) {
                    refreshOrderList(data);
                }
                else {
                    refreshMandjeList();
                }
            }
        }
    });

    return false;
}

function addOrderLines(refresh, externapp) {

    $("#OrderNummer", $("form[name='ArtSelect']")).val($("select#OrderNummer").val());

    if ($("select#OrderNummer").val() == '') {
        $.ajax({
            type: "POST",
            url: "../Order/jQuery_selectOrderAmount.asp",
            success: function(data) {
                if (data < 20) {
                    addOrderLines2(refresh, externapp);
                }
                else { // Teveel orders.. laat popup zien
                    var b = 300;
                    var h = 300;
                    var x = ((screen.availWidth - b) / 2);
                    var y = ((screen.availHeight - h) / 2);

                    //                    window.open('../Order/MaxOrders.asp', 'MaxOrderPopUp', 'location=no,width=' + b + ',height=' + h + ',left=' + x + ',top=' + y + ',menubar=no,scrollbars=no,resizable=no');
                    displayMaxOrders();
                }
            }
        });
    }
    else {
        addOrderLines2(refresh, externapp);
    }

    return false;
}

function displayMaxOrders() {
    $("#maxOrderconfirm").dialog({
        height: 190,
        width: 450,
        resizable: false,
        modal: true,
        open: function() { // fix for IE height & position
            $(this).parent().height($(this).dialog('option', 'height'));
            $(this).height('auto');
            $(this).dialog('option', 'position', 'center');
        }
    });
}

function emptyOrderFields() {
    var elementid;

    for (i = 0; i < document.getElementById("ArtSelect").elements.length; i++) {
        elementid = document.getElementById("ArtSelect").elements[i].id;
        if (isNumber(elementid) || elementid.indexOf("vk_") > 0) {
//            if(document.getElementById(elementid + "_divtxt"))
//                document.getElementById(elementid + "_divtxt").innerHTML = "";
            if (isNumber(document.getElementById("ArtSelect").elements[i].value) && document.getElementById("ArtSelect").elements[i].value != "") {
                document.getElementById("ArtSelect").elements[i].value = '';
                document.getElementById(elementid + "_divtxt").innerHTML = "<i>Artikel toegevoegd</i>";
            }
        }
    }
}

function refreshOrderList(ordernr) {
    $("#orderselectdiv").load("../Order/jQuery_fillOrderSelect.asp?order=" + ordernr + "&x=" + (new Date()).getTime());
}

function refreshMandjeList() {
    //alert(ordernr);
    $("#orderselectdiv").load("../Order/jQuery_fillMandjeSelect.asp?x=" + (new Date()).getTime());
}

function isCoBrowsing() {
    return false; // tijdelijk altijd op true voor live omgeving
    /*if (lccb.lccbGetCobrowseID() === 'null') {
        return false;
    }
    else {
        return true;
    }*/
}

function getQueryVariable(variable) 
{ 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) 
    { 
        var pair = vars[i].split("="); 
        if (pair[0] == variable) 
        { 
            return pair[1]; 
        } 
    } 
} 

