﻿// JScript File
function setLangForm(ctrl)
{
    valeurLangForm = ctrl.options[ctrl.selectedIndex].value;
    
    if (valeurLangForm != 3)
    {
        $("rowTitre2").style.display = 'none';    
        $("rowDescription2").style.display = 'none';
        $("tdCarriere_En").style.display = 'none';
        $("tdCarriere_Fr").colSpan = "2";
        
        $("lbl_Title_Fr").innerHTML = Labels.titre[0].value;
        $("lbl_Tasks_Fr").innerHTML = Labels.description[0].value;
        $("lbl_Carriere_Fr").innerHTML = Labels.carriere[0].value;
    }
    else
    {
        $("rowTitre2").style.display = '';    
        $("rowDescription2").style.display = '';
        $("tdCarriere_En").style.display = '';
        $("tdCarriere_Fr").colSpan = "1";
        
        $("lbl_Title_Fr").innerHTML = Labels.titre[1].value;
        $("lbl_Tasks_Fr").innerHTML = Labels.description[1].value;
        $("lbl_Carriere_Fr").innerHTML = Labels.carriere[1].value;
    }
    
}


function soumettre(lang,bo_preview)
{
    //on enregistre les RTB pour avoir leur contenu.
    updateRTEs();
    
    var data = "";
    var ctrl_select = $("LangageOffre");
    var langageAffichage = ctrl_select.options[ctrl_select.selectedIndex].value
    var boInverse = false;
    
    if (langageAffichage==2) //si langue de l'offre = "en", alors on inverse les champs français et anglais.
        boInverse = true;
    else
        if (langageAffichage==3 && lang=="en") //si l'usager est côté anglais et que l'offre est bilingue on inverse 
            boInverse = true;     
    
    var divWheel = CreateDiv("","divWheel");    
    
    var offreID = $("OffreID").value;
    var profileID = $("ProfileID").value;
    var Id_Partenaire = $("Id_Partenaire").value;
    var titreFR = (boInverse ? ($("Title_En") ? $("Title_En").value : "") : $("Title_Fr").value);
    var titreEN = (boInverse ? $("Title_Fr").value : ($("Title_En") ? $("Title_En").value : ""));
    var dateEntered = $("DateEntered").value;
    var dateExpiration = $("DateExpiration").value;
    var Categories = getCategories();
    var reference = $("Reference") ? $("Reference").value : "";
    var idCity = $("IdCity").value;
    var txtCity = $("txtIdCity").value;
    var Tasks_Fr = (boInverse ? ($("hdnTasks_En") ? $("hdnTasks_En").value : "") : $("hdnTasks_Fr").value);
    var Tasks_En = (boInverse ? ($("hdnTasks_Fr") ? $("hdnTasks_Fr").value : "") : $("hdnTasks_En").value);
    var Carriere_Fr = (boInverse ? ($("Carriere_En") ? $("Carriere_En").value : "") : $("Carriere_Fr").value);
    var Carriere_En = (boInverse ? ($("Carriere_Fr") ? $("Carriere_Fr").value : "") : $("Carriere_En").value);
    var boutonSoumettre = $("btn_Submit");
    var boutonPreview = $("btn_Preview");

    //boutonSoumettre.disabled = true; //on empêche l'utilisateur de recliquer sur le bouton submit.
    
    var url = "../ajax/saveOffre.aspx";
    
    var data = "oId=" + offreID + "&pId=" + profileID + "&idP=" + Id_Partenaire + "&l=" + lang + "&tFr=" + encodeURIComponent(titreFR) + "&tEn=" + encodeURIComponent(titreEN) + "&dDeb=" + encodeURIComponent(dateEntered) + 
               "&dFin=" + encodeURIComponent(dateExpiration) + "&ref=" + encodeURIComponent(reference) + "&ic=" + idCity +
               "&c=" + encodeURIComponent(txtCity) + "&dFr=" + encodeURIComponent(Tasks_Fr) + "&dEn=" + encodeURIComponent(Tasks_En) +
               "&cat=" + encodeURIComponent(Categories) + "&cFr=" + encodeURIComponent(Carriere_Fr) + "&cEn=" + encodeURIComponent(Carriere_En); 
    
    var xmlhttp = returnXMLHttpRequest();
        
    divWheel.innerHTML = "<img src='../images/wheel.gif' border='0' />"
    
    if (bo_preview)
    {
        boutonPreview.disabled = true; //si on est en preview, on désactive aussi le bouton preview 
        PositionnerControle(divWheel,findPosX(boutonPreview)+boutonPreview.offsetWidth+10,findPosY(boutonPreview));
    }
    else
    {
        boutonPreview.hide(); //sinon on le cache!
        PositionnerControle(divWheel,findPosX(boutonSoumettre)+boutonSoumettre.offsetWidth+10,findPosY(boutonSoumettre));
    }      
    
        
    if (xmlhttp)
    {
        xmlhttp.open("POST",url,true);
        xmlhttp.onreadystatechange=function() {
	                                if (xmlhttp.readyState==4) {
	                                    
	                                    var offerManager = eval('(' + xmlhttp.responseText + ')');
	                                    
	                                    if (typeof(offerManager)!="string")
	                                    {
	                                       var offerManager = eval('(' + xmlhttp.responseText + ')');
	                                       
	                                       if (offerManager.boErr=="True")
	                                       {
	                                            ToggleErreur(offerManager.erreur.titre,"Title_Fr");
	                                            ToggleErreur(offerManager.erreur.date,"DateExpiration");
	                                            ToggleErreur(offerManager.erreur.ville,"IdCity");
	                                            ToggleErreur(offerManager.erreur.categories,"Categories");
	                                            ToggleErreur(offerManager.erreur.description,"Tasks_Fr");
	                                            divWheel.innerHTML = offerManager.Message;
	                                            divWheel.style.color = "Red";
	                                            divWheel.style.fontWeight = "bold";
	                                            boutonSoumettre.disabled = false;
	                                            boutonPreview.disabled = false;
	                                            setTimeout("$('btn_Preview').show();PositionnerControle($('divWheel'),findPosX($('btn_Preview'))+$('btn_Preview').offsetWidth+10,findPosY($('btn_Preview'))+2);",2000)
	                                       }
	                                       else
	                                       {
	                                            $("OffreID").value = offerManager.offre.id;
	                                            if (offerManager.erreur.carrieres.err == 1)
	                                            {
	                                                if (confirm(offerManager.erreur.carrieres.value))
	                                                {
	                                                    if (!bo_preview) location.href = offerManager.urlRedirect; else showPreview(lang, offerManager.offre, offerManager.urlRedirect);
                                                    }
                                                    else
                                                    {    
                                                        boutonSoumettre.disabled = false;
                                                        boutonPreview.disabled = false;
                                                        PositionnerControle(divWheel,-500,-500);
                                                        $('btn_Preview').show();
                                                        return false;
                                                    }                                                        
	                                                    
	                                            }		
	                                            else
	                                            { if (!bo_preview) location.href = offerManager.urlRedirect; else showPreview(lang, offerManager.offre, offerManager.urlRedirect); }
	                                       }
	                                    }
	                                    else
	                                    {
	                                        alert(offerManager); //affiche l'erreur dotnet de la page.
                                            boutonSoumettre.disabled = false;
                                            boutonPreview.disabled = false;
                                            PositionnerControle(divWheel,-500,-500);
                                            $('btn_Preview').show();
                                        }
                                    }
                                }
        xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        xmlhttp.send(data);
    }
    else
    {
        alert("ajax not available");
        return false;
    }        
        
 //   return false;
}



