var http; // Notre objet XMLHttpRequest

var confsupp = 0; //Confirmation avant suppression (1 oui, 0 non)
function parse_str (str, array){
    // http://kevin.vanzonneveld.net
    // +   original by: Cagri Ekin
    // +   improved by: Michael White (http://getsprink.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // +   reimplemented by: stag019
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // +   bugfixed by: stag019
    // -    depends on: urldecode
    // %        note 1: When no argument is specified, will put variables in global scope.
    // *     example 1: var arr = {};
    // *     example 1: parse_str('first=foo&second=bar', arr);
    // *     results 1: arr == { first: 'foo', second: 'bar' }
    // *     example 2: var arr = {};
    // *     example 2: parse_str('str_a=Jack+and+Jill+didn%27t+see+the+well.', arr);
    // *     results 2: arr == { str_a: "Jack and Jill didn't see the well." }

    var glue1 = '=', glue2 = '&', array2 = String(str).split(glue2),
    i, j, chr, tmp, key, value, bracket, keys, evalStr, that = this,
    fixStr = function (str) {
        return that.urldecode(str).replace(/([\\"'])/g, '\\$1').replace(/\n/g, '\\n').replace(/\r/g, '\\r');
    };

    if (!array) {
        array = this.window;
    }

    for (i = 0; i < array2.length; i++) {
        tmp = array2[i].split(glue1);
        if (tmp.length < 2) {
            tmp = [tmp, ''];
        }
        key   = fixStr(tmp[0]);
        value = fixStr(tmp[1]);
        while (key.charAt(0) === ' ') {
            key = key.substr(1);
        }
        if (key.indexOf('\0') !== -1) {
            key = key.substr(0, key.indexOf('\0'));
        }
        if (key && key.charAt(0) !== '[') {
            keys    = [];
            bracket = 0;
            for (j = 0; j < key.length; j++) {
                if (key.charAt(j) === '[' && !bracket) {
                    bracket = j + 1;
                }
                else if (key.charAt(j) === ']') {
                    if (bracket) {
                        if (!keys.length) {
                            keys.push(key.substr(0, bracket - 1));
                        }
                        keys.push(key.substr(bracket, j - bracket));
                        bracket = 0;
                        if (key.charAt(j + 1) !== '[') {
                            break;
                        }
                    }
                }
            }
            if (!keys.length) {
                keys = [key];
            }
            for (j = 0; j < keys[0].length; j++) {
                chr = keys[0].charAt(j);
                if (chr === ' ' || chr === '.' || chr === '[') {
                    keys[0] = keys[0].substr(0, j) + '_' + keys[0].substr(j + 1);
                }
                if (chr === '[') {
                    break;
                }
            }
            evalStr = 'array';
            for (j = 0; j < keys.length; j++) {
                key = keys[j];
                if ((key !== '' && key !== ' ') || j === 0) {
                    key = "'" + key + "'";
                }
                else {
                    key = eval(evalStr + '.push([]);') - 1;
                }
                evalStr += '[' + key + ']';
                if (j !== keys.length - 1 && eval('typeof ' + evalStr) === 'undefined') {
                    eval(evalStr + ' = [];');
                }
            }
            evalStr += " = '" + value + "';\n";
            eval(evalStr);
        }
    }
}
function createRequestObject()
{
    var http;
    if(window.XMLHttpRequest) { // Mozilla, Safari, ...
        http = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) { // Internet Explorer
        http = new ActiveXObject("Microsoft.XMLHTTP");
    }
    return http;
}

function supp(bouton, nextprod) {
	$xname = document.getElementsByName("add");
	for ($i=0; $i < $xname.length; $i++) {
		document.getElementsByName("add")[$i].disabled="disabled";
	}
	$xname2 = document.getElementsByName("supp");
	for ($i=0; $i < $xname2.length; $i++) {
		document.getElementsByName("supp")[$i].disabled="disabled";
	}
	document.getElementById('qte-'+nextprod).disabled="disabled";
	http2 = createRequestObject();
	var oldqte = document.getElementById('oldqte-'+nextprod).value;
	var qte = 0;
	http2.open('get', 'ajax/mod.php?nextprod='+nextprod+'&qt='+qte+'&oldqte='+oldqte, true);
	http2.onreadystatechange = function()  { 
		if(http2.readyState == 4 && http2.responseText != "") {
			glue2 = '&';
			var arr = String(http2.responseText).split(glue2);
			var num = parseInt(document.getElementById('tpanier').innerHTML)+parseInt(qte);
			num = num-parseInt(oldqte);
			document.getElementById('tpanier').innerHTML =unescape(num);
			document.getElementById('stotal').innerHTML =unescape(arr[0]);
			document.getElementById('tps').innerHTML =unescape(arr[1]);
			document.getElementById('tvq').innerHTML =unescape(arr[2]);
			document.getElementById('total').innerHTML = unescape(arr[3]);
			alert("Produit supprimer avec succès. Sous-total:  "+arr[0]+"$");
			for ($i=0; $i < $xname.length; $i++) {
				document.getElementsByName("add")[$i].disabled="";
			}
			for ($i=0; $i < $xname2.length; $i++) {
				document.getElementsByName("supp")[$i].disabled="";
			}
			document.getElementById('qte-'+nextprod).disabled="";
			location.reload();
		}
	}
	http2.send(null);
}

function addprod(bouton, id, option, value) {
	$xname = document.getElementsByName("add");
	for ($i=0; $i < $xname.length; $i++) {
		document.getElementsByName("add")[$i].disabled="disabled";
	}
	document.getElementById('qte-'+id).disabled="disabled";
	http2 = createRequestObject();
	var qte = document.getElementById('qte-'+id).value;
	if (qte == "") { var qte = 1; }
	if (qte <= 0) {var qte = qte-qte-qte; }
	if (isNaN(qte)) { qte = 1; }
	http2.open('get', 'ajax/add.php?id='+id+'&option='+option+'&value='+value+'&qt='+qte, true);
	http2.onreadystatechange = function()  { 
		if(http2.readyState == 4 && http2.responseText != "") {
			
			var num = parseInt(document.getElementById('tpanier').innerHTML)+parseInt(qte);
			document.getElementById('tpanier').innerHTML =unescape(num);
			for ($i=0; $i < $xname.length; $i++) {
				document.getElementsByName("add")[$i].disabled="";
			}
			document.getElementById('qte-'+id).disabled="";
			alert("Produit ajouter à votre panier avec succès. Sous-total:  "+http2.responseText+"$");
		}
	}
	http2.send(null);
}

function modprod(bouton, nextprod) {
	$xname = document.getElementsByName("add");
	for ($i=0; $i < $xname.length; $i++) {
		document.getElementsByName("add")[$i].disabled="disabled";
	}
	$xname2 = document.getElementsByName("supp");
	for ($i=0; $i < $xname2.length; $i++) {
		document.getElementsByName("supp")[$i].disabled="disabled";
	}
	document.getElementById('qte-'+nextprod).disabled="disabled";
	http2 = createRequestObject();
	var oldqte = document.getElementById('oldqte-'+nextprod).value;
	var qte = document.getElementById('qte-'+nextprod).value;
	if (qte == "") { qte = 1; }
	if (qte <= 0) {qte = qte-qte-qte; }
	if (isNaN(qte) && qte != "sup") { qte = 1; }
	http2.open('get', 'ajax/mod.php?nextprod='+nextprod+'&qt='+qte+'&oldqte='+oldqte, true);
	http2.onreadystatechange = function()  { 
		if(http2.readyState == 4 && http2.responseText != "") {
			glue2 = '&';
			var arr = String(http2.responseText).split(glue2);
			var num = parseInt(document.getElementById('tpanier').innerHTML)+parseInt(qte);
			num = num-parseInt(oldqte);
			document.getElementById('tpanier').innerHTML =unescape(num);
			document.getElementById('stotal').innerHTML =unescape(arr[0]);
			document.getElementById('tps').innerHTML =unescape(arr[1]);
			document.getElementById('tvq').innerHTML =unescape(arr[2]);
			document.getElementById('total').innerHTML = unescape(arr[3]);
			alert("Produit modifier avec succès. Sous-total:  "+arr[0]+"$");
			for ($i=0; $i < $xname.length; $i++) {
				document.getElementsByName("add")[$i].disabled="";
			}
			for ($i=0; $i < $xname2.length; $i++) {
				document.getElementsByName("supp")[$i].disabled="disabled";
			}
			document.getElementById('qte-'+nextprod).disabled="";
			
		}
	}
	http2.send(null);
}

var oldiddescription = 0;
function description(id) {
	if (oldiddescription != 0) {
		http = createRequestObject();
		http.open('get', 'ajax/descriptionshort.php?id='+oldiddescription, true);
		http.onreadystatechange = function()  { 
			if(http.readyState == 4 && http.responseText != "") {
				msgShow(http.responseText, 'description-'+oldiddescription);
			
	http2 = createRequestObject();
	http2.open('get', 'ajax/description.php?id='+id, true);
	http2.onreadystatechange = function()  { 
		if(http2.readyState == 4 && http2.responseText != "") {	
		oldiddescription = id;
			msgShow(http2.responseText, 'description-'+id);
		}
	}
	http2.send(null);
	}
		}
		http.send(null);
	}
	else {
		http2 = createRequestObject();
	http2.open('get', 'ajax/description.php?id='+id, true);
	http2.onreadystatechange = function()  { 
		if(http2.readyState == 4 && http2.responseText != "") {	
		oldiddescription = id;
			msgShow(http2.responseText, 'description-'+id);
		}
	}
	http2.send(null);
	}
}
function msgShow(result, id) {
	new Effect.BlindUp(id, {duration:0.5, afterFinish:function() { 
		Element.update(id, unescape(result));
		new Effect.BlindDown(id, {duration:0.5});
	} });
}

