﻿/*String Functions*/
/*********************************************************/
// Removes leading whitespaces
function LTrim( value ) {
	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
	
}

// Removes ending whitespaces
function RTrim( value ) {
	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
	
}

// Removes leading and ending whitespaces
function trim( value ) {
	
	return LTrim(RTrim(value));
	
}

function getPosition(oObject)
{
    if (oObject)
    {
        var oParentPosition = getPosition(oObject.offsetParent);
        return [oObject.offsetLeft + oParentPosition[0],
                oObject.offsetTop + oParentPosition[1]];
    }
    else
        return [0,0];
}

function adjustShadow(placer)
{
    if (placer._shadow)
    {
        var se = placer._shadow;
        var y = placer.offsetTop;
        var x = placer.offsetLeft;
        var h = placer.offsetHeight;
        var w = placer.offsetWidth;

        se.style.top = y + "px";
        se.style.left = (x-3) + "px";        
        se._northwest.style.height = h + "px";
        se._northeast.style.left = (w+3) + "px";
        se._northeast.style.height = h + "px";
        se._southwest.style.top = h + "px";
        se._southwest.style.width = w + "px";
        se._southeast.style.left = w + "px";
        se._southeast.style.top = h + "px";
        se.style.visibility = "visible";
    }
}

/*-------------------------------Browser Detection------------------------------------*/

var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;
var lbContent;
var lbOverlay;
var isVista = false;
/*-----------------------------------------------------------------------------------------------*/

//Browser detect script origionally created by Peter Paul Koch at http://www.quirksmode.org/

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.userAgent,
		    subString: "iPhone",
		    identity: "iPhone/iPod"
		},
		{
		    string: navigator.platform,
		    subString: "Linux",
		    identity: "Linux"
		}
	]

};



function getBrowserInfo() {

    BrowserDetect.init();
    browser = BrowserDetect.browser;
    version = BrowserDetect.version;
    OS = BrowserDetect.OS;

    //alert(OS + '-' + browser + '-' + version);

    if (detect.indexOf('windows NT 6.0') > -1) {
        isVista = true;
    }

}

function checkIt(string) {
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

function getPscContainer()
{
	return document.getElementById("pscContainer");
}

function getPscOverlay()
{
	return document.getElementById("overlay");
}

function getPscLoadingPage()
{
	return document.getElementById("loadingPageAvailabilityWaitMessage");
}

function getPscLoadingDiv()
{
	return document.getElementById("loadingDivAvailabilityWaitMessage");
}

function getPscPlacer()
{
	return document.getElementById("pscPlacer");
}

function getPscContainerById()
{
	return document.getElementById("pscContainer");
}

function registerPscWindowEvents(oFuncOnResize)
{
	window.onresize = oFuncOnResize;
	window.onscroll = oFuncOnResize;
}
