/**
 * linkPromo : Lien de la promo
 * titlePromo: Titre de la promo
 * imgPromoSrc : Le fichier image de la promo
 * htmlPromoContent: Contenu html de la promo (Remplace l'image si il est déclarer)
 * cookieName: Le nom du cookies pour ne pas polluer les visiteur
 * cookieLifetime: La durée de vie du cookie
 * height: hauteur de la box qui sera ouverte
 * width: largeur de la box qui sera ouverte
 * duration : Temps d'apparition de la boite... pas encore implémenté
 */
(function($){
	$.fn.extend({ 
		homepageBox: function (options) {
	
			var defaults = {
				linkPromo: false,
				titlePromo: '',
				activeTitle: false,
				imgPromoSrc: false,
				htmlPromoContent: false,
				cookieName: 'hppromo',
				cookieLifetime: (24*3600),
				height: 400,
				width: 600,
				duration: false
			};
			
			var options = $.extend(defaults, options);
			
			return this.each( function() {
				
				var randID = Math.round(Math.random()*100000000);
				var o = options;
				o.cookieLifetime = o.cookieLifetime * 1000; //changement de la durée de vie en seconde
				var date = new Date();
				var expires = new Date();
				var datePerem = $.cookie.get(o.cookieName);
				var nextDatePerem = date.getTime() + o.cookieLifetime;
				
				// Vérification de déclenchement
				if ( o.linkPromo === false || (o.imgPromoSrc === false && o.htmlPromoContent === false) ) {
					return(false);
				}
				
				// Vérification de dernier déclenchement
				if ( datePerem == null || datePerem > nextDatePerem ) {
					expires.setTime( date.getTime() + (365*24*3600*1000) );
					$.cookie.set(o.cookieName, nextDatePerem, expires);
				} else {
					return (false);
				}
				
				// Element de fond prend tout l'espace + permet la fermeture
				$('body').append('<div id="jHomePageBoxBack-'+randID+'" class="jHomePageBoxBack"></div>');
				setPostion($('#jHomePageBoxBack-'+randID));
				$('#jHomePageBoxBack-'+randID).css({
					'width': $(window).width(),
					'height': $(document).height(),
					'top':'0px'
				});
				$('#jHomePageBoxBack-'+randID).click( hpBoxClose );
				
				$('body').append('<div id="jHomePageBoxContent-'+randID+'" class="jHomePageBoxContent"></div>');
				// Ajout du style pour centrer l'élément
				setPostion($('#jHomePageBoxContent-'+randID));
				$('#jHomePageBoxContent-'+randID).css({
					'top':'50%',
					'left':'50%',
					'width':o.width+'px',
					'height':o.height+'px',
					'margin-left':-Math.round(o.width/2)+'px',
					'margin-top':-Math.round(o.height/2)+'px',
					'text-align': 'center'
				})
				
				// Ajout du titre et de l'image ou du contenu html
				if ( o.activeTitle ) {
					$('#jHomePageBoxContent-'+randID).append('<h1 style="text-align:center;width:100%;">'+o.titlePromo+'</h1>');
				}
				
				//seonid -> comment/delete next line for homebox to work
				o.linkPromo = $('base').attr('href');
				
				// Ajout du contenu html ou de l'image
				if ( o.htmlPromoContent ) {
					$('#jHomePageBoxContent-'+randID).append(o.htmlPromoContent);
				} else {
					$('#jHomePageBoxContent-'+randID).append('<a href="'+o.linkPromo+'" title="'+o.titlePromo+'"><img src="'+o.imgPromoSrc+'" alt="'+o.titlePromo+'" title="'+o.titlePromo+'"></a>');
				}
				
				// Ajout des liens pour fermer ou pousuivre la promo
				$('#jHomePageBoxContent-'+randID).append('<div id="jHomePageBoxBarNav-'+randID+'" class="jHomePageBoxBarNav">');
				$('#jHomePageBoxBarNav-'+randID).append('<a href="#" id="jHomePageBoxClose-'+randID+'">Accéder au site</a> | <a href="'+o.linkPromo+'" style="display:none" title="'+o.titlePromo+'">Accéder &agrave la promo</a>');
				$('#jHomePageBoxClose-'+randID).click(hpBoxClose);
				//$('#jHomePageBoxContent-'+randID).append('<div id="jHomePageBoxInfo-'+randID+'" class="jHomePageBoxInfo"></div>');
	
				document.getElementById('myFlashContent').style.display = 'none';
				
				// Evenement de fermeture sur escape
				document.onkeydown = function(e){ 	
					if (e == null) { // ie
						keycode = event.keyCode;
					} else { // mozilla
						keycode = e.which;
					}
					if(keycode == 27){ // close
						hpBoxClose();
					} else {
						hpBoxGoPromo()
					}
				}
				
				function hpBoxClose() {
					$('#jHomePageBoxBack-'+randID).remove();
					$('#jHomePageBoxContent-'+randID).remove();
					document.getElementById('myFlashContent').style.display = ' block';
				}
				
				function hpBoxGoPromo() {
				}
				
				function setPostion (el) {
					if ( jQuery.browser.msie ) { el.css({'position':'absolute'}); }
					else { el.css({'position':'fixed'}); }
				}
				
				// Fermeture de la fenetre automatiquement si temps positif
				if (  o.duration ||  o.duration > 1000 ) {
					setTimeout( hpBoxClose, o.duration );
				}
			});
		}
	});
})(jQuery);