﻿// JScript File
function showThumb(hyperlink, id)
{
    // see if it already exists
    
    var thumb = document.getElementById(id);
    if(thumb != null)
    {
        thumb.style.display = "";
        return;
    }   
    
    thumb = document.createElement("div");
    
    thumb.className = "thumbnail";
    thumb.id = id;

    document.getElementsByTagName("body")[0].appendChild(thumb);

    var img = document.createElement("img");
    
    img.className = "image";
    
    var xy = YAHOO.util.Dom.getXY(hyperlink);

    var x = xy[0] + 20;
    var y = xy[1] + 20;
    
    if(BrowserDetect.browser == 'Explorer')
    {
        thumb.style.zIndex          =   99999;
        thumb.style.position        =   "absolute";
        thumb.style.left            =   x + "px";
        thumb.style.top             =   y + "px";
        thumb.style.width           =   "148px";
        thumb.style.height          =   "116px";
        thumb.style.paddingTop      =   0;
        thumb.style.paddingLeft     =   0;
        thumb.style.paddingBottom   =   0;
        thumb.style.paddingRight    =   0;
        thumb.style.marginTop       =   0;
        thumb.style.marginLeft      =   0;
        thumb.style.marginBottom    =   0;
        thumb.style.marginRight     =   0;
        thumb.style.backgroundImage =   "url(" + thumbnailGetFrameUrl() + ")";
        thumb.style.backgroundRepeat=   "no-repeat";
        thumb.style.textAlign       =   "left";
        
        img.src                   =   "/BusinessDecision.HyperThumbnail/BusinessDecision.HyperThumbnail.dll/BusinessDecision.HyperThumbnail.Web.SiteThumb.aspx?url=" + hyperlink.href;
        img.style.paddingTop      =   0;
        img.style.paddingLeft     =   0;
        img.style.paddingBottom   =   0;
        img.style.paddingRight    =   0;
        img.style.marginTop       =   10;
        img.style.marginLeft      =   10;
        img.style.marginBottom    =   0;
        img.style.marginRight     =   0;
        img.style.width           =   "128px";
        img.style.height          =   "96px";
        img.alt                   =   "Thumbnail image of " + hyperlink.href
    }
    else
    {
        thumb.setAttribute("style", "z-index: 99999; position: absolute; top: " + y + "px; left: " + x + "px; width: 148px; height: 116px; padding: 0px; margin: 0px; background: url(" + thumbnailGetFrameUrl() + ") no-repeat; text-align: left;");

        img.setAttribute("style", "width: 128px; height: 96px; padding: 0px; margin: 10px 0px 0px 10px;");
        img.setAttribute("alt", "Thumbnail image of " + hyperlink.href);
        img.setAttribute("src", "/BusinessDecision.HyperThumbnail/BusinessDecision.HyperThumbnail.dll/BusinessDecision.HyperThumbnail.Web.SiteThumb.aspx?url=" + hyperlink.href);
    }

    thumb.appendChild(img);
}

function hideThumb(id)
{
    var thumb = document.getElementById(id);
    
    thumb.style.display = "none";
}

function getCoords(obj)
{
    var x = 0;
    var y = 0;
    
    if(obj.offsetParent)
    {
        x = obj.offsetLeft;
        y = obj.offsetTop;
    
        while(obj = obj.offsetParent)
        {
            x += obj.offsetLeft;
            y += obj.offsetTop;
        }
    }
    
    return [x,y];
}

// brower detection credit to: http://www.quirksmode.org/js/detect.html
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: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			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();
