var chargePage = function(pUrl, id_track, pBoolean, elScrollId) {
    if(pUrl == '') {
        var url = $j(location).attr('href');
        pUrl = url.split('/').pop().replace(/#.*/, '');
    }

    //Remplacement des liens http
    if(/http:\/\/[^\/]*\/(.*)/.test(pUrl))
    {
        pUrl = pUrl.split("\/").pop();
    }

    if (pUrl.indexOf('?') != -1) {
        var page = pUrl.substring(0, pUrl.indexOf('?'));
    } else {
        var page = pUrl;
    }

	//ajout à l'historique de navigation
	//if(typeof(pBoolean) != 'undefined' && typeof(dhtmlHistory) != 'undefined') dhtmlHistory.add(pUrl);
    if(typeof(pBoolean) != 'undefined') {
        $j.history.load(pUrl);
    }

	// Pour changer le contenu de la page
	filename = pUrl;
    //Passage du paramètre ajax=1, en fonction de l'url
    if(pUrl.indexOf('?') != -1) {
        loadHTML(pUrl+"&ajax=1", $j('#displayed'), elScrollId, pBoolean, page);
    } else {
        loadHTML(pUrl+"?ajax=1", $j('#displayed'), elScrollId, pBoolean, page);
    }

    pBoolean = pBoolean || false;

    $j(document).trigger('onAfterChargePageCall', [page, pUrl, pBoolean]);

	//gestion plugins
    if(typeof(chargePagePlugin)!='undefined'){
	  	chargePagePlugin.Exec(chargePagePlugin.Params, page);
    }

    // Pour le référencement
    if (!pBoolean) {
        // Instruction envoyé au Flash
		emetteurVersFlash(page);
        // Retourne false pour empôcher au href de changer de page
        return pBoolean;
    }
};

/*
    Charge une page HTML ou PHP
    Arguments:
        pUrl de la page à charger
        fonction à appliquer
        paramètres de la fonction
*/
var loadHTML = function(pUrl, storage, elScrollId, from_flash, page) {
    var ajaxObject = {
        url : pUrl,
        type : 'GET',
        storage : storage,
        elScrollId : elScrollId,
        from_flash : from_flash,
        page : page,
        dataType : 'json',
        successComplete : false,
        /*failure : function(data) {
            alert('Une erreur est survenue.');
        },*/
        complete : function(response, error) {
            if(!this.successComplete) {
                alert('Une erreur est survenue.');    
            }
        },
        success : function(data){  
            this.successComplete = true;
            $j(this.storage).html('');      
            $j(data.content).appendTo(this.storage);

            //mise à jour du tille de la pageS
            document.title = '';
            document.title = data.titre;
            libelleFavoris = data.favori; 
                   
            //Levée de l'évènement
            $j(document).trigger('onLoadHtmlCompleted', [this, data]);

            // Pour forcer le redimensionnement iframe
            if(typeof(document.getElementById("form_frame"))!="undefined"){
                frame = document.getElementById("form_frame");
                if(frame!=null && window.attachEvent!=null){
                    frame.attachEvent("onload",frameonload,true);
                }

            }

            //On recharge les éditeurs tinyMCE
            if(typeof(tinyLoad)!="undefined"){
                tinyLoad();
            }
        }
    };
          
    $j(document).trigger('onBeforeAjaxCall', [ajaxObject]);
    
    $j.ajax(ajaxObject);
};


/*
    Callback
    Assign directly a tag
*/
var processHTML = function(temp, target) {
    target.innerHTML = temp.innerHTML;
};

var Click=function(a) {
    if (a != 0) {
        $j.ajax({
            type : 'GET',
            url : '/clic.php?sort='+a,
            success : function(data){
                var tmp = data;
            }
        });
    }
};


var resizeframe=function(frame){
    var offset = 40;
    if(-1 != navigator.userAgent.indexOf("KHTML")){offset=150;}
    var frame=parent.document.getElementById('form_frame');
    frame.height = frame.contentWindow.document.body.scrollHeight+offset;
};

var frameonload = function(){
    resizeframe(document.getElementById("form_frame"));
};

var frameonload2 = function(){
    if(typeof(document.getElementById("form_frame")!="undefined")){
        frame = document.getElementById("form_frame");
        if(window.attachEvent != null && frame!=null){
            frame.attachEvent("onload",frameonload,true);
            resizeframe(frame);
        }
    }
}

//Exécution de tâches
if(window.attachEvent != null){
    window.attachEvent("onload",frameonload2,true);
}


var FontSize = function (sens)
{
    for(var i=0;i<document.styleSheets.length;i++)
    {
        if(document.styleSheets[i].href){
            sUrl = document.styleSheets[i].href;
            if(sUrl.indexOf("style-site.css")!=-1) {
                var rules = document.styleSheets[i].rules||document.styleSheets[i].cssRules;
                for(var j=0;j<rules.length;j++) {
                    if(rules[j].style != undefined && rules[j].selectorText != undefined) {
                        if( rules[j].style.fontSize != "" && 
                            rules[j].selectorText.indexOf("tableauPiedDePage")==-1 && 
                            rules[j].selectorText.indexOf("titre")==-1 && 
                            rules[j].selectorText.indexOf("ssTitre")==-1 &&
                            rules[j].selectorText.indexOf("tableauDescriptionReferencement")==-1 &&
                            rules[j].selectorText.indexOf("tableauCredits")==-1
                            
                          )
                        {
                            var unit = rules[j].style.fontSize.substr((rules[j].style.fontSize.length-2),2);
                            var size = rules[j].style.fontSize.substr(0,(rules[j].style.fontSize.length-2));

                            if (unit=="em"){
                                if(sens=="-") {
                                    size = parseFloat(size)- 0.1;
                                } else {
                                    size = parseFloat(size)+0.1;
                                }             
                                rules[j].style.fontSize = size+unit;                      
                            } else if (unit=="px"){
                                if(sens=="-") {
                                    size = parseInt(size)-2;
                                } else {
                                    size = parseInt(size)+2;
                                }             
                                rules[j].style.fontSize = size+unit;                      
                            }
                        }
                        
                    }
                }
            }
        }
    }
};

var zoomDef = 1;
var ChangeZoom = function (sens)
{       
    FontSize(sens);                           
    
    /*
    var pas = 0.2;                                 
    if(sens=="-") { 
        if(zoomDef >= (1 + pas)) {
            zoomDef -= pas;     
        }                                
    } else {    
        zoomDef += pas;                                    
    }                
                                                               
    $j('body').css('transform','scale('+zoomDef+')');
    $j('body').css('-webkit-transform','scale('+zoomDef+')');
    $j('body').css('-webkit-transform-origin','center top');
    $j('body').css('-moz-transform','scale('+zoomDef+')');
    $j('body').css('-moz-transform-origin','center top');
    $j('body').css('-o-transform','scale('+zoomDef+')');
    $j('body').css('-o-transform-origin','center top');
    $j('body').css('-ms-transform','scale('+zoomDef+')');
    $j('body').css('-ms-transform-origin','center top');
    
    $j('body').css('zoom', (zoomDef * 100)+'%'); */

    return 0;     
}; 

$j(document).ready(function(){
    $j.history.init(chargePage);
});









var searchUrl = function(search) {
            var searchUrl = new Array();
searchUrl["urlChangeFacebook"] = "http://www.facebook.com/sharer.php?u=[[update]]";
searchUrl["urlChangeTumblr"] = "http://www.tumblr.com/share";
searchUrl["urlChangeTwitter"] = "http://twitter.com/home?status=[[update]]";
searchUrl["urlChangeBuzz"] = "http://www.google.com/buzz/post";
searchUrl["urlChangeLinkedin"] = "http://www.linkedin.com/shareArticle";

            for(var j in searchUrl) {
                if(j == search) {
                    return searchUrl[search];
                }
            }
            return "";
        };

var callStats = function(id, typeLien)
{
    $j.ajax({
        type : 'GET',
        url : "/apicius_plateforme2/"+version_master+"/php/pf2_stats_reseaux_sociaux.php?id="+id+"&typeLien="+typeLien+"&nomFichier="+filename
    });
}

var statsUrlShare = function(pUrl) {
    $j.each($j('.urlChange'), function(index, val) {
        var url = $j(location).attr('href');
        var parts = url.split('/');
        var size = parts.length;
        var href = searchUrl($j(this).attr('id'));
        var from = '';
        var i = 0;
        for(i = 0; i < (size-1); i++) {
            from += parts[i]+'/';
        }
        href = href.replace('[[update]]',from+pUrl);

        if($j(this).attr('nodeName') == 'IFRAME') {
            $j(this).attr('src',href);
        } else {
            $j(this).attr('href',href);
        }
    });
};

var setBackgroundsReseauxSociaux = function() {
    //Jeu du background-position avec jQuery
    var rsName = new Array();
    rsName['twitter']       = '0px';
    rsName['facebook']      = '-60px';
    rsName['mail']          = '-120px';
    rsName['delicious']     = '-180px';
    rsName['viadeo']        = '-240px';
    rsName['linkedin']      = '-300px';
    rsName['tumblr']        = '-360px';
    rsName['googlebuzz']    = '-420px';
    rsName['digg']          = '-540px';


    for(var k in rsName) {
        if($j('.ReseauSociauxTemplate3Logo li.shr-'+k).length > 0) {
            $j('.ReseauSociauxTemplate3Logo li.shr-'+k).attr('monReseau', k);
            $j('.ReseauSociauxTemplate3Logo li.shr-'+k).css('backgroundPosition', rsName[k]+' bottom')
                                    .hover(
                                        function() {
                                            $j(this).css('backgroundPosition', rsName[$j(this).attr('monReseau')]+' top');
                                        },
                                        function() {
                                            $j(this).css('backgroundPosition', rsName[$j(this).attr('monReseau')]+' bottom');
                                        });
        }
    }
}

$j(document).bind('onLoadHtmlCompleted', function(evt, ajaxObject, data) {
    //Changements d'url dans les boutons statistiques
    statsUrlShare(ajaxObject.page);
    setBackgroundsReseauxSociaux();
});

statsUrlShare("tourisme-et-activites.php");
setBackgroundsReseauxSociaux();

Scroller = {                                                       
    speed:80,  
    scrollToElement : function(el, speedSpecific){   
        $j.scrollTo($j(el), (speedSpecific ? speedSpecific : this.speed) * 10);  
    }
}

$j(document).bind('onLoadHtmlCompleted', function(evt, ajaxObject, data) { 
    if(config.actifScroller) {
        //Si pas depuis le flash
        if(!ajaxObject.from_flash){
            //On scroll de manière animé seulement si la config le demande
            if(config.animatedScroll){
                Scroller.speed = config.animatedScrollSpeed;
                if(ajaxObject.elScrollId && $j('#'+ajaxObject.elScrollId)) {
                    Scroller.scrollToElement($j('#'+ajaxObject.elScrollId));
                } else {
                    Scroller.scrollToElement($j('html body'));
                }
            } else {
                if(ajaxObject.elScrollId && $j('#'+ajaxObject.elScrollId)) {
                    Scroller.scrollToElement($j('#'+ajaxObject.elScrollId), 0);
                } else {
                    Scroller.scrollToElement($j('html body'), 0);
                }
            }
        } else {
            //Si on vient depuis le flash, on autorise le scroll vers un élément seulement si l'élément est spécifié
            if(ajaxObject.elScrollId) {
                //On vérifie le paramétrage pour savoir si le scroll doit être animé
                if(config.animatedScroll){
                    Scroller.speed = config.animatedScrollSpeed;
                    if($j('#'+ajaxObject.elScrollId)) {
                        Scroller.scrollToElement($j('#'+ajaxObject.elScrollId));
                    }
                } else {
                    //Sinon on va directement à l'élément sans délai
                    Scroller.scrollToElement($j('#'+ajaxObject.elScrollId), 0); 
                }                        
            }
        }
    }
});

/*********************************************************************************
* FONCTIONS DE GESTION DU GOOGLE +1
*/

var resetPlusOneCss = function() {
    $j("#liensUtilesPlusOne").css('display', 'inline');
    $j("#liensUtilesPlusOne").css('width', '60px');
    $j("#liensUtilesPlusOne > iframe").css('width', '60px');    
}

//Evènements --------------------------------------------------------------------
$j(document).ready(function() {
    gapi.plusone.render("liensUtilesPlusOne", {
        'size' : 'small',
        'count' : 'true'  
    });
    
    setTimeout("resetPlusOneCss()", 1000);
});

$j(document).bind('onLoadHtmlCompleted', function(evt, ajaxObject, data) { 
    $j("#liensUtilesPlusOne").html('');
    
    //Création de l'url complete
    var urlComplete = location.href.substring(0, location.href.lastIndexOf('/'));
    urlComplete += '/' + ajaxObject.url.substring(0, ajaxObject.url.lastIndexOf('?'));
    
    //Appel du render
    gapi.plusone.render("liensUtilesPlusOne", {
        'size' : 'small',
        'count' : 'true',
        'href' : urlComplete  
    });
    
    setTimeout("resetPlusOneCss()", 1000);
});

