//Création des objets
//chaque objet représente une application
var oApp1 = new App("app1", TypeEtat.close, "-3000px", "0px", 2000, "0px"   , "0px"   ,"350px" ,"275px" , "editoriaux");
var oApp2 = new App("app2", TypeEtat.close, "-1500px", "0px", 1600, "-350px", "0px"   ,"0px"   ,"275px" , "presentation");
var oApp3 = new App("app3", TypeEtat.close, "3200px" , "0px", 2300, "-700px", "0px"   ,"-350px","275px" , "temoignages");
var oApp4 = new App("app4", TypeEtat.close, "-2300px", "0px", 2000, "0px"   , "-275px","350px" ,"0px"   , "offres");
var oApp5 = new App("app5", TypeEtat.close, "2100px" , "0px", 1700, "-350px", "-275px","0px"   ,"0px"   , "actualites");
var oApp6 = new App("app6", TypeEtat.close, "2840px" , "0px", 1900, "-700px", "-275px","-350px","0px"   , "methode");
var oApp7 = new App("app7", TypeEtat.close, "-2900px", "0px", 2400, "0px"   , "-550px","350px" ,"-275px", "partenaires");
var oApp8 = new App("app8", TypeEtat.close, "2500px" , "0px", 1800, "-350px", "-550px","0px"   ,"-275px", "international");
var oApp9 = new App("app9", TypeEtat.close, "2950px" , "0px", 2100, "-700px", "-550px","-350px","-275px", "contact");

var allApp = [oApp1, oApp2, oApp3, oApp4, oApp5, oApp6, oApp7, oApp8, oApp9];

var isIE = (navigator.appName=="Microsoft Internet Explorer");
var IEversion = navigator.appVersion;
if(isIE) {
IEversion = parseInt(IEversion.substr(IEversion.indexOf("MSIE")+4));
} else {
IEversion = 0;
}
//alert("isIE=" + isIE + ", version=" + IEversion);




// Récupère un élément
function $element( id_){
    return document.getElementById( id_);
}

// Récupère un objet App dans le tableau
function getApp( id_){
    var elem;
    for(i=0;i<=allApp.length-1;i++){
        if(id_ == allApp[i].getNameApp())
            elem = allApp[i];
    }
    return elem;
}

// Corrige l'overflow-x en remettant chaque App au départ et en les cachant'
function correctOverflow( id_){
    for(i=0;i<=allApp.length-1;i++){
        elem = allApp[i];
        oDom = elem.getDomElem();
        //si le nom = id_, on ne la bouge pas
        if(id_ != elem.getNameApp()){
            oDom.style.left = "0px";
            oDom.style.display = "none";
        }
    }

    $("body").css("overflow-x", "visible");
}

// Démarre l'application
$(document).ready(startApp());

// Initialise l'animation
function startApp(){

    // Rend visible chaque élément et le place au départ
    var oDom;
    var elem;
    for(i=0;i<=allApp.length-1;i++){
        elem = allApp[i];
        oDom = elem.getDomElem();
        if(!isIE || IEversion > 8){
            oDom.style.left = elem.getStartLeft();
        }
        oDom.style.visibility = "visible";
        // Cache le contenu en mode ouvert
        $("#opened_"+elem.getContent()).css("display","none");
        $("#opened_"+elem.getContent()).css("opacity","0");
    }

    // Affiche l'accueil
    showAccueil("");
}

// Affiche l'accueil'
function showAccueil( id_){
    if(!isIE || IEversion > 8){
        $("body").css("overflow-x", "hidden");
        // Affiche chaque App sauf id_ et change l'état
        var oDom;
        var elem;
        for(i=0;i<=allApp.length-1;i++){
            elem = allApp[i];
            oDom = elem.getDomElem();
            if(id_ != elem.getNameApp()){
                oDom.style.left = elem.getStartLeft();
                oDom.style.display = "block";
                $(oDom).animate({
                    left: elem.getEndLeft()
                    //opacity: 1},
                },
                elem.getSpeed());

            }
            elem.setEtat(TypeEtat.close);
        }

        // Affiche l'overflow après 2sec
        window.setTimeout(function(){
            $("body").css("overflow-x", "visible");
        }, 2000);

        //alert("testAJAX");
        //$.getScript("js-script/animation_partenaires.js");
    }
}

