// Shadows



// INFO NAVIGATEUR



var isIE = navigator.userAgent.toLowerCase().indexOf("msie") > -1; 

var isMoz = document.implementation && document.implementation.createDocument; 

var isSafari = ((navigator.userAgent.toLowerCase().indexOf('safari')!=-1)&&(navigator.userAgent.toLowerCase().indexOf('mac')!=-1))?true:false; 

var arVersion = navigator.appVersion.split("MSIE")

var version = parseFloat(arVersion[1])



// GETELEMENTSBYDID

function getElementsByClassName(className, tag, elm){

	var testClass = new RegExp("(^|s)" + className + "(s|$)");

	var tag = tag || "*";

	var elm = elm || document;

	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);

	var returnElements = [];

	var current;

	var length = elements.length;

	for(var i=0; i<length; i++){

		current = elements[i ];

		if(testClass.test(current.className)){

			returnElements.push(current);
			

		}

	}

	return returnElements;

}





// FIXER LA TRANSPARENCE POUR IE

function debug_IE() {

	

	if ((version >= 6 && version < 7) && (document.body.filters)) 

		{

		   for(var i=0; i<document.images.length; i++)

		   {

			  var img = document.images[i]

			  var imgName = img.src.toUpperCase()

			  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")

			  {

				

				 var imgStyle = "display:inline-block;" + img.style.cssText 

				

				 var strNewHTML = "<span " 

				 + " style=\"overflow:hidden;" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"

				 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"

				 + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 

				 img.outerHTML = strNewHTML

				 i = i-1

			  }

		   }

		}

}