function getCategories()
{
	var Element = document.getElementsByName("Categories");
	var retCat = "";
	if (Element.length == 1) //categérie cachée, on renvoie sa valeur
	    retCat = Element[0].value;
    else	    
	    for (i=0;i<Element.length;i++)
	    {
	        if (Element[i].checked) 
	            retCat += (retCat!="" ? "," : "") + Element[i].value;
	    }
    
    return retCat;
	
}

function ToggleErreur(offerManagerChild,ctrlID)
{
    if ($("lbl_" + ctrlID))
    {
        if (offerManagerChild.err==1)
        {
            $("lbl_" + ctrlID).style.color = 'red';
            $("lbl_" + ctrlID).style.fontWeight = 'bold';
            $("validator_" + ctrlID).innerHTML = " - " + offerManagerChild.value;
        }
	    else
	    {
            $("lbl_" + ctrlID).style.color = 'black';
            $("lbl_" + ctrlID).style.fontWeight = 'normal';
            $("validator_" + ctrlID).innerHTML = "";
        }
    }

}

//permet de récupérer l'index dans les childNode du checkbox passé en paramètre
function getIndexCheckbox(checkbox) 
{
    for (var i=0;i<checkbox.parentNode.childNodes.length;i++)
        if (checkbox==checkbox.parentNode.childNodes[i])
            return i;
}

function showPreview(lang,offre,lienSuivant)
{

     var categories = document.getElementsByName("Categories");
    var li;
    var cptCatChecked=0;
    $("categories_Preview").innerHTML = "";
    
    if ($("Id_Partenaire").value != "4" && $("Id_Partenaire").value != "274") //si ce n'est pas BAjob ou infopresse!, on affiche les catégories
    {
        
        for (var i=0;i<categories.length;i++)
            if (categories[i].checked)
            {
                li = Builder.node('li',{className : ''},categories[i].parentNode.childNodes[getIndexCheckbox(categories[i])+2].innerHTML);
                $("categories_Preview").appendChild(li);
                cptCatChecked++;
            }
    }
    else
    {
        $("lbl_categories_Preview").hide();
        $("categories_Preview").hide();
    }

    setPreview(lang, offre);
    $("divPreview").show();
    $("btnContinue").onclick = function() {
        location.href = lienSuivant;
    }



    var HauteurAEnlever = $("rowLogoPartenaire").offsetHeight;
    var ScrollTop = document.body.scrollTop;

    if (ScrollTop == 0) {

        if (window.pageYOffset)

            ScrollTop = window.pageYOffset;

        else

            ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;

    }

    new Effect.Move('divPreviewText', { x: (findPosX($("tdContent")) + 1), y: ScrollTop, mode: 'absolute', duration: 0.0 });
    
    $("divPreviewText").style.height = eval("'" + (findPosY($("tdSubContent")) + $("tdSubContent").getHeight() - ScrollTop) + "px'");
    $("description_Preview").style.height = eval("'" + (findPosY($("tdSubContent")) + $("tdSubContent").getHeight() - ScrollTop - (160 - cptCatChecked) - (cptCatChecked * 15)) + "px'");
    
    $("divPreviewText").show();
                        
    return false;
}

function setPreview(lang,offre) {

    $("titre_Preview").innerHTML = (lang == "fr" ? (offre.titre_fr == "" ? offre.titre_en : offre.titre_fr) : (offre.titre_en == "" ? offre.titre_fr : offre.titre_en)) + "<br /><br />";
    $("city_Preview").innerHTML = $("txtIdCity").value + "<br /><br />";
    $("date_Preview").innerHTML = $("lbl_txt_DateEntered").innerHTML + "<br /><br />";


    $("description_Preview").innerHTML = lang == "fr" ? (offre.description_fr == "" ? offre.description_en : offre.description_fr) : (offre.description_en == "" ? offre.description_fr : offre.description_en);

    if ((offre.titre_fr == "") || (offre.titre_en == "")) {
        $("dd_langage_Preview").disabled = true;
        selectByValue($("dd_langage_Preview"), lang);
    }
    else {
        $("dd_langage_Preview").disabled = false;
        $("dd_langage_Preview").onchange = function() {
            setPreview((lang == "en" ? "fr" : "en"), offre);
        };
    }
}

function selectByValue(el, val) {
    if (document.getElementById) {
        if (typeof (el) === 'string') {
            el = document.getElementById(el);
        }
        for (var i = 0, end = el.options.length; i < end; i++) {
            if (el.options[i].value == val) {
                el.options[i].selected = true;
                el.options.selectedIndex = i;
            }
        }
    }
}

function cancelPreview() {

    PositionnerControle($("divWheel"), -500, -500);
    $("btn_Submit").disabled = false;
    $("btn_Preview").disabled = false;

    $("divPreviewText").hide();
    PositionnerControle($("divPreviewText"), -1000, -1000);
    
    setTimeout("$('divPreview').hide();", 500);
    return false;

}