// Cache l'accueil
function hideAccueil( id_){
    //A DEFINIR
    //PLUSIEUR ANIMATION ALEATOIRE
    $("body").css("overflow-x", "hidden");

    // Cache chaque App sauf id_ et change l'état
    var oDom;
    var elem;
    for(i=0;i<=allApp.length-1;i++){
        elem = allApp[i];
        oDom = elem.getDomElem();
        if(id_ != elem.getNameApp()){
            $(oDom).animate({
                left: elem.getStartLeft()},
            { duration:elem.getSpeed(), queue: false })
//            .animate({
//                opacity: 0},
//            { duration: 600, queue: true });

        elem.setEtat(TypeEtat.hide);
        }
    }
    window.setTimeout(function(){correctOverflow(id_)}, 2000);
    }

    

// Ouvre une App
function openApp( id_){
    // Si bon état on cache l'accueil
    var elem = getApp(id_);
    var oDom = elem.getDomElem();

    if(elem.getContent() == "actualites"){
        document.location.href = "blog/actu-junior";
    }
    else if(isIE && IEversion <= 8){
        document.location.href = elem.getContent()+".php";
    }
    else{
        if(getApp(id_).getEtat() == TypeEtat.close){
            hideAccueil(id_);
            //on cache le lien qui gène
            $("#lien_app_"+id_[3]).css("display","none");

            // Centre l'App
            elem.getAJAXRequest();

            $(oDom).animate({
                left: elem.getCenterLeft(),
                top: elem.getCenterTop()
                      // Cache le contenu en mode fermé
              }, 500, function(){
                  $("#closed_"+elem.getContent()).animate({
                    opacity: 0
                          // Agrandi l'App
                  }, 500, function(){
                      $("#closed_"+elem.getContent()).css("display", "none");
                      $(oDom).animate({
                          marginLeft: elem.getEnlargeML(),
                          marginTop: elem.getEnlargeMT(),
                          left: "0px",
                          top: "0px",
                          width: "1000px",
                          height: "800px"
                              // Affiche le contenu en mode ouvert
                      }, 800, function(){
                          $("#opened_"+elem.getContent()).css("display", "block");
                          $("#opened_"+elem.getContent()).animate({
                              opacity: 1
                          }, 800);
                          });
                      // Change l'état
                      elem.setEtat(TypeEtat.open);
                      });
                  });
        }
    }
}

// Ferme une App
function closeApp( id_){
    // Si bon état on ferme l'App
    if(getApp(id_).getEtat() == TypeEtat.open){
        // Récupère l'élément voulu

        var elem = getApp(id_);
        var oDom = elem.getDomElem();
        // Cache le contenu en mode ouvert
        $("#opened_"+elem.getContent()).animate({
            opacity: 0
                // Réétréci l'App
        }, 300, function(){
            $("#opened_"+elem.getContent()).css("display", "none");
            $(oDom).animate({
                width: "300px",
                height: "225px",
                marginLeft: "0px",
                marginTop: "0px",
                left: elem.getCenterLeft(),
                top: elem.getCenterTop()
                    
            }, 800, function(){
                showAccueil(id_);
                $("#closed_"+elem.getContent()).css("display", "block");
                $("#closed_"+elem.getContent()).animate({
                    opacity: 1
                        // Replace l'App à son endroit initial
                }, 500, function(){
                    $(oDom).animate({
                        left: elem.getEndLeft(),
                        top: "0px"
                            // Change l'état'
                    }, 500, function(){
                        elem.setEtat(TypeEtat.close)
                        });
                });
            });
        });
        $("#lien_app_"+id_[3]).css("display","block");
    }
}
