/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var unloadMessage;

function is_numeric (mixed_var) {
    // Returns true if value is a number or a numeric string
    return (typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);
}

//Veranderd css elementen van een HTML element
function changecss(theClass,element,value)
{
    var cssRules;

    var added = false;
    for (var S = 0; S < document.styleSheets.length; S++)
    {
        if (document.styleSheets[S]['rules'])
        {
            cssRules = 'rules';
        } 
        else if (document.styleSheets[S]['cssRules'])
        {
            cssRules = 'cssRules';
        } 
        else
        {
        //no rules found... browser unknown
        }

        for (var R = 0; R < document.styleSheets[S][cssRules].length; R++)
        {
            if (document.styleSheets[S][cssRules][R].selectorText == theClass)
            {
                if(document.styleSheets[S][cssRules][R].style[element])
                {
                    document.styleSheets[S][cssRules][R].style[element] = value;
                    added=true;
                    break;
                }
            }
        }
        if(!added)
        {
            if(document.styleSheets[S].insertRule)
            {
                document.styleSheets[S].insertRule(theClass+' { '+element+': '+value+'; }',document.styleSheets[S][cssRules].length);
            } 
            else if (document.styleSheets[S].addRule)
            {
                document.styleSheets[S].addRule(theClass,element+': '+value+';');
            }
        }
    }
}

function print_r (array, return_val) {
    // Prints out or returns information about the specified variable
    //
    // version: 1004.2314
    // discuss at: http://phpjs.org/functions/print_r    // +   original by: Michael White (http://getsprink.com)
    // +   improved by: Ben Bryan
    // +      input by: Brett Zamir (http://brett-zamir.me)
    // +      improved by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)    // -    depends on: echo
    // *     example 1: print_r(1, true);
    // *     returns 1: 1

    var output = "", pad_char = " ", pad_val = 4, d = this.window.document;
    var getFuncName = function (fn) {
        var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);
        if (!name) {
            return '(Anonymous)';
        }
        return name[1];
    };

    var repeat_char = function (len, pad_char) {
        var str = "";
        for (var i=0; i < len; i++) {
            str += pad_char;
        }
        return str;
    };
    var formatArray = function (obj, cur_depth, pad_val, pad_char) {
        if (cur_depth > 0) {
            cur_depth++;
        }
        var base_pad = repeat_char(pad_val*cur_depth, pad_char);
        var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);
        var str = "";
        if (typeof obj === 'object' && obj !== null && obj.constructor && getFuncName(obj.constructor) !== 'PHPJS_Resource') {
            str += "Array\n" + base_pad + "(\n";
            for (var key in obj) {
                if (obj[key] instanceof Array) {
                    str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);
                } else {
                    str += thick_pad + "["+key+"] => " + obj[key] + "\n";
                }
            }
            str += base_pad + ")\n";
        } else if (obj === null || obj === undefined) {
            str = '';
        } else { // for our "resource" class
            str = obj.toString();
        }
        return str;
    };

    output = formatArray(array, 0, pad_val, pad_char);
    if (return_val !== true) {
        if (d.body) {
            this.echo(output);
        } else {
            try {
                d = XULDocument; // We're in XUL, so appending as plain text won't work; trigger an error out of XUL
                this.echo('<pre xmlns="http://www.w3.org/1999/xhtml" style="white-space:pre;">'+output+'</pre>');
            } catch (e) {
                this.echo(output); // Outputting as plain text may work in some plain XML
            }
        }
        return true;
    } else {
        return output;
    }
}

function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null )
        node = document;
    if ( tag == null )
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    for (i = 0, j = 0; i < elsLen; i++) {
        if ( pattern.test(els[i].className) ) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}

