include('script/ajax.js');

function composePODXML(clientID){
    var tag = document.createElement("TAG");
    var root = document.createElement("root");
    var produit = document.createElement("produit");
    var format = document.getElementById("formats");
    var id_file = document.getElementById("id_file");
    var i=0;

    tag.appendChild(root);
    root.setAttribute("clientID", clientID);

    root.appendChild(produit);

    var impression = document.createElement("impression");
    produit.appendChild(impression);

    var formatChildren = format.childNodes;
    for(i=0;i<formatChildren.length;i++){
        var optionNode = formatChildren[i];
        if(optionNode.selected==true){
            var selectionValue = optionNode.value;
            var splitted = selectionValue.split("X", 4);
            if(splitted.length<4){
                splitted = selectionValue.split("x", 4);
            }
            var width = splitted[0];
            var height = splitted[1];
            var paper_width = splitted[2];
            var paper_height = splitted[3];
            impression.setAttribute("width", Math.round((width*10)));
            impression.setAttribute("height",  Math.round(height*10));
            impression.setAttribute("paper_width", Math.round(paper_width*10));
            impression.setAttribute("paper_height",  Math.round(paper_height*10));
        }
    }
    var support = document.getElementById("support");
    impression.setAttribute("support", support.value);

    impression.setAttribute("fileID", cleanQuote(id_file.value));

    return(tag.innerHTML);
}

function composeSMXML(clientID){
    var tag = document.createElement("TAG");
    var root = document.createElement("root");
    var produit = document.createElement("produit");
    var i=0;

    tag.appendChild(root);
    root.setAttribute("clientID", clientID);

    root.appendChild(produit);

    var sur_mesure = document.createElement("cadre");
    produit.appendChild(sur_mesure);

    var width = document.getElementById("width").value;
    var height = document.getElementById("height").value;
    sur_mesure.setAttribute("width", Math.round(width*10));
    sur_mesure.setAttribute("height",  Math.round(height*10));

    var bgt = document.getElementById("couleur").value;
    sur_mesure.setAttribute("id_bgt",  bgt);

    return(tag.innerHTML);
}

function composeAffCadreXML(clientID){
    var tag = document.createElement("TAG");
    var root = document.createElement("root");
    var produit = document.createElement("produit");

    tag.appendChild(root);
    root.setAttribute("clientID", clientID);

    root.appendChild(produit);

    var affiche = document.createElement("affiche");
    var img_id = document.getElementById("poster").value;
    affiche.setAttribute("id",  img_id);
    produit.appendChild(affiche);

    var sur_mesure = document.createElement("cadre");
    produit.appendChild(sur_mesure);

    var width = document.getElementById("width").value;
    var height = document.getElementById("height").value;
    sur_mesure.setAttribute("width", Math.round(width*10));
    sur_mesure.setAttribute("height",  Math.round(height*10));

    var bgt = document.getElementById("couleur").value;
    sur_mesure.setAttribute("id_bgt",  bgt);

    return(tag.innerHTML);

}

function composeXML(clientID){

    var impression_form = document.getElementById("impression_sur_place");
    if(impression_form!=null){
        return(composePODXML(clientID));
    }

    var sur_mesure_form = document.getElementById("sur_mesure");
    if(sur_mesure_form!=null){
        return(composeSMXML(clientID));
    }

    var affiche_cadre = document.getElementById("affiche_cadre");
    if(affiche_cadre!=null){
        return(composeAffCadreXML(clientID));
    }

    return "";
}

function createCommand(clientID){
    var commandField = document.getElementById("command");
    commandField.value = composeXML(clientID);
    return true;

}

function refreshPrice(){

    var request = createRequest();
    request.onreadystatechange=function(){
        if(request.readyState==0){
        }
        if(request.readyState==1){
        }
        if(request.readyState==2){
        }
        if(request.readyState==3){
        }
        if(request.readyState==4){
            if(request.status  == 200){
                try {
                    var target = document.getElementById("targetDiv");
                    var nodes = target.childNodes;
                    var i=0;
                    for(i=0;i<nodes.length;i++){
                        target.removeChild(nodes[0]);
                    }
                    var domResponse = request.responseXML;
                    var results = domResponse.getElementsByTagName("result");
                    var prices = "";
                    for(i=0;i<results.length;i++){
                        var prix = results[i].getAttribute("prices");
                        prix = prix.replace("]", "");
                        prix = prix.replace("[", "");
                        prices +=  prix+ " \u20ac";
                    }
                    target.appendChild(document.createTextNode(prices));
                } catch (exception) {
                    alert(""+exception);
                }
            }
        }
    }

    var clientID= document.getElementById("num_vendor").value;

    var parameters = "";
    parameters+= "command="+composeXML(clientID);
    parameters+= "&action=estimate";

    request.open("POST","/stubs/commandStub.php",true);
    request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    request.setRequestHeader("Content-length", parameters.length);
    request.setRequestHeader("Connection", "close");
    request.send(parameters);
}
