/* ///// MAIN MENU //// */

var mmenu = function() {
	var els = document.getElementById("main_menu").getElementsByTagName("li");
	for (var i=0; i<els.length; i++) {
		els[i].onmouseover=function() {
			this.className+=" hover";
		}
		els[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
}


/* /////  MENU BESOINS ////// */
var mn_needs = function() {
	$("#menu-needs .vh_type").toggleClass('on');
	$("#menu-needs .vh_type").click(function(){
		$(this).toggleClass('on');
	 });
}


function iehover (cible) {
	$(cible).mouseover(function(){
		$(this).addClass('hover');
	});
	$(cible).mouseout(function(){
		$(this).removeClass('hover');
	});
}


/* ///////// MENU ACTUS /////// */
var mn_actu = function(id) {
	$("#menu_actu li ul").hide();
	$("#"+id).show();
	$("#menu_actu li span").click(function(){
		var self = $(this).parent().find('ul');
		$(this).parent().toggleClass('on');
		if(self.css('display') == 'none'){
			self.slideDown("normal");
		} else {
			self.slideUp("fast");
		}
	 });
	
	if (navigator.userAgent.indexOf("MSIE") != -1) {
		iehover("#menu_actu li");
	}
}

/* /////////// ZOOM IMAGE ARTICLE ///////// */
function openZoom(url,title,options)
{
	window.open(url,title,options);
}



/* /////////// SWITCHER INFOS GAMME ///////// */
var switcher_data = function()
{
	$("#list_technic li").click(function()
	{
		
		$("#list_technic li").attr('class','off');
		$(this).attr('class','on');
		
		$('#data').fadeOut(100, function () {
			$('#loaderData').fadeIn(100);
		});
		
		$('#data').load(
			$(this).parent().parent().attr('action'),
			{bloc_id: this.id},
			function(){
				$('#loaderData').fadeOut(100, function () {
					$('#data').fadeIn(100,scrollToBottom);
				});
			}
		);
	});
};

function scrollToBottom(){
	window.scrollTo(0,document.body.scrollHeight);
}

var switcher_infos = function()
{
	$("#blk_selector .inputMotor input").click(function()
	{

		$('#infosVehicle').fadeOut(100, function () {
			$('#loaderInfos').fadeIn(100);
		});
		
		$('#infosVehicle').load(
			$(this).parents('form').attr('action'),
			{engine_id: this.value, vehicle_id:$('#motor_vehicle_id').attr('value')},
			function(){
				$('#loaderInfos').fadeOut(100, function () {
					$('#infosVehicle').fadeIn(100);
				});
			}
		);
	});
	
};

var display_volumes = function()
{
	$("#blk_selector .inputPtac input").click(function()
	{
		
		var vehicleId = $('#feature_vehicle_id').attr('value');
		var ptacId = this.value;
		var volumeId = '';
		var url = $('#url').attr('value');
		$('#volume').load(
			$(this).parents('form').attr('action'),
			{ptac_id: this.value, vehicle_id:$('#feature_vehicle_id').attr('value')},
			function(){switchFeature(vehicleId, ptacId, volumeId, url);}
		);
	});
	
};

var switcher_feature = function()
{
	$("#blk_selector .inputVolume input").click(function()
	{

		var vehicleId = $('#feature_vehicle_id').attr('value');
		var ptacId = $('#current_ptac').attr('value');
		var volumeId = this.value;

		switchFeature(vehicleId, ptacId, volumeId, $(this).parents('form').attr('action'));
		
	});
	
};

function switchFeature(vehicleId, ptacId, volumeId, url)
{
	$('#infosVehicle').fadeOut(100, function () {
		$('#loaderInfos').fadeIn(100);
	});
	
	$('#infosVehicle').load(
		url,
		{ptac_id: ptacId, volume_id: volumeId, vehicle_id: vehicleId},
		function(){
			$('#loaderInfos').fadeOut(100, function () {
				$('#infosVehicle').fadeIn(100);
			});
		}
	);
}


var display_finitions = function()
{
	$("#blk_selector .inputCarrossier input").click(function()
	{

		var vehicleId = $('#carrossier_vehicle_id').attr('value');
		var carrossierId = this.value;
		var finitionId = '';
		var url = $('#url').attr('value');
		$('#finition').load(
			$(this).parents('form').attr('action'),
			{carrossier_id: carrossierId, vehicle_id:vehicleId},
			function(){switchCarrossier(vehicleId, carrossierId, finitionId, url);}
		);
	});
	
};

var switcher_carrossier = function()
{
	$("#blk_selector .inputFinition input").click(function()
	{

		var vehicleId = $('#carrossier_vehicle_id').attr('value');
		var carrossierId = $('#current_carrossier').attr('value');
		var finitionId = this.value;

		switchCarrossier(vehicleId, carrossierId, finitionId, $(this).parents('form').attr('action'));
		
	});
	
};

function switchCarrossier(vehicleId, carrossierId, finitionId, url)
{
	$('#infosVehicle').fadeOut(100, function () {
		$('#loaderInfos').fadeIn(100);
	});
	
	$('#infosVehicle').load(
		url,
		{carrossier_id: carrossierId, finition_id: finitionId, vehicle_id: vehicleId},
		function(){
			$('#loaderInfos').fadeOut(100, function () {
				$('#infosVehicle').fadeIn(100);
			});
		}
	);
}

/* /////////// SLIDER PAGES CONTACTS ///////// */
var slider = function(id){
	var self = this;
	this.div = $(id);
	this.ul = this.div.find('.list_vehicules');
	this.prev = this.div.find('.btn_scroll_left');
	this.next = this.div.find('.btn_scroll_right');
	this.largeur = this.div.width();
	this.largeurGalery = 0;
	this.ul.find('li').each(function(){
		self.largeurGalery += $(this).width()+parseInt($(this).css('margin-left'))*2
	});
	this.saut = this.largeur/4;
	this.nbrEtapes = Math.ceil((this.largeurGalery-this.largeur)/this.saut);
	this.current = 0;
	this.prev.addClass('off');
	
	this.next.click(function(){
		if (self.current < self.nbrEtapes){
			self.current++;
			self.prev.removeClass('off');
			self.ul.animate({
				left:'-=' + self.saut
			}, 500);
		} 
		if (self.current == self.nbrEtapes){
			self.next.addClass('off');
		}
	});
	this.prev.click(function(){
		if (self.current > 0){
			self.current--;
			self.next.removeClass('off');
			self.ul.animate({
				left:'+=' + self.saut
			}, 500);
		}
		if (self.current == 0){
			self.prev.addClass('off');
		}
	});
}







/* ////////////  MEDIAS VIEWER  //////////////// */

function init_viewer(viewer, url_player)
{
	var self = viewer;

	var firstElement = $('#list_thumb ul li:first-child a');
	var fichier = firstElement.attr('href');

	if (fichier) {
	
		self.li.fadeTo("fast", 0.5);

		self.selected = $('#blk_viewer ul li').index($(firstElement).parents('li'));
		$(firstElement).parent().fadeTo("fast", 1);

		var length = fichier.length;
		var extension = fichier.substring(length - 4, length);
		
		if (extension == '.jpg' || extension == '.gif' || extension == '.png') {
			if (self.video != false) {
				self.big_shot.show();
				self.flash.addClass('hidden');
			}
			self.big_shot.attr("src", fichier);
			self.big_shot.attr("alt", firstElement.title);
			self.video = false;
		}
		else 
			if (extension == '.flv' || extension == '.swf') {
				if (self.video != true) {
					self.big_shot.hide();
					self.flash.removeClass('hidden');
				}
				
				var params = {
					menu: "false",
					scale: "noScale",
					allowScriptAccess: "always",
					wmode: "transparent"
				};
				
				if (extension == '.flv') {
					var flashvars = {
						file: fichier
					};
					
					swfobject.embedSWF(url_player, "espace_flash", "531", "317", "9.0.0", "flash/expressInstall.swf", flashvars, params);
				}
				else {
					swfobject.embedSWF(fichier, "espace_flash", "531", "317", "9.0.0", "flash/expressInstall.swf", null, params);
				}
				
				self.video = true;
			}
	}
}

var viewer = function (url_player){
	var self = this;
	this.big_shot = $('#visu_viewer');
	this.flash = $('#ctt_video');
	this.video = false;
	this.selected = 0;

	this.div = $('#list_thumb');
	this.ul = this.div.find('ul');
	this.li = this.ul.find('li');
	this.nbrImg = this.li.length;

	this.li.fadeTo("fast", 0.5);
	this.li.hover(function(){
		var thisId = self.li.index($(this));
		if (thisId != self.selected){
			$(this).fadeTo("fast", 0.8);
		}
	},function(){
		var thisId = self.li.index($(this));
		if (thisId != self.selected){
			$(this).fadeTo("fast", 0.5);
		} else {
			$(this).fadeTo("fast", 1);
		}
	 });
	var first = this.li.eq(0);
	first.fadeTo("fast", 1);
	
	this.left = this.div.find('#slider_left');
	this.right = this.div.find('#slider_right');
	this.largeur = this.div.width()-60;
	this.largeurGalery = 0;
	this.ul.find('li').each(function(){
		self.largeurGalery += $(this).width()+parseInt($(this).css('margin-right'))*2;
	});
	this.saut = this.largeur;
	this.nbrEtapes = Math.ceil((this.largeurGalery-this.largeur)/this.saut);
	this.current = 0;
	this.left.fadeTo("fast", 0);
	this.left.addClass('off');

	function showBtns (){
		if (self.current == self.nbrEtapes && self.right.css('opacity')==1){
			self.right.fadeTo("fast", 0);
			self.right.addClass('off');
		} else if (self.right.css('opacity')==0 && self.current<self.nbrEtapes) {
			self.right.fadeTo("fast", 1);
			self.right.removeClass('off');
		}
		if (self.current == 0 && self.left.css('opacity')==1){
			self.left.fadeTo("fast", 0);
			self.left.addClass('off');
		} else if (self.left.css('opacity')==0 && self.current>0) {
			self.left.fadeTo("fast", 1);
			self.left.removeClass('off');
		}
	}

	function switchImg (bouton, add) {
		bouton.click(function(event){
			var fichier;
			self.li.fadeTo("fast", 0.5);
			if (add == 0){
				fichier = this.href;
				self.selected = $('#blk_viewer ul li').index($(this).parents('li'));
				$(this).parent().fadeTo("fast", 1);
			} else {
				self.selected = self.selected+add;
				if (self.selected < 0) {
					self.selected = self.nbrImg-1;
				} else if (self.selected >= self.nbrImg) {
					self.selected = 0;
				}
				var parent = $('#blk_viewer ul li').eq(self.selected);
				parent.fadeTo("fast", 1);
				var cible = parent.find('a');
				fichier = cible.attr("href");
				self.current = parseInt(self.selected/4);
				showBtns();
				self.ul.animate({
					left: -(self.current)*self.largeur
				}, 500);
			}
			var length = fichier.length;
			var extension = (fichier.substring(length-4, length)).toLowerCase();
			if (extension == '.jpg' || extension == '.gif' || extension == '.png') {
				if (self.video!=false){
					self.big_shot.show();
					self.flash.addClass('hidden');
				}
				self.big_shot.attr("src", fichier);
				self.big_shot.attr("alt", this.title);
				self.video=false;
				event.preventDefault();
			} else if (extension == '.flv' || extension == '.swf'){
				if (self.video!=true){
					self.big_shot.hide();
					self.flash.removeClass('hidden');
				}
				
				var params = {
					menu: "false",
					scale: "noScale",
					allowScriptAccess: "always",
					wmode: "transparent"
				};
				
				if(extension == '.flv'){
					var flashvars = {
						file : fichier
					};
					
					swfobject.embedSWF(url_player, "espace_flash", "531", "317", "9.0.0", "flash/expressInstall.swf", flashvars, params);
				}
				else{
					swfobject.embedSWF(fichier, "espace_flash", "531", "317", "9.0.0", "flash/expressInstall.swf", null, params);
				}				
				
				self.video = true;
				event.preventDefault();
			}
		});	
	};
	
	var btn = $('#blk_viewer ul li a');
	switchImg(btn, 0);
	showBtns();
	this.visu = $('#blk_visu');
	this.prev = this.visu.find('.prev');
	this.next = this.visu.find('.next');
	switchImg(this.prev, -1);
	switchImg(this.next, 1);
	

	this.right.click(function(){
		if (self.current < self.nbrEtapes){
			self.current++;
			showBtns();
			self.ul.animate({
				left:'-=' + self.saut
			}, 500);
		} 
	});
	
	this.left.click(function(){
		if (self.current > 0){
			self.current--;
			showBtns();
			self.ul.animate({
				left:'+=' + self.saut
			}, 500);
		}
	});
	
	$("#slider_right, #slider_left").hover(function(){
		$(this).addClass('hover');
	},function(){
		$(this).removeClass('hover');
	 });
	 
	init_viewer(self, url_player);
	
}


/* /////////// TROMBI / AOC ///////// */

function alignPictListVehicles(){
	var bloc = $('.list_vehicules li');
	
	bloc.each(function(i){
		var w_bloc = $(this).width();
	  	var vignette = $(this).find('.vignette');

		var w_vignette = vignette.width();
		var diff = (w_bloc-w_vignette);
		vignette.css('left', diff/2);
	 });
}
