/*
	BugFixPngs Script by Roland Eigelsreiter 2008
	
	Beschreibung:
	Dieses kleine JavaScript verleiht eurer Webseite die Fähigkeit TRANSPARENTE PNG Grafiken
	auch auf dem Internet Explorer 5 und 6 korrekt darzustellen!
	Alles was ihr dazu tun müsst ist dieses Script einbinden und einen "onload=''" Tag in eurem HTML
	hinzuzufügen! (Weiter unten dann Code Examples)
	
	Mit diesem Script werden ALLE <img> Tags gefiltert!
	
	Damit das Script korrekt läuft müsst ihr immer darauf achten das korrekte Höhen und Breitenangaben im 
	<img>-vorhanden sind! Ohne diese height="" und width="" Tags werdet ihr im Internet Explorer kein Bild sehen!
	Ggf. mit px Angaben arbeiten: <img src="myimg.png" alt="" height="100px" width="100px"/>
	
	Auf mehr ist auch schon nicht mehr zu achten! Die Bilder können relativ oder absolut verlinkt werden, eben
	so wie du es immer machst!
	
	Funktionsweise:
	Also das Script funktioniert im Prinzip recht simpel und nutzt einen von Microsoft nachträglich inkludierten
	CSS Filter für transparente Png Grafiken, sozusagen als Notlösung - Erst ab Iexplorer 7 ist es "AlphaPng" Support eingebaut!
	Dieses Script schaut zuerst nach ob der User den Internet Explorer 5 oder 6 benutzt (Wo anders tritt der Bug nicht auf
	und ältere Versionen als der Iexplorer 5 sind fast nicht mehr im Einsatz bzw. schon ausgestorben)!
	Wenn ja dann werden alle Images zuerst durch ein transparentes Gif ersetzt (muss so sein den sonst 
	würde das hier nicht funktionieren)!
	Dannach wird der CSS Filter "AlphaImageLoader" eingefügt, und ab sofort sind die PNGs auch transparent!
	
	WAS GEHT NICHT?
	Also nur eine Sache die mir bis jetzt aufgefallen ist! CSS Filter Eigenschaften gehen mit diesem Script verloren!
	Also NUR Sachen wie 'style="filter:alpha(opacity=80);"' usw... Aber FILTER Eigenschaften sind sowieso nicht
	CSS Standard und werden nur vom Internet Explorer unterstützt!
	
	Einbindung:
	1. JavaScript im Head Bereich einbinden!
	<script type="text/javascript" src="BugFixPngs.js"></script>
	
	2. Den <body> Tag wie folgt erweitern!
	<body onload="BugFixPngs();">
	
	3. Fertig!
	
	<img>-Tag Beispiel - WICHTIG - height und width Angaben machen - Entweder im HTML oder per Style
	<img src="test.png" alt="" height="100px" width="100px"/>
		oder
	<img src="test.png" alt="" style="height:100px; width:100px;"/>
	
	--Getested mit Iexplorer 5,6,7, Mozilla Firefox 2,3, Netscape, Opera, Safari--
	
	COPYRIGHT BY ROLAND EIGELSREITER AKA DJ BRAINNRG!
	DAS COPYRIGHT UND DIE KOMMENTARE DÜRFEN NICHT ENTFERNT WERDEN!
	ERSTELLT AM 11. 07. 2008
		WWW.YOUMIX.IT
		WWW.YOUSHOOT.IN
		WWW.DJBRAINNRG.AT
		
	HAVE FUN WITH THIS AND LOOK AT MY HOMEPAGES! PEACE!
*/



function BugFixPngs(){
	var _bVer 			= navigator.appVersion;							//Browserversion	
	var _imgBlank 		= new Image();									
	_imgBlank.src		= _dPath+"/js/blank.gif";								
	var _imgCurr;
	var _imgExt;
	var _imgOSrc;	
	var _divCurr;
	var _divExt;
	var _divMatch;
	
	/*Check Browser*/
	if(_bVer.match(/MSIE 6|MSIE 5/)){		
	var _images 		= document.images.length;						//Anzahl der <img> Tags auslesen!
	var _divs	 		= document.all.tags("div").length;				//Anzahl der <div> Tags auslesen!
	
		/*Gehe Images durch*/		
		for(var i=0; i<_images; i++){			
			//Aktuelles Image laden
			_imgCurr = document.images[i];
			//Dateiendung
			_imgExt =_imgCurr.src.substr(_imgCurr.src.length-3).toLowerCase();			
			//falls Image ist .png / Groß - kleinschreibung der Endung egal
			if(_imgExt=="png"){				
				_imgOSrc =_imgCurr.src;				
				_imgCurr.src = _imgBlank.src;	
				_imgCurr.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+_imgOSrc+'\',sizingMethod=\'scale\')';	
				_imgCurr.style.height = _imgCurr.height;
				_imgCurr.style.width = _imgCurr.width;					
			}			
		}
		
		/*Für Div Hintergrundbilder, nur mit background-image: url(); möglich*/
		for(var i=0; i<_divs; i++){
			_divCurr = document.all.tags("div")[i];	
			if(_divCurr.style.height!="" && _divCurr.style.width!="" && _divCurr.style.backgroundImage!=""){
				_divMatch = _divCurr.style.backgroundImage.match(/url\((.*?)\)/);
				_divMatch[1] = _divMatch[1].replace (/\s+$/, '');
				_divExt = _divMatch[1].substr(_divMatch[1].length-3).toLowerCase();	

				if(_divExt=="png"){
					_divCurr.style.backgroundImage = "url("+_dPath+")";
					_divCurr.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+_divMatch[1]+'\',sizingMethod=\'scale\')';
				}else{
					//alert("KeinPng");
				}
				
			}			
		}
	}
}