/*
	Lightbox JS: Fullsize Image Overlays 
	by Lokesh Dhakar - http://www.huddletogether.com

	For more information on this script, visit:
	http://huddletogether.com/projects/lightbox/
	
	Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/
	(basically, do anything you want, just leave my name and link)
	
	Chopped up by Mpire

*/

function __wb__getPageScroll__(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	return ['', yScroll];
}

function __wb__getPageSize__(){
	
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	return [pageWidth,pageHeight,windowWidth,windowHeight];
}	


function __wb__showLightBoxElements(w, h) {
    // prep objects
	var objOverlay = document.getElementById('overlay');
	var objLightbox = document.getElementById('lightbox');

	var arrayPageSize = __wb__getPageSize__();
	var arrayPageScroll = __wb__getPageScroll__();

	// set height of Overlay to take up whole page and show
	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';
	
	var lightboxTop = arrayPageScroll[1] + ((arrayPageSize[3]) / 2) - (h / 2);
	var lightboxLeft = ((arrayPageSize[0]) / 2) - (w / 2);
	
	objLightbox.style.top = (lightboxTop < 0) ? "0px" : lightboxTop + "px";
	objLightbox.style.left = (lightboxLeft < 0) ? "0px" : lightboxLeft + "px";

	// Hide select boxes as they will 'peek' through the image in IE
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
            selects[i].style.visibility = "hidden";
    }
    
    objLightbox.style.display = 'block';
    objLightbox.style.width = w+'px';
    objLightbox.style.height = h+'px';
}

function __wb__showLightbox__(qs, swf, w, h)
{
    __wb__showLightBoxElements(w, h);
    
    if (qs) swf += "?" + qs;
    new mpireWidget("http://images.widgetbucks.com/widgets/" + swf, "__widgetbucks_search__").write("lightbox");
}

function initYieldSense() {
    var samples = document.getElementById("samples");
    samples && (samples.style.visibility = "hidden");
    var logos = document.getElementById("logos");
    logos && (logos.style.visibility = "hidden");
    
    if (window.__yieldSenseElements__) {
        return;
    }
    var lightbox = document.getElementById("lightbox")
    var liner = document.createElement("div");
    liner.className = "ysLiner";
    var close = document.createElement("img");
    close.src = "/images/ysClose.png";
    
    close.onclick = __wb__hideLightbox__;
    liner.appendChild(close);
    
    var demoWrapper = document.createElement("div");    
    var demoHolder = document.createElement("div");
    demoHolder.id = "ysDemoHolder";
    demoWrapper.appendChild(demoHolder);
    liner.appendChild(demoWrapper);
    lightbox.appendChild(liner);
    __yieldSenseElements__ = true;
}

function showYieldSenseDemo() {
    __wb__showLightBoxElements(830, 595);
    initYieldSense();

    swfobject.embedSWF("http://images.widgetbucks.com/yieldsense/yieldsense.swf", "ysDemoHolder", "800", "555", "8.0.0", false,
    		// flashvars
    		false,
    		// params
    		{ "base": "http://images.widgetbucks.com/yieldsense/",
    		   "allowScriptAccess": "always" });
}

function showAdXposeDemo() {
    __wb__showLightBoxElements(730, 465);
    initYieldSense();

    swfobject.embedSWF("http://www.youtube.com/v/Ld2X2N34JW4&hl=en&fs=1", "ysDemoHolder", "700", "425", "8.0.0", false,
    		// flashvars
    		false,
    		// params
    		{ "allowFullScreen": "true",
    		   "allowscriptaccess": "always" });
}

function __wb__hideLightbox__()
{
	// get objects
	objOverlay = document.getElementById('overlay');
	objLightbox = document.getElementById('lightbox');

	// hide lightbox and overlay
	objOverlay.style.display = 'none';
	objLightbox.style.display = 'none';
	if (window.__yieldSenseElements__) {
	    var demoWrapper = document.getElementById("ysDemoHolder").parentNode;
	    demoWrapper.innerHTML = "";
	    var demoHolder = document.createElement("div");
	    demoHolder.id = "ysDemoHolder";
	    demoWrapper.appendChild(demoHolder);
	} else {
	    objLightbox.innerHTML = '';
	}
	// make select boxes visible
	selects = document.getElementsByTagName("select");
    for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}

function __wb__initLightbox__()
{
    if (!document.getElementById('overlay')) {
    	var objBody = document.getElementsByTagName("body").item(0);
	
    	// create overlay div and hardcode some functional styles (aesthetic styles are in CSS file)
    	var objOverlay = document.createElement("div");
    	objOverlay.setAttribute('id','overlay');
    	objOverlay.onclick = __wb__hideLightbox__;
    	var s = objOverlay.style;
    	s.display = 'none';
    	s.position = 'absolute';
    	s.top = '0';
    	s.left = '0';
    	s.zIndex = '90';
     	s.width = '100%';
     	s.backgroundImage = (location.protocol == "https:" ? "url(/images/overlay_lightbox.png)" : "url(http://images.widgetbucks.com/images/overlay.png)");
     	if (navigator.userAgent.indexOf("MSIE 6") != -1) {
     	    s.backgroundImage = 'none';
     	    s.filter = (location.protocol == "https:" ? 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="/images/overlay_lightbox.png", sizingMethod="scale")' : 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="http://images.widgetbucks.com/images/overlay.png", sizingMethod="scale")');
     	}
    	objBody.insertBefore(objOverlay, objBody.firstChild);

    	// create lightbox div, same note about styles as above
    	var objLightbox = document.createElement("div");
    	objLightbox.setAttribute('id','lightbox');
    	objLightbox.style.display = 'none';
    	objLightbox.style.position = 'absolute';
    	objLightbox.style.zIndex = '100';	
    	objBody.insertBefore(objLightbox, objOverlay.nextSibling);
    }
}

if (window.addEventListener) {
    window.addEventListener("load", __wb__initLightbox__, false);
} else {
    window.attachEvent("onload", __wb__initLightbox__);
}