//global var for testing IE6
var IE6 = false;

//patch for bugs cant be fix with conditionnal CSS
var patchCSS = function(){
    if(IE6){
        //underline links on mouseover for .show-activity promotion
        $('.show-activity a').hover(
            function(){$('span', this).css('text-decoration','underline')},
            function(){$('span', this).css('text-decoration','none')}
        );
        //micro func on tab page
        $('.sol .func').html('<div class="bloc_ie6">'+$('.sol .func').html()+'</div>');
        
        //patch menu for IE6 (inject the nav on the bottom of the page)
        $('#nav').appendTo($('#main'));
        $('#nav').css({
            'position':'absolute',
            'top':'63px'
        })


        //visu border on esp1 v2
        $('.esp .login2').prepend('<div class="topie6"></div>');
        $('.esp .login2').append('<div class="botie6"></div>');

    }
}

//Menu listeners 
var menu = function(){
    //preloading images for rollover
    i1 = new Image; i1.src = "css/header/nav/blue_over.png";
    i2 = new Image; i2.src = "css/header/nav/purple_over.png";
    i3 = new Image; i3.src = "css/header/nav/yellow_over.png";
    i4 = new Image; i4.src = "css/header/nav/grey_over.png";

    $('#nav ul').hide();
    $('#nav > li > a').mouseenter(function(){$(this).next('ul').show(); $(this).addClass('hover')});
    $('#nav > li').mouseleave(function(){$('ul', this).hide(); $('a:eq(0)', this).removeClass('hover')});
    //TODO : nav for keyboard users
    //$('#nav > li > a').focus(function(){$(this).next('ul').show();});
    //$('#nav > li > a').blur(function(){$(this).next('ul').hide();});
};

//Resize font in #content
var sizer = function(){
    $('#sizer').show();
    var target = $('.resizable');
    //init font and sizer interface from cookie value
    if(Cookies.get("fontSize") != ""){
        var size = parseInt(Cookies.get("fontSize"));
        target.css('font-size',size);
        $('#sizer a.current').removeClass('current');
        $('#sizer .f'+size+' a').addClass('current');
    }
    //set sizer Position
    //$('#sizer').css('width', $('#content .right:eq(0)').width()+75)

    //Set listeners
    $('#sizer a').click(function(){
        var size = parseInt( $(this).css('font-size').replace('px', '') );
        $('#sizer a.current').removeClass('current');
        target.css('font-size',size);
        $(this).addClass('current');
        Cookies.set("fontSize",size);
        return false;
    });
    
};

//Hide button and autosubmit on change select
var autoform = function(){
    $('.autoform input[type=submit]').hide();
    $('.autoform select').change(function(){
        if($(this).val()!='nosubmit') $(this).parents('form').get(0).submit()
    });
}



var mulittab = function(){
    var tits = $('.tab > h2');
    var tabs = $('.tab > div')
    tits.addClass('tab-tit');
    tabs.addClass('tab-part');
    var tabName = window.location.hash;

    tabs.hide();
    
    this.focusTab = function(){
        tabs.fadeOut();
        $('.tab > h2 > a').removeClass('on');
        var c;
        var t = $('.tab > h2 a[href='+tabName+']');
        if(t.length > 0) c = t.parent().next('div');
        else c = $('.tab > div:first');
        c.fadeIn();
        $('a', c.prev()).addClass('on');
        
    }

    //set tab position
    tits.each(function(i){$(this).css('left',(30+(13+145)*i))});
    tabs.css({top:25,left:0})
    this.resizeHeight = function(){
        var blocHeight = 0;
        tabs.each(function(i){ if($(this).height() > blocHeight) blocHeight = $(this).height()});
        $('.tab').css('height', blocHeight);
    }

    //Init listener
    tits.bind("click" , {prt:this} ,function(e){
        var newTabName = $('a',this).eq(0).attr('href');
        if(tabName != newTabName){
            tabName = newTabName;
            e.data.prt.focusTab();
        }
    });
    //resize when police change
    $('#sizer a').bind("click", {prt:this}, function(e){e.data.prt.resizeHeight()})

    this.resizeHeight();
    this.focusTab();
    
}