function shadows(){

	

	if (((isIE==true) && (version >= 6)) || (typeof(isMoz)!='undefined') || (isSafari==true)){

	

		// SETTING

		setting=arguments[0];

		className=setting.className;
		
		path=((typeof(setting.path) == 'undefined') ? '' : setting.path);

		opacity=((typeof(setting.opacity) == 'undefined') ? 100 : setting.opacity*10);

		_top=((typeof(setting.top) == 'undefined') ? 13 : setting.top);

		_right=((typeof(setting.right) == 'undefined') ? 13 : setting.right);

		_bottom=((typeof(setting.bottom) == 'undefined') ? 13 : setting.bottom);

		_left=((typeof(setting.left) == 'undefined') ? 13 : setting.left);
		
		_offsetTop=((typeof(setting.offsetTop) == 'undefined') ? 0 : setting.offsetTop);
			
		_offsetLeft=((typeof(setting.offsetLeft) == 'undefined') ? 0 : setting.offsetLeft);
		
		_sizeAdjustHeight=((typeof(setting.sizeAdjustHeight) == 'undefined') ? 0 : setting.sizeAdjustHeight);
	
		_sizeAdjustWidth=((typeof(setting.sizeAdjustWidth) == 'undefined') ? 0 : setting.sizeAdjustWidth);

		_roundedCornerTopLeft=((typeof(setting.roundedCornerTopLeft) == 'undefined') ? 0 : setting.roundedCornerTopLeft);
		
		_roundedCornerTopRight=((typeof(setting.roundedCornerTopRight) == 'undefined') ? 0 : setting.roundedCornerTopRight);
		
		_roundedCornerBottomLeft=((typeof(setting.roundedCornerBottomLeft) == 'undefined') ? 0 : setting.roundedCornerBottomLeft);
		
		_roundedCornerBottomRight=((typeof(setting.roundedCornerBottomRight) == 'undefined') ? 0 : setting.roundedCornerBottomRight);
		
		dir="images";
	

		// BOUCLE SUR LES CLASSES

		for(t=0;t<setting.className.length;t++){

			

			objects=getElementsByClassName(className[t]);

			

			// BOUCLE SUR LES OBJETS DE LA CLASSE

			for (i=0; i<objects.length; i++){

				

				// VALEUR DE LA POSITION et du Z-INDEX
			
				if(objects[i].style.position=='')objects[i].style.position="relative";

				if(objects[i].style.zIndex=='')objects[i].style.zIndex=1000000;

							

				// COORD DE L'ELEMENT

				left_=objects[i].offsetLeft;

				top_=objects[i].offsetTop;

				width_=objects[i].offsetWidth;

				height_=objects[i].offsetHeight;

				

				

				// DIV PRINCIPAL

				shadowBox=document.createElement('div');
				
				shadowBox.className="___Shadows___"

				shadowBoxStyle=shadowBox.style;

				shadowBoxStyle.left=left_-_left+_offsetLeft+'px';

				shadowBoxStyle.top=top_-_top+_offsetTop+'px';

				shadowBoxStyle.width=width_+_right+_left+_sizeAdjustWidth+'px';

				shadowBoxStyle.height=height_+_top+_bottom+_sizeAdjustHeight+'px';
				
				
								
				shadowBoxStyle.position='absolute';

				shadowBoxStyle.zIndex=objects[i].style.zIndex-1;

				

				//TOP

				img_T=document.createElement('img');

				img_T.src=path+"_shadows/"+dir+"/shadow_top_"+opacity+".png";

				img_T.style.position="absolute";

				img_T.style.top="0px";
				
				img_T.style.left="0px";

				img_T.style.width=width_+_sizeAdjustWidth+'px';

				img_T.style.height=_top+'px'

				img_T.style.margin='0 '+_right+'px 0 '+(_left)+'px';

				shadowBox.appendChild(img_T);

				

				//BOTTOM

				img_B=document.createElement('img');

				img_B.src=path+"_shadows/"+dir+"/shadow_bottom_"+opacity+".png";

				img_B.style.position="absolute";

				img_B.style.bottom="0px";
				
				img_B.style.left="0px";

				img_B.style.width=width_+_sizeAdjustWidth+'px';

				img_B.style.height=_bottom+'px'

				img_B.style.margin='0 '+_right+'px 0 '+(_left)+'px';

				shadowBox.appendChild(img_B);

				

				//LEFT

				img_L=document.createElement('img');

				img_L.src=path+"_shadows/"+dir+"/shadow_left_"+opacity+".png";

				img_L.style.position="absolute";

				img_L.style.left="0px";

				img_L.style.height=height_+_sizeAdjustHeight+'px';

				img_L.style.width=_left+'px'

				img_L.style.margin=_top+'px 0 '+_bottom+'px 0';

				shadowBox.appendChild(img_L);

				

				//RIGHT

				img_R=document.createElement('img');

				img_R.src=path+"_shadows/"+dir+"/shadow_right_"+opacity+".png";

				img_R.style.position="absolute";

				img_R.style.right="0px";

				img_R.style.height=height_+_sizeAdjustHeight+'px';

				img_R.style.width=_right+'px'

				img_R.style.margin=_top+'px 0 '+_bottom+'px 0';

				shadowBox.appendChild(img_R);
				
				

				// CORNER TOP LEFT

				img_TL=document.createElement('img');
				
				img_TL.src=path+"_shadows/"+dir+"/shadow_corner_TL_"+opacity+".png";
				
				img_TL.style.position="absolute";

				img_TL.style.top='0px'

				img_TL.style.left='0px'
				
				img_TL.style.height=_top+'px';

				img_TL.style.width=_right+'px';

				shadowBox.appendChild(img_TL);

				// CORNER Inner TOP LEFT
				if(_roundedCornerTopLeft>0){
					
					img_TL=document.createElement('img');
				
					img_TL.src=path+"_shadows/"+dir+"/shadow_InnerCorner_TL_"+opacity+".png";
					
					img_TL.style.position="absolute";
	
					img_TL.style.top=_top+'px'
	
					img_TL.style.left=_left+'px'
					
					img_TL.style.height=_roundedCornerTopLeft+'px';
	
					img_TL.style.width=_roundedCornerTopLeft+'px';
	
					shadowBox.appendChild(img_TL);
						
					
				}
				
				// CORNER TOP RIGHT

				img_TR=document.createElement('img');

				img_TR.src= path+"_shadows/"+dir+"/shadow_corner_TR_"+opacity+".png";
				
				img_TR.style.position="absolute";

				img_TR.style.top='0px'

				img_TR.style.right='0px'

				img_TR.style.height=_top+'px';

				img_TR.style.width=_right+'px';

				shadowBox.appendChild(img_TR);

				// CORNER Inner TOP RIGHT
				if(_roundedCornerTopRight>0){
					
					img_TR=document.createElement('img');
				
					img_TR.src=path+"_shadows/"+dir+"/shadow_InnerCorner_TR_"+opacity+".png";
					
					img_TR.style.position="absolute";
	
					img_TR.style.top=_top+'px'
	
					img_TR.style.right=_right+'px'
					
					img_TR.style.height=_roundedCornerTopRight+'px';
	
					img_TR.style.width=_roundedCornerTopRight+'px';
	
					shadowBox.appendChild(img_TR);
						
					
				}

				// CORNER BOTTOM LEFT

				img_BL=document.createElement('img');

				img_BL.src=path+"_shadows/"+dir+"/shadow_corner_BL_"+opacity+".png";

				img_BL.style.position="absolute";

				img_BL.style.bottom='0px'

				img_BL.style.left='0px'

				img_BL.style.height=_bottom+'px';

				img_BL.style.width=_left+'px';

				shadowBox.appendChild(img_BL);
				
				// CORNER Inner BOTTOM LEFT
				if(_roundedCornerBottomLeft>0){
					
					img_BL=document.createElement('img');
				
					img_BL.src=path+"_shadows/"+dir+"/shadow_InnerCorner_BL_"+opacity+".png";
					
					img_BL.style.position="absolute";
	
					img_BL.style.bottom=_bottom+'px'
	
					img_BL.style.left=_left+'px'
					
					img_BL.style.height=_roundedCornerBottomLeft+'px';
	
					img_BL.style.width=_roundedCornerBottomLeft+'px';
	
					shadowBox.appendChild(img_BL);
						
					
				}
				

				// CORNER BOTTOM RIGHT

				img_BR=document.createElement('img');

				img_BR.src=path+"_shadows/"+dir+"/shadow_corner_BR_"+opacity+".png";

				img_BR.style.position="absolute";

				img_BR.style.bottom='0px'

				img_BR.style.right='0px'

				img_BR.style.height=_bottom+'px';

				img_BR.style.width=_right+'px';

				shadowBox.appendChild(img_BR);

				// CORNER Inner BOTTOM LEFT
				if(_roundedCornerBottomRight>0){
					
					img_BR=document.createElement('img');
				
					img_BR.src=path+"_shadows/"+dir+"/shadow_InnerCorner_BR_"+opacity+".png";
					
					img_BR.style.position="absolute";
	
					img_BR.style.bottom=_bottom+'px'
	
					img_BR.style.right=_right+'px'
					
					img_BR.style.height=_roundedCornerBottomRight+'px';
	
					img_BR.style.width=_roundedCornerBottomRight+'px';
	
					shadowBox.appendChild(img_BR);
						
					
				}

	

				

				// APPLY

				objects[i].parentNode.appendChild(shadowBox);			

				

				

			}

		}
		
		
		
		//DEBUG

		debug_IE() 	

	}

}



