// 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
			  }
		   }
		}
}

// EFFACER TOUS LES STYLES HERITES




function shadows(){
	
	if (((isIE==true) && (version >= 6)) || (typeof(isMoz)!='undefined') || (isSafari==true)){
	
		// SETTING
		setting=arguments[0];
		className=setting.className;
		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);
		
		_marginTop=((typeof(setting.marginTop) == 'undefined') ? 0 : setting.marginTop);
		
		_marginLeft=((typeof(setting.marginLeft) == 'undefined') ? 0 : setting.marginLeft);
		
		_marginBottom=((typeof(setting.marginBottom) == 'undefined') ? 0 : setting.marginBottom);
	
		_marginRight=((typeof(setting.marginRight) == 'undefined') ? 0 : setting.marginRight);
	
		// 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=75;
							
				// 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+_marginLeft+'px';
				shadowBoxStyle.top=top_-_top+_marginTop+'px';
				shadowBoxStyle.width=width_+_right+_left+_marginRight+'px';
				shadowBoxStyle.height=height_+_top+_bottom+_marginBottom+'px';
				
				
								
				shadowBoxStyle.position='absolute';
				shadowBoxStyle.zIndex=objects[i].style.zIndex-1;
				
				//TOP
				img_T=document.createElement('img');
				img_T.src="shadows/shadow_top_"+opacity+".png";
				img_T.style.position="absolute";
				img_T.style.top="0px";
				
				img_T.style.left="0px";
				img_T.style.width=width_+_marginRight+'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="shadows/shadow_bottom_"+opacity+".png";
				img_B.style.position="absolute";
				img_B.style.bottom="0px";
				
				img_B.style.left="0px";
				img_B.style.width=width_+_marginRight+'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="shadows/shadow_left_"+opacity+".png";
				img_L.style.position="absolute";
				img_L.style.left="0px";
				img_L.style.height=height_+_marginBottom+'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="shadows/shadow_right_"+opacity+".png";
				img_R.style.position="absolute";
				img_R.style.right="0px";
				img_R.style.height=height_+_marginBottom+'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="shadows/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=_left+'px';
				shadowBox.appendChild(img_TL);
				
				// CORNER TOP RIGHT
				img_TR=document.createElement('img');
				img_TR.src="shadows/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 BOTTOM LEFT
				img_BL=document.createElement('img');
				img_BL.src="shadows/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 BOTTOM RIGHT
				img_BR=document.createElement('img');
				img_BR.src="shadows/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);
	
	
				
				// APPLY
				objects[i].parentNode.appendChild(shadowBox);			
				
				
			}
		}
		
		
		
		//DEBUG
		debug_IE() 	
	}
}


