var btn_descriptif;
var onglet_active;


function loadPage(url) {
    var edt_img = new Image();
    edt_img.src = "http://stats.synomia-smart-clouds.com/suggestion.gif?mid=4c5bde74a8f110656874902f07378009&from=" + document.location.href + "/&to=" + url;
    window.location.href = url;
}

window.onload = function() {
    activeQAShowHide();
    //initSwitchPictureHome();
    initLightBox();
    //	initScrollHomeMarques();	
    initDefinitionBox();
    activeQAGallerieShowHide();
    initShowHideOnglets();
    var elm_image_bank = document.getElementById("image_bank");
    var elm_liste_ourvalues = document.getElementById("liste_our_values");
    var elm_liste_careers = document.getElementById("careers");
    var elm_tag_cloud = document.getElementById("nuages");

    if (elm_image_bank)
        initInfosBox();
    if (elm_liste_ourvalues)
        initBox("liste_our_values", false, 50);
    if (elm_liste_careers)
        initBox("liste_careers", false, false);

    if (elm_tag_cloud)
        new cloudPopup(elm_tag_cloud);

}


function cloudPopup(elm) {
    this.initialize.apply(this, arguments);
}

cloudPopup.prototype = {

    constructor: cloudPopup,

    initialize: function(elm) {
        var ul = elm.getElementsByTagName('ul')[0];
        var as = ul.getElementsByTagName('a');
        this.box = document.getElementById("boite_definition");
        this.content = document.getElementById("boite_definition_content");
        this.close = document.getElementById("btn_definition_close");

        for (var i = 0, l = as.length; i < l; i++) {
            var a = as[i];
            a.onclick = function(oSelf) {
                return function(e) {
                    if (!e)
                        e = window.event;
                    oSelf.show(e, this.rel)
                    return false;
                }
            } (this)
        }
    },

    show: function(e, rel) {
        var curtag = escape(document.getElementById("tag_" + rel).innerHTML);
        this.content.innerHTML = document.getElementById(rel).innerHTML;
        this.content.innerHTML += '<img src="http://stats.synomia-smart-clouds.com/tag.gif?mid=4c5bde74a8f110656874902f07378009&url=' + document.location.href + '/&tag=' + curtag + '"/>';
        this.box.style.display = "block";
        this.box.style.left = e.clientX + "px";
        this.box.style.top = e.clientY + "px";
    }
}




function initShowHideOnglets() {
    var content_box = document.getElementById("boite_conglets_contenu");
    var box_onglets = document.getElementById("boite_onglets_onglets");
    if (box_onglets) {
        var onglets = box_onglets.getElementsByTagName("A");
        onglet_active = 0;
        for (var i = 0; i < onglets.length; i++) {
            var ancre = onglets[i].hash;
            var exp_reg = /#/gi;
            ancre = ancre.replace(exp_reg, "")
            if (i > 0)
                document.getElementById(ancre).style.display = "none";
            onglets[i].onclick = function() {
                if (this.parentNode.parentNode.className != ("first active" || "active")) {
                    var ancre = this.hash;
                    var exp_reg = /#/gi;
                    ancre = ancre.replace(exp_reg, "");
                    if (onglets[onglet_active].parentNode.parentNode.className == ("first active" || "active"))
                        onglets[onglet_active].parentNode.parentNode.className = "first";
                    else
                        onglets[onglet_active].parentNode.parentNode.className = "";
                    document.getElementById("onglet_" + onglet_active).style.display = "none";
                    var ancre_length = ancre.length;
                    onglet_active = ancre.substring(ancre_length - 1, ancre_length);
                    document.getElementById(ancre).style.display = "block";
                    if (onglet_active == 0)
                        this.parentNode.parentNode.className = "first active";
                    else
                        this.parentNode.parentNode.className = "active";
                }
                return false;
            }
        }



        var liste_response = document.getElementById("liste");
        if (liste_response) {

            var questions = liste_response.getElementsByTagName("h3");
            for (var i = 0; i < questions.length; i++) {
                questions[i].onclick = function() {
                    for (var j = 0; j < questions.length; j++) {
                        doShowHide(questions[j], this);
                    }

                }
            }

            function doShowHide(elm, event) {
                var elm_id = elm.id;
                elm_id = elm_id.substring(9);
                var response = document.getElementById("reponse_" + elm_id);
                var liste = document.getElementById("liste_" + elm_id);
                var theme = document.getElementById("theme_" + elm_id);
                var date = document.getElementById("date_" + elm_id);

                if (event.id == elm.id) {
                    elm.className = "on"
                    if (theme)
                        theme.className = "theme on"
                    if (date)
                        date.className = "date on";
                    response.className = "on";
                    liste.className = "liste_on";
                }
                else {
                    elm.className = "off"
                    if (date)
                        date.className = "date off";
                    if (theme)
                        theme.className = "theme off";
                    response.className = "off";
                    liste.className = "liste_off";
                }
                //(elm.className == "on") ? elm.className  = "off" : elm.className  = "on";
                //(elm.className == "on") ? response.className = "on" : response.className  = "off";	

            }
        }
    }
}





