/*******************************************************************************
 *  EXECUTION AU CHARGEMENT DE LA PAGE
*******************************************************************************/

jQuery.fn.extend({
   findPos : function() {
       obj = jQuery(this).get(0);
       var curleft = obj.offsetLeft || 0;
       var curtop = obj.offsetTop || 0;
       while (obj = obj.offsetParent) {
                curleft += obj.offsetLeft
                curtop += obj.offsetTop
       }
       return {x:curleft,y:curtop};
   }
});
 
function showMyFloatBox(link,typeBox, infoEspace,longitude, latitude)
{
        
        //stopFilterAjaxStart();
        //annuaireAjaxStop();
        var pos = $(link).findPos();
        
        
        //stopFilterAjaxStart();
        var paramData = '';
        paramData = $(link).attr('rev');
        
        
        file = $(link).attr('rel');
        
        if(file.substr(0,1) != '/')
        {
            file = '/'+file;
        }
        
        jQuery.floatbox({
            ajax: {
                url: file, // request url
                params: paramData, //post parameters
                before: "<p>"+loading+"</p>"              
            },
            fade: false,
            type: typeBox,
            position:pos,
            espace:infoEspace,
            longitude:longitude,
            latitude:latitude
        });
        
        return false;
        
}

function testMyFloatBox()
{

$.floatbox({
        content: "<p>My HTML content here!</p>",
        fade: true
    });

        

        
}
function closeBox () {   

				$("#floatbox-box").remove();
				$("#floatbox-background").remove();
}
        
$(document).ready( function () {
    
            //alert('test');
            if($(".accordeon").size() > 0)
            {
                    //necessaire pour cacher les difference donnec contenant les 
                    //donne modifiable dans le formulaire identite
                    $(".accordeon div.subData").hide();
                    
                    $(".accordeon div.subData.identite").show();
                
                     
                    //maintenant on rend cliquable les span du formulaire en element
                    //cliquable pour pouvoir cree l'accordeon
                    $(".accordeon div.toggleSubMenu span.titre").each( function () 
                    {
                        // On stocke le contenu du span : 
                        var TexteSpan = $(this).text();
                        //on remplace
                        $(this).replaceWith('<a href="" title="Afficher le sous-menu" class="lienMenu">' + TexteSpan + '<\/a>') ;  
                               
                            
                    });
                    
                    $(".accordeon a.lienMenu").addClass('open');
                    //on ajoute maintenant un evenement "click" sur chaque lien de notre accordeon
                    $(".accordeon div.toggleSubMenu > a").click( function () 
                    {
                        // Si le sous-menu Žtait dŽjˆ ouvert, on le referme :
                        if ($(this).parent().next("div.subData:visible").length != 0) 
                        {
                             $(this).removeClass("open");
                             $(this).parent().next("div.subData").slideUp("normal", function () { $(this).parent().removeClass("open") } ); 
                        }
                        //sinon on ouvre le menu
                        else
                        {
                            $(".accordeon div.toggleSubMenu > a ").removeClass('open');
                            $(this).addClass("open");
                            $(".accordeon div.subData").slideUp("normal"); 
                            $(this).parent().next("div.subData").slideDown("normal");
                        }
                        //on empeche le navigateur de suivre le lien
                        return false; 
                    }); 
            
            }
            
            if($(".toggleSubMenu  a#geolocSitra"))
            {
               $(".toggleSubMenu  a#geolocSitra").click(function()
               {
                    if(!mapInitializedPopup)
                    {
                        initMapPopup();
                    }
               })
            }
            
            if($(".toggleSubMenu  a#geolocFicheSitra "))
            {
               $(".toggleSubMenu  a#geolocFicheSitra ").click(function()
               {
                    
                    if(!mapGeolocInitialized)
                    {
                        //alert('test');
                        initLocalisationSitraFiche();
                    }
               })
            }
                        
            //if()            

});


