﻿// Fichier JScript

function UrlParam(url) {
    var d = new Date()
    if (url.indexOf("?") > -1)
    { url += "&date=" + encodeURI(d.toTimeString()) }
    else
    { url += "?date=" + encodeURI(d.toTimeString()) }
    return url
}

// Gestion des liaison asynchrones

function getAsyncHtmlFragment(url, targetObjId, showWait) {
    var AsyncObjHttp = null
    if (window.XMLHttpRequest)
    { AsyncObjHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { AsyncObjHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }

    if (AsyncObjHttp != null) {
        if (showWait != false) {
        document.getElementById(targetObjId).innerHTML = "<img src='../inc/Images/wait.gif' style='margin:12px' />"
        }
        AsyncObjHttp.onreadystatechange = function() { SetAsyncHtmlFragment(AsyncObjHttp, targetObjId) }
        AsyncObjHttp.open("GET", UrlParam(url), true)
        AsyncObjHttp.send()
    }
}
function SetAsyncHtmlFragment(AsyncObjHttp, targetObjId) {
    if (AsyncObjHttp.readyState == 4) {
        if (AsyncObjHttp.status == 200) {
            var strHTML = AsyncObjHttp.responseText
            var obj = document.createElement("div")
            obj.innerHTML = strHTML
            //alert(obj.innerHTML)

            if (obj.childNodes[0].tagName == "FORM") {//alert(obj.childNodes[0].innerHTML)
                document.getElementById(targetObjId).innerHTML = obj.childNodes[0].childNodes[2].innerHTML
            }
            else
            { document.getElementById(targetObjId).innerHTML = obj.innerHTML }
        }
        else {
            window.status = 'SetAsyncHtmlFragment : Un problème est survenu avec la requête. : ' + AsyncObjHttp.status;
        }
    }
}
function CheckActiveSession() {
    var AsyncObjHttp = null
    if (window.XMLHttpRequest)
    { AsyncObjHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { AsyncObjHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }

    if (AsyncObjHttp != null) {
        var d = new Date()
        var url = "../inc/async/KeepActiveSession.aspx?date" + d.toDateString() + "." + d.toTimeString()
        AsyncObjHttp.onreadystatechange = function() { ActiveSessionCallBack(AsyncObjHttp) }
        AsyncObjHttp.open("GET", UrlParam(url), true)
        AsyncObjHttp.send()
    }
}

function ActiveSessionCallBack(AsyncObjHttp) {
    if (AsyncObjHttp.readyState == 4) {
        if (AsyncObjHttp.status == 200) {
            var retString = new String
            retString = AsyncObjHttp.responseText
            if (retString.indexOf("ok") > -1) {
                return true
            }
            else {
                Alert("Votre session semble être inactive depuis trop longtemps.")
                window.location = "../public"
                return false
            }
        }
        else {
            window.status = 'ActiveSessionCallBack : Un problème est survenu avec la requête. : ' + AsyncObjHttp.status;
        }
    }
}


function SetSessionValue(url) {
    var AsyncObjHttp = null
    if (window.XMLHttpRequest)
    { AsyncObjHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { AsyncObjHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }

    if (AsyncObjHttp != null) {
        AsyncObjHttp.onreadystatechange = function() { ActiveSessionCallBack(AsyncObjHttp) }
        AsyncObjHttp.open("GET", UrlParam(url), true)
        AsyncObjHttp.send()
    }
}
// Gestion des liaison synchrones          

function updateField(tableName, fieldName, idField, value) {
    var url = "../inc/Async/Common_UpdateField.aspx"
    url += "?table=" + tableName
    url += "&field=" + fieldName
    url += "&cId=" + idField
    url += "&value=" + encodeURI(value)
    updateParam(url)
}

function updateParam(url) {
    if (window.XMLHttpRequest)
    { UpobjHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { UpobjHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }
    if (UpobjHttp != null) {
        document.body.style.cursor = "wait"
        UpobjHttp.open("GET", UrlParam(url), false)
        UpobjHttp.send()
        var retString = new String
        retString = UpobjHttp.responseText
        document.body.style.cursor = "default"
        if (retString.indexOf("ok") == -1) {
            AlertError()
            return false
        }
        return true
    }
}

function updateParamWithReturn(url) {
    if (window.XMLHttpRequest)
    { UpobjHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { UpobjHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }

    if (UpobjHttp != null) {
        document.body.style.cursor = "wait"

        UpobjHttp.open("GET", UrlParam(url), false)
        UpobjHttp.send()

        var retString = new String
        retString = UpobjHttp.responseText
        document.body.style.cursor = "default"
        if (retString.indexOf("ok") > -1) {
            return true
        }
        else {
            AlertError();
            return false
        }
    }
}


// Fonctions Communes

function getDdlValue(cId) {
    var obj = document.getElementById(cId)
    return obj.options[obj.selectedIndex].value
}


function AlertError()
{ alert("Une erreur est survenue.\nMerci de d'essayer à nouveau ultérieurement.") }


function ShowMenuArbo() {
    document.getElementById("SiteArbo").innerHTML = "..."
    getAsyncHtmlFragment("../inc/Async/SiteArbo.aspx", "SiteArbo");
}


var ArboPopup = null;

function PopArboInfo(event, mnuId, type) {
    if (ArboPopup == null) {
        ArboPopup = document.getElementById("ArboPopUp")
    }
    var e = event || window.event;

    //alert(mnuId)
    var top = 0;
    if (navigator.appVersion.indexOf("MSIE 7.0") > -1) {
        top = document.documentElement.scrollTop
    }
    if (event.button == 2) {
        FisrtClickAfterContext = false;
        ArboPopup.style.top = String(Number(e.y || e.clientY) - 10 + top) + "px";
        ArboPopup.style.left = String(Number(e.x || e.clientX) - 10) + "px";
        ArboPopup.innerHTML = mnuId //+ "<br>" + ArboPopup.style.top + "<br>" + ArboPopup.style.left
        getAsyncHtmlFragment("../inc/Async/SiteArboGetContext.aspx?idpage=" + mnuId, "ArboPopUp");
        ArboPopup.style.display = "block";
    }
}

function PopArboInfoClose() {
    document.getElementById("ArboPopUp").style.display = "none";
}



//     A REVOIR !!!     

var objHttp;



function getHtmlFragment(url) {
    if (window.XMLHttpRequest)
    { objHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { objHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }

    if (objHttp != null) {
        objHttp.open("GET", UrlParam(url), false)
        objHttp.send()
        var txt = objHttp.responseText
        //alert(txt)
        return txt
    }
}

function Call(url) {
    var objHttpCall = null
    if (window.XMLHttpRequest)
    { objHttpCall = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { objHttpCall = new ActiveXObject("Microsoft.XMLHTTP"); }
    }

    if (objHttpCall != null) {
        objHttpCall.onreadystatechange = function() { CallBack(objHttpCall) }
        objHttpCall.open("GET", UrlParam(url), true)
        objHttpCall.send()

    }
}

function CallBack(objHttpCall) {
    if (objHttpCall.readyState == 4) {
        if (objHttpCall.status == 200) {
            window.status += "."
            var strHTML = objHttpCall.responseText
            //alert(strHTML)     
        }
        else {
            window.status = 'Un problème est survenu avec la requête. : ' + objHttpCall.status;
        }
    }
}

function getXmlDocument(url) {
    if (window.XMLHttpRequest)
    { objHttp = new XMLHttpRequest(); }
    else {
        if (window.ActiveXObject)
        { objHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
        else {
            alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
            return;
        }
    }


    if (objHttp != null) {
        objHttp.open("GET", UrlParam(url), false)
        objHttp.send()

        var xmlDoc = objHttp.responseXML.documentElement
        return xmlDoc

    }
}




