/* ====================================================================================================
   PLUGINS
   ==================================================================================================== */
(function($){
	/* ADS
	------------------------------------------------------------------------------ */
	$.fn.initAds = function(){
		var tab = Array('adbanner', 'adbanner2', 'adrectangle', 'adbannerside1', 'adbannerside2', 'adsquare');
		for(i=0;i<tab.length;i++){
			if(document.getElementById(tab[i]) != null && document.getElementById(tab[i]+'-load') != null){
				var tmp = document.getElementById(tab[i]+'-load');
				document.getElementById('adsLoader').removeChild(document.getElementById(tab[i]+'-load'));
				document.getElementById(tab[i]).appendChild(tmp);
				document.getElementById(tab[i]+'-load').style.display = 'block';
			}
		}
	}
	
	/* ALBUM COVER
	------------------------------------------------------------------------------ */
	$.fn.initAlbum = function(){
		var o = this;
		$('li',o).mouseover(function(){
			$('div a', o).attr('href',$('a',this).attr('href'));
			$('div img', o).attr('src',$('img',this).attr('src').replace('vignette.jpg','.jpg'));
		});
	}
	
	/* ONGLETS
	------------------------------------------------------------------------------ */
	$.fn.initTabs = function(params){
		var params = $.extend({ ajaxLoader: 0 },params);
		var el = this;
		var cookieName = 'AN_last_tab_'+$(el).attr('id');
		var ajaxLoader = params.ajaxLoader;
		
		// Functions needed
		var urlPhotoReplace = function(str){
			return str.substring(str.indexOf('(none)')).replace(/\(none\)/g, photosURL);
		}
		
		/* RESIZE TABS --------------------------------*/
		$('.tabs',el).each(function(i){
			if( isIE6() || isIE7() ){
				$('li:eq(0)',this).css('margin-left','0').addClass('first');
				$('li:last-child',this).addClass('last');
				$('> li a', this).each(function(){
					$(this).prepend('<img src="/includes/cobrand/img/dotFFF.gif" class="tl" /><img src="/includes/cobrand/img/dotFFF.gif" class="tr" />');
				});
			}
			var pB = parseInt($(this).css('padding-left'))+parseInt($(this).css('padding-right'));
			var mT = bT = 0;
			$('> li', this).each(function(i){ mT += parseInt( $(this).css('margin-left') ) + parseInt( $(this).css('margin-right') ); });
			$('> li a', this).css('padding','0').each(function(i){ bT += parseInt( $(this).css('border-left-width') ) + parseInt( $(this).css('border-right-width') ); });
			// premier niveau d'onglets
			if(i == 0 && section != 'Home'){
				var wB = $(this).width()-pB-mT-bT;
				var nL = $('li',this).length;				
				var wL = Math.floor(wB/nL);				
				$('> li a',this).width(wL);				
				var d = wB - nL*wL;
				for(j=0;j<d;j++){ $('> li:eq('+j+') a',this).width($('li:eq('+j+') a',this).width() + 1); }
			}
			// second niveau d'onglets
			else{ $(this).addClass('tabs1'); }
		});
		
		/* LOAD AJAX  --------------------------------*/
		if( ajaxLoader == 1 ){
			var speed = 200; // vitesse de l'animation
			
			// Si le cookie existe et non vide on affiche le dernier onglet cliqué
			if( $.cookie(cookieName) != null){
				if($.cookie(cookieName) != ''){
					var className = $.cookie(cookieName);
					className = className.replace("\/", "-");
					$('.tabs li.selected', el).removeClass('selected');
					$('.tabs li.'+className, el).addClass('selected');
					$('.panel', el).empty()
						.load('/includes/'+$.cookie(cookieName)+'.htm', function(){
							$(this).append('<b class="clear" />');
							$('.photo img', this).each(function(){ $(this).attr('src',urlPhotoReplace($(this).attr('src'))); });
							$('img.photo', this).each(function(){ $(this).attr('src',urlPhotoReplace($(this).attr('src'))); });
						})
					;
				}
			}
			
			// event click
			$('.tabs li', el).click(function(){
				var path = $(this).attr('class');
				path = path.replace("-", "/");
				if( isIE() && path.indexOf('first') != -1 ){ path = path.replace(" first", ""); }
				if( path.indexOf("selected", 0) == -1 ){
					$(el).css({ background : 'url(/includes/cobrand/img/loader.gif) center 150px no-repeat' });
					$('.tabs + .panel', el)
						.css('height',$('.tabs + .panel',el).height())
						.fadeTo(
							speed, 0,
							function(){
								$(this).empty().load(
										'/includes/'+path+'.htm',
										function(a1, a2, a3){
											if( a2 == "success" ){
												$('.photo img', this).each(function(){ $(this).attr('src',urlPhotoReplace($(this).attr('src'))); });
												$('img.photo', this).each(function(){ $(this).attr('src',urlPhotoReplace($(this).attr('src'))); });
												$(this).css('height','auto').append('<b class="clear" />').fadeTo(speed, 1, function(){
													if(isIE()) $(this).get(0).style.removeAttribute('filter');
													$(el).css( { background : 'none' } );
												});
												$.cookie(cookieName,path,{ expires: 365 });
											}
										}
									)// fin du load() en callback du animate()
								;
							}
						)// fin du animate()
					;
					$('.tabs li.selected', el).removeClass('selected');
					$(this).addClass('selected');
				}
				return false;
			});
		}
		/* LOAD HTTP  --------------------------------*/
		else{
			if(type == 'test_drive'){
				$('.tabs a',el).each(function(){
					$(this).attr('href',$(this).attr('href')+'#article-head');
				});
			}
		}
		return el;
	}
	
	/* SCAN
	------------------------------------------------------------------------------ */
	$.fn.initScan = function(){
		var el = this;
		var ulH = new Array();
		var nav = $('<ol />');
		var s = 50;
		$('.btn',el).append(nav);
		$('.wrap',el).css({ overflow:'hidden' });
		$('ul',el).each(function(i){
			ulH[i] = $(this).height();
			if( $('li',this).length != 0 && $('ul',el).length > 1 ){
				j = i + 1;
				$(nav).append('<li>'+j+'</li>');
			}
		});
		//ulH.sort(tri_nombres);
		$('.wrap',el).css({ position:'relative', height:ulH[0] });
		$('ul',el).css({
			display: 'none',
			position:'absolute',
			left:'0',
			top:'0',
			width: '100%'
		});
		$('li',nav)
			.css({ cursor:'pointer' })
			.each(function(i){
				$(this).click(function(){
					$('.wrap',el).css({ height: ulH[i]+'px' });
					// scans
					$('ul',el).css('display','none');
					$('ul:eq('+i+')',el).css({ display: 'block' });
					// navigation
					$('li',nav).removeClass('on').removeClass('afterOn');
					$(this).addClass('on');
					$('+li',this).addClass('afterOn');
				});
			})
		;
		
		// Events
		$('ul a',el).click(function(){
			if( !isIPHONE() ){
				window.open($(this).attr('href'),"Scanner","width=750,height=475,left=200,top=200,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,resizable=yes");
				return false;
			}
			else{
				document.write('OK');
				var pos = $(this).attr('href').indexOf('?');
				location.href = $(this).attr('href').substring(0,pos);
				return false;
			}
		});
		
		// Affichage par défaut
		$(nav).show();
		$('ul:eq(0)',el).css({
			//opacity:'1',
			display: 'block'
		});
		//if(isIE6()) $('ul:eq(0)',el).get(0).style.removeAttribute('filter');
		$('li:eq(0)',nav).addClass('first on');
		return el;
	}
	
	/* LIGHTGALLERY
	------------------------------------------------------------------------------ */
	$.fn.lightGallery = function(options){
		var params = $.extend({
			sufM : '_f2', 	// suffix of rollover displayed photo
			sufT : '_f3',	// suffix of thumbnails
			overlayOpacity : '.85',
			pathIframe : '/includes/cobrand/ads/iframe-lightGallery.html'	
		},options);
		sufM = params.sufM;
		sufT = params.sufT;
		overlayOpacity = params.overlayOpacity;
		pathIframe = params.pathIframe;
		
		return this.each(function() {
			var el = this;
			$('a',el).removeAttr('target');
			$('li',el).css({ cursor: 'pointer' });
			
			// II. events on thumbnails
			$('li a',el)
				// II.1 Rollover
				.mouseover(function(){ $('p.photo img',el).attr('src',$('img',this).attr('src').replace(sufT,sufM)); })
				// II.2 Click
				.click(function(){
					$(el).lightShow({
						srcImg: $(this).attr('href'),
						pathIframe : pathIframe
					});
					return false;
				})
			;
		});
		
	}
	
	/* SLIDEGALLERY
	------------------------------------------------------------------------------ */
	$.fn.slideGallery = function(options){
		// Options
		var params = $.extend({
			visibleLI   : 9,		// number of blocks visible
			numSlide    : 1,		// number of sliding blocks per click
			sizeLI      : 88,		// size of blocks
			speed       : 'fast',	// animation speed
			opacityBtn  : '.2',		// opacity of disabled button
			numCurrent  : 0, 		// number of the current block
			sufM        : '_f1', 	// suffix of Main photo
			sufT        : '_f2', 	// suffix of Thumbnails
			pathIframe  : '/includes/cobrand/ads/iframe-lightGallery.html'
			// /!\ Dont forget : visibleLI > numSlide
		},options);
		var numSlide = params.numSlide;
		var speed = params.speed;
		var opacityBtn = params.opacityBtn;
		var sizeLI = params.sizeLI;
		var visibleLI = params.visibleLI;
		var numCurrent = params.numCurrent;
		var sufM = params.sufM;
		var sufT = params.sufT;
		var pathIframe = params.pathIframe;
		if(numSlide > visibleLI){ numSlide = visibleLI; }
		
		// Core
		return this.each(function() {
			
			// Functions
			var slide = function(el,obj,dir,delta,speed){ // Main function for sliding
				var pos = parseInt($(obj, el).css('left'));
				var limitL = 0;
				var limitR = -(sizeUL - visibleLI*sizeLI);
				var btnL = true;
				var btnR = true;
				// left direction
				if( dir == 'left' && pos < limitL ){
					var deltaL = delta;
					var diffL = -(limitL - pos);
					if( -diffL <= delta ){
						deltaL = -diffL;
						btnL = false;
					}
					toggleBtn($('#slide-rbtn'),'visible');
					$(obj, el).animate({ left: pos + deltaL }, speed, function(){ if(!btnL){toggleBtn($('#slide-lbtn'),'hidden');} });
				}
				// right direction
				if( dir == 'right' && pos > limitR){
					var diffR = -(limitR - pos);
					var deltaR = delta;
					if( diffR <= delta ){
						deltaR = diffR;
						btnR = false;
					}
					toggleBtn($('#slide-lbtn'),'visible');
					$(obj, el).animate({ left: pos - deltaR }, speed, function(){ if(!btnR){toggleBtn($('#slide-rbtn'),'hidden');} });
				}
			} // end of 'slide' function
			
			var toggleBtn = function(obj,event){
				if(event == 'visible'){ btnOpacity = '1'; btnCursor = 'pointer'; }
				if(event == 'hidden'){ btnOpacity = opacityBtn; btnCursor = 'default'; }
				$(obj).animate({opacity:btnOpacity},speed).css({cursor:btnCursor});
			}
			
			// 1. Init var
			var el = this;
			var delta = numSlide * sizeLI;
			var nPhotos = $('li',el).length;
			var sizeUL = (nPhotos+1) * sizeLI;
			var posInit = 0;
			var urlPrev = urlNext = 'null';
			
			// 2. Get current photo
			var srcPhoto = $('div.photo img',el).attr('src').replace(sufM,sufT);
			$('li',el).each(function(i){
				if( $('img',this).attr('src') == srcPhoto ){ numCurrent = i+1; }
			});
			var indexCur = numCurrent-1;
			var indexPrev = indexCur-1;
			var indexNext = indexCur+1;
			
			// 3. Set posInit = initializing left position of UL element
			var diff = nPhotos - numCurrent;
			posInit = (indexCur-Math.ceil(visibleLI/2)+1) * sizeLI;
			
			// 4. Create elements
			var wrapper  = $('<div id="slide-wrapper" />');
			var leftBtn  = $('<p id="slide-lbtn"></p>');
			var rightBtn = $('<p id="slide-rbtn"></p>');
			var wrap     = $('<div id="slide-wrap" />');
			var leftPan  = $('<div id="slide-lpan"><div></div><p></p></div>');
			var rightPan = $('<div id="slide-rpan"><div></div><p></p></div>');
			var tipsWrap = $('<div id="tips" class="node6"><div class="content"><h2>Astuce</h2><p>Utilisez les touches "fleche gauche" et "fleche droite" de votre clavier pour naviguer parmis les photos.</p><p class="close">ESC ou [X]</p></div></div>');
			
			// 5. Styles & place elements
			$(tipsWrap)
				.css({opacity:'0'})
				.click(function(){
					$(this).fadeTo('slow','0',function(){ $(this).remove(); });
				})
			;
			$('ul', el)
				.wrap(wrap)
				.css({
					position: 'absolute',
					left: -posInit,
					top: '0',
					width: sizeUL+'px',
					textAlign: 'left'
				})
				.find('li')
					.css({
						display: 'block',
						float: 'left',
						width: sizeLI
					})
				.find('img').css({ display: 'block' })
			;
			$('#slide-wrap').css({ width: visibleLI*sizeLI }).wrap(wrapper).before(leftBtn).after(rightBtn);
			
			// 6. Manage links next & prev over main photo (to improve)
			if( numCurrent == 1 ){ urlPrev = $('li:last-child a',el).attr('href'); }
			else{ urlPrev = $('li:eq('+indexPrev+') a',el).attr('href'); }
			urlPrev = urlPrev+'#photo';
			$('div.photo',el).prepend(leftPan);
			$('#slide-lpan div').css({ opacity: '0' });
			$('#slide-lpan p').css({ opacity: '0' });
			$('#slide-lpan').hover(
				function(){
					$('div',leftPan).stop().animate({opacity: '.2'},400).click(function(){ location.href=urlPrev; });
					$('p',leftPan).stop().animate({opacity: '1'},400).click(function(){ location.href=urlPrev; });
				},
				function(){
					$('div',leftPan).stop().animate({opacity: '0'},250);
					$('p',leftPan).stop().animate({opacity: '0'},250);
				}
			);
			if( numCurrent == nPhotos ){ urlNext = $('li:first-child a',el).attr('href'); }
			else{ urlNext = $('li:eq('+indexNext+') a',el).attr('href'); }
			urlNext = urlNext+'#photo';
			$('div.photo',el).prepend(rightPan);
			$('#slide-rpan div').css({ opacity: '0' });
			$('#slide-rpan p').css({ opacity: '0' });
			$('#slide-rpan').hover(
				function(){
					$('div',rightPan).stop().animate({opacity: '.2'},400).click(function(){ location.href=urlNext; });
					$('p',rightPan).stop().animate({opacity: '1'},400).click(function(){ location.href=urlNext; });
				},
				function(){
					$('div',rightPan).stop().animate({opacity: '0'},250);
					$('p',rightPan).stop().animate({opacity: '0'},250);
				}
			);
			
			
			// 7. Default display (current thumbnail & btn visibility)
			$('li:eq('+indexCur+')',el).addClass('current');
			if(-posInit >= 0){ toggleBtn($('#slide-lbtn'),'hidden'); }
			if(posInit >= sizeUL - visibleLI*sizeLI){ toggleBtn($('#slide-rbtn'),'hidden'); }
			if(nPhotos <= visibleLI){ // if total photos <= visible photos
				toggleBtn($('#slide-lbtn'),'hidden');
				toggleBtn($('#slide-rbtn'),'hidden');
				$('ul', el)
					.css({
						left: 0,
						width: $('#slide-wrap').width(),
						textAlign: 'center'
					})
					.find('li')
						.css({ display: 'inline', float: 'none' })
						.find('img')
							.css({ display: 'inline' })
				;
			}
			
			// 8. Events
			$('.current a', el).click( function(){ return false; } ); // disable click on current thumbnail 
			$(leftBtn).click(function(){ slide(el,'ul','left',delta,speed); }); // click on left sliding button
			$(rightBtn).click(function(){ slide(el,'ul','right',delta,speed); }); // click on right sliding button
			$('.link-hq a', el).click(function(){
				$(el).lightShow({
					srcImg: $(this).attr('href'),
					pathIframe: pathIframe
				});
				return false;
			});
			$(document).ready(function(){
				if( $.cookie('galleryTips') == null ){
					$('body').append(tipsWrap);
					$('.node6').each(function(){
						if( $.browser.msie || /*$.browser.mozilla ||*/ $.browser.opera ){ addCorners(this,4); }
					});
					$(tipsWrap).fadeTo('slow','.8');
					$.cookie('galleryTips',1,{ expires: 30, path: '/' });
				}
				$(document).keydown(function(e){
					if( e.keyCode == 37 ){ location.href=urlPrev; }
					if( e.keyCode == 39 ){ location.href=urlNext; }
					if( e.keyCode == 27 ){ $(tipsWrap).fadeTo('slow','0',function(){ $(this).remove(); }); }
				});
			});
		});
	}
	
	/* LIGHTSHOW
	------------------------------------------------------------------------------ */
	$.fn.lightShow = function(options){
			// Options
			var params = $.extend({ overlayOpacity   : '.8' },options);
			srcImg = params.srcImg;
			pathIframe = params.pathIframe;
			overlayOpacity = params.overlayOpacity;
			var maxWidth = 850;
			var widthImg = srcImg.substring(srcImg.length-11,srcImg.length-10);
			if( widthImg == '0' ){ maxWidth = 1000; }
			else if( widthImg == '2'){ maxWidth = 1280; }
			else if( widthImg == '6' ){ maxWidth = 1600; }
			
			// function closeAll() : fade out and remove all 'dynamic' elements
			var closeAll = function(arr){
				for( i=0 ; i<arr.length ; i++){
					$(arr[i]).fadeTo('slow','0',function(){
						$(this).remove(); // remove from DOM after fading
						if( isIE6() ) $('select').css('visibility','visible');
					});
				}
				$('html').css('overflow','auto').css('overflow-x','hidden');
				$('#adrectangle').css('visibility','visible');
				$('#adbanner').css('visibility','visible');
				$('#adrectangle object').css('visibility','visible');
				$('#adrectangle embed').css('visibility','visible');
			}
			// set overlay properties
			var overlay = $('<div/>')
				.attr('id','light-overlay')
				.css({
					opacity: '0',
					height: $(document).height()
				})
			;
			// set wrap properties
			var wrap = $('<div/>')
				.attr('id','light-wrap')
				.css({
					opacity: '0',
					position: 'fixed'
				})
			;
			if( !isIE6() ){
				$(wrap).css({
					overflow: 'auto',
					height: '100%'
				});
			}
			$('html').css('overflow','hidden');
			if( isIE6() ){ // 'hack' fixed position for IE6
				$(wrap).css({
					position: 'absolute',
					top: 0
				});
			}
			// set main photo properties
			var img = $('<div id="light-photo"><p style="padding:5px;background: #000;"><img/></p></div>');
			// set iframe properties
			var iframe = $('<div style="width: 728px; height: 110px; margin: 0 auto;"><iframe id="light-iframe" width="728px" height="90px" src="'+pathIframe+'" marginwidth="0" marginheight="0" leftmargin="0" topmargin="0" hspace="0" vspace="0" frameborder="0" scrolling="no" /></div>')			;
			// set close button properties
			var closeBtn = $('<p />')
				.html('[X]')
				.attr('id','light-close')
			;
			// place elements
			$(wrap).prepend(closeBtn).append(iframe).append(img);
			$('body').append(overlay).append(wrap);
			
			// must stay after appends, because of img & iframe flash effect on IE6 and FF2
			$('img',img).attr('src',srcImg);
			$(wrap).css({ width: $(window).width() });
			if( !isIE6() ){ $(img).css({ maxWidth : maxWidth }); }
			else{ $(img).css({ width : document.body.clientWidth > maxWidth ? ""+maxWidth+"px" : "auto"}); }

			// display elements
			if( isIE6() ){ $('select').css('visibility','hidden'); }
			//$(overlay).fadeTo('slow',overlayOpacity);
			$(overlay).fadeTo('slow',overlayOpacity,
				function(){
					$('#adrectangle').css('visibility','hidden');
					$('#adbanner').css('visibility','hidden');
					$('#adrectangle object').css('visibility','hidden');
					$('#adrectangle embed').css('visibility','hidden');
					$(wrap).fadeTo('slow','1',
						function(){
							$(iframe).show('fast',
								function(){
									$(iframe).fadeTo('fast','1',
										function(){
											$(wrap).click( function(){ closeAll(new Array(overlay,wrap)); });
											$(overlay).click( function(){ closeAll(new Array(overlay,wrap)); });
											$('body').keydown(function(event){
												if( event.keyCode == 27 ){ closeAll(new Array(overlay,wrap)); }
											});
										}
									);
								}
							);
						}
					);
				}
			);
			$(window).resize(function(){ // adjust overlay's height if window is resized
				$(overlay).css({ height: $(document).height() });
				$(wrap).css({ width: $(window).width() });
			});
	}
	
	/* SEARCH SELECT AUTOCOMPLETE
	------------------------------------------------------------------------------ */
	$.fn.initAutocomplete = function(params){
		choix = '';
		var opt = $.extend({
			fragPath: '',
			fragUrl: false
		}, params);
		// function : create options elements from json
		var createOptions = function(el,arg,fragPath){
			// arg = value of clicked option used in the path to json
			var options = '';
			arg=='' ? arg='json' : null;
			path = '/includes/js/specs-data' + fragPath + '/'+arg+'.js';
			$.getJSON(path, function(json){
				$.each(json, function(i,item){ options += '<option value="'+ i +'">'+ item +'</option>'; });
				$('#'+el+'option:not(.title)').remove();
				$('#'+el).append(options).removeAttr('disabled');
			});
		}
		// function : what happend when changing selection?
		var onChangeOption = function(el,el2,nb,fragPath){
			$('#'+el).change(function(){
				// initializing next select
				var parentLI = $(this).parents('li');
				$('~ li',parentLI)
					.find('select').attr('disabled','disabled')
					.find('option:not(.title)').remove()
				;
				if( el2 != '' ){
					choix = $(this).val();
					createOptions(el2,choix,fragPath);
				}
				if( el == 'sel_manufacturer' ){ $('#quick-acces-form .b-search').css({ opacity: 1, cursor: 'pointer' }); }
			});
		}
		// clean url string
		var clearStr = function(str){
			str = $.trim(str);
			str = str.replace(/__/g,'/');
			str = str.replace(/ /g,'-');
			return str;
		}
		
		// DEFAULT DISPLAY
		$('#quick-acces-form li:not(:eq(0)) select').attr('disabled','disabled');
		$('#quick-acces-form .b-search').css({ opacity: .5, cursor: 'default' });
		createOptions('sel_manufacturer','',opt.fragPath);
		
		// EVENTS
		onChangeOption('sel_manufacturer','sel_model',1,opt.fragPath);
		onChangeOption('sel_model','sel_serie',2,opt.fragPath);
		onChangeOption('sel_serie','sel_trim',3,opt.fragPath);
		$('#sel_trim').change(function(){
			choix = $(this).val();
			document.location.replace( clearStr('/'+choix) );
		});
		$('#quick-acces-form .b-search').click(function(){
			var startUrl = (opt.fragUrl) ? opt.fragUrl : '/Listino/Automotive/' ;
			document.location.replace( startUrl + clearStr(choix) );
			return false;
		});
	}
	
	/* TOOLBAR
	------------------------------------------------------------------------------ */
	$.fn.initToolbar = function(opt){
		var params = $.extend({
			sufM : '_f2'
		},opt);
		return this.each(function(){
			// Vars
			var o = this;
			var delta = 3;
			var fontdwLi = '<li class="tb-fontdw"><span>Diminuer la taille du texte</span></li>';
			var fontupLi = '<li class="tb-fontup"><span>Augmenter la taille du texte</span></li>';
			var to = $([
				'#article-body > p',
				'#article-body > h2',
				'#article-body > h3'
			]);
			
			// Place elements
			$('ul',this).prepend(fontdwLi,fontupLi);
			
			// Core + Events
			$('.tb-fontdw',o).css('cursor','pointer').click(function(){
				$(to).each(function(){
					var curSize = parseInt($($(this)[0].toString()).css('font-size'));
					var newSize = parseInt(curSize-delta);
					$($(this)[0].toString()).css('font-size',newSize);
				});
			});
			$('.tb-fontup',o).css('cursor','pointer').click(function(){
				$(to).each(function(){
					var curSize = parseInt($($(this)[0].toString()).css('font-size'));
					var newSize = parseInt(curSize+delta);
					$($(this)[0].toString()).css('font-size',newSize);
				});
			});
		});
	};
	
	/* LOG -> instead of using console.log(bla), use $.log(bla)
	------------------------------------------------------------------------------ */
	jQuery.log = function(message) {
		if(window.console) { console.debug(message); }
		else { alert(message); }
	};
	
})(jQuery)


