// $Id: //depot/EveryScape/Stable/services/web/EveryScapePortal_Jalapeno/js/EveryScape/Utils.js#2 $
function EXISTS(v)
{
	return ((undefined !== v) && (null != v));
};


if (undefined === window.EveryScape)
{
	EveryScape = {};
}

EveryScape.WebUtils = (function()
{
	var _internal = function()
	{
	};

	_internal.prototype.openWeblink=function(url, target)
	{
		try
		{
			var weblinkWindow = window.open( url, target);
			if (weblinkWindow != null)
				weblinkWindow.focus();
		}
		catch (err)
		{	}
	};

	_internal.prototype.findSearchParameter=function(param)
	{
  	var v = location.search.substring(1).split("&");
    var n = v.length;
    while(n--)
    {
	    var p = v[n].split("=");
	    if (p.length > 1)
	    {
				if (p[0] === param)
				{
					return  p[1];
				}
			}
    }
    return null;
  };

	_internal.prototype.sendEmail=function(to, subject, body)
	{
    emailLink = "mailto:" + to;
    if (subject != null && subject != "")
      emailLink += "?subject=" + escape(subject);
    if (body != null && body != "")
      emailLink += "&body=" + escape(body);
    window.location.href = emailLink;
  };

	return new _internal();
})();


/**/

// $Id: //depot/EveryScape/Stable/services/web/EveryScapePortal_Jalapeno/js/EveryScape/Encoding.js#1 $
if (undefined === window.EveryScape)
{
	EveryScape = {};
}

EveryScape.Encoding = (function()
{
	var _internal = function()
	{
	};

	var _htmlTranslation1 = new Array();
	_htmlTranslation1['&'] = "&amp;";
	_htmlTranslation1['<'] = "&lt;";
	_htmlTranslation1['>'] = "&gt;";
	_htmlTranslation1['\"'] = "&quot;";
	_htmlTranslation1['\''] = "&apos;";

	// Encode text so that it can be displayed in HTML (and is not
	// interpreted as HTML content).
	_internal.prototype.HtmlEncode = function(/*string*/text)
	{
		return _encode(text, _htmlTranslation1);
	}

	var _htmlTranslation2 = new Array();
	_htmlTranslation2['&'] = "&amp;";
	_htmlTranslation2['<'] = "&lt;";
	_htmlTranslation2['>'] = "&gt;";
	_htmlTranslation2['\"'] = "&quot;";
	_htmlTranslation2['\''] = "&apos;";
	_htmlTranslation2['\n'] = "<br/>";
	_htmlTranslation2['\r'] = "<br/>";

	_internal.prototype.HtmlEncodeWithNewlines = function(/*string*/text)
	{
		if ((undefined === text) || (null == text))
		{
			return "";
		}
		text = text.replace(/\r\n/g, "\n");
		return _encode(text, _htmlTranslation2);
	};

	var _htmlTranslation3 = new Array();
	_htmlTranslation3['&'] = "&amp;";
	_htmlTranslation3['<'] = "&lt;";
	_htmlTranslation3['>'] = "&gt;";
	_htmlTranslation3['\"'] = "&quot;";
	_htmlTranslation3['\''] = "&apos;";
	_htmlTranslation3['\n'] = "<br/>";
	_htmlTranslation3['\r'] = "<br/>";
	_htmlTranslation3[' '] = "&nbsp;";
	_htmlTranslation3['\t'] = "&nbsp;&nbsp;&nbsp;&nbsp;";

	_internal.prototype.HtmlEncodeWithNewlinesPreserveSpace = function(/*string*/text)
	{
		if ((undefined === text) || (null == text))
		{
			return "";
		}
		text = text.replace(/\r\n/g, "\n");
		return _encode(text, _htmlTranslation3);
	};

	var _encode = function(/*string*/text, /*array(char)=>string*/translation)
	{
		if ((undefined === text) || (null == text))
		{
			return "";
		}
		else
		{
			text = String(text);
		}
		var encodedText = "";
		var c;
		var t;
		for (i = 0; i < text.length; ++i)
		{
			c = text.charAt(i);
			t = translation[c];
			if (t !== undefined)
			{
				encodedText += t;
			}
			else
			{
				encodedText += c;
			}
		}
		return encodedText;
	};

	return new _internal();
})();


/**/