function change_categorie(categorie_id, divers)
{
    var object_name = 'cat'+categorie_id;
    var object_class = '.'+object_name;

    document.getElementById('show_id').value = categorie_id;

    changecss(object_class, 'display', 'block');

    var objecten = getElementsByClass('productlijst');
    for (i = 0; i < objecten.length; i++)
    {
        if(objecten[i].id != object_name)
        {
            var objecten_class = '.'+objecten[i].id;
            changecss(objecten_class, 'display', 'none');
        }
    }

    var categorieen = getElementsByClass('categorie');
    var categorie_object_id = 'categorie'+categorie_id
    for (i = 0; i < categorieen.length; i++)
    {
        if(categorieen[i].id == categorie_object_id)
        {
            jQuery('#'+categorieen[i].id).addClass('actief');
        }
        else
        {
            jQuery('#'+categorieen[i].id).removeClass('actief');
        }
    }

    if(divers == true)
    {
        changecss('.foto', 'display', 'none');
        jQuery('#toevoegen1').attr('disabled', 'disabled');
        jQuery('#toevoegen2').attr('disabled', 'disabled');
    }
    else
    {
        changecss('.foto', 'display', 'block');
        jQuery('#toevoegen1').removeAttr('disabled');
        jQuery('#toevoegen2').removeAttr('disabled');
    }
}

function foto_change_effect(productcategorie, pagina_id, bestand)
{
    var elm;
    if(productcategorie == 'foto')
    {
        elm = document.bestelForm.effectfoto;
    }
    else if(productcategorie == 'product')
    {
        elm = document.bestelForm.effectproduct.value;
    }
    else
    {
        alert('ERROR');
    }
    
    var effect;
    for(var i = 0; i < elm.length; i++)
    {
        if(elm[i].checked)
        {
            effect = elm[i].value;
        }
    }

    var img = document.getElementById('afbeelding');
    img.src = SITE_ROOT_URL+'/system/application/images/loader.png';
    img.src = SITE_ROOT_URL+effect+'/'+pagina_id+'/'+bestand;
}

function product_toevoegen(foto_id)
{
    var elm = document.bestelForm.effectfoto;

    var effect;
    for(var i = 0; i < elm.length; i++)
    {
        if(elm[i].checked)
        {
            effect = elm[i].value;
        }
    }

    active_cat = document.getElementById('show_id').value;
    var producten = getElementsByClass('productcat'+active_cat);
    var begin = 'foto_id='+foto_id+'&effect='+effect;
    ajax_string = begin;
    for(var i = 0; i < producten.length; i++)
    {
        if(producten[i]['value'] > 0 && is_numeric(producten[i]['value']))
        {
            ajax_string += '&'+producten[i]['name']+'='+producten[i]['value'];
            producten[i].value = '';
        }
    }

    if(ajax_string != begin)
    {
        jQuery.ajax(
        {
            type: "POST",
            url: SITE_ROOT_URL+"site/ajax_product_toevoegen",
            data: ajax_string,
            async: false,
            success: function(data) {
                if(data.substring(0,6) != 'gelukt')
                {
                    alert(data);
                }
                else
                {
                    alert('Product(en) toegevoegd');
                    winkelwagen = document.getElementById('winkelwagen_grootte');
                    winkelwagen.innerHTML = data.substring(6);
                }
            }
        });
    }
    else
    {
        alert('Geen producten om toe te voegen.');
    }
}