var colorTab = function(){
    $('table.colored tbody tr::nth-child(2n)').css('backgroundColor','#ebf3f7');
}

var printer = function(){
    $('#js-printer').click(function(){window.print()})
}


//Launch actions when DOM is ready
$(document).ready(function(){
    //Set  global var "IE6" on true if the current browser is Internet Explorer 6.x or lesser
    if(jQuery.browser.msie && jQuery.browser.version < 7) IE6=true;

    patchCSS();
    menu();
    sizer();
    autoform();
    mulittab();
    printer();
    colorTab();
});

function redirect(lien)
{ window.location.href=lien; }

function chargement()
{
	document.getElementById("cli_selection").selectedIndex=0;

	document.getElementById("esp_bloc1_aucun").style.display="block";
	document.getElementById("esp_bloc2_aucun").style.display="block";

	document.getElementById("esp_bloc1_part").style.display="none";
	document.getElementById("esp_bloc2_part").style.display="none";

	document.getElementById("esp_bloc1_entr").style.display="none";
	document.getElementById("esp_bloc2_entr").style.display="none";

	document.getElementById("esp_bloc1_admin").style.display="none";
	document.getElementById("esp_bloc2_admin").style.display="none";
}

function afficher(visiteur)
{
	if (visiteur == "particulier")
	{
		document.getElementById("esp_bloc1_aucun").style.display="none";
		document.getElementById("esp_bloc2_aucun").style.display="none";

		document.getElementById("esp_bloc1_part").style.display="block";
		document.getElementById("esp_bloc2_part").style.display="block";

		document.getElementById("esp_bloc1_entr").style.display="none";
		document.getElementById("esp_bloc2_entr").style.display="none";

		document.getElementById("esp_bloc1_admin").style.display="none";
		document.getElementById("esp_bloc2_admin").style.display="none";
	}
	else if (visiteur == "entreprise")
	{
		document.getElementById("esp_bloc1_aucun").style.display="none";
		document.getElementById("esp_bloc2_aucun").style.display="none";

		document.getElementById("esp_bloc1_part").style.display="none";
		document.getElementById("esp_bloc2_part").style.display="none";

		document.getElementById("esp_bloc1_entr").style.display="block";
		document.getElementById("esp_bloc2_entr").style.display="block";

		document.getElementById("esp_bloc1_admin").style.display="none";
		document.getElementById("esp_bloc2_admin").style.display="none";
	}
	else if (visiteur == "administrateur")
	{
		document.getElementById("esp_bloc1_aucun").style.display="none";
		document.getElementById("esp_bloc2_aucun").style.display="none";

		document.getElementById("esp_bloc1_part").style.display="none";
		document.getElementById("esp_bloc2_part").style.display="none";

		document.getElementById("esp_bloc1_entr").style.display="none";
		document.getElementById("esp_bloc2_entr").style.display="none";

		document.getElementById("esp_bloc1_admin").style.display="block";
		document.getElementById("esp_bloc2_admin").style.display="block";
	}
	else
	{
		document.getElementById("esp_bloc1_aucun").style.display="block";
		document.getElementById("esp_bloc2_aucun").style.display="block";

		document.getElementById("esp_bloc1_part").style.display="none";
		document.getElementById("esp_bloc2_part").style.display="none";

		document.getElementById("esp_bloc1_entr").style.display="none";
		document.getElementById("esp_bloc2_entr").style.display="none";

		document.getElementById("esp_bloc1_admin").style.display="none";
		document.getElementById("esp_bloc2_admin").style.display="none";
	}
}

function envoyer()
{
	var lien;
	lien = document.location.href;
	location.href="mailto:AdresseDeVotreAmi?subject=NOVALIS TAITBOUT&body=Un ami vous conseille de visiter ce lien : " + lien + "%0A%0A";
}

