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 (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)
{
	b = 880;
	h = 500;
	x = ((screen.availWidth-b)/2);
	y = ((screen.availHeight-h)/2);

	window.open('../producten/ShowVoorraad2.asp?Actie=Zoeken&Artikel='+strArtikel,'VoorraadPopUp','location=no,width='+b+',height='+h+',left='+x+',top='+y+',menubar=no,scrollbars=no,resizable=no');
}

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;

    //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 een artikel te selecteren!");
    else {
        strArtLijst = strArtLijst.substr(0, strArtLijst.length - 1);
        window.open('../producten/barcode.asp?ArtLijst=' + strArtLijst, '_blanc');
    }
}

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 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))
        {
            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)
{
	b = 530;
	h = 500;
	
	x = (screen.availWidth-b)/2;
	y = (screen.availHeight-h)/2;

	window.open('ArtikelSpecs.asp?Artikel='+strArtikel,'SpecPopUp','location=no,width='+b+',height='+h+',left='+x+',top='+y+',menubar=no,scrollbars=yes,resizable=no');
}

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).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(); }
}
    