//WORDT NIET MEER GEBRUIKT
function product_toevoegen_divers(foto_id, product_id)
{
    var elm = document.bestelForm.effectfoto;

    var effect;
    for(var i = 0; i < elm.length; i++)
    {
        if(elm[i].checked)
        {
            effect = elm[i].value;
        }
    }

    var formaat = document.getElementById('formaat'+product_id).value;
    if(formaat)
    {
        var begin = 'foto_id='+foto_id+'&effect='+effect;
        ajax_string = begin;

        var aantal = document.getElementById('aantal'+product_id).value;

        if(aantal > 0 && is_numeric(aantal))
        {
            ajax_string += '&product'+product_id+'_'+formaat+'='+aantal;
            document.getElementById('aantal'+product_id).value = '';

            if(ajax_string != begin)
            {
                jQuery.ajax(
                {
                    type: "POST",
                    url: SITE_ROOT_URL+"site/ajax_product_toevoegen_divers",
                    data: ajax_string,
                    async: false,
                    success: function(data) {
                        if(data.substring(0,6) != 'gelukt')
                        {
                            alert(data);
                        }
                        else
                        {
                            alert('Product(en) toegevoegd');
                            winkelwagen = document.getElementById('winkelwagen_grootte');
                            winkelwagen.innerHTML = data.substring(6);
                        }
                    }
                });
            }
        }
        else
        {
            alert('Ongelding aantal ingevuld.');
        }
    }
    else
    {
        alert('Geen formaat geselecteerd.');
    }
}

function product_toevoegen_divers1(product_id, keuzeset_id)
{
    var aantal = document.getElementById('product'+product_id).value;
    if(is_numeric(aantal) && aantal > 0)
    {
        var begin = 'product_id='+product_id+'&aantal='+aantal+'&keuzeset_id='+keuzeset_id;
        ajax_string = begin;

        jQuery.ajax(
        {
            type: "POST",
            url: SITE_ROOT_URL+"site/ajax_product_toevoegen_divers1",
            data: ajax_string,
            async: false,
            success: function(data) {
                if(data.substring(0,6) != 'gelukt')
                {
                    alert(data);
                }
                else
                {
                    alert('Product(en) toegevoegd');
                    winkelwagen = document.getElementById('winkelwagen_grootte');
                    winkelwagen.innerHTML = data.substring(6);
                }
            }
        });
    }
    else
    {
        alert('Geen geldig aantal ingevuld.');
    }
}

function product_toevoegen_divers2(product_id, keuzeset_id)
{
    var aantal = document.getElementById('aantal'+product_id).value;
    if(is_numeric(aantal) && aantal > 0)
    {
        var formaat = document.getElementById('formaat'+product_id).value;
        if(formaat)
        {
            var begin = 'product_id='+product_id+'_'+formaat+'&aantal='+aantal+'&keuzeset_id='+keuzeset_id;
            ajax_string = begin;

            jQuery.ajax(
            {
                type: "POST",
                url: SITE_ROOT_URL+"site/ajax_product_toevoegen_divers2",
                data: ajax_string,
                async: false,
                success: function(data) {
                    if(data.substring(0,6) != 'gelukt')
                    {
                        alert(data);
                    }
                    else
                    {
                        alert('Product(en) toegevoegd');
                        winkelwagen = document.getElementById('winkelwagen_grootte');
                        winkelwagen.innerHTML = data.substring(6);
                    }
                }
            });
        }
        else
        {
            alert('Geen formaat geselecteerd.');
        }
    }
    else
    {
        alert('Geen geldig aantal ingevuld.');
    }
}

function product_toevoegen_webwinkel(keuzeset_id)
{
    active_cat = document.getElementById('show_id').value;
    var producten = getElementsByClass('productcat'+active_cat);
    var begin = 'keuzeset_id='+keuzeset_id;
    ajax_string = begin;
    for(var i = 0; i < producten.length; i++)
    {
        if(producten[i]['value'] > 0 && is_numeric(producten[i]['value']))
        {
            ajax_string += '&'+producten[i]['name']+'='+producten[i]['value'];
            producten[i].value = '';
        }
    }

    if(ajax_string != begin)
    {
        jQuery.ajax(
        {
            type: "POST",
            url: SITE_ROOT_URL+"site/ajax_product_toevoegen_webwinkel",
            data: ajax_string,
            async: false,
            success: function(data) {
                if(data.substring(0,6) != 'gelukt')
                {
                    alert(data);
                }
                else
                {
                    alert('Product(en) toegevoegd');
                    winkelwagen = document.getElementById('winkelwagen_grootte');
                    winkelwagen.innerHTML = data.substring(6);
                }
            }
        });
    }
    else
    {
        alert('Geen producten om toe te voegen.');
    }
}