// Test la validité de la forme d'une adresse e-mail.
function checkMail(mail)
{
	// L'adresse minimum est xx@yy.zz
	var point = mail.lastIndexOf('.') + 1;
	var arob = mail.lastIndexOf('@') + 1;
	var longu = mail.length;
	
	// La longueur de l'adresse
	if(point==0 || arob==0 || arob==1 || point<arob || (longu-point)<2 || (longu-arob<5))
	{
		// Si le point se trouve a moins de 2 caractères de la fin
		// ou si l'arobase se trouve a moins de 5 caractères de la fin
		// ou si il n'y a pas de point après @
		// ou si il n'y a pas de point ou pas de @
	   return false;
 	}
	return true;
}

// Test la validité de la forme d'une adresse e-mail. v2.0
function mail(mail)
{
	// L'adresse minimum est xx@yy.zz
	var point = mail.lastIndexOf('.') + 1;
	var arob = mail.lastIndexOf('@') + 1;
	var longu = mail.length;
	var space = mail.indexOf(' ');
	
	var alpha = "abcdefghijklmnopqrstuvwxyz";
	var alphaCaps = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var num = "0123456789";
	var carSpe = "._-";
	
	
	// La longueur de l'adresse
	if(point==0 || arob==0 || arob==1 || point<arob || (longu-point)<2 || (longu-point)>4 || (longu-arob<5) || space>=0)
	{
		// Si le point se trouve a moins de 2 caractères de la fin
		// Si le point se trouve a plus de 4 caractères de la fin
		// ou si l'arobase se trouve a moins de 5 caractères de la fin
		// ou si il n'y a pas de point après @
		// ou si il n'y a pas de point ou pas de @
		// ou si il y a un (des) espace(s)
		
	   alert("Votre adresse e-mail est non valide !");
	   
	   document.formulaire.email.select();
	   return false;
 	}
 	else
 	{
 		//verif du format
 		var preArobase = mail.substring(0,mail.indexOf('@'));
 		var postArobase = mail.substring(mail.indexOf('@')+1,mail.lastIndexOf('.'));
 		var postPoint = mail.substring(mail.lastIndexOf('.')+1,mail.length);
 		
 		var i = 0;
 		var ok = true;
 		
 		while(i<preArobase.length && ok == true)
 		{
 			if(alpha.indexOf(preArobase.charAt(i))<0 
 				&& alphaCaps.indexOf(preArobase.charAt(i))<0 
 				&& num.indexOf(preArobase.charAt(i))<0 
 				&& carSpe.indexOf(preArobase.charAt(i))<0)
 			{
 				ok = false;
 			}
 			i++;
 		}
 		i=0;
 		while(i<postArobase.length && ok == true)
 		{
 			if(alpha.indexOf(postArobase.charAt(i))<0 
 				&& alphaCaps.indexOf(postArobase.charAt(i))<0 
 				&& num.indexOf(postArobase.charAt(i))<0 
 				&& carSpe.indexOf(postArobase.charAt(i))<0)
 			{
 				ok = false;
 			}
 			i++;
 		}
 		i=0;
 		while(i<postPoint.length && ok == true)
 		{
 			if(alpha.indexOf(postPoint.charAt(i))<0 
 				&& alphaCaps.indexOf(postPoint.charAt(i))<0 )
 			{
 				ok = false;
 			}
 			i++;
 		}
 		
 		if(ok == false)
 		{
 			alert("Votre adresse e-mail est non valide !");
	   		document.formulaire.email.select();
	   		return false;
 		}
 		
 	}
 	
 	
	return true;
}

// ANTI-SPAM : Décode un e-mail encrypté pour affichage.
function decodeEmail(_message) 
{ 
	var key = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1029384756><#].";
	var wTG;
	var mcH =  key.length / 2;
	var _newString = "";
	var dv;
	for (var x = 0; x < _message.length; x++)
	{
		wTG = key.indexOf(_message.charAt(x));
		if (wTG > mcH) 
		{
			dv = wTG - mcH;
			_newString += key.charAt(33 - dv);
		} 
		else 
		{
			if (key.indexOf(_message.charAt(x)) < 0)
 			{
 				_newString += _message.charAt(x);
 			} 
 			else 
 			{
 				dv = mcH - wTG;
 				_newString += key.charAt(33 + dv);
 			}
 		}
 	}
	return (_newString);
}

