﻿var scrollPoller; 


function Qget(what) {
    return document.getElementById(what);
} 



function opacity(id, opacStart, opacEnd, millisec, hideAtFinish) {
    var speed = Math.round(millisec / 100);
    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++;
        }
    }
   
   if (hideAtFinish) 
		setTimeout("document.body.removeChild(Qget('" + id + "'));", (timer * speed));
}

function changeOpac(opacity, id) {
    var object = Qget(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

function displayBlocker(){
	var blocker = Qget("divSPF1000");
	var w = document.body.clientWidth;
	var h = Qget("divMain").clientHeight;

	if (blocker == null)
	{
		blocker = document.createElement("div");
		blocker.id = "divSPF1000";
		blocker.className = "darkenBackground";
		blocker.innerHTML = "&nbsp;";
		document.body.appendChild (blocker);
	}

	blocker.style.width = w + "px";
	blocker.style.height = h + "px";

	blocker.style.display = "";
	changeOpac(70, "divSPF1000");

								//ffox														ie
//	(window.addEventListener) ? window.addEventListener('resize', displayBlocker, false) : window.attachEvent("onresize",displayBlocker);

}

function hideBlocker() {
	if (Qget("divSPF1000") != null)
		opacity('divSPF1000', 70, 0, 0, true);
								//ffox														ie
//	(window.removeEventListener) ? window.removeEventListener('resize', displayBlocker, false) : window.detachEvent("onresize",displayBlocker);
}

function hideFrame(frameID) {
    
	if (Qget(frameID) != null) {
//	    alert('removing');
	    document.body.removeChild(Qget(frameID));
//	   alert('removed'); 
    }
		//opacity(frameID, 100, 0, 0, true);

//alert('hiding blocker');
	hideBlocker();
	//alert('blocker hid.');
	if (scrollPoller) { 
	    clearInterval(scrollPoller);
//	    alert('poller cleared');
	 }
//	else
//	alert('poller not cleared.');   
	
}

var lastX, lastY, lastWidth, lastHeight;

function showPopupFrame(frameName, src, width, height){

	var framer = Qget(frameName);
	var lefty = (document.body.clientWidth - width)/ 2;
	var toppy = (Qget("divMain").clientHeight - height)/ 2;
	if (lefty < 0) lefty = 0;
	if (toppy < 0) toppy = 0;
	
	displayBlocker();

	if (framer == null)
	{
		var div1 = document.createElement("div");

		div1.className = "msgHighPriority";
		div1.style.position = "absolute";
		div1.style.width = (width + 28) + "px";
		div1.style.height = (height + 35) + "px";
		div1.style.left= (lefty - 10) + "px";	
		div1.style.top= (toppy - 10) + "px";
		div1.id = frameName;

		var div2 = document.createElement("div");
		div2.style.backgroundPosition = "top left";
		div2.style.backgroundImage = "url('imgs/popup-border.png')";
		div2.style.backgroundRepeat = "no-repeat";
		div2.style.width = (width - 50) + "px";
		div2.style.height = "20px";
		div2.style.position = "absolute";
		div2.style.top = "0px";
		div2.style.left="0px";

		var div3 = document.createElement("div");
		div3.style.backgroundPosition = "top right";
		div3.style.backgroundImage = "url('imgs/popup-border.png')";
		div3.style.backgroundRepeat = "no-repeat";
		div3.style.width = width + "px";
		div3.style.height = "20px";
		div3.style.position = "absolute";
		div3.style.top = "0px";
		div3.style.right = "0px";
		
		var div4 = document.createElement("div");
		div4.style.backgroundPosition = "bottom left";
		div4.style.backgroundImage = "url('imgs/popup-border.png')";
		div4.style.backgroundRepeat = "no-repeat";
		div4.style.width = (width - 50) + "px";
		div4.style.height = "15px";
		div4.style.position = "absolute";
		div4.style.top = (height + 10) + "px";

		var div5 = document.createElement("div");
		div5.style.backgroundPosition = "bottom right";
		div5.style.backgroundImage = "url('imgs/popup-border.png')";
		div5.style.backgroundRepeat = "no-repeat";
		div5.style.width = (width - 50) + "px";
		div5.style.height = "15px";
		div5.style.position = "absolute";
		div5.style.top = (height + 10) + "px";
		div5.style.right = "0%";

		var div6 = document.createElement("div");
		div6.style.height = (height + 3) + "px";
		div6.style.backgroundImage = "url('imgs/popup-border.png')";
		div6.style.backgroundPositionY = "-10px";
		div6.style.backgroundPosition = "center left";
		div6.style.backgroundRepeat = "no-repeat";
		div6.style.width = (width + 28) + "px";
		div6.style.position = "absolute";
		div6.style.top = "15px";

        //the inner:
		framer = document.createElement("iframe");

		framer.style.width = width + "px";
		framer.style.height = height + "px";
		framer.style.position = "absolute";
		framer.style.left="14px";	
		framer.style.top="15px";
		framer.style.borderStyle="none";
			   framer.src =  'includes/blank.htm';
		
        var but = document.createElement("div");
        but.style.width="20px";
		but.style.height="20px";
		but.style.position = "absolute";
		but.style.top = "0px";
		but.style.right = "0px";
		//but.style.border = "solid white thin";
		but.setAttribute("kittens", frameName);

		if(window.addEventListener)
			but.addEventListener('click', smartCloser, false);
		else
			but.attachEvent('onclick', smartCloser);

		div1.appendChild(div2);
		div1.appendChild(div3);
		div1.appendChild(but);
		div1.appendChild(div4);
		div1.appendChild(div5);
		div1.appendChild(div6);
		div1.appendChild(framer);
		document.body.appendChild (div1);
	}
	    
	changeOpac(100, frameName);
	framer.src = src;
	scrollPoller = setInterval("poll('" + frameName + "')", 500);
    lastY=0;
    poll(frameName);
 
}

function smartCloser(evt){
	var eTrigger;
	var ie_var = "srcElement";
	var moz_var = "target";
	evt[moz_var] ? eTrigger = evt[moz_var] : eTrigger = evt[ie_var];
	hideFrame(eTrigger.getAttribute("kittens"));
}

function poll(FrameName){
	var currentX, currentY;
	var lefty;
	var toppy;
	var framer;
	var blocker;
	var w = document.body.clientWidth;
	var h = Qget("divMain").clientHeight;
	
	if (window.pageYOffset){
	    //ff
		currentY=window.pageYOffset;
		currentX=window.pageXOffset;
	}
	else {
	    //ie
		currentY=document.documentElement.scrollTop;
		currentX=document.documentElement.scrollLeft;
	}

	if (lastX!=currentX || lastY!=currentY || lastWidth!=w || lastHeight!=h){
		

		framer = Qget(FrameName);
		blocker = Qget("divSPF1000");

		framer.style.left =  ( (w - parseInt(framer.style.width.replace('px','')) )/ 2 + currentX ) + 'px';
		framer.style.top =  ( (h -  parseInt(framer.style.height.replace('px','')) )/ 2 + currentY ) + 'px'

		if (lastWidth!=w || lastHeight!=h) {
			blocker.style.width = w + 'px' ;
			//blocker.style.height = h + 'px' ;
		}
		blocker.style.left = currentX + 'px';
		blocker.style.top = currentY + 'px';
		
		lastX=currentX;
		lastY=currentY;
		lastWidth=w;
		lastHeight=h;
	}
}
