var inFade = false;
var cartFade = false;
var cartCache = new Array(3);
var hexa = new Array(16);
for (var i = 0; i < 10; i++) {
    hexa[i] = i;
}
hexa[10]="a"; hexa[11]="b"; hexa[12]="c";
hexa[13]="d"; hexa[14]="e"; hexa[15]="f";

var http = null;

if (typeof XMLHttpRequest != "undefined") {
    http = new XMLHttpRequest();
}

if (!http && typeof ActiveXObject != "undefined") {
    try {
        http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
        try {
            http = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e2) {
            try {
                http = new ActiveXObject("Msxml2.XMLHTTP.4.0");
            } catch (e3) {
                http = null;
            }
        }
    }
}

function addCart(form, session, target) {
    var post = '';
    for (i = 0; i < form.elements.length; i++) {
        if ((form.elements[i].type != 'radio' && form.elements[i].type != 'checkbox') || form.elements[i].checked == true) {
            if (i > 0) { post += '&'; }
            post += form.elements[i].name + '=' + encodeURIComponent(form.elements[i].value);
        }
    }
    post += '&element=' + target;
    //post += '&EGsid=' + session;
    cartCache['r'] = 255;
    cartCache['g'] = 255;
    cartCache['b'] = 0;
    showAddCart(post, target);
    return false;
}

function showAddCart(post, target) {
    if (http != null) {
        //http.abort();
        http.open("POST", 'ajaxAddCart.php', true);
        http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        //http.overrideMimeType("text/xml; charset=UTF-8");
        http.onreadystatechange = function() {
            if (!http) {
                return;
            }
            if (http.readyState == 4) {
                var response = http.responseText;
                var amp = new RegExp("&amp;", "g");
                response = response.replace(amp, '&');
                //alert(response);
                var carts = JSON.parse(response);
                document.getElementById("box_cart").innerHTML = carts.cart1;
                                document.getElementById(target).innerHTML = carts.cart2;
                displayElement(target, 'block');
                                setTimeout("displayElement('"+target+"', 'none');", 5000);
                            }
        }
        http.send(post);
    }
}

function displayElement(element, state) {
    document.getElementById(element).style.display = state;
}

function setColor(r, g, b, element_name) {
    var hr = hex(r); var hg = hex(g); var hb = hex(b);
    element = document.getElementById(element_name);
    element.style.backgroundColor = "#"+hr+hg+hb;
    cartCache['r'] = r;
    cartCache['g'] = g;
    cartCache['b'] = b;
    //console.log("#"+hr+hg+hb);
}

function hex(i) {
    if (i < 0)
    return "00";
    else if (i > 255)
    return "ff";
    else
    return "" + hexa[Math.floor(i/16)] + hexa[i%16];
}

function fade(sr, sg, sb, er, eg, eb, step, element) {
    for(var i = 0; i <= step; i++) {
        setTimeout("setColor(Math.floor(" + sr + " + ((( " + er + " - " + sr + " )/ " + step + ") * " + i + ")), Math.floor(" + sg + " + ((( " + eg + " - " + sg + " )/ " + step + ") * " + i + ")), Math.floor(" + sb + " + ((( " + eb + " - " + sb + " )/ " + step + ") * " + i + ")), '" + element + "');", i * step);
    }
    setTimeout("setInFade(false); cartFade = false;", step * step);
}

function setInFade(status) {
    inFade = status;
}


function getPrice(form) {

    var post = '';
    for (i = 0; i < form.elements.length; i++) {
    //alert( form.elements[i].name );
    //alert( form.elements[i].value );
    
      if (form.elements[i].type != 'radio' || form.elements[i].checked == true) {
           if (i > 0) { post += '&'; }
           post += form.elements[i].name + '=' + encodeURIComponent(form.elements[i].value);
      }

      //if ( form.elements[i].type == 'select-one' ) {
      //if (i > 0) { post += '&'; }
      //post += form.elements[i].name + '=' + encodeURIComponent(form.elements[i].value);
      //}
    }
    post += '&EGsid=fdiitqod3vkfm6gis31vor9fi7';
    showPrice(post);
    return false;
}


function showPrice(post) {
    if (http != null) {
        //http.abort();
        http.open("POST", 'ajaxGetPrice.php', true);
        http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        //http.overrideMimeType("text/xml; charset=ISO-8859-15");
        
        http.onreadystatechange = function() {
            if (http.readyState == 4) { 
                var response = http.responseText;
                //var amp = new RegExp("&amp;", "g");
                // document.getElementById("info_price").innerHTML = response.replace(amp, '&');
                //filter.price_attribut = response.replace(amp, '&');
                filter.price_attribut = parseFloat(response);
                onShowPrice();
            }
        }
        http.send(post);
    }
}