//conteneur  des elements / posX,posY
function initBox(container, x, y) {

    var elm_box = document.getElementById("boite_definition");
    var elm_boite_content = document.getElementById("boite_definition_content");
    var elm_btn_close = document.getElementById("btn_definition_close");


    function hideDefinition() {
        elm_boite_content.innerHTML = "";
        elm_box.style.display = "none";
    }

    elm_btn_close.onclick = function() {
        hideDefinition();
    }

    if (typeof container == "string")
        container = document.getElementById(container);
    var handles = container.getElementsByTagName("a");

    for (var i = 0; i < handles.length; i++) {
        if (handles[i].className.match(/\bhandle\b/g)) {
            var attr_name = handles[i].name.toString() || handles[i].id;
            var content = document.getElementById("bloc_" + attr_name + "");
            content.style.visibility = "hidden";
            content.style.position = "absolute";
            content.style.left = "-5000px";
            handles[i].onclick = function(event) {
                var content = document.getElementById("bloc_" + this.name);
                showDefinition(content, event, x, y, +this.name);
                return false;
            }
        }
    }

    function showDefinition(content, event, x, y, handle) {
        content.className = "";
        elm_boite_content.innerHTML = content.innerHTML;
        elm_box.style.display = "block";
        if (document.width) {
            if (y != false)
                var negativeY = y;
            if (container.id == "liste_careers") {
                var elm = document.getElementById("grid_careers");
                elm_box.style.left = elm.offsetLeft - 5 + "px";
                elm_box.style.top = elm.offsetTop + "px";
                //			console.info(elm, elm_box.style.left, elm_box.style.top);
            }
            else {
                elm_box.style.left = (event.pageX - 195) + "px";
                elm_box.style.top = event.pageY - negativeY + "px";
            }
        }
        else {
            if (y != false)
                var negativeY = y;
            if (container.id == "liste_careers") {
                elm_box.style.left = document.all.grid_careers.offsetLeft - 5 + "px";
                elm_box.style.top = document.all.grid_careers.offsetTop + "px";
            }
            else {
                //change method ie bug position relative
                elm_box.style.left = window.event.clientX - 195;
                elm_box.style.top = window.event.clientY - negativeY;
            }
        }
    }
}


function initInfosBox() {
    var elm_definition_box = document.getElementById("boite_definition");
    var elm_boite_definition_content = document.getElementById("boite_definition_content");
    var elm_btn_close_definition = document.getElementById("btn_definition_close");


    if (elm_definition_box) {


        function hideDefinition() {
            elm_boite_definition_content.innerHTML = "";
            elm_definition_box.style.display = "none";
        }

        elm_btn_close_definition.onclick = function() {
            hideDefinition();
        }

        var elm_liste = document.getElementById("liste");
        var elms_div = elm_liste.getElementsByTagName("div");

        for (var i = 0; i < elms_div.length; i++) {
            if (elms_div[i].className == "descriptif") {
                elms_div[i].style.visibility = "hidden";
                elms_div[i].style.position = "absolute";
                elms_div[i].style.left = "-5000px";
            }
        }

        for (var i = 0; i < elms_div.length; i++) {
            if (elms_div[i].className == "img_miniature") {
                elms_div[i].onclick = function(event) {
                    btn_descriptif = this.id;
                    btn_descriptif = btn_descriptif.substring(8);

                    var infos = "infos_def_" + btn_descriptif;
                    infos = document.getElementById(infos);
                    var infos_copie = "copie_infos_def_" + btn_descriptif;
                    infos_copie = document.getElementById(infos_copie);
                    var descriptif = "def_" + btn_descriptif;
                    descriptif = document.getElementById(descriptif);
                    showDefinition(descriptif, event, infos, infos_copie);
                }
            }
        }

        function showDefinition(descriptif, event, infos, infos_copie) {
            infos_copie.innerHTML = infos.innerHTML;
            elm_boite_definition_content.innerHTML = descriptif.innerHTML;
            elm_definition_box.style.display = "block";
            if (document.width) {
                elm_definition_box.style.left = (event.pageX - 195) + "px";
                elm_definition_box.style.top = event.pageY + "px";
            }
            else {
                elm_definition_box.style.left = window.event.clientX - 195;
                elm_definition_box.style.top = window.event.clientY + document.documentElement.scrollTop;
            }
        }
    }
}


