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=bf8229696f7a3bb4700cfddef19fa23f&from=" + document.location.href + "/&to=" + url;    
    window.location.href = url;
}

window.onload = function(){
	activePrintFunction();
	activeResizeTextFunction();
	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=bf8229696f7a3bb4700cfddef19fa23f&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()
{
	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;
		}
	}
	
}


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);
	
	$('#marques').scrollHomeMarques();
});

