// 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="corners";
	
		// 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() 	
	}
}