function initDefinitionBox() {
    var elm_definition_box = document.getElementById("boite_definition");
    var elm_boite_definition_content = document.getElementById("boite_definition_content");
    var elm_btn_close_definition = document.getElementById("btn_definition_close");
    if (elm_definition_box) {

        function hideDefinition() {
            elm_boite_definition_content.innerHTML = "";
            elm_definition_box.style.display = "none";
        }
        elm_btn_close_definition.onclick = function() {
            hideDefinition();
        }

        var elms_span = document.getElementsByTagName("span");
        var elms_dfn = document.getElementsByTagName("dfn");
        for (var i = 0; i < elms_dfn.length; i++) {
            elms_dfn[i].style.visibility = "hidden";
            elms_dfn[i].style.position = "absolute";
            elms_dfn[i].style.left = 0;
            elms_dfn[i].style.top = 0;
        }
        for (var i = 0; i < elms_span.length; i++) {
            if (elms_span[i].className == "definition") {
                elms_span[i].onclick = function(event) {
                    btn_definition = this.id;
                    btn_definition = btn_definition.substring(8);
                    var definition = "def_" + btn_definition;
                    definition = document.getElementById(definition);
                    showDefinition(definition, event);
                }
            }
            if (elms_span[i].className == "definition_ponctuation") {
                elms_span[i].style.visibility = "hidden";
                elms_span[i].style.position = "absolute";
            }
        }
        function showDefinition(definition, event) {
            elm_boite_definition_content.innerHTML = definition.innerHTML;
            elm_definition_box.style.display = "block";
            if (document.width) {
                elm_definition_box.style.left = (event.pageX - 195) + "px";
                elm_definition_box.style.top = event.pageY + "px";
            }
            else {
                elm_definition_box.style.left = window.event.x - 195;
                elm_definition_box.style.top = window.event.y + document.documentElement.scrollTop;
            }
        }
    }
}




function activePrintFunction() {
    //disable old print function that is useless now

    /*var elm_print = document.getElementById('btn_imprimer');
    if (elm_print) {
    elm_print.innerHTML = "<a href=\"#\" id=\"action_imprimer\" title=\"Imprimer la page\"><img src=\"Content/img/btn_imprimer.jpg\" alt=\"Imprimer la page\" /></a>";
    document.getElementById('action_imprimer').onclick = function()
    {
    window.print();
    return false;
    }
    }*/

    $('#header a.aprint').each(function(node) {
        $(this).click(function(e) {
            e.preventDefault();
            window.print();
        })
    })

}


function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else
        var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ')
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0)
            return c.substring(nameEQ.length, c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name, "", -1);
}




function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent)
        while (1) {
        curleft += obj.offsetLeft;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else
        if (obj.x)
        curleft += obj.x;
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent)
        while (1) {
        curtop += obj.offsetTop;
        if (!obj.offsetParent)
            break;
        obj = obj.offsetParent;
    }
    else
        if (obj.y)
        curtop += obj.y;
    return curtop;
}