function openAllDiv()
{
        	   $("div.toggleSubMenu  > a").each( function ()
        	   {
                    $(this).next("div.subData").slideDown("normal", function () { $(this).parent().addClass("open")} );	                    
        	   });
        	   
        	  
                            	   
}
/*******************************************************************************
 *  PERMET LE RECHARGEMENT D'UNE DIV EN AJAX
*******************************************************************************/
function chargeData(pId, pIdType ,pUrl,pDiv)
{
    //post permet d'envoyer une requete ajax, merci jquery, c quand meme super simple non ?
    $.post(
       pUrl,
       {idActivite:pId,idDimension:pIdType,fromAjax:1},
       function success(data)
       {
            $("div#"+pDiv).html($("div#"+pDiv).html() +  data);
       });
 
}


/**
 *Liste des fichier a recharger lors de la selection d'un activite
 */ 
function loadDataActivite(activiteId)
{
    
    var isChecked = $("input#"+activiteId).is(':checked');

    arrayId = activiteId.split('_');
    var idActivite =arrayId[0];
    var idSpecialite =arrayId[1];
    var idDimension =arrayId[2];
    var idMatiere =arrayId[3];
    var idSerie =arrayId[4];
    
    if(isChecked)
    {
        //on charge la liste des specialite
        chargeData(idActivite,idSpecialite,'ajaxSpecialite.php','listSpecialite');
   
        //on charge la liste des dimensions
        chargeData(idActivite,idDimension,'ajaxDimension.php','listDimension');
   
        //on charge la liste des dimensions
        chargeData(idActivite,idMatiere,'ajaxMatiere.php','listMatiere');
        
        //on charge la liste des dimensions
        chargeData(idActivite,idSerie,'ajaxSerie.php','listSerie');        
    }
    else
    {
        $("div#listSpecialite  fieldset#specialite_"+idActivite).remove();
        $("div#listDimension  fieldset#dimension_"+idActivite).remove();
        $("div#listMatiere  fieldset#matiere_"+idActivite).remove();
        $("div#listSerie  fieldset#serie_"+idActivite).remove();
    }
}

function saveSpecialite(specialiteList)
{
    //recuperation de la liste des specialite choisi
    
    $("#specialite input").each( function () 
    {
       
        //alert('test');
        alert($(this).val());
        // On stocke le contenu du span : 
        /*var TexteSpan = $(this).text();
        //on remplace
        $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ;         
         */  
    });    
}




/**
 *  Permet de recupere les donnees de checkbox selectionne dans un 
 *  container (fieldset, div, ... ).
 *  La liste des valeur est retourne serialise (separe par des ",")  
 */ 
function getDataSelected(idContainer)
{
    var returnValue = '';
    var cpt = 0;

    if($("#"+idContainer).size() > 0)
    {
        //on boucle sur les champ de type input dans le container
        $("#"+idContainer+" input" ).each( function ()
        {
            //on verifie si la checkbox est selectionne
            if($(this).is(':checked'))
            {
                if(cpt > 0)
                {
                    returnValue+=',';
                }
                //on l'ajoute a la chaine de sortie   
                returnValue+=$(this).val();
                cpt++;
            }
        });
    }
    
    return returnValue;
    
}

function getDataAutre(pClass)
{
    var strReturn = '';
    var cpt = 0;
    
    if($("."+pClass).size() > 0)
    {
        $("."+pClass+" textarea" ).each( function ()
        {
            if(cpt > 0)
            {
                strReturn += ',';
            }
            idAutre = $(this).attr('id');
            arrayId = idAutre.split('_');
            valueElement =$(this).val(); 
            

            strReturn+= arrayId[1] + ','  +  arrayId[2] + ',' +arrayId[3]+','+valueElement.replace(/,/g,'|');
            cpt++;
        });
    }
    return strReturn;
    
}

function getDataAutreInput(pClass)
{
  
    var strReturn = '';
    var cpt = 0;
    
    if($("."+pClass).size() > 0)
    {
        $("."+pClass+" Input" ).each( function ()
        {
            
            if(cpt > 0)
            {
                strReturn += ',';
            }
            idAutre = $(this).attr('id');
            arrayId = idAutre.split('_');    
			      valueElement =$(this).val(); 
            strReturn+= arrayId[1] + ','  +  arrayId[2] + ',' +arrayId[3]+','+valueElement.replace(/,/g,'|');
            cpt++;
        });
    }

    return strReturn;
    
}

