
jQuery.fn.customlightbox = function(options){
	
	var defaults = {
		displayShadow:true
	}
	var options =  jQuery.extend(defaults, options);

	//on inject le style du shadow
	var dom = document.createElement('style');
	var styles='.lightboxWindowShadow {background: none repeat scroll 0 0 #000000; height: 100%; position: absolute;top: 0; width: 100%;z-index: 900; opacity:0.7}';
	dom.setAttribute("type", "text/css");
	if (dom.styleSheet) {   // IE
		dom.styleSheet.cssText = styles;
	} else {                // the world
		var tnw = document.createTextNode(styles);
		dom.appendChild(tnw);
	}
	var ac = document.getElementsByTagName('head')[0];
	ac.appendChild(dom);
	
	//on regarde si le shadow est deja présent, sinon on le créé.
	if(jQuery('.lightboxWindowShadow').length<1)
	{
		jQuery('body').prepend('<div class="lightboxWindowShadow" style="display:none;"></div>');
	}
	
	//on met en position absolut direct...(commentez cette ligne pour voir le comportement sans...
	jQuery(this).css({'position' : 'absolute',display:'none'});
	
	//On créé un unique id pour pointer dessus (coté client uniquement).
	var uniqId='customlightbox'+parseInt(new Date().getTime() / 1000, 10);
	jQuery(this).addClass(uniqId); //On l'affecte a notre div (ca nous permet ensuite de pointer dessus lors du resize
	//On appel la méthode qui recalcule et recentre notre div a chaques resize de ma fenetre.
	jQuery(window).resize(function(){
			//recalcule de la div
			jQuery('.'+uniqId).customLightboxResizePosition();
			//resize de la div shadow
			jQuery('.lightboxWindowShadow').customLightboxResizeShadowPosition();
	});
	jQuery(window).scroll(function(){
			//recalcule de la div
			jQuery('.'+uniqId).customLightboxResizePosition();
			//resize de la div shadow
			jQuery('.lightboxWindowShadow').customLightboxResizeShadowPosition();
	});
	
	//on calcule la taille de la div shadow
	
	jQuery('.lightboxWindowShadow').customLightboxResizeShadowPosition();
	
	
	jQuery('.'+uniqId+' .closeLayer').bind('click',function(e){ 
		e.preventDefault();
		jQuery('.lightboxWindowShadow').hide();
		jQuery('.'+uniqId).hide();
		
	});
	
	
	//On affiche la div
	//jQuery('.'+uniqId).customLightboxResizePosition();
	if(options.displayShadow==false){
		jQuery('.lightboxWindowShadow').css({opacity :0});
	}else{
		jQuery('.lightboxWindowShadow').css({opacity :.7});
	}
	jQuery('.lightboxWindowShadow').show();
	jQuery(this).css('z-index',jQuery('.lightboxWindowShadow').css('z-index')+1);

	//On recentre la div des fois qu'il y ait un probleme de priorité dans la modif du dom.
	//A priori au bout 1000 millisecondes, tout est en place.
	 window.setTimeout("jQuery('."+uniqId+"').customLightboxResizePosition();",100);
	 window.setTimeout("jQuery('."+uniqId+"').show();",100);
	 return jQuery(this);
}

jQuery.fn.extend({

 
   customLightboxResizePosition: function() {
   
   	var hauteurGabaritGlobal = jQuery(this).height() +10 ;
	var largeurGabaritGlobal = jQuery(this).width();
	var positionGauche = (jQuery('body').width() / 2) -  (jQuery(this).width() / 2);
	// Placement vertical du layer
	var globalScrollTop = document.body.scrollTop;
	if(document.documentElement.scrollTop){
		globalScrollTop = document.documentElement.scrollTop;
	}
	
	//console.log("hauteurGabaritGlobal :" + hauteurGabaritGlobal);
	//console.log("document.documentElement.clientHeight :" + document.documentElement.clientHeight);
	if(hauteurGabaritGlobal>document.documentElement.clientHeight){
		currentTop=0;
		//console.log("condition 1");
		/*currentTop=0;
		currentTop = (typeof(parametre.positionTop) != 'undefined')? parametre.positionTop : globalScrollTop+10;
		currentHeight = document.documentElement.clientHeight-90;
		currentWidth = largeurGabaritGlobal;*/
	} else {
		//console.log("condition 2");
		currentTop = (globalScrollTop)+((parseInt(document.documentElement.clientHeight)/2)-(parseInt(hauteurGabaritGlobal)/2));
		currentHeight = 'auto';
		currentWidth = largeurGabaritGlobal;
	}
	jQuery(this).css({'position' : 'absolute','left':positionGauche+'px','top':(currentTop+10)+'px'});
	
     
   },
   customLightboxResizeShadowPosition: function() {
   	//console.log("resize shadow");
   	jQuery(this).css({position: 'absolute',top: 0,left: 0,'background-color': 'black','z-index' :'100', width : jQuery(document).width()+'px', height : jQuery(document).height()+'px'});
   }
  
 });


