/* Librairie JAVASCRIPT - Copyright LMC France - www.lmc-web.fr */
/* FFN - http://http://www.lanuitdeleau.com */

$(document).ready(function() {

    /* *** Cycles *** */

    var speed = 1200;
    var speed_timeout = 6000;

    //Cycle sur le carrousel accueil
    $('#home_scroller').before('<div id="nav_slide" class="nav_slide">').cycle({

        fx: 'scrollHorz',
        speed: speed,
        timeout: speed_timeout,
        pause: 1,
        pager: '#nav_slide'
    });

    //Cycle sur les photos
    $('#gallery_scroller').cycle({
        fx: 'scrollHorz',
        speed: speed,
        timeout: speed_timeout,
        pause: 1
    });
    /*****************/

    /* *** On enlève les chiffres qui se trouvent dans les balises <a> de la navigation du carrousel *** */
    $('#nav_slide a').html("");

    /*** Hover menu ***/ /* Les autres hover sont fait en CSS */
    $('#menu .niv1').hover(function() {
        var id_menu = $(this).attr('id');
        var offset = $('#' + id_menu + ' a').offset();
        var pos_l = offset.left;

        $('#' + id_menu + ' ul').css('left', pos_l);

    }, function() { });

    /*** Hover Sous-menu ***/
    $('#menu .niv1 ul').hover(function() {
        var id_ssmenu = $(this).attr('id');
        var id_menu = id_ssmenu.replace("ss_m_", "");

        $('#' + id_menu + ' a').addClass("hover");
        $('#' + id_menu + ' .niv2 a').removeClass("hover");

    }, function() {

        var id_ssmenu = $(this).attr('id');
        var id_menu = id_ssmenu.replace("ss_m_", "");

        $('#' + id_menu + ' a').removeClass("hover");

    });

    /*** Iformations Organisateur : On cache les champs si la checkbox "non" est cochée ***/
    //$("#ctl00_contenuPage_ctl00_q9 input").click(function() {
    $("form.orga_infos input:radio").click(function() {
        var non = true;
        var val_chk = $(this).val();
        var class_this = $(this).parents("table").attr("class");
        if (val_chk == 0)
            non = false;

        if ($(this).parents("table").attr("id") == "ctl00_contenuPage_ctl00_q6" || $(this).parents("table").attr("id") == "ctl00_contenuPage_ctl00_q7") {
            class_this = "." + class_this + "_non";
            if (non)
                $(class_this).slideUp();
            else
                $(class_this).slideDown();
        }
        else {
            class_this = "." + class_this + "_oui";
            if (!non)
                $(class_this).slideUp();
            else
                $(class_this).slideDown();
        }
    });
});

function menu_roll(quel, sens) {

	var sousMenu = getObjectById(quel);
	var lienSousMenu = getObjectById('a'+quel);
	
	if(sousMenu != null) {
		if (sens) {
			sousMenu.style.left = (getElementCoords(lienSousMenu).left-29) + 'px';
			sousMenu.style.top = (20+getElementCoords(lienSousMenu).top) + 'px';
			sousMenu.style.display='block';
			lienSousMenu.style.backgroundColor = '#0099cc';
'on' ;
			//alert(lienSousMenu.className);
		}
		else {
			sousMenu.style.display='none';
			lienSousMenu.style.backgroundColor = '#33ccff';
		}
	}

}


/*****************************************************************
* Méthodes multi-navigateur de sélection d'un Element via son id
**/
function checkBrowser()
{	
	this.ver=navigator.appVersion;
	this.dom=document.getElementById?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
	this.ie55=((this.ver.indexOf("MSIE 5.5")>-1 || this.ie6) && this.dom)?1:0;
	this.ie5=((this.ver.indexOf("MSIE 5")>-1 || this.ie5 || this.ie6) && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
	this.ns4=(document.layers && !this.dom)?1:0;
	this.ie4plus=(this.ie6 || this.ie5 || this.ie4);
	this.ie5plus=(this.ie6 || this.ie5)
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5);
	return this;
}
			
function getObjectById(ID) 
{
	var obj;
	var bw = new checkBrowser();
	if (bw.dom)
		return document.getElementById(ID);
	else if (bw.ie4)
		return document.all(ID);
	else if (bw.ns4)
		return eval('document.' + ID);
}

/**************************************************************
Permt d'obtenir les coordonnées absolues d'un élément */

function getCSSProperty(mixed, sProperty) {
    
    oNode = (typeof mixed == "object") ?  mixed : document.getElementById(mixed);
    
    if(document.defaultView) {
        return document.defaultView.getComputedStyle(oNode, null).getPropertyValue(sProperty);
    }
    else if(oNode.currentStyle) {
        sProperty = sProperty.replace(/\-(\w)/g, function(m,c){return c.toUpperCase();});
        return oNode.currentStyle[sProperty];
    }
    else {
        return null;
    }
}

/**
 * Retourne les coordonnées d'un élément pour Internet Explorer.
 */
function ieGetCoords(elt) {
    var coords = elt.getBoundingClientRect();

    var border = getCSSProperty(document.getElementsByTagName('HTML')[0], 'border-width');
    var border = (border == 'medium') ? 2 : parseInt(border);

    var coordsModif = {left : 0, top : 0 };
    coordsModif.left = coords.left + Math.max(elt.ownerDocument.documentElement.scrollLeft, elt.ownerDocument.body.scrollLeft) - border;
    coordsModif.top  = coords.top + Math.max(elt.ownerDocument.documentElement.scrollTop, elt.ownerDocument.body.scrollTop) - border;
    
    return coordsModif;
}

/** 
 * Retourne les coordonnées d'un élément sur une page en fonction de tous ses éléments parents.
 * 
 * @param objet element
 * @param objet eltRef (optionnel)
 * @return json coords = {left:x, top:x}
 */
function getElementCoords(element, eltReferant) {
    
    var coords = {left: 0, top: 0};
    
    // IE pour résoudre le problème des marges (IE comptabilise dans offsetLeft la propriété marginLeft).
    if (element.getBoundingClientRect && !(navigator.appName.indexOf("Netscape")>-1)) {
        
        coords = ieGetCoords(element);
        
        if (typeof(eltReferant) == 'object') {
            var coords2 = ieGetCoords(eltReferant);
            
            coords.left -= coords2.left;
            coords.top  -= coords2.top;
            
            coords2 = null;
        }
    }
    // Les autres : récursivité sur offsetParent.
    else {
        
        while (element) {
            
            if (/^table$/i.test(element.tagName) && element.getElementsByTagName('CAPTION').length == 1 && getCSSProperty(element, 'position').toLowerCase() == 'relative') {
                coords.top += element.getElementsByTagName('CAPTION')[0].offsetHeight;
            }
            
            coords.left += element.offsetLeft;
            coords.top  += element.offsetTop;
            element      = element.offsetParent;
            
            if (typeof(eltReferant) == 'object' && element === eltReferant) {
                break;
            }
        }
    }
    
    return coords;
}