function testParent(pIdMetier,pIdSousTraitant,pIdMetierRef,pMode,pSid)
{


    ///////////////////////////
    //INITIALISATION
    var dataSelected='';
    
    //recuperation des donnees selectionne pour les specialite
    dataSpecialite = getDataSelected('specialite');

    dataSpecialiteAutre = getDataAutre('specialiteAutre');

    
    //recuperation des donnees pour le dimension
    dataDimension = getDataSelected('dimension');
    dataDimensionAutre = getDataAutreInput('dimensionAutre');

	//recuperation des donnees de type interval
	dataDimensionInterval = getDataAutreInput('dimensionInterval');
	
    //recuperation des donnees  pour les series
    dataSerie = getDataSelected('serie');
    
    liMetier=null;
    
    if(pMode=='modif')
    {
        divContainer = window.document.getElementById('listDonneeMetier_'+pIdMetierRef);
    }  
    else
    {
        divContainer =window.document.getElementById('containerListMetier');
        liMetier = window.document.getElementById('metier_'+pIdMetierRef);
        
    }  


    closeBox();
    parent.saveData(dataSpecialite,
            dataSpecialiteAutre, 
            dataDimension,
            dataDimensionAutre,
            dataSerie,
            pIdMetier,
            pIdSousTraitant,
            pIdMetierRef,
            pMode,
            '/dataMetier/ajaxSaveDataMetier.php',
            divContainer,
            pSid,
            liMetier,
			dataDimensionInterval);
    

    return false;
}


/**
 *  Permet un enregistrement de donnees en ajax
 */ 
function saveData(pDataSpecialite,
                    pDataSpecialiteAutre,
                    pDataDimension,
                    pDataDimensionAutre,
                    pDataSerie, 
                    pIdMetier,
                    pIdSousTraitant,
                    pIdMetierRef,
                    pMode,
                    pUrl,
                    divContainer,
                    pSid,
                    liMetier,
					pDataDimensionInterval)
{
    /**
     *  Definissions du loader
     */             
     var loader = window.document.getElementById('loading'); 
     var form = window.document.getElementById('formular');
     var divHeight = window.document.getElementById('divHeight');
     
     parent.jQuery(loader).bind("ajaxStart", function(){
        parent.jQuery(divHeight).css("height",parent.jQuery(form).height());
        parent.jQuery(loader).show();
        parent.jQuery(divHeight).show();
        parent.jQuery(form).hide();
     }).bind("ajaxStop", function(){
        parent.jQuery(loader).hide();
        parent.jQuery(divHeight).hide();
        parent.jQuery(form).show();
     });
     
    //post permet d'envoyer une requete ajax, merci jquery, c quand meme super simple non ?
    parent.jQuery.ajax({
            type:"POST",
            url:pUrl,
            data:"dataSpecialite="+pDataSpecialite+'&dataSpecialiteAutre='+pDataSpecialiteAutre+'&dataDimension='+
                pDataDimension+'&dataDimensionAutre='+pDataDimensionAutre+'&dataSerie='+pDataSerie+'&idMetier='+pIdMetier+
                '&idMetierRef='+pIdMetierRef+'&idSousTraitant='+pIdSousTraitant+'&mode='+pMode+'&dataDimensionInterval='+pDataDimensionInterval,
                async:true,
                success:function(msg)
                {
                    parent.updateDataMetier(pIdMetier,
                                      pIdMetierRef,
                                      pIdSousTraitant,
                                      pMode,
                                      '/dataMetier/ajaxDisplayDataMetier.php',
                                      divContainer,
                                      pSid,
                                      liMetier);                    
                }
            });
                    

       
 
}




function updateDataMetier(pIdMetier,
                           pIdMetierRef,
                           pIdSousTraitant,
                           pMode,
                           pUrl,
                           divContainer,
                           pSid,
                           liMetier )
{
    //post permet d'envoyer une requete ajax, merci jquery, c quand meme super simple non ?

    parent.jQuery.ajax({
            type:"POST",
            url:pUrl,
            data:"idMetier="+pIdMetier+'&idMetierRef='+pIdMetierRef+'&idSousTraitant='+
                pIdSousTraitant+'&mode='+pMode+'&affichage=list&sid='+pSid,
                async:true,
                success:function(msg)
                {
                        if(pMode=='modif')
                        {
                            parent.jQuery(divContainer).html(msg);                                         
                        }
                        else
                        {
                            //on recharge la liste des metier
                            parent.jQuery(divContainer).html(parent.jQuery(divContainer).html() +  msg);
                            parent.updateLien(pIdMetier,
                                   pIdMetierRef,
                                   pIdSousTraitant,
                                   pSid,
                                   'ajaxGenerationLien.php'
                                   );  
                                                       
                        }
   
                }
            });
                

       
        

}


function updateLien(pIdMetier,
                    pIdMetierRef,
                    pIdSousTraitant,
                    pSid,
                    pUrl)
{
    divContainer = window.document.getElementById('metier_'+pIdMetierRef);
    parent.jQuery.ajax({
            type:"POST",
            url:pUrl,
            data:"idMetier="+pIdMetier+'&idMetierRef='+pIdMetierRef+'&idSousTraitant='+
               pIdSousTraitant+'&sid='+pSid,
               async:true,
               success:function(msg)
               {
                    //on recharge le lien qui permet de modifier dans la liste des metier
                    parent.jQuery(divContainer).html(msg);
                    //on reinitialise floatbox
                    //parent.fb.tagAnchors(divContainer);    
                    //on reinitialise le lien modier du metier modifie
                    //parent.fb.tagAnchors(fb.fbContent.contentWindow.document.getElementById('containerMetier_'+pIdMetierRef));                        
                    parent.jQuery(divContainer).addClass('selected'); 
                }
            });             
}

function deleteDataMetier(pIdMetier,
                            pIdMetierRef,
                            pIdSousTraitant)
{
     
    divContainer = window.document.getElementById('containerMetier_'+pIdMetierRef);
    liMetier = window.document.getElementById('metier_'+pIdMetierRef);
     $.post('ajaxDeleteMetier.php',
            {idMetier:pIdMetier}
        );
        
    parent.jQuery.ajax({
            type:"POST",
            url:'ajaxGenerationLien.php',
            data:"idMetier="+pIdMetier+'&idMetierRef='+pIdMetierRef+'&idSousTraitant='+
               pIdSousTraitant,
               async:true,
               success:function(msg)
               {
                    //on recharge le lien qui permet de modifier dans la liste des metier
                    parent.jQuery(liMetier).html(msg);
                }
            });  
                    
    $(liMetier).removeClass('selected');        
    $(divContainer).remove();    
              
}


function showHideDivAutre(type,pId)
{
    var isChecked = $("input#"+type+pId).is(':checked');
    
    if(isChecked)
    {

        $("div#slideTexteArea_"+type+pId).slideDown("normal",function()
                                                {
                                                  $(this).show();  
                                                }
                                            );
        
        
    }
    else
    {

        $("div#slideTexteArea_"+type+pId).slideUp("normal",function()
                                        {
                                          $(this).hide();  
                                        }
                                    );
                             
        $("div#slideTexteArea_"+type+pId).children().each( function (){
                                    $(this).val('');    
                });                               
    }
}



/**
 *  Permet l'ajout d'une page dans le favoris
 */ 
 
function bookmarksite(title, url, t)
{
   

    if (document.all) 
    {
        window.external.AddFavorite(url, title);
    }
    else
    { 
        if (window.sidebar) 
        {
            window.sidebar.addPanel(title, url, "");
        }
    } 
    
}

function setTextAreaVisible(areaVisible,areaHidden)
{
    $("#"+areaVisible).show();
    $("#"+areaHidden).hide();

}

function recopieText(idDepart, idDestination)
{
    tinyMCE.get(idDestination).setContent($('#'+idDepart).html());
}
