/**
 *	STDLib
 *
 *
 *  @author Marcin Król
 */
LINK_TO_BLANK = './blank.html'; 
function addEvent( o, e, h ) { o.addEventListener ? o.addEventListener( e, h, false ) : o.attachEvent ? o.attachEvent( 'on' + e, h ) : o[ 'on' + e ] = h; };
function removeEvent( o, e, h ) { o.removeEventListener ? o.removeEventListener( e, h, false ) : o.detachEvent ? o.detachEvent( 'on' + e, h ) : o[ 'on' + e ] = null; };

	var isOpera = /opera/i.test(navigator.userAgent);
	var isIE = /msie/i.test(navigator.userAgent) && !isOpera;

    function getRefToEl(id) {
        if( document.getElementById ) { //DOM; IE5, NS6, Mozilla, Opera
            return document.getElementById(id); }
        if( document.layers ) { //Netscape layers
            return document.layers[id]; }
        if( document.all ) { //Proprietary DOM; IE4
            return document.all[id]; }
        if( document[id] ) { //Netscape alternative
            return document[id]; }
        return false;
    }

String.prototype.expand = function(char, num) {
	var leng = this.length;
	if (leng >= num) {
		return this;
	}
	var as = this.valueOf();
	while (num-- - leng > 0) {
		as = char + as;
	}
	
	return as;
}

STDLib = function() {
}
	
STDLib.addIframe = function(obj, shad) {
	if (typeof(obj.style.zIndex) == 'undefined') {
		obj.style.zIndex = 10;
	}
	var iframe = getRefToEl(obj.id + '_iframe');

	if (isIE && iframe == null) {
        iframe = document.createElement('iframe');
        iframe.id = obj.id+'_iframe';
        iframe.src = LINK_TO_BLANK;
        iframe.style.position = 'absolute';
        iframe.style.zIndex = obj.style.zIndex - 2;
		iframe.style.display = 'none';
		
		obj.parentNode.appendChild(iframe);
    }
	if (isIE) {
        iframe.style.zIndex = obj.style.zIndex - 2;
		iframe.style.display = obj.style.display;
		iframe.style.top = obj.offsetTop + 'px';
		iframe.style.left = obj.offsetLeft + 'px';
		iframe.style.width = obj.offsetWidth +'px';
		iframe.style.height = obj.offsetHeight +'px';
   	}
	if (shad) {
		STDLib.addShadow(obj);
	}
}

STDLib.addShadow = function(obj) {
	if (typeof(obj.style.zIndex) == 'undefined') {
		obj.style.zIndex = 10;
	}
	var shadow = getRefToEl(obj.id + '_Shadow');
	
	if (isIE && shadow == null) {
		 	shadow = document.createElement('div');
			shadow.id = obj.id+'_Shadow';
			shadow.className = '';
			shadow.setAttribute('class', '');
			shadow.style.display = 'none';
			shadow.style.position = 'absolute';
			shadow.style.zIndex = obj.style.zIndex - 1;
			shadow.style.backgroundColor = '#777';
			shadow.style.filter = 'progid:DXImageTransform.Microsoft.alpha(style=0,opacity=60) progid:DXImageTransform.Microsoft.Blur(pixelradius=2)';
			shadow.unselectable = 'on';
	  		
			shadow.style.height = obj.offsetHeight-6+'px';
			shadow.style.width = obj.offsetWidth-6+'px';
			
	  		obj.parentNode.appendChild(shadow);
    } else {
		if (shadow == null) {
		 	shadow = document.createElement('IMG');
			shadow.id = obj.id+'_Shadow';
			shadow.className = '';
			shadow.setAttribute('class', '');
			shadow.style.display = 'none';
			shadow.style.position = 'absolute';
			shadow.style.zIndex = obj.style.zIndex - 1;
			shadow.style.border = '0px none #C0C0C0';
			shadow.src = './img/shadow.png';
			shadow.unselectable = 'on';

			shadow.style.height = obj.offsetHeight-4+'px';
			shadow.style.width = obj.offsetWidth-4+'px';
			
	  		obj.parentNode.appendChild(shadow);
		}
    }
	shadow.style.top = obj.offsetTop+6+'px';
	shadow.style.left = obj.offsetLeft+6+'px';
	shadow.style.display = obj.style.display;
}

STDLib.removeIframe = function(obj) {
	try {
		var shd = getRefToEl(obj.id+'_Shadow');
		if (shd != null) {
			obj.parentNode.removeChild(getRefToEl(obj.id+'_Shadow'));
		}
		obj.parentNode.removeChild(getRefToEl(obj.id+'_iframe'));
	} catch(err) {
	}
}
