jQuery(function() { 
    var ua = navigator.userAgent.toLowerCase(); 
    var myBrowsers = { 
        // Déjà détectés en natif par jQuery 
        mozilla: jQuery.browser.mozilla, 
        safari:  jQuery.browser.safari, 
        opera:   jQuery.browser.opera, 
        ie:      jQuery.browser.msie, 
        // Quelques améliorations et ajouts 
        ie6:     jQuery.browser.msie && (jQuery.browser.version < 7), 
        ie7:     jQuery.browser.msie && (jQuery.browser.version == 7), 
        ie8:     jQuery.browser.msie && (jQuery.browser.version == 8), 
        ie9:     jQuery.browser.msie && (jQuery.browser.version > 8), 
        iphone:  /iphone/.test(ua), 
        chrome:  /chrome/.test(ua), 
        firefox: /firefox/.test(ua), 
        webkit:  /webkit/.test(ua), 
        // Détection de plateformes 
        osx:     /mac os x/.test(ua), 
        win:     /win/.test(ua), 
        linux:   /linux/.test(ua) 
    };
	
    jQuery.each(myBrowsers, function(a, b) { 
        if (b) jQuery('html').addClass(a); 
    });
});


jQuery(window).load(function()
{
	menu();
	
	footer();
	
	hauteur_colonnes();
	
	onglets_encadre();
	
	popups();
	
	rechercheEntrepriseFormulaire();
});



/********** MENU **********/

function menu()
{
	jQuery('.menu ul li a').mouseenter(function ()
	{
		jQuery(this).parent().children('ul').show();
		
		if (!jQuery(this).parent('li').hasClass('selected') && !jQuery(this).parent('li').hasClass('accueil'))
		{
			jQuery(this).parent('li').addClass('hover');
		}
	});
	
	jQuery('.menu ul li a').mouseleave(function ()
	{
		jQuery(this).parent().children('ul').hide();
		
		if (!jQuery(this).parent('li').hasClass('selected') && !jQuery(this).parent('li').hasClass('accueil'))
		{
			jQuery(this).parent('li').removeClass('hover');
		}
	});
	
	jQuery('.menu ul li ul li a').mouseenter(function ()
	{
		//jQuery(this).css({'background':'none'});
	});
	
	jQuery('.menu ul li ul').mouseenter(function()
	{
    	jQuery(this).show();
		
		if (!jQuery(this).parent('li').hasClass('selected') && !jQuery(this).parent('li').hasClass('accueil'))
		{
			jQuery(this).parent('li').addClass('hover');
		}
	});
	jQuery('.menu ul li ul').mouseleave(function()
	{
    	jQuery(this).hide();
		
		if (!jQuery(this).parent('li').hasClass('selected') && !jQuery(this).parent('li').hasClass('accueil'))
		{
			jQuery(this).parent('li').removeClass('hover');
		}
	});
}



/********** HAUTEUR DES COLONNES **********/

function hauteur_colonnes()
{
	//
	jQuery(".lien_1").after("<div class='clear'></div>");
	
	//hauteur des lignes
	jQuery(".ligne").each(function(i)
	{
		if (jQuery(this).children(".colonne").length > 1)
		{
			var h = 0;
			
			jQuery(this).children(".colonne").each(function()
			{
				var hChildren = 0;
				
				jQuery(this).children("div").each(function()
				{
					hChildren += jQuery(this).height() + parseInt(jQuery(this).css('padding-top')) + parseInt(jQuery(this).css('padding-bottom'));
				});
				
				if (hChildren > h)
				{
					h = hChildren;
				}
			});
			
			jQuery(this).children(".colonne").css({"height":h+"px"});
		}
	});
	
	//hauteur des blocs dans les colonnes avec 1 seul bloc
	jQuery(".ligne").each(function(i)
	{
		if (jQuery(this).children(".colonne").length > 1)
		{
			jQuery(this).children(".colonne").each(function(j)
			{
				if (jQuery(this).children("div").length == 1)
				{
					var h = jQuery(this).height() - parseInt(jQuery(this).children("div").css('padding-top')) - parseInt(jQuery(this).children("div").css('padding-bottom'));
					jQuery(this).children("div").css({"height":h+"px"});
				}
			});
		}
	});
	
	//Ajustement des hauteur des blocs dans les colonnes avec plusieurs styles 1 ( cf home page )
	jQuery(".colonne_deco").each(function(i)
	{
		var hColumn = jQuery(this).height();
		
		jQuery(this).children().last().addClass('colonne_last_bloc');
		
		var h_sum = 0;
		jQuery(this).children().each(function(j) {

			var h_elem = jQuery(this).outerHeight();   
			h_sum += h_elem;
			if(jQuery(this).hasClass('colonne_last_bloc') && h_sum < hColumn ) {
				var h_diff = hColumn - h_sum;
				var new_h = jQuery(this).height() + h_diff;
				jQuery(this).css({"height":new_h+"px"});
			}
		});
	});
	
	//hauteur de la colonne de contenu et la colonne des encadrés
	jQuery(".conteneur .colonnes .encadre").height("100%");
	var hColonnes = jQuery(".conteneur .colonnes .contenu.avec_encadre").height();
	if (jQuery(".conteneur .colonnes .encadre").height() > hColonnes) {
		hColonnes = jQuery(".conteneur .colonnes .encadre").height();
	}
	else {
		jQuery(".conteneur .colonnes .encadre").height(hColonnes);
	}
	
	//jQuery(".conteneur .colonnes .contenu.avec_encadre").height(hColonnes);
	
}