function product_toevoegen_webwinkel_divers(keuzeset_id, product_id)
{
    var formaat = document.getElementById('formaat'+product_id).value;
    if(formaat)
    {
        var begin = 'keuzeset_id='+keuzeset_id;
        ajax_string = begin;

        var aantal = document.getElementById('aantal'+product_id).value;

        if(aantal > 0 && is_numeric(aantal))
        {
            ajax_string += '&product'+product_id+'_'+formaat+'='+aantal;
            document.getElementById('aantal'+product_id).value = '';

            if(ajax_string != begin)
            {
                jQuery.ajax(
                {
                    type: "POST",
                    url: SITE_ROOT_URL+"site/ajax_product_toevoegen_webwinkel_divers",
                    data: ajax_string,
                    async: false,
                    success: function(data) {
                        if(data.substring(0,6) != 'gelukt')
                        {
                            alert(data);
                        }
                        else
                        {
                            alert('Product(en) toegevoegd');
                            winkelwagen = document.getElementById('winkelwagen_grootte');
                            winkelwagen.innerHTML = data.substring(6);
                        }
                    }
                });
            }
        }
        else
        {
            alert('Ongelding aantal ingevuld.');
        }
    }
    else
    {
        alert('Geen formaat geselecteerd.');
    }
}

function winkelwagen_verander_aantal_foto(input)
{
    jQuery.ajax(
    {
        type: "POST",
        url: SITE_ROOT_URL+"site/ajax_winkelwagen_verander_aantal_foto",
        data: "naam="+input.name+"&aantal="+input.value,
        async: false,
        success: function(data) {
            if(data != 'gelukt')
            {
                alert(data);
            }
            window.location.reload(true);
        }
    });
}

function winkelwagen_verander_aantal_divers(input)
{
    jQuery.ajax(
    {
        type: "POST",
        url: SITE_ROOT_URL+"site/ajax_winkelwagen_verander_aantal_divers",
        data: "naam="+input.name+"&aantal="+input.value,
        async: false,
        success: function(data) {
            if(data != 'gelukt')
            {
                alert(data);
            }
            window.location.reload(true);
        }
    });
}

function winkelwagen_product_verwijderen_foto(keuzeset_id, foto_id, product_id, effect)
{
    jQuery.ajax(
    {
        type: "POST",
        url: SITE_ROOT_URL+"site/ajax_winkelwagen_product_verwijderen_foto",
        data: "foto+id="+foto_id+"&product_id="+product_id+"&effect="+effect+"&keuzeset="+keuzeset_id,
        async: false,
        success: function(data) {
            if(data != 'verwijderd')
            {
                alert(data);
            }
            else
            {
                window.location.reload(true);
            }
        }
    });
}

function winkelwagen_product_verwijderen_divers(keuzeset_id, product_id, formaat)
{
    jQuery.ajax(
    {
        type: "POST",
        url: SITE_ROOT_URL+"site/ajax_winkelwagen_product_verwijderen_divers",
        data: "product_id="+product_id+"&formaat="+formaat+"&keuzeset="+keuzeset_id,
        async: false,
        success: function(data) {  
            if(data != 'verwijderd')
            {
                alert(data);
            }
            else
            {
                window.location.reload(true);
            }
        }
    });
}

function save_bestelling()
{
    jQuery.ajax(
    {
        type: "POST",
        url: SITE_ROOT_URL+"site/ajax_save_bestelling",
        data: "bestelling=bestelling",
        async: false,
        success: function(data2) {
            if(data2 != 'gelukt')
            {
                alert('ERROR');
                //document.getElementById('ideal_form').submit();
            }
            else
            {          
                document.getElementById('ideal_form').submit();
            }
        }
    });
}