/*===========================================================================
/*
/* Ces fonctions sont aussi utilisées dans l'installation de Ganesha
/*
/*==========================================================================*/

//Définition des variables
var confirmCSS_HTML, alertCSS_HTML;

//Définition du code HTML pour les messages de confirmation
confirmCSS_HTML  = '<div class="confirmBox">';
confirmCSS_HTML += '<input type="button" value="{ANNULER}" title="{ANNULER}" class="close closeCross">';
confirmCSS_HTML += '<h1>{TITRE}</h1>';
confirmCSS_HTML += '<p class="message">{MESSAGE}</p>';
confirmCSS_HTML += '<p class="button">';
confirmCSS_HTML += '<input type="button" value="{OUI}" title="{OUI}" class="close yes">';
confirmCSS_HTML += '<input type="button" value="{NON}" title="{NON}" class="close no">';
confirmCSS_HTML += '<input type="button" value="{ANNULER}" title="{ANNULER}" class="close cancel">';
confirmCSS_HTML += '</p>';
confirmCSS_HTML += '</div>';

//Définition du code CSS_HTML pour les messages d'alert
alertCSS_HTML  = '<div class="alertBox">';
alertCSS_HTML += '<input type="button" value="{FERMER}" title="{FERMER}" class="close closeCross">';
alertCSS_HTML += '<h1>{TITRE}</h1>';
alertCSS_HTML += '<p class="message">{MESSAGE}</p>';
alertCSS_HTML += '<p class="button">';
alertCSS_HTML += '<input type="button" value="{FERMER}" title="{FERMER}" class="close closeButton">';
alertCSS_HTML += '</p>';
alertCSS_HTML += '</div>';

//Fonction commune à l'alerte et à la boite de confirmation
function alertConfirmCommon(content,isModal,onHideCallback) {
    isModal = !!isModal;

    return $(content)
    .appendTo(document.body)
    .jqm({
        trigger: false,
        overlay: 60,
        overlayClass: 'alertOverlay',
        closeClass : 'close',
        modal : isModal,
        onShow : show = function(hash) {
            //On masque les select pour IE6
            if($.browser.msie && navigator.appVersion.indexOf("MSIE 6.0") != -1) {
                $("select:visible").hide().addClass("x-select-filter");
            }
            
            setTimeout(function(){
                hash.w.fadeIn("normal")
                      .css("height","250px")
                      .css("width","500px")
                      .jqDrag("h1");

                if($.browser.msie) {
                    hash.w.viewportCenter();
                } else {
                    hash.w.css({
                        position : "fixed",
                        top : "50%",
                        left : "50%",
                        marginTop : "-125px",
                        marginLeft : "-250px"
                    });
                }
            },100);
        },
        onHide : function(hash){ 
            hash.w.fadeOut("fast",function(){
                hash.o.fadeOut("fast",function(){
                    hash.o.remove();
                });
                hash.w.remove();

                //On réaffiche les select pour IE6
                if($.browser.msie && navigator.appVersion.indexOf("MSIE 6.0") != -1) {
                    $("select.x-select-filter").show().removeClass("x-select-filter");
                }
                
                if($.isFunction(onHideCallback)) {
                    onHideCallback();
                }
                
            });
        }
    })
    .jqmShow();
}

function alertCss(message,closeCallback,isModal) {
    var content = alertCSS_HTML;
    content = content.replace(/{FERMER}+/g,closeText);
    content = content.replace(/{TITRE}+/g,alertTitle);
    content = content.replace(/{MESSAGE}+/g,message);
    
    return alertConfirmCommon(content,isModal,closeCallback);
}

function confirmCss(message,yesCallback,noCallback,cancelCallback) {
    var content = confirmCSS_HTML;
    content = content.replace(/{ANNULER}+/g,cancelText);
    content = content.replace(/{TITRE}+/g,confirmationRequired);
    content = content.replace(/{MESSAGE}+/g,message);
    content = content.replace(/{OUI}+/g,yesText);
    content = content.replace(/{NON}+/g,noText);
    
    var confirm = alertConfirmCommon(content,true);
    
    if($.isFunction(yesCallback)) {
        $(confirm).find("input.yes").click(yesCallback);
    }
    
    if($.isFunction(noCallback)) {
        $(confirm).find("input.no").click(noCallback);
    }
    
    if($.isFunction(cancelCallback)) {
        $(confirm).find("input.cancel").click(cancelCallback);
    }
    
    return confirm;
}

