defaultPxInEm = 14;
pxInEm = defaultPxInEm;
isIe = false;

function init() {

	pxInEm = getPxInEm();
	
	if (Prototype.Browser.IE)
		isIe = true;
		
	setAutoHeight('autoHeight');
	setAutoWidth('autoWidth');
    
//	updateImagesSize();   
//	updateObjectsSize();   
      
	/*if (isIe) {	
		updatePngImages('update');
	}*/

};

function getPxInEm()
{
    var pxInEm = 0;
    var div = document.createElement("div");     
    div.style.width = "1em";
    div.style.height = "1em";     
    document.body.appendChild(div);
    pxInEm = div.offsetWidth;
    document.body.removeChild(div);
    
    return pxInEm;
};

function setAutoHeight(attribut) {

    var elements = document.getElementsByClassName(attribut);

    for (var elementIndex = 0; elementIndex < elements.length; elementIndex++) {

        var element = elements[elementIndex];
        
        if (element.offsetHeight != 0) {			        
			element.style.height = (1.0 * element.offsetHeight / pxInEm) + 'em';    									
        }
        else {			
			element.style.height = (1.0 * element.parentNode.offsetHeight / pxInEm) + 'em';    
        }
    }
};

function setAutoWidth(attribut) {
    
    var elements = document.getElementsByClassName(attribut);

    for (var elementIndex = 0; elementIndex < elements.length; elementIndex++) {

        var element = elements[elementIndex];
        
        if (element.offsetWidth != 0) {        
			element.style.width = (1.0 * element.offsetWidth / pxInEm) + 'em';    
		}
		else {			
			element.style.width = (1.0 * element.parentNode.offsetWidth / pxInEm) + 'em';    
		}
			
    }
};

function updatePngImages() {       
     
	var blankSrc = '/themes/main/images/pixel.gif';
	var elements = document.body.getElementsByTagName('*');
    for ( var elementIndex = elements.length - 1; elementIndex >= 0 ; elementIndex-- ) {
		
		var element = elements[ elementIndex ];
		if ( ! /(^|\s)noUpdatePngAttribute($|\s)/i.test( element.className ) ) {

			var isElementNeedFilter = false;
			var elementFilterImageSrc = '';
			
			if ( ( element.tagName == 'IMG' ) && /\.png$/i.test( element.src ) ) {
				isElementNeedFilter = true;
				elementFilterImageSrc = element.src;
				element.src = blankSrc;      
			}
			
			var elementBackgroundImage = getStyle( element, 'backgroundImage' ).replace( /^url\((['"])|['"]\)$/gi, '' );
			if ( /\.png/.test( elementBackgroundImage.toLowerCase() ) ) {
				isElementNeedFilter = true;
				elementFilterImageSrc = elementBackgroundImage;
				element.style.backgroundImage = 'none';
			}
			
			if ( isElementNeedFilter ) {
				var isElementFilterNeedSizing = ! /(^|\s)noScalePngAttribute($|\s)/i.test( element.className );
				var elementFilterSizingMethod = 'scale';
				element.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + elementFilterImageSrc + '"' + ( isElementFilterNeedSizing ? ', sizingMethod="' + elementFilterSizingMethod + '")' : '');
			}
		}
	}
}

function updateImagesSize() {     
     
     var images = document.getElementsByTagName("img");
     
    for ( var imageIndex = images.length - 1; imageIndex >= 0 ; imageIndex-- ) {
        var image = images[imageIndex];       
        imageWidth = image.offsetWidth;
        imageHeight = image.offsetHeight;
        image.style.width = (1.0 * imageWidth / defaultPxInEm) + 'em';        
        image.style.height = (1.0 * imageHeight / defaultPxInEm) + 'em';
        image.width = '';
        image.height = '';
     }          
}

function updateObjectsSize() {     
     
    var objects = document.getElementsByTagName("object");
     
    for ( var objectIndex = objects.length - 1; objectIndex >= 0 ; objectIndex-- ) {
        var object = objects[objectIndex];       
        objectWidth = object.offsetWidth;
        objectHeight = object.offsetHeight;
        object.style.width = (1.0 * objectWidth / defaultPxInEm) + 'em';        
        object.style.height = (1.0 * objectHeight / defaultPxInEm) + 'em';
        object.width = '';
        object.height = '';
     }          
}