/* caroussel home */
jQuery.fn.scrollHomeMarques = function() {

    var $elm_marques = this;
    var $elm_marques_liens = $("#marques_liens");
    var $elm_marques_liste = $("#marques_liste");

    //	var pas = 1;
    var interval = 30;


    if ($elm_marques_liens.length) {
        var $images = $elm_marques_liste.find("li");
        var longueur = 0;



        $images.each(function() {
            longueur += $(this).outerWidth(1) + 1;
        });



        var pas_unit = longueur / $images.length;
        var interval_unit = pas_unit * interval;
        var duration_total = $images.length * interval_unit;

        var elm_marques_width = $elm_marques.innerWidth();
        var elm_marques_max = elm_marques_width - longueur;

        if (longueur > elm_marques_width) {

            $elm_marques_liste.css({
                'overflow': 'hidden',
                'width': longueur + 'px',
                'left': '0px'
            });
            $elm_marques.css({
                'overflow': 'hidden'
            });

            var $btn_gauche = $(document.createElement('span')).appendTo($elm_marques_liens).attr('id', 'btn_gauche');
            var $btn_droite = $(document.createElement('span')).appendTo($elm_marques_liens).attr('id', 'btn_droite');

            $btn_gauche.hover(
				function() {
				    $(this).css({ backgroundPosition: '30% 50%' });


				    $elm_marques_liste.stop();
				    $elm_marques_liste.animate(
						{ left: '0px' },
						-parseInt($elm_marques_liste.css('left')) * interval,
						'linear'
					);
				},
				function() {
				    $(this).css({ backgroundPosition: '50% 50%' });
				    $elm_marques_liste.stop();
				}
			);
            $btn_droite.hover(
				function() {
				    $(this).css({ backgroundPosition: '70% 50%' });

				    $elm_marques_liste.stop();
				    $elm_marques_liste.animate(
						{ left: elm_marques_max + 'px' },
						((elm_marques_max * -1) + parseInt($elm_marques_liste.css('left'))) * interval,
						'linear'
					);
				},
				function() {
				    $(this).css({ backgroundPosition: '50% 50%' });
				    $elm_marques_liste.stop();

				}
			);


            $elm_marques_liste.animate(
				{ left: elm_marques_max + 'px' },
				duration_total,
				'linear',
				function() {
				    $(this).animate(
						{ left: '0px' },
						duration_total,
						'linear'
					);
				}
			);
        }
    }
}


function initSwitchPictureHome() {
    var home = document.getElementById("home");
    var elm = document.getElementById("mav");
    if (home) {
        var picture = 1;
        elm.style.backgroundImage = "url(Content/img/bg_home_" + picture + ".jpg)";
        function switchPicture() {
            elm.style.backgroundImage = "url(Content/img/bg_home_" + picture + ".jpg)";
            (picture == pictures.length) ? picture = 1 : picture++;
        }
        setInterval(function() {
            switchPicture()
        }, 5000);
    }
}


function activeQAShowHide() {
    var qa = document.getElementById("zone_qa");
    if (qa) {
        var questions = qa.getElementsByTagName("h3");
        for (var i = 0; i < questions.length; i++) {
            questions[i].onclick = function() {
                for (var j = 0; j < questions.length; j++) {
                    doShowHide(questions[j], this);
                }

            }
        }

        function doShowHide(elm, event) {
            var elm_id = elm.id;
            elm_id = elm_id.substring(9);
            var response = document.getElementById("reponse_" + elm_id);
            var liste = document.getElementById("liste_" + elm_id);
            var theme = document.getElementById("theme_" + elm_id);
            var date = document.getElementById("date_" + elm_id);

            if (event.id == elm.id) {
                elm.className = "on"
                if (theme)
                    theme.className = "theme on"
                if (date)
                    date.className = "date on";
                response.className = "on";
                liste.className = "liste_on";
            }
            else {
                elm.className = "off"
                if (date)
                    date.className = "date off";
                if (theme)
                    theme.className = "theme off";
                response.className = "off";
                liste.className = "liste_off";
            }
            //(elm.className == "on") ? elm.className  = "off" : elm.className  = "on";
            //(elm.className == "on") ? response.className = "on" : response.className  = "off";		
        }
    }
}

