/****************************************************
* 					Pixart.it				  		*
*****************************************************
* @file	 			pngPixartFix.jquery.js			*
* @descrizione	 	Fix Pixart immagini .png IE6	*
* @copyright 		Copyright (c) 2010, Pixart SRL	*
****************************************************/

// Chiamata che permette di rendere l'immagine di background o l'eventuale immagine stessa trasparente
jQuery.fn.pngPixartFix = function(elem){
	if(elem.runtimeStyle.behavior="none"){
		if(elem.pngSet) elem.pngSet=true;
		else{
			// Se l'oggetto in questione è un'immagine
			if(elem.nodeName == "IMG" && elem.src.toLowerCase().indexOf('.png')>-1)
			{
				// Applicazione del fix
				elem.runtimeStyle.backgroundImage = "none";
				elem.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + elem.src + "', sizingMethod='image')";
				elem.src = "http://www.pixart.it/img/pixel.gif";
			}
			// Se l'oggetto in questione ha un'immagine come background
			else
			{
				// Applicazione del fix
				// Ricava la posizione corrente dello sfondo
				backPosX = elem.currentStyle.backgroundPositionX;
        		backPosY = elem.currentStyle.backgroundPositionY;
        		elem.origBg = elem.origBg? elem.origBg : elem.currentStyle.backgroundImage.toString().replace('url("','').replace('")','');
        		// Crea un nuovo elemento immagine
        		var img_code = '<IMG src="'+elem.origBg+'" class="pngFix">';
        		// Aggiunge lo stile necessario all'immagine
        		$(this).css('background-color','transparent');
        		$(this).css('position','relative');
        		$(this).css('overflow','hidden');
        		// Aumenta lo z-index degli elementi contenuti in modo che vadano sopra l'immagine
        		$(this).children().each(function(){
        			$(this).css('background-color','transparent');
        			$(this).css('z-index',($(this).parent().css('z-index') + 1));
        		});
        		// Aggiunge l'immagine al DOM
        		$(this).prepend(img_code);
        		elem.runtimeStyle.backgroundImage = "none";
        		// Sposta l'immagine in base alla posizione originaria del background
        		if($(this).width() < elem.currentStyle.width) $(this).css('width',elem.currentStyle.width);
        		if($(this).height() < elem.currentStyle.height) $(this).css('height',elem.currentStyle.height);
        		// Imposta l'immagine in modo che faccia da sfondo
        		var img = $(this).find('img:first');
        		img.css('position','absolute');
        		img.css('display','block');
        		if(parseInt(backPosX)){
        			img.css('left',backPosX);
        		}
        		else{
        			if(backPosX=='left') img.css('left',0);
        			if(backPosX=='center') img.css('left','50%');
        			if(backPosX=='right') img.css('right',0);
        		}
        		if(parseInt(backPosY)){
        			img.css('top',backPosY);
        		}
        		else{
        			if(backPosY=='top') img.css('top',0);
        			if(backPosX=='center') img.css('top','50%');
        			if(backPosY=='bottom') img.css('bottom',0);
        		}
        		// Imposta lo z-index dell'immagine in modo che sia meno importante
        		img.css('z-index','-1');
			}
		}
		this.pngSet=true;
	}
};

/****************************************************/