/* ====================================================================================================
   FUNCTIONS
   ==================================================================================================== */
// ajoute les coins arrondis
var addCorners = function(el,nb){
	inTop = inBot = '';
	for(i=1 ; i<=nb ; i++){ inTop += '<b class="r'+i+'"/>'; }
	for(j=nb ; j>=1 ; j--){ inBot += '<b class="r'+j+'"/>'; }
	$('.content',el).css('border-top','0').css('border-bottom','0');
	$(el).prepend('<b class="rtop">'+inTop+'</b>');
	$(el).append('<b class="rbot">'+inBot+'</b>');
}
// affiche la navigation en bas des scans en popup
var navScan = function(){
	var loader = $('<div id="loaderscan" />');
	$(loader).load('/includes/Flash-News/scan.htm',function(){
		var ul = $('<ul />');
		var scanList = new Array(); var urlsList = new Array();
		var urlCurre = window.location.pathname.substr(0,window.location.pathname.length-1)+window.location.search;
		var curIndex = 0;
		$(this).find('a').each(function(i){
			scanList[i] = $(this).html();
			urlsList[i] = $(this).attr('href');
			if(isIE()){
				var domainComplete = 'http://'+window.location.hostname;
				urlsList[i] = urlsList[i].substring( domainComplete.length, urlsList[i].length );
			}
		});
		for(j=0;j<urlsList.length;j++){
			if( urlsList[j] == urlCurre ){curIndex = j;}
		}
		if( curIndex != 0 ){
			var liPrev = $('<li class="first prev"><a href="'+urlsList[curIndex-1]+'">'+scanList[curIndex-1]+'</a></li>');
			$(ul).prepend(liPrev);
		}
		if( curIndex != urlsList.length-1 ){
			var liNext = $('<li class="next"><a href="'+urlsList[curIndex+1]+'">'+scanList[curIndex+1]+'</a></li>');
			$(ul).append(liNext);
		}
		$(document).keydown(function(e){
			if( e.keyCode == 37 && curIndex != 0 ){ location.href=urlsList[curIndex-1]; }
			if( e.keyCode == 39 && curIndex != urlsList.length-1 ){ location.href=urlsList[curIndex+1]; }
		});
		$('#footer').prepend(ul).append('<b class="clear" />');
	});
}
// Send email to a friend
var openwindemail = function(){
	url='http://news.sports.fr/autonews_popemailtoafriend.phtml?url='+document.location.href ;
	mywin=window.open(url,"email","resizable=no,width=555,Height=400,scrollbars=no,toolbar=no,location=no,directories=no,status=no,left=240,top=240");
	mywin.focus();
}
// IE test ;)
var isIE = function(){ return $.browser.msie; }
var isIE6 = function(){ return $.browser.msie && $.browser.version <= 6; }
var isIE7 = function(){ return $.browser.msie && $.browser.version == 7; }

