	
function open_new_hib(iff,view,unused,hcat,params) {
	oHIBv3(iff,view,unused,hcat,params);
}

function oHIBv3_process_hibConfig(){
	if (typeof(hibConfig)!='object') {
		hibConfig={};
	}
	if (typeof(hibConfig.width)=='undefined') hibConfig.width=630;
	if (typeof(hibConfig.height)=='undefined') hibConfig.height=620;
}

	
function oHIBv3(iff,view,unused,hcat,params) {

	oHIBv3_process_hibConfig();
	
	var addparams=''
	for (n in params){
		addparams+='&'+n+'='+params[n];
	}

	var infowin = window.open(hib_url+'/content_page_premium_v3/index.php?kid='+KID+'&view='+view+'&iff='+iff+'&hcat='+hcat+addparams,iff,"width="+hibConfig.width+",height="+hibConfig.height+",scrollbars=no,menubar=no, toolbar=no, location=no, resizable=no, status=no");
	infowin.focus();
}

function oHIBv3onPage(iff,view,unused,hcat,params) {

	oHIBv3_process_hibConfig();

	var html=document.getElementsByTagName('html')[0];
	var body=document.getElementsByTagName('body')[0];
	
	var widthBefore=html.clientWidth;
//	html.style.overflow='hidden';
	var widthAfter=html.clientWidth;
	html.style.paddingRight = widthAfter-widthBefore+'px';

	var div=document.createElement('div');
	with (div) {
		style.width=html.scrollWidth+'px';
		style.height=html.scrollHeight+'px';
		id='full_screen_opacity';
		className='hib_outer_space';
	}	
	body.appendChild(div);

	var div2=document.createElement('div');
	div2.className='over_page_hib';
	div2.id='over_page_hib';
	body.appendChild(div2);

	scroll(0,0);

	var iframe=document.createElement('iframe');
	iframe.id='hib_content';
	iframe.frameBorder=0;
	div2.appendChild(iframe);

	changeOpac(0,'full_screen_opacity');

	oHIBv3onPageResize();

	opacity('full_screen_opacity',0, 80, 1000);

	// set up autoresize 
	window.onresize=oHIBv3onPageResize;

	// prepare url marameters
	var addparams=''
	for (n in params){
		addparams+='&'+n+'='+params[n];
	}

	// load content into iframe
	iframe.src=hib_url+'/content_page_premium_v3/index.php?kid='+KID+'&view='+view+'&iff='+iff+'&hcat='+hcat+addparams;
}

var oldScreenHeight;

function iframeClose(){
	with (window.parent.document){
		var h = getElementsByTagName('html')[0];
		var d = getElementById('full_screen_opacity');
		var d2 = getElementById('over_page_hib');
	}
	d.parentNode.removeChild(d);
	h.style.overflow='auto';
	h.style.height = oldScreenHeight + 'px';
	d2.parentNode.removeChild(d2);
}

function getIframeDocument(id){
var iframeEl = document.getElementById(id);
	if ( iframeEl.contentDocument ) { // DOM
		return iframeEl.contentDocument;
	} else if ( iframeEl.contentWindow ) { // IE win
		return iframeEl.contentWindow.document;
	}
}

function lightboxResize(x){
	// function resizes iframe after loading its content
	var hibBody = getIframeDocument('hib_content').getElementsByTagName('html')[0];
	var h1 = hibBody.scrollHeight;
	oldScreenHeight = document.getElementsByTagName('html')[0].scrollHeight;
	if ( oldScreenHeight < h1 + 200) {
		document.getElementsByTagName('html')[0].style.height = h1 + 200 + 'px';
	}
	document.getElementById('hib_content').style.height = h1 + 'px';	
	oHIBv3onPageResize()
}

function oHIBv3onPageResize(){
	var html=document.getElementsByTagName('html')[0];
	var d=document.getElementById('full_screen_opacity');
	var d2=document.getElementById('over_page_hib');
	if (d){
		d.style.width=html.scrollWidth+'px';
		d.style.height=html.scrollHeight+'px';
	}
	if (d2)	{
		d2.style.left=(html.clientWidth-d2.clientWidth)/2+'px';
		d2.style.top='100px';
	}
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 50);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var ob=document.getElementById(id);
	if (ob){
		ob.style.opacity = (opacity / 100);
		ob.style.MozOpacity = (opacity / 100);
		ob.style.KhtmlOpacity = (opacity / 100);
		ob.style.filter = "alpha(opacity=" + opacity + ")";
	}
} 