/******************************************************************************
* ldsocPopupContentEdition.js
*******************************************************************************

*******************************************************************************
*                                                                             *
* Copyright 2006									                          *
*                                                                             *
******************************************************************************/

function ldsocShow(gid)
{
    document.getElementById("bar"+gid).style.display='block';
    document.getElementById("trait"+gid).style.height='20px';
}

function ldsocHidden(gid)
{
    document.getElementById("bar"+gid).style.display='none';
    document.getElementById("trait"+gid).style.height='2px';
}


function contentEditionManager()
{
    this.zoneGID = "" ;
    this.zoneLabel = "" ;
    this.ajaxPage = "" ;

    this.contentsMap = new Array() ;
    
    this.editingContent = false ;
    this.content = null ;
}

contentEditionManager.prototype.registerContentZone = function( obj )
{
    this.zoneGID = obj.gid ;
    this.zoneLabel = obj.label ;
}

contentEditionManager.prototype.registerContent = function( obj )
{
    this.contentsMap[obj.gid] = obj ;
}

contentEditionManager.prototype.editContent = function( contentGID, oid )
{
    if ( this.editingContent ) {
        alert("Un contenu est en cours d'édition, veuillez terminer votre saisie avec de rédiger un autre cotenu.") ;
    }
    else {
        if ( this.contentsMap[contentGID] == null ) alert("Contenu inexistant, veuillez contacter le responsable du site.") ;
        else {
            this.content = this.contentsMap[contentGID] ;
            document.getElementById("cGid").value = contentGID ;
            document.getElementById("cLabel").value = this.content.label ;
            document.getElementById("cType").value = this.content.type ;
            document.getElementById("card").value = oid ;
            document.getElementById("cmd").value = "editContent" ;
            document.loadEditForm.submit() ;
        }
    }
}

contentEditionManager.prototype.publishContent = function( contentGID, oid )
{
    if ( this.editingContent ) {
        alert("Un contenu est en cours d'édition, veuillez terminer votre saisie avec de rédiger un autre cotenu.") ;
    }
    else {
        if ( this.contentsMap[contentGID] == null ) alert("Contenu inexistant, veuillez contacter le responsable du site.") ;
        else {
            this.content = this.contentsMap[contentGID] ;
            document.getElementById("cGid").value = contentGID ;
            document.getElementById("cLabel").value = this.content.label ;
            document.getElementById("cType").value = this.content.type ;
            document.getElementById("card").value = oid ;
            document.getElementById("cmd").value = "publishContent" ;
            document.loadEditForm.submit() ;
        }
    }
}

contentEditionManager.prototype.hiddenContent = function( contentGID, oid )
{
    if ( this.editingContent ) {
        alert("Un contenu est en cours d'édition, veuillez terminer votre saisie avec de rédiger un autre cotenu.") ;
    }
    else {
        if ( this.contentsMap[contentGID] == null ) alert("Contenu inexistant, veuillez contacter le responsable du site.") ;
        else {
            this.content = this.contentsMap[contentGID] ;
            document.getElementById("cGid").value = contentGID ;
            document.getElementById("cLabel").value = this.content.label ;
            document.getElementById("cType").value = this.content.type ;
            document.getElementById("card").value = oid ;
            document.getElementById("cmd").value = "hiddenContent" ;
            document.loadEditForm.submit() ;
        }
    }
}

contentEditionManager.prototype.removeContent = function( contentGID )
{
    if ( this.editingContent ) {
        alert("Un contenu est en cours d'édition, veuillez terminer votre saisie avec de rédiger un autre cotenu.") ;
    }
    else {
        if ( this.contentsMap[contentGID] == null ) alert("Contenu inexistant, veuillez contacter le responsable du site.") ;
        else {
            this.content = this.contentsMap[contentGID] ;
            if ( confirm("Confirmez-vous la suppression du contenu : \"" + this.content.label + "\"") ) {
                document.getElementById("cGid").value = contentGID ;
                document.getElementById("cLabel").value = this.content.label ;
                document.getElementById("cType").value = "" ;
                document.getElementById("card").value = "0" ;
                document.getElementById("cmd").value = "removeContent" ;
                document.loadEditForm.submit() ;
            }
        }
    }
}

contentEditionManager.prototype.contentAction = function( act )
{
    switch (act)
    {
        case "cancel":
            document.getElementById("cGid").value = "" ;
            document.getElementById("cLabel").value = "" ;
            document.getElementById("cType").value = "" ;
            document.getElementById("card").value = "0" ;
            document.getElementById("cmd").value = "" ;
            document.loadEditForm.submit() ;
            break;
        case "record":
            document.getElementById("contentShow").value = "false" ;
            document.contentForm.submitButton.click() ;
            break;
        case "publish":
            document.getElementById("contentShow").value = "true" ;
            document.contentForm.submitButton.click() ;
            break;
    }
}

contentEditionManager.prototype.changeZoneVisibility = function( visibility )
{
    var myDS = new YAHOO.util.XHRDataSource(this.ajaxPage);

    myDS.responseSchema = {
        resultNode: "return",
        fields: ["msg"]
    };

    myDS.responseType = YAHOO.util.XHRDataSource.TYPE_XML;
    myDS.connMethodPost = true ;

    var queryString = "pageMode=ajax&ajaxFunc=changeVisibilityOfContentZone" ;
    queryString += "&zoneGID=" + this.zoneGID ;
    queryString += "&zoneLabel=" + this.zoneLabel ;
    queryString += "&visibility=" + visibility ;
    
    myDS.sendRequest(queryString, {
        success : function(req, res) 
        {
            if ( res.results[0].msg != "" ) {
                alert(res.results[0].msg) ;
            }
            else {
                if ( visibility == "9" ) {
                    document.getElementById("showZone9").style.display = "none" ;
                    document.getElementById("showZone0").style.display = "block" ;
                }
                if ( visibility == "0" ) {
                    document.getElementById("showZone0").style.display = "none" ;
                    document.getElementById("showZone9").style.display = "block" ;
                }
                window.opener.location.reload();
            }
        },
        scope : this,
        argument: visibility
    });
}

contentEditionManager.prototype.closeManager = function()
{
    window.opener.location.reload();
    window.close() ;
}

/*
contentEditionManager.prototype.activeEditionButton = function()
{
    var ele = document.getElementById("cancelButton");
    ele.disabled = false ;
    var ele = document.getElementById("enregButton");
    ele.disabled = false ;
    var ele = document.getElementById("validButton");
    ele.disabled = false ;
}
*/

var contentManager = new contentEditionManager() ;