/********** FOOTER **********/

function footer()
{
	jQuery(".footer .plan_site .left ul li").children("a").each(function()
	{
		if (jQuery(this).css("display") == "block" && jQuery(this).height() < 20)
		{
			jQuery(this).css({'padding':'9px 0px 9px 0px'});	
		}
	});
}



/********** ONGLETS DES ENCADRÉS **********/

function onglets_encadre()
{
	jQuery(".encadre .encadre_bloc.deco_rubrique_5").each(function()
	{
		jQuery(this).find(".onglets ul li a").mouseenter(function()
		{
			var classes = jQuery(this).parent("li").attr("class");
			var item = jQuery(this).parent("li").removeClass("first last current").attr("class");
			jQuery(this).parent("li").addClass(classes);
			
			jQuery(this).parents("ul").children("li").removeClass("current");
			jQuery(this).parent("li").addClass("current");
			
			jQuery(this).parents(".encadre_contenu").find("div.items ul li").removeClass("current");
			jQuery(this).parents(".encadre_contenu").find("div.items ul li."+item).addClass("current");
		});
		
		jQuery(this).find(".onglets ul li a").click(function()
		{
			return(false);
		});
	});
}



/********** POPUPS **********/

function popups()
{
	jQuery(".conteneur .colonnes .encadre ul li").each(function()
	{
		var classe = jQuery(this).attr("class");
		
		if (classe.indexOf("dialog_") != -1)
		{
			addOverflowEllipsis(jQuery(this).children()[0],260);
			
			jQuery("#"+classe).dialog({
				width: 450,
				autoOpen: false,
				modal: true
			});
			
			jQuery(this).children("a").click(function()
			{
				jQuery("#"+classe).dialog("open");
				
				return false;
			});
		}
	});
	
	jQuery(".conteneur .colonnes .contenu .contenu_data ul li").each(function()
	{
		var classe = jQuery(this).attr("class");
		
		if (classe.indexOf("dialog_") != -1)
		{
			jQuery("#"+classe).dialog({
				width: 450,
				autoOpen: false,
				modal: true
			});
			
			jQuery(this).children("a").click(function()
			{
				jQuery("#"+classe).dialog("open");
				
				return false;
			});
		}
	});
}


function addOverflowEllipsis( containerElement, maxWidth )
{
    var contents = containerElement.innerHTML;
    var pixelWidth = containerElement.offsetWidth;
    if(pixelWidth > maxWidth)
    {
        contents = contents + "...";
    }
    while(pixelWidth > maxWidth)
    {
        contents = contents.substring(0,(contents.length - 4)) + "...";
        containerElement.innerHTML = contents;
        pixelWidth = containerElement.offsetWidth;
    }
}


/********* Formulaire recherche entreprise ********/

