function showOverlay(url, offset) {
    overlayOffset = offset;
    layoutAds();
    var adDiv = document.getElementById('overlaydiv');
    var ad_width = parseInt(adDiv.style.width); // removes the "px" at the end
    if (adDiv != null) {
        //adDiv.style.display = "";	//	Now handled by scriptaculous fade in
        adDiv.innerHTML = "<iframe id='overlayiframe' width='" + adDiv.style.width + "' height='" + adDiv.style.height + "' scrolling='no' frameborder='0' allowtransparency='true' leftmargin='0' topmargin='0' marginwidth='0' marginheight='0' onload='overlayLoaded()' src='" + url + "'></iframe>" +
                          "<div class='over' style='position:absolute;z-index:3;left:" + (ad_width-20) + "px;top:0px;' width='20px' height='40px' onclick='hideOverlay()'><img id='closeImage' src='/images/ads/overlay_close.jpg' /></div>";
    }
}

/*
function getIframe(currentElement) {
	if (currentElement) {
		var j;
		var tagName=currentElement.tagName;
		if (tagName && tagName.toLowerCase() == "IFRAME".toLowerCase()) {
			currentElement.allowTransparency = "true";
		}

		// Traverse the tree
		var i=0;
		var currentElementChild=currentElement.childNodes[i];
		while (currentElementChild) {
		      // Recursively traverse the tree structure of the child node
		      getIframe(currentElementChild);
		      i++;
		      currentElementChild=currentElement.childNodes[i];
			}
	}
}
*/

function getObject(currentElement) {
	var ret = '';
	var movie = '';
	var flashvars = '';
	var bTraverse = true;
	if (currentElement) {
		var tagName=currentElement.tagName;
		if (tagName && tagName.toLowerCase() == "OBJECT".toLowerCase()) {
			bTraverse = false;
			//alert(currentElement.innerHTML);
			if (currentElement.data.length > 0) {
				movie = currentElement.data; 
			}
			//	Loop through the params
			var j=0;
			var currentElementChild=currentElement.childNodes[j];
			while (currentElementChild) {
				var tagName=currentElementChild.tagName;
				if (tagName && tagName.toLowerCase() == "PARAM".toLowerCase()) {
					var eman = currentElementChild.name;
					if (eman && eman.toLowerCase() == "flashvars".toLowerCase())
						flashvars = currentElementChild.value;
					else if (eman && eman.toLowerCase() == "movie".toLowerCase())
						movie = currentElementChild.value;
				}
				j++;
				currentElementChild=currentElement.childNodes[j];
			}
		}
		
		// Traverse the tree
		var i=0;
		var currentElementChild=currentElement.childNodes[i];
		while (currentElementChild && bTraverse) {
		      // Recursively traverse the tree structure of the child node
		      ret = ret + getObject(currentElementChild);
		      i++;
		      currentElementChild=currentElement.childNodes[i];
		}
	}
	
	if (movie.length > 0 && flashvars.length > 0)
		ret = ret + movie + '?' + flashvars;
	
	return ret;
}

function overlayLoaded() {
	//	Set the iframe background for any embedded iframes (for IE 6)
	/*
	if ((BrowserDetect.browser=="Explorer") && (BrowserDetect.version<=6)) {	
		var frame = document.getElementById('overlayiframe');
		if (frame && frame.contentWindow.frames.length > 0)
			getIframe(frame.contentWindow.document.body);
			
		var image = document.getElementById('closeImage');
		if (image) {
			image.src = "http://www.drivertv.com/images/ads/overlay_close.jpg";
		}
	}
	*/

    //	Get the swf object from the overlay
    /*
    var obj = getObject(document.getElementById('overlayiframe').contentWindow.document.body);
	getSwf(swfId).getOverlayFromJS(obj);
	*/

    var adDiv = document.getElementById('overlaydiv');
    if (adDiv != null) {
        Effect.Appear('overlaydiv', { duration: 0.5 });
    }
}

function afterHideOverlay() {
    //console.log('afterHideOverlay');
    var adDiv = document.getElementById('overlaydiv');
    if (adDiv != null) {
    	adDiv.innerHTML = "";
    }
}

function hideOverlay() {
    var adDiv = document.getElementById('overlaydiv');
    if (adDiv != null) {
        Effect.Fade('overlaydiv', { duration: 0.5, afterFinish: afterHideOverlay });
    }
}

function stopOverlay() {
    var adDiv = document.getElementById('overlaydiv');
    if (adDiv != null) {
        adDiv.style.display = "none";
        adDiv.innerHTML = "";
    }
	
}

/*
function pauseVideo() {
	getSwf(swfId).pauseVideoFromJS();	
}
*/
/*
function getPos(inputElement) {
    var coords =  new Object();
    coords.x = 0;
    coords.y = 0;
    try {
        targetElement = inputElement;
        if(targetElement.x && targetElement.y) {
            coords.x = targetElement.x;
            coords.y = targetElement.y;
        } else {
            if(targetElement.offsetParent) {
                coords.x += targetElement.offsetLeft;
                coords.y += targetElement.offsetTop;
                while(targetElement = targetElement.offsetParent) {
                    coords.x += targetElement.offsetLeft;
                    coords.y += targetElement.offsetTop;
                }
            } else {
                //alert("Could not find any reference for coordinate positioning.");
            }
        }
        return coords;
    } catch(error) {
        //alert(error.msg);
        return coords;
    }
}
*/
//	Used to detect the version of the browser, necessary for overlays in IE 6
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();