function activeQAGallerieShowHide() {
    var qa = document.getElementById("zone_qa");
    var posFirst;
    var posLast;
    var precedent = 0;
    var suivant;
    var pos = 1;
    var lastPos = 1;
    if (qa) {
        var elms = qa.getElementsByTagName("div");
        for (var i = 0; i < elms.length; i++) {
            if (elms[i].className == "gallerie") {
                var gallerie = elms[i];
                var elms_img = gallerie.getElementsByTagName("img");
                for (var j = 0; j < elms_img.length; j++) {
                    (j == 0) ? elms_img[j].style.display = "block" : elms_img[j].style.display = "none";
                }
            }
            if (elms[i].className == "pagination") {
                var pagination = elms[i];
                var elms_li = gallerie.getElementsByTagName("li");
                suivant = elms_li.length;
                for (var j = 0; j < elms_li.length; j++) {
                    posFirst = 1;
                    posLast = elms_li.length - 1;
                    switchPicture(j);
                }
            }

            function switchPicture(j) {

                elms_li[j].onclick = function(e) {
                    pos = this.childNodes[0].firstChild.nodeValue;
                    if ((pos > 0) && (pos < posLast) && (pos != lastPos)) {
                        this.className = "active";
                        elms_li[lastPos].className = "";
                        elms_img[lastPos - 1].style.display = "none";
                        lastPos = parseInt(this.childNodes[0].firstChild.nodeValue);
                        elms_img[lastPos - 1].style.display = "block";
                    }
                    if (pos == ">") {
                        if (lastPos < posLast - 1) {
                            elms_li[lastPos + 1].className = "active";
                            elms_li[lastPos].className = "";
                            elms_img[lastPos - 1].style.display = "none";
                            lastPos = lastPos + 1;
                            elms_img[lastPos - 1].style.display = "block";
                        }
                    }
                    else
                        if (pos == "<") {
                        if (lastPos > posFirst) {
                            elms_li[lastPos - 1].className = "active";
                            elms_li[lastPos].className = "";
                            elms_img[lastPos - 1].style.display = "none";
                            lastPos = lastPos - 1;
                            elms_img[lastPos - 1].style.display = "block";
                        }
                    }
                    //elms_li[img_active + 1 ].className = "";
                    //elms_li[position].className = "active";
                    //elms_img[position - 1].style.display = "block";
                    //elms_img[img_active].style.display = "none";
                    //img_active = position - 1;	
                    return false;
                }
            }

        }
    }

}


var size = 0;
function activeResizeTextFunction() {
    var elm_up = document.getElementById('btn_augmenter');
    var elm_down = document.getElementById('btn_reduire');
    var body = document.body;
    if (readCookie("nw_fontsize")) {
        size = readCookie("nw_fontsize");
        size = parseInt(size);
        switch (size) {
            case 0:
                body.style.fontSize = "65%";
                size = 0;
                break;
            case 1:
                body.style.fontSize = "70%";
                size = 1;
                break;
            case 2:
                body.style.fontSize = "75%";
                size = 2;
                break;
            case 3:
                body.style.fontSize = "80%";
                size = 3;
                break;
        }
    }

    if (elm_up) {
        elm_up.onclick = function() {
            switch (size) {
                case 0:
                    body.style.fontSize = "70%";
                    size = 1;
                    break;
                case 1:
                    body.style.fontSize = "75%";
                    size = 2;
                    break;
                case 2:
                    body.style.fontSize = "80%";
                    size = 3;
                    break;
            }
            createCookie("nw_fontsize", size);
            return false;
        }
        elm_down.onclick = function() {
            switch (size) {
                case 1:
                    body.style.fontSize = "65%";
                    size = 0;
                    break;
                case 2:
                    body.style.fontSize = "70%";
                    size = 1;
                    break;
                case 3:
                    body.style.fontSize = "75%";
                    size = 2;
                    break;
            }
            createCookie("nw_fontsize", size);
            return false;
        }
    }
}


(function() {
    var agent = navigator.userAgent;
    var class2apply = "";
    if (agent.match(/Firefox\/2/))
        class2apply = "ff2";
    if (agent.match(/Firefox\/3/))
        class2apply = "ff3";
    if (agent.match(/MSIE 6.0/))
        class2apply = "ie6";
    if (agent.match(/MSIE 7.0/))
        class2apply = "ie7";
    if (agent.match(/MSIE 8.0/))
        class2apply = "ie8";
    if (agent.match(/AppleWebKit/))
        class2apply = " AWK";
    document.documentElement.className += " " + class2apply;
})();

function initLightBox() {
    try {
        $('a[class=lightBox]').lightBox();
    }
    catch (e) {
        // si jQuery ou plugin absent
    }
}



$(document).ready(function() {
    //$(_initScrollHomeMarques.btn_gauche).trigger('hover',1);
    activeResizeTextFunction();
    $('#marques').scrollHomeMarques();
    activePrintFunction();

});

