// JScript File
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();



function resizeIframe(iframeID, defaultScriptPath, callingScriptName, callingQueryString, minHeight) 
{ 
	var internetExplorerMac = false;
	var internetExplorer = false;
	var parentFrame = null;

    if(self==parent) 
    { 
        window.location = defaultScriptPath + "?scriptName=" + callingScriptName + "&queryString=" + callingQueryString;
        window.name = "";
        return false; /* Checks that page is in iframe. */ 
    }

    if(document.getElementById && document.all) /* Sniffs for IE5+.*/ 
    {
       	parentFrame = parent.document.all[iframeID];
		internetExplorer = true;

		if (navigator.appVersion.indexOf("Mac") != -1)
		{
			internetExplorerMac = true;
		}
		else
		{
			internetExplorerMac = false;
		}
	}
	else
	{
		parentFrame = parent.document.getElementById(iframeID);
		internetExplorerMac = false;
	}

	if (internetExplorer)
	{
		resizeIframe2(iframeID, defaultScriptPath, callingScriptName, callingQueryString, internetExplorer, internetExplorerMac, parentFrame, minHeight)
	}
	else
	{
    	parentFrame.style.height = 1 + "px";

		interval = setInterval(resizeIframe2, 1, iframeID, defaultScriptPath, callingScriptName, callingQueryString, internetExplorer, internetExplorerMac, parentFrame, minHeight);
	}
}

function resizeIframe2(iframeID, defaultScriptPath, callingScriptName, callingQueryString, calledDirectly, internetExplorerMac, parentFrame, minHeight) 
{ 
	if (!calledDirectly)
	{
		clearInterval(interval);
	}
    /* "iframeID" is the ID of the inline frame in the parent page. */ 
    //var heightOffset = 0;

    if (parentFrame)
    {
		// hack for firefox, so that the scrollheight read by the
		// line after reads the correct value
        parentFrame.style.height = 1 + "px";
		//parentFrame.style.height = "auto";

        var newHeight1 = this.document.body.scrollHeight;
        var newHeight2 = this.document.documentElement.offsetHeight;
        
        if (newHeight1 < minHeight)
        {
            newHeight1 = minHeight;
        }
        if (newHeight2 < minHeight)
        {
            newHeight2 = minHeight;
        }
        
        /*alert(this.document.body.clientHeight + " " + 
        	  this.document.body.offsetHeight + " " +
        	  this.document.body.scrollHeight + " " +
        	  this.document.documentElement.clientHeight + " " +
        	  this.document.documentElement.offsetHeight + " " +
        	  this.document.documentElement.scrollHeight);*/

        if (internetExplorerMac == true ||
        	navigator.appName == "Opera")
        {  
        	parentFrame.style.height=newHeight2 + "px";
		}
		else
		{
        	parentFrame.style.height=newHeight1 + "px";
		}
    }
} 