// iPhone test
var isIPHONE = function(){
	if(navigator.userAgent.match(/iPhone/i) == null ) return false;
	else{ return true; }
}

// tri nombres
function tri_nombres(a,b){ return b-a; }

// script générique pour les tags pubs
sas_tmstp=Math.round(Math.random()*10000000000);sas_masterflag=1;
function SmartAdServer(sas_pageid,sas_formatid,sas_target) {
	if (sas_masterflag==1) {sas_masterflag=0;sas_master='M';} else {sas_master='S';};
	document.write('<scr'+'ipt SRC="http://www.smartadserver.com/call/pubj/' + sas_pageid + '/' + sas_formatid + '/'+sas_master + '/' + sas_tmstp + '/' + escape(sas_target) + '?"></scr'+'ipt>');
}

/* Sondage
------------------------------------------------------------ */
$.fn.sondage = function(param){
	
// Vars
	var $this = $(this),
		id_sondage = $('input[name=sondage]', $this).val(),
		cookie_name = 'SONDAGE_ID_' + id_sondage,
		urlToRequest = '/includes/Sondaggi/' + id_sondage + '/';
	var opt = $.extend({ visible : true },param);
// Functions
	var _voted = function(){
		if( $.cookie(cookie_name) === null ) return false;
		else if( !$.cookie(cookie_name) ) return false;
		else return true;
	};
	var _verif = function(){
		if( $(':radio:checked',$this).val() === undefined ) return false;
		else return true;
	};
	var _success = function(r){
		$('#sondage-loader').prepend(r);
		$this.css({ display: 'block' });
	};
// Load question || ansers
	if(opt.visible){
		urlToRequest += (_voted()) ? 'answers.htm' : 'question.htm';
		$.ajax({
			url: urlToRequest,
			dataType: 'html',
			success: function(r){ _success(r); }
		});
	}
// Events
	$(':submit',$this).livequery('click',function(){
		if( _verif() ){
			var files = '<script src="/includes/cobrand/js/jquery-alert/jquery.alerts.js" type="text/javascript"></script><link href="/includes/cobrand/js/jquery-alert/jquery.alerts.css" rel="stylesheet" type="text/css" media="screen" />';
			$('head').append(files);
			$.cookie(cookie_name, 'TRUE',{ expires: 1, path: '/', domain: 'auto-news.it' });
			jAlert('Grazie. Il tuo voto sarà conteggiato in pochi secondi.', '', function(){ $('#sondage-loader form').submit(); });
			return false;
		}
		else{
			$('#sondage-loader ul', $this).next('.error').remove().end().after('<p class="error">Per favore, scegli una risposta prima di votare.</p>');
			return false;
		}
	});	
}