// $Id: //depot/EveryScape/Stable/services/web/EveryScapePortal_Jalapeno/js/EveryScape/Analytics.js#1 $
// include http://www.google-analytics.com/urchin.js
// include EveryScape/EventLog.js
if (undefined === window.EveryScape)
{
	EveryScape = {};
}

EveryScape.Analytics = (function()
{
	var _eventsTracked = new Array();
	var _isRecording = false;
	var _thirdPartyEventId = null;

	var HandleUrchinException = function(/*exception*/ex)
	{
		try
		{
			EveryScape.EventLog.WriteEvent(EveryScape.EventLog.Error, "Urchin tracking failed: " + ex);
		}
		catch (ex)
		{
		}
	};

	// Keep track of the events reported.
	// Returns the number of times this event has been reported on this page.
	var IncrementEventCount = function(/*string*/e)
	{
		if (undefined === _eventsTracked[e])
		{
			_eventsTracked[e] = 1;
		}
		else
		{
			_eventsTracked[e]++;
		}

		return _eventsTracked[e];
	};

	var _internal = function()
	{
	};

	// Track an event such as panning, clicking, etc, but only the first
	// time that event occurs on a page.
	// [e] - The name of the event.
	_internal.prototype.TrackEventFirstTimePerPage = function(/*string*/e)
	{
		if (1 == IncrementEventCount(e))
		{
			this.TrackEvent(e);
		}
	};

	// Track an event such as panning, clicking, etc.
	// [e] - The name of the event.
	_internal.prototype.TrackEvent = function(/*string*/e)
	{
		try
		{
			if (_isRecording)
			{
				urchinTracker(e);
			}
		}
		catch (ex)
		{
			HandleUrchinException(ex);
		}
	};

	// Track a pageview from the page itself.
	// [page] - The URL of the page being viewed or undefined for the current
	//          page.
	_internal.prototype.TrackPage = function(/*string*/page)
	{
		this.TrackEvent(page);
	};

	// Set the user/account ID used by third party analytics engines.
	_internal.prototype.SetAnalyticsId = function(/*string*/id, /*string*/domain)
	{
		if ((null == id) || (undefined === id))
		{
			throw "EveryScape.Analytics.SetAnalyticsId() - Invalid analytics ID.";
		}
		_thirdPartyAccountId = String(id);
		_uacct = id; // Google Analytics.

		if ((null != domain) || (undefined !== domain))
		{
			_udn = domain;
		}
	};

	_internal.prototype.ToggleOnOff = function(/*boolean*/isRecording)
	{
		if (isRecording)
		{
			_isRecording = true;
		}
		else
		{
			_isRecording = false;
		}
	};

	return new _internal();
})();

if (undefined === window.EveryScape.Branded)
{
	EveryScape.Branded = {};
}

EveryScape.Branded.Analytics = (function()
{
	var _isRecording = false;
	var _groupId = null;

	var HandleIndexToolsException = function(/*exception*/ex)
	{
		try
		{
			EveryScape.EventLog.WriteEvent(EveryScape.EventLog.Error, "Index Tools tracking failed: " + ex);
		}
		catch (ex)
		{
		}
	};

	var _internal = function()
	{
	};

	// Track an event such as panning, clicking, etc.
	// [e] - The name of the event.
	_internal.prototype.TrackEvent = function(/*string*/e)
	{
		try
		{
			if (_isRecording)
			{
				var sIndexToolGroup = _id + " Events";
				sPage = evt;
			  
				// Generate indextool event
				if (typeof ( __IT ) != "undefined")
					__IT.page(sPage, sIndexToolGroup, null, null);
			}
		}
		catch (ex)
		{
			HandleIndexToolsException(ex);
		}
	};

	// Set the id for tracking on this page.
	_internal.prototype.SetAnalyticsGroup = function(/*string*/group)
	{
		if ((null == group) || (undefined === group))
		{
			throw "EveryScape.Branded.Analytics.SetAnalyticsGroup() - Invalid analytics group name.";
		}
		_groupId = group;
	};

	_internal.prototype.ToggleOnOff = function(/*boolean*/isRecording)
	{
		if (isRecording)
		{
			_isRecording = true;
		}
		else
		{
			_isRecording = false;
		}
	};

	return new _internal();
})();

/**/

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 SwapImage(i, j)
{
	if (BrowserDetect.browser == "Explorer")
	{
		document.getElementById(i).style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + j + "');";
	}
	else
	{
		document.getElementById(i).src = j;
	}
}


/**/