function rechercheEntrepriseFormulaire()
{
	jQuery('#firmName').click(function () { if (jQuery(this).val() == "Raison sociale"){ jQuery(this).val("");}});
	jQuery('#firmName').blur(function () { if (jQuery(this).val() == "") { jQuery(this).val("Raison sociale"); } }); 

	jQuery('#ceoName').click(function () { if (jQuery(this).val() == "Nom du dirigeant"){ jQuery(this).val("");}});
	jQuery('#ceoName').blur(function () { if (jQuery(this).val() == "") { jQuery(this).val("Nom du dirigeant"); } }); 
}

/*********** Palmares ****************/
function classementTypeClick(type){
	if(type){
		jQuery('.lien-classement-articlebdc').each(function(){
			if(type==jQuery(this).data('classement-type')){
				jQuery(this).click();
				return ;
			}
		});
	}
}

jQuery(document).ready(function(){
	
	// truncate text on encadre
	jQuery('.encadre .STYLE07 ul li a, .encadre .encadre_contenu .items ul li a').each(function(){
		var content = jQuery(this).html();
		jQuery(this).attr("alt",content);
		jQuery(this).attr("title",content);
		//jQuery(this).textOverflow();
	});
	
	try{
		// Classement Orbit : 
		jQuery('#orbit-classement-articlebdc').orbit({ bullets: true, captions: true});
	}catch(e){}
	
	try{
		// Orbit made-in grenoble : 
		jQuery('#orbit-made_in_grenoble').orbit({ bullets: true, captions: true});
	}catch(e){}
	
	try{
		// Orbit simple : 
		jQuery('#orbit-simple').orbit({ bullets: false, captions: true});
	}catch(e){}
	
	jQuery('.lien-orbit-classement-articlebdc').click(function(){
		if(jQuery(this).data('id')){
			jQuery('#lien-classement-articlebdc-'+jQuery(this).data('id')).trigger('click');
		}
	});
	
	jQuery('#liens-classement-articlebdc li').filter(function(key) {
        return key <= 4;
    }).show();
	jQuery('#liens-classement-articlebdc li').filter(function(key) {
        return key > 4;
    }).hide();

	jQuery('#liens-classement-articlebdc a').each(function(){
		jQuery(this).click(function (){
			try {selectBouton("bouton-"+jQuery(this).attr('data-classement-type'));}catch (e){}
			jQuery('#article-classement-articlebdc').html('');
			jQuery('#tableau-classement-articlebdc').html('').css('display','block').css('width','100%').css('height','580px').css('overflow','auto');
			jQuery('img.type-classement-articlebdc').attr('src','');
			var urlArticle = jQuery(this).data('urlArticle');
			if(urlArticle){
				jQuery('#article-classement-articlebdc').hide().load(urlArticle+' #contenu_articlebdc',hauteur_colonnes).fadeIn();
			}
			var urlCsv = jQuery(this).data('url-csv');
			if(urlCsv){
				jQuery('#tableau-classement-articlebdc').CSVToTable(urlCsv, {loadingImage: '/jsp_presences/images/loading.gif', startLine: 0 ,separator : ';'});
			}
			
			var crmActeurId = jQuery(this).data('crm-acteur-id');
			var typeClassement = jQuery(this).attr('data-classement-type');
			if(crmActeurId ){
				jQuery('#tableau-classement-articlebdc').bind('loadComplete',function(){
					jQuery('table.CSVTable tbody tr td:nth-child(1)').css('color','#E77F00');
					jQuery('table.CSVTable tbody tr td:nth-child(1)').each(function(){
						if(crmActeurId == jQuery(this).text() && typeClassement!='TYPE_0001'){
							jQuery(this).parent().addClass('classement_focus');
							jQuery('#tableau-classement-articlebdc').scrollTo(jQuery(this).parent().prev().prev());
						}
					});
				});	
			}
			
			jQuery('#tableau-classement-articlebdc').bind('loadComplete',function(){
				//cacher les 2 premieres colonnes
				jQuery('table.CSVTable thead tr th:nth-child(3)').hide();
				jQuery('table.CSVTable thead tr th:nth-child(2)').hide();
				jQuery('table.CSVTable tbody tr td:nth-child(3)').hide();
				jQuery('table.CSVTable tbody tr td:nth-child(2)').hide();
				
				//recalculer la hauteur de la zone
				hauteur_colonnes();
				
				//créer les liens des entreprises
				creerLiensEntreprises();
			});
		});		
	});
	
	jQuery('#liens-classement-articlebdc a:first').trigger('click');
	
	// Pub TOP : 
	if(jQuery('div.pub-top') && jQuery('div.pub-top:first').html()){
		jQuery('div.publicite').html('');
	}
	jQuery('div.pub-top').each(function(){
		if(jQuery(this).html()){
			jQuery('div.publicite').html(jQuery('div.publicite').html()+'<div>'+jQuery(this).html()+'</div>');
		}
		//jQuery('div.pub-top').remove();
	});
	//suppression de la publicite top si elle est vide
	if (jQuery('div.publicite').html()=='') {
		jQuery('div.publicite').remove();
	}
	
	/*/pub STANDARD :
	if(jQuery('div.pub-encadre') && jQuery('div.pub-encadre:first').html()){
		jQuery('div.publicite-encadre').html('');
	}
	jQuery('div.pub-encadre').each(function(){
		if(jQuery(this).html()){
			jQuery('div.publicite-encadre').html(jQuery('div.publicite-encadre').html()+'<div>'+jQuery(this).html()+'</div>');
		}
		jQuery('div.pub-encadre').remove();
	});*/
	
	
	
	
	
	
});

function selectBouton(boutonid) {
	//deselectionner les autres boutons
	jQuery("a.button").each(function(){
		jQuery(this).removeClass("selection");
	});
	
	//selectionner le nouveau bouton
	jQuery("#"+boutonid).addClass("selection");
}

//pour creer les liens vers les entreprises dans le tableau palmares
function creerLiensEntreprises() {
	jQuery(".CSVTable tbody tr").each(function(index) {
		var node = jQuery(this);
		remplacerLienEts(node);
	});
}

//pour effectuer la requette du lien + remplacer la valeur
function remplacerLienEts(aNode) {
	var siret = jQuery(aNode.children().get(2)).html();
	if (siret!='') {
		jQuery.get('/jsp_presences/etsFromSiret.jsp?siret='+siret, function(data) {
			if (data.indexOf("http")!=-1) {
				jQuery(aNode.children().get(3)).html("<a target='_blank' href='"+data+"'>"+jQuery(aNode.children().get(3)).html()+"</a>");
			}
		});
	}

}

/*nosSitesSelect*/
jQuery(document).ready(function() {
 jQuery("#selectSite").change(function() {
	 if(this.value!="0000"){
		 window.open(this.value);
     }
 });       
});

/* Extension de la méthode serialize de jquery ( utile lors de la soumission des formulaires de commentaires ) */
jQuery.fn.extend({
    param: function( a ) { 
        var s = []; 
 
        // If an array was passed in, assume that it is an array 
        // of form elements 
        if ( a.constructor == Array || a.jquery ){
            // Serialize the form elements 
            jQuery.each( a, function(){ 
                s.push(unescape(encodeURIComponent(escape(this.name))) + "=" + unescape(encodeURIComponent(escape(this.value)))); 
            }); 
        } 
        // Otherwise, assume that it's an object of key/value pairs 
        else{ 
            // Serialize the key/values 
            for ( var j in a ) 
                // If the value is an array then the key names need to be repeated 
                if ( a[j] && a[j].constructor == Array ) 
                    jQuery.each( a[j], function(){ 
                        s.push(unescape(encodeURIComponent(escape(j)) + "=" + encodeURIComponent(escape(this)))); 
                    }); 
                else 
                    s.push(unescape(encodeURIComponent(escape(j)) + "=" + encodeURIComponent(escape(a[j])))); 
        } 
        // Return the resulting serialization 
        return s.join("&").replace(/ /g, "+"); 
    },

    serialize: function() { 
        return this.param(this.serializeArray()); 
    }
    

});  


jQuery(document).ready(function(){
	jQuery("#sondage form").submit(function() {
		var codeFormulaire = jQuery("#sondage form input[name='CODE']").val();
		var chartType = jQuery("#sondage div:first").attr("id");
		jQuery.ajax({
			  type: "POST",
			  url: jQuery("#sondage form").attr('action'),
			  data: jQuery(this).serialize(),
			  success: function(){
				  jQuery.ajax({
					  type: "POST",
					  url: "/ccig/formulaire/charts.jsp",
					  data: "type="+chartType+"&code="+codeFormulaire,
					  success: function(data){
						  jQuery("#sondage").html(data);
					  }
					});
			  }
			});
		return false;
	});
});

