
(function ($) {
    $.toJSON = function (o) {
        if (typeof (JSON) == 'object' && JSON.stringify)
            return JSON.stringify(o); var type = typeof (o); if (o === null)
            return "null"; if (type == "undefined")
            return undefined; if (type == "number" || type == "boolean")
            return o + ""; if (type == "string")
            return $.quoteString(o); if (type == 'object') {
            if (typeof o.toJSON == "function")
                return $.toJSON(o.toJSON()); if (o.constructor === Date) {
                var month = o.getUTCMonth() + 1; if (month < 10) month = '0' + month; var day = o.getUTCDate(); if (day < 10) day = '0' + day; var year = o.getUTCFullYear(); var hours = o.getUTCHours(); if (hours < 10) hours = '0' + hours; var minutes = o.getUTCMinutes(); if (minutes < 10) minutes = '0' + minutes; var seconds = o.getUTCSeconds(); if (seconds < 10) seconds = '0' + seconds; var milli = o.getUTCMilliseconds(); if (milli < 100) milli = '0' + milli; if (milli < 10) milli = '0' + milli; return '"' + year + '-' + month + '-' + day + 'T' +
hours + ':' + minutes + ':' + seconds + '.' + milli + 'Z"';
            }
            if (o.constructor === Array) {
                var ret = []; for (var i = 0; i < o.length; i++)
                    ret.push($.toJSON(o[i]) || "null"); return "[" + ret.join(",") + "]";
            }
            var pairs = []; for (var k in o) {
                var name; var type = typeof k; if (type == "number")
                    name = '"' + k + '"'; else if (type == "string")
                    name = $.quoteString(k); else
                    continue; if (typeof o[k] == "function")
                    continue; var val = $.toJSON(o[k]); pairs.push(name + ":" + val);
            }
            return "{" + pairs.join(", ") + "}";
        } 
    }; $.evalJSON = function (src) {
        if (typeof (JSON) == 'object' && JSON.parse)
            return JSON.parse(src); return eval("(" + src + ")");
    }; $.secureEvalJSON = function (src) {
        if (typeof (JSON) == 'object' && JSON.parse)
            return JSON.parse(src); var filtered = src; filtered = filtered.replace(/\\["\\\/bfnrtu]/g, '@'); filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']'); filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, ''); if (/^[\],:{}\s]*$/.test(filtered))
            return eval("(" + src + ")"); else
            throw new SyntaxError("Error parsing JSON, source is not valid.");
    }; $.quoteString = function (string) {
        if (string.match(_escapeable)) {
            return '"' + string.replace(_escapeable, function (a)
            { var c = _meta[a]; if (typeof c === 'string') return c; c = a.charCodeAt(); return '\\u00' + Math.floor(c / 16).toString(16) + (c % 16).toString(16); }) + '"';
        }
        return '"' + string + '"';
    }; var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g; var _meta = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\' };
})(jQuery);


/*
PLEASE DO NOT MAKE MODIFICATIONS TO THIS FILE TO ACCOMODATE FEATURES OR BUG FIXES THAT ARE NOT RELEVANT ACCROSS ALL SITES.
ALL CHANGES SHOULD BE EXPLAINED IN THE CHANGE HISTORY AND THE REVISION NUMBER SUBSEQUENTLY INCREMENTED.
*/

/*
--------------------------------------------------------------------------------------------------------------------------
StarmindModal
Provides general support for displaying modal overlays using Javascript.

Version: 1.1 (Rev. 002)
Required libraries: jQuery 1.4, StarmindHelper


Change history:
--------------------------------------------------------------------------------------------------------------------------

1.1.002: StarmindModal_Helper methods moved to separate shared library.
1.1.001: Refactoring to provide ONE code-base for Electrolux-Appliances, Frigidaire, Ultralight and Icon.
1.0: First draft.


Usage examples:
--------------------------------------------------------------------------------------------------------------------------

This is the general format of the argument object that is passed to the StarmindModal.Create(id, args, ...) method.
args: {
	type:							selector/html/iframe
	closeButton:					true/false
	closeLayer:						true/false
	pattr/popupAttributes:			may contain all valid jQuery DOM Create attributes
	iattr/iframeAttributes:			may contain all valid jQuery DOM Create attributes
	cattr/containerAttributes:		may contain all valid jQuery DOM Create attributes
	lattr/layerAttributes:			may contain all valid jQuery DOM Create attributes
	cbattr/closeButtonAttributes:	may contain all valid jQuery DOM Create attributes
	fixed:							true/false
}

How to open a modal iframe:
StarmindModal.Create("modalid", { type: "iframe", closeButton: false, closeLayer: true, iattr: { src: "http://www.google.com" }, fixed: true }).Open();
*/

function ModalObject(args) {
	this.GetArgs = function(args) {
		return StarmindHelper.MergeAttrObject(
			{
				type: "iframe",
				closeButton: false,
				closeLayer: false,
				pattr: {}, popupAttributes: {},
				iattr: {}, iframeAttributes: {},
				cattr: {}, containerAttributes: {},
				lattr: {}, layerAttributes: {},
				cbattr: {}, closeButtonAttributes: {},
				fixed: false
			},
			args
		);
	}

	this.Args = this.GetArgs(args);
	this.Container = null;
	this.Layer = null;
	this.Popup = null;
	this.CloseBtn = null;
	this.Modal = null;
	this.HasBeenShownOnce = false;

	this.Init = function() {
		this.Args.closeButtonAttributes = this.Args.cbattr = StarmindHelper.MergeAttrObject(this.Args.closeButtonAttributes, this.Args.cbattr);
		this.Args.popupAttributes = this.Args.pattr = StarmindHelper.MergeAttrObject(this.Args.popupAttributes, this.Args.pattr);
		this.Args.iframeAttributes = this.Args.iattr = StarmindHelper.MergeAttrObject(this.Args.iframeAttributes, this.Args.iattr);
		this.Args.containerAttributes = this.Args.cattr = StarmindHelper.MergeAttrObject(this.Args.containerAttributes, this.Args.cattr);
		this.Args.layerAttributes = this.Args.lattr = StarmindHelper.MergeAttrObject(this.Args.layerAttributes, this.Args.lattr);

		this.Container = jQuery(
			'<div />', 
			StarmindHelper.MergeAttrObject(
				{ 'class': 'modal' },
				this.Args.cattr,
				{ style: 'position: absolute; left: 50%; width: 0px; top: 50%; height: 0px; visibility: hidden; z-index:10000;' }
			)
		);

		this.Layer = jQuery(
			'<div />', 
			StarmindHelper.MergeAttrObject(
				{ style: 'background-color: gray; opacity: 0.65; filter: alpha(opacity=65);' },
				this.Args.lattr,
				{ style: 'position: fixed; left: 0px; top: 0px; width: 100%; height: 100%;' }
			)
		);

		this.Popup = jQuery(
			'<div />', 
			StarmindHelper.MergeAttrObject(
				this.Args.pattr,
				{ style: 'position: absolute;' }
			)
		);

		//bind close button event
		if(this.Args.closeButton == true) {
			var closeContainer = jQuery('<div />', { style: 'position: relative; width: 0px; height: 0px; float: right;' });
			this.CloseBtn = jQuery(
				'<div />',
				StarmindHelper.MergeAttrObject(
					{ html: '<a href="#">Close</a>' },
					this.Args.cbattr,
					{ style: 'position: absolute; right: 5px; top: 5px; z-index: 10001; cursor: pointer;' }
				)
			);
			closeContainer.append(this.CloseBtn);

			this.Popup.append(closeContainer);
			jQuery(this.CloseBtn).bind("click", this, function(e) { e.data.Close(); return false; });
		}

		this.Container.append(this.Layer);
		this.Container.append(this.Popup);

		//bind layer close event
		if(this.Args.closeLayer != undefined && this.Args.closeLayer == true) {
			this.Layer.bind("click", this, function(e) { e.data.Close(); return false; });
		}

		//render content according to specified type
		switch(this.Args.type) {
			case "selector":
				if(this.Args.selector != undefined) {
					this.Modal = jQuery(this.Args.selector);
					this.Popup.append(this.Modal);
				}
			case "html":
				if(this.Args.html != undefined) {
					this.Modal = jQuery(this.Args.html);
					this.Popup.append(this.Modal);
				}
				break;
			case "iframe":
				this.Modal = jQuery(
					'<iframe />', 
					StarmindHelper.MergeAttrObject(
						{ style: 'border: none; margin: 0px;', frameborder: '0', scrolling: 'no', src: 'about:blank' },
						this.Args.iattr,
						{ style: 'width: 100%; height: 100%;' }
					)
				);

				this.Popup.append(this.Modal);
				break;
		}

		jQuery("body").append(this.Container);

		if(this.Args.fixed != undefined && this.Args.fixed == true) jQuery(document).bind("scroll", this, function(e) { e.data.Reposition(); });
	}

	this.Init();

	this.Open = function(forceReload) {
		if(forceReload == true && this.HasBeenShownOnce == true) this.Reload();
		//this.Container.show();
		//this.Modal.show();
		this.Container.css("visibility", "visible");

		this.Reposition();

		//set flag to signal reloading is now permitted
		this.HasBeenShownOnce = true;
	}

	//currently only supports reloading of iframes (what else is there..?)
	this.Reload = function() {
		if(this.Args.type == "iframe") {
			this.Modal.contents().find("body").html("");
			this.Modal.attr("src", this.Args.iframeAttributes.src);
		}
	}

	this.Close = function() {
		//this.Container.hide();
		//this.Modal.hide();
		this.Container.css("visibility", "hidden");
	}

	this.Reposition = function() {
		this.Popup.css("left", (-Math.floor(this.Popup.outerWidth()/2)+jQuery(document).scrollLeft()) + "px");
		this.Popup.css("top", (-Math.floor(this.Popup.outerHeight()/2)+jQuery(document).scrollTop()) + "px");
	}
}

var StarmindModal = {
	Settings: {
		DefaultValues: {
			ForceRecreate: false
		}
	},
	Modals: Array(),
	Open: function(id) {
		if(jQuery(document).data(id) == undefined) return;

		jQuery(document).data(id).Open();
	},
	Close: function(id) {
		if(id == undefined) {
			//close all modals
			for(var i = 0; i < this.Modals.length; i++) this.Modals[i].Close();
			return;
		} else if(jQuery(document).data(id) == undefined) return;

		jQuery(document).data(id).Close();
	},
	Bind: function(id, args) {
		var m = StarmindModal.Create(id, args);
		this.bind("click", m, function(e) { e.data.Open(); return false; });

		return m;
	},
	Create: function(id, args, forceRecreate) {
		if(forceRecreate == undefined) forceRecreate = this.Settings.DefaultValues.ForceRecreate;

		var exists = (jQuery(document).data(id) != undefined);
		var m = null;

		if(!exists) {
			m = new ModalObject(args);
			jQuery(document).data(id, m);
			this.Modals.push(m);
		} else {
			m = jQuery(document).data(id);

			if(forceRecreate == true) {
				var c = m.Container;

				m.Args = this.GetArgs(args);
				m.Init();

				c.remove();
			}
		}

		return m;
	}
};

jQuery.fn.bindModal = StarmindModal.Bind;
/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
*/
var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();

/** * SWFAddress 2.4: Deep linking for Flash and Ajax <http://www.asual.com/swfaddress/> * * SWFAddress is (c) 2006-2009 Rostislav Hristov and contributors * This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> * */if(typeof asual=="undefined"){var asual={}}if(typeof asual.util=="undefined"){asual.util={}}asual.util.Browser=new function(){var b=navigator.userAgent.toLowerCase(),a=/webkit/.test(b),e=/opera/.test(b),c=/msie/.test(b)&&!/opera/.test(b),d=/mozilla/.test(b)&&!/(compatible|webkit)/.test(b),f=parseFloat(c?b.substr(b.indexOf("msie")+4):(b.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[0,"0"])[1]);this.toString=function(){return"[class Browser]"};this.getVersion=function(){return f};this.isMSIE=function(){return c};this.isSafari=function(){return a};this.isOpera=function(){return e};this.isMozilla=function(){return d}};asual.util.Events=new function(){var c="DOMContentLoaded",j="onstop",k=window,h=document,b=[],a=asual.util,e=a.Browser,d=e.isMSIE(),g=e.isSafari();this.toString=function(){return"[class Events]"};this.addListener=function(n,l,m){b.push({o:n,t:l,l:m});if(!(l==c&&(d||g))){if(n.addEventListener){n.addEventListener(l,m,false)}else{if(n.attachEvent){n.attachEvent("on"+l,m)}}}};this.removeListener=function(p,m,n){for(var l=0,o;o=b[l];l++){if(o.o==p&&o.t==m&&o.l==n){b.splice(l,1);break}}if(!(m==c&&(d||g))){if(p.removeEventListener){p.removeEventListener(m,n,false)}else{if(p.detachEvent){p.detachEvent("on"+m,n)}}}};var i=function(){for(var m=0,l;l=b[m];m++){if(l.t!=c){a.Events.removeListener(l.o,l.t,l.l)}}};var f=function(){if(h.readyState=="interactive"){function l(){h.detachEvent(j,l);i()}h.attachEvent(j,l);k.setTimeout(function(){h.detachEvent(j,l)},0)}};if(d||g){(function(){try{if((d&&h.body)||!/loaded|complete/.test(h.readyState)){h.documentElement.doScroll("left")}}catch(m){return setTimeout(arguments.callee,0)}for(var l=0,m;m=b[l];l++){if(m.t==c){m.l.call(null)}}})()}if(d){k.attachEvent("onbeforeunload",f)}this.addListener(k,"unload",i)};asual.util.Functions=new function(){this.toString=function(){return"[class Functions]"};this.bind=function(f,b,e){for(var c=2,d,a=[];d=arguments[c];c++){a.push(d)}return function(){return f.apply(b,a)}}};var SWFAddressEvent=function(d){this.toString=function(){return"[object SWFAddressEvent]"};this.type=d;this.target=[SWFAddress][0];this.value=SWFAddress.getValue();this.path=SWFAddress.getPath();this.pathNames=SWFAddress.getPathNames();this.parameters={};var c=SWFAddress.getParameterNames();for(var b=0,a=c.length;b<a;b++){this.parameters[c[b]]=SWFAddress.getParameter(c[b])}this.parameterNames=c};SWFAddressEvent.INIT="init";SWFAddressEvent.CHANGE="change";SWFAddressEvent.INTERNAL_CHANGE="internalChange";SWFAddressEvent.EXTERNAL_CHANGE="externalChange";var SWFAddress=new function(){var _getHash=function(){var index=_l.href.indexOf("#");return index!=-1?_ec(_dc(_l.href.substr(index+1))):""};var _getWindow=function(){try{top.document;return top}catch(e){return window}};var _strictCheck=function(value,force){if(_opts.strict){value=force?(value.substr(0,1)!="/"?"/"+value:value):(value==""?"/":value)}return value};var _ieLocal=function(value,direction){return(_msie&&_l.protocol=="file:")?(direction?_value.replace(/\?/,"%3F"):_value.replace(/%253F/,"?")):value};var _searchScript=function(el){if(el.childNodes){for(var i=0,l=el.childNodes.length,s;i<l;i++){if(el.childNodes[i].src){_url=String(el.childNodes[i].src)}if(s=_searchScript(el.childNodes[i])){return s}}}};var _titleCheck=function(){if(_d.title!=_title&&_d.title.indexOf("#")!=-1){_d.title=_title}};var _listen=function(){if(!_silent){var hash=_getHash();var diff=!(_value==hash);if(_safari&&_version<523){if(_length!=_h.length){_length=_h.length;if(typeof _stack[_length-1]!=UNDEFINED){_value=_stack[_length-1]}_update.call(this,false)}}else{if(_msie&&diff){if(_version<7){_l.reload()}else{this.setValue(hash)}}else{if(diff){_value=hash;_update.call(this,false)}}}if(_msie){_titleCheck.call(this)}}};var _bodyClick=function(e){if(_popup.length>0){var popup=window.open(_popup[0],_popup[1],eval(_popup[2]));if(typeof _popup[3]!=UNDEFINED){eval(_popup[3])}}_popup=[]};var _swfChange=function(){for(var i=0,id,obj,value=SWFAddress.getValue(),setter="setSWFAddressValue";id=_ids[i];i++){obj=document.getElementById(id);if(obj){if(obj.parentNode&&typeof obj.parentNode.so!=UNDEFINED){obj.parentNode.so.call(setter,value)}else{if(!(obj&&typeof obj[setter]!=UNDEFINED)){var objects=obj.getElementsByTagName("object");var embeds=obj.getElementsByTagName("embed");obj=((objects[0]&&typeof objects[0][setter]!=UNDEFINED)?objects[0]:((embeds[0]&&typeof embeds[0][setter]!=UNDEFINED)?embeds[0]:null))}if(obj){obj[setter](value)}}}else{if(obj=document[id]){if(typeof obj[setter]!=UNDEFINED){obj[setter](value)}}}}};var _jsDispatch=function(type){this.dispatchEvent(new SWFAddressEvent(type));type=type.substr(0,1).toUpperCase()+type.substr(1);if(typeof this["on"+type]==FUNCTION){this["on"+type]()}};var _jsInit=function(){if(_util.Browser.isSafari()){_d.body.addEventListener("click",_bodyClick)}_jsDispatch.call(this,"init")};var _jsChange=function(){_swfChange();_jsDispatch.call(this,"change")};var _update=function(internal){_jsChange.call(this);if(internal){_jsDispatch.call(this,"internalChange")}else{_jsDispatch.call(this,"externalChange")}_st(_functions.bind(_track,this),10)};var _track=function(){var value=(_l.pathname+(/\/$/.test(_l.pathname)?"":"/")+this.getValue()).replace(/\/\//,"/").replace(/^\/$/,"");var fn=_t[_opts.tracker];if(typeof fn==FUNCTION){fn(value)}else{if(typeof _t.pageTracker!=UNDEFINED&&typeof _t.pageTracker._trackPageview==FUNCTION){_t.pageTracker._trackPageview(value)}else{if(typeof _t.urchinTracker==FUNCTION){_t.urchinTracker(value)}}}};var _htmlWrite=function(){var doc=_frame.contentWindow.document;doc.open();doc.write("<html><head><title>"+_d.title+"</title><script>var "+ID+' = "'+_getHash()+'";<\/script></head></html>');doc.close()};var _htmlLoad=function(){var win=_frame.contentWindow;var src=win.location.href;_value=(typeof win[ID]!=UNDEFINED?win[ID]:"");if(_value!=_getHash()){_update.call(SWFAddress,false);_l.hash=_ieLocal(_value,TRUE)}};var _load=function(){if(!_loaded){_loaded=TRUE;if(_msie&&_version<8){var frameset=_d.getElementsByTagName("frameset")[0];_frame=_d.createElement((frameset?"":"i")+"frame");if(frameset){frameset.insertAdjacentElement("beforeEnd",_frame);frameset[frameset.cols?"cols":"rows"]+=",0";_frame.src="javascript:false";_frame.noResize=true;_frame.frameBorder=_frame.frameSpacing=0}else{_frame.src="javascript:false";_frame.style.display="none";_d.body.insertAdjacentElement("afterBegin",_frame)}_st(function(){_events.addListener(_frame,"load",_htmlLoad);if(typeof _frame.contentWindow[ID]==UNDEFINED){_htmlWrite()}},50)}else{if(_safari){if(_version<418){_d.body.innerHTML+='<form id="'+ID+'" style="position:absolute;top:-9999px;" method="get"></form>';_form=_d.getElementById(ID)}if(typeof _l[ID]==UNDEFINED){_l[ID]={}}if(typeof _l[ID][_l.pathname]!=UNDEFINED){_stack=_l[ID][_l.pathname].split(",")}}}_st(_functions.bind(function(){_jsInit.call(this);_jsChange.call(this);_track.call(this)},this),1);if(_msie&&_version>=8){_d.body.onhashchange=_functions.bind(_listen,this);_si(_functions.bind(_titleCheck,this),50)}else{_si(_functions.bind(_listen,this),50)}}};var ID="swfaddress",FUNCTION="function",UNDEFINED="undefined",TRUE=true,FALSE=false,_util=asual.util,_browser=_util.Browser,_events=_util.Events,_functions=_util.Functions,_version=_browser.getVersion(),_msie=_browser.isMSIE(),_mozilla=_browser.isMozilla(),_opera=_browser.isOpera(),_safari=_browser.isSafari(),_supported=FALSE,_t=_getWindow(),_d=_t.document,_h=_t.history,_l=_t.location,_si=setInterval,_st=setTimeout,_dc=decodeURI,_ec=encodeURI,_frame,_form,_url,_title=_d.title,_length=_h.length,_silent=FALSE,_loaded=FALSE,_justset=TRUE,_juststart=TRUE,_ref=this,_stack=[],_ids=[],_popup=[],_listeners={},_value=_getHash(),_opts={history:TRUE,strict:TRUE};if(_msie&&_d.documentMode&&_d.documentMode!=_version){_version=_d.documentMode!=8?7:8}_supported=(_mozilla&&_version>=1)||(_msie&&_version>=6)||(_opera&&_version>=9.5)||(_safari&&_version>=312);if(_supported){if(_opera){history.navigationMode="compatible"}for(var i=1;i<_length;i++){_stack.push("")}_stack.push(_getHash());if(_msie&&_l.hash!=_getHash()){_l.hash="#"+_ieLocal(_getHash(),TRUE)}_searchScript(document);var _qi=_url?_url.indexOf("?"):-1;if(_qi!=-1){var param,params=_url.substr(_qi+1).split("&");for(var i=0,p;p=params[i];i++){param=p.split("=");if(/^(history|strict)$/.test(param[0])){_opts[param[0]]=(isNaN(param[1])?/^(true|yes)$/i.test(param[1]):(parseInt(param[1])!=0))}if(/^tracker$/.test(param[0])){_opts[param[0]]=param[1]}}}if(_msie){_titleCheck.call(this)}if(window==_t){_events.addListener(document,"DOMContentLoaded",_functions.bind(_load,this))}_events.addListener(_t,"load",_functions.bind(_load,this))}else{if((!_supported&&_l.href.indexOf("#")!=-1)||(_safari&&_version<418&&_l.href.indexOf("#")!=-1&&_l.search!="")){_d.open();_d.write('<html><head><meta http-equiv="refresh" content="0;url='+_l.href.substr(0,_l.href.indexOf("#"))+'" /></head></html>');_d.close()}else{_track()}}this.toString=function(){return"[class SWFAddress]"};this.back=function(){_h.back()};this.forward=function(){_h.forward()};this.up=function(){var path=this.getPath();this.setValue(path.substr(0,path.lastIndexOf("/",path.length-2)+(path.substr(path.length-1)=="/"?1:0)))};this.go=function(delta){_h.go(delta)};this.href=function(url,target){target=typeof target!=UNDEFINED?target:"_self";if(target=="_self"){self.location.href=url}else{if(target=="_top"){_l.href=url}else{if(target=="_blank"){window.open(url)}else{_t.frames[target].location.href=url}}}};this.popup=function(url,name,options,handler){try{var popup=window.open(url,name,eval(options));if(typeof handler!=UNDEFINED){eval(handler)}}catch(ex){}_popup=arguments};this.getIds=function(){return _ids};this.getId=function(index){return _ids[0]};this.setId=function(id){_ids[0]=id};this.addId=function(id){this.removeId(id);_ids.push(id)};this.removeId=function(id){for(var i=0;i<_ids.length;i++){if(id==_ids[i]){_ids.splice(i,1);break}}};this.addEventListener=function(type,listener){if(typeof _listeners[type]==UNDEFINED){_listeners[type]=[]}_listeners[type].push(listener)};this.removeEventListener=function(type,listener){if(typeof _listeners[type]!=UNDEFINED){for(var i=0,l;l=_listeners[type][i];i++){if(l==listener){break}}_listeners[type].splice(i,1)}};this.dispatchEvent=function(event){if(this.hasEventListener(event.type)){event.target=this;for(var i=0,l;l=_listeners[event.type][i];i++){l(event)}return TRUE}return FALSE};this.hasEventListener=function(type){return(typeof _listeners[type]!=UNDEFINED&&_listeners[type].length>0)};this.getBaseURL=function(){var url=_l.href;if(url.indexOf("#")!=-1){url=url.substr(0,url.indexOf("#"))}if(url.substr(url.length-1)=="/"){url=url.substr(0,url.length-1)}return url};this.getStrict=function(){return _opts.strict};this.setStrict=function(strict){_opts.strict=strict};this.getHistory=function(){return _opts.history};this.setHistory=function(history){_opts.history=history};this.getTracker=function(){return _opts.tracker};this.setTracker=function(tracker){_opts.tracker=tracker};this.getTitle=function(){return _d.title};this.setTitle=function(title){if(!_supported){return null}if(typeof title==UNDEFINED){return}if(title=="null"){title=""}title=_dc(title);_st(function(){_title=_d.title=title;if(_juststart&&_frame&&_frame.contentWindow&&_frame.contentWindow.document){_frame.contentWindow.document.title=title;_juststart=FALSE}if(!_justset&&_mozilla){_l.replace(_l.href.indexOf("#")!=-1?_l.href:_l.href+"#")}_justset=FALSE},10)};this.getStatus=function(){return _t.status};this.setStatus=function(status){if(!_supported){return null}if(typeof status==UNDEFINED){return}if(status=="null"){status=""}status=_dc(status);if(!_safari){status=_strictCheck((status!="null")?status:"",TRUE);if(status=="/"){status=""}if(!(/http(s)?:\/\//.test(status))){var index=_l.href.indexOf("#");status=(index==-1?_l.href:_l.href.substr(0,index))+"#"+status}_t.status=status}};this.resetStatus=function(){_t.status=""};this.getValue=function(){if(!_supported){return null}return _dc(_strictCheck(_ieLocal(_value,FALSE),FALSE))};this.setValue=function(value){if(!_supported){return null}if(typeof value==UNDEFINED){return}if(value=="null"){value=""}value=_ec(_dc(_strictCheck(value,TRUE)));if(value=="/"){value=""}if(_value==value){return}_justset=TRUE;_value=value;_silent=TRUE;_update.call(SWFAddress,true);_stack[_h.length]=_value;if(_safari){if(_opts.history){_l[ID][_l.pathname]=_stack.toString();_length=_h.length+1;if(_version<418){if(_l.search==""){_form.action="#"+_value;_form.submit()}}else{if(_version<523||_value==""){var evt=_d.createEvent("MouseEvents");evt.initEvent("click",TRUE,TRUE);var anchor=_d.createElement("a");anchor.href="#"+_value;anchor.dispatchEvent(evt)}else{_l.hash="#"+_value}}}else{_l.replace("#"+_value)}}else{if(_value!=_getHash()){if(_opts.history){_l.hash="#"+_dc(_ieLocal(_value,TRUE))}else{_l.replace("#"+_dc(_value))}}}if((_msie&&_version<8)&&_opts.history){_st(_htmlWrite,50)}if(_safari){_st(function(){_silent=FALSE},1)}else{_silent=FALSE}};this.getPath=function(){var value=this.getValue();if(value.indexOf("?")!=-1){return value.split("?")[0]}else{if(value.indexOf("#")!=-1){return value.split("#")[0]}else{return value}}};this.getPathNames=function(){var path=this.getPath(),names=path.split("/");if(path.substr(0,1)=="/"||path.length==0){names.splice(0,1)}if(path.substr(path.length-1,1)=="/"){names.splice(names.length-1,1)}return names};this.getQueryString=function(){var value=this.getValue(),index=value.indexOf("?");if(index!=-1&&index<value.length){return value.substr(index+1)}};this.getParameter=function(param){var value=this.getValue();var index=value.indexOf("?");if(index!=-1){value=value.substr(index+1);var p,params=value.split("&"),i=params.length,r=[];while(i--){p=params[i].split("=");if(p[0]==param){r.push(p[1])}}if(r.length!=0){return r.length!=1?r:r[0]}}};this.getParameterNames=function(){var value=this.getValue();var index=value.indexOf("?");var names=[];if(index!=-1){value=value.substr(index+1);if(value!=""&&value.indexOf("=")!=-1){var params=value.split("&"),i=0;while(i<params.length){names.push(params[i].split("=")[0]);i++}}}return names};this.onInit=null;this.onChange=null;this.onInternalChange=null;this.onExternalChange=null;(function(){var _args;if(typeof FlashObject!=UNDEFINED){SWFObject=FlashObject}if(typeof SWFObject!=UNDEFINED&&SWFObject.prototype&&SWFObject.prototype.write){var _s1=SWFObject.prototype.write;SWFObject.prototype.write=function(){_args=arguments;if(this.getAttribute("version").major<8){this.addVariable("$swfaddress",SWFAddress.getValue());((typeof _args[0]=="string")?document.getElementById(_args[0]):_args[0]).so=this}var success;if(success=_s1.apply(this,_args)){_ref.addId(this.getAttribute("id"))}return success}}if(typeof swfobject!=UNDEFINED){var _s2r=swfobject.registerObject;swfobject.registerObject=function(){_args=arguments;_s2r.apply(this,_args);_ref.addId(_args[0])};var _s2c=swfobject.createSWF;swfobject.createSWF=function(){_args=arguments;var swf=_s2c.apply(this,_args);if(swf){_ref.addId(_args[0].id)}return swf};var _s2e=swfobject.embedSWF;swfobject.embedSWF=function(){_args=arguments;if(typeof _args[8]==UNDEFINED){_args[8]={}}if(typeof _args[8].id==UNDEFINED){_args[8].id=_args[1]}_s2e.apply(this,_args);_ref.addId(_args[8].id)}}if(typeof UFO!=UNDEFINED){var _u=UFO.create;UFO.create=function(){_args=arguments;_u.apply(this,_args);_ref.addId(_args[0].id)}}if(typeof AC_FL_RunContent!=UNDEFINED){var _a=AC_FL_RunContent;AC_FL_RunContent=function(){_args=arguments;_a.apply(this,_args);for(var i=0,l=_args.length;i<l;i++){if(_args[i]=="id"){_ref.addId(_args[i+1])}}}}})()};
/*
jqURL
by Josh Nathanson
*/

jQuery.jqURL = {

	url : // returns a string
	function(args) {
		args = 
			jQuery.extend({
				win : window
			},
			args);
		return args.win.location.href;
	},
	
	loc : 
	function(urlstr, args) {
		args = 
			jQuery.extend({
				win : window,
				w : 500,
				h : 500,
				wintype : '_top'
			},
			args);
			
		if (!args.t) {
			args.t = screen.height / 2 - args.h / 2;
		}
		if (!args.l) {
			args.l = screen.width / 2 - args.w / 2;
		}
		if (args['wintype'] == '_top') {
			args.win.location.href = urlstr;
		}
		else {			
			open(
			urlstr,
			args['wintype'],
			'width=' + args.w + ',height=' + args.h + ',top=' + args.t + ',left=' + args.l + ',scrollbars,resizable'
			);
		
		}
		return;
	},
	
	qs :
	function(args) {
		args = jQuery.extend({
			ret : 'string',
			win : window
		},
		args);
		
		if (args['ret'] == 'string') {
			return jQuery.jqURL.url({ win:args.win }).split('?')[1];
			}

		else if (args['ret'] == 'object') {
			
			var qsobj = {};
			var thisqs = jQuery.jqURL.url({ win:args.win }).split('?')[1];
			
			if ( thisqs ) {
				var pairs = thisqs.split('&');
				for ( i=0;i<pairs.length;i++ ) {
					var pair = pairs[i].split('=');
					qsobj[pair[0]] = pair[1];
				}
			}
			return qsobj;
		}
	},
	
	strip :
	function(args) {
		args = jQuery.extend({
			keys : '',
			win : window
			},
			args);
		
		if (jQuery.jqURL.url().indexOf('?') == -1) { // no query string found
			return jQuery.jqURL.url({ win:args.win });
		}
		// if no keys passed in, just return url with no querystring
		else if (!args.keys) {
			return jQuery.jqURL.url({ win:args.win }).split('?')[0];
		}
		else { //return stripped url

			var qsobj = jQuery.jqURL.qs({ ret:'object',win:args.win });  // object with key/value pairs		
			var counter = 0;
			var url = jQuery.jqURL.url({ win:args.win }).split('?')[0] + '?';
			var amp = '';
			
			for (var key in qsobj) {
				if (args.keys.indexOf(key) == -1) { 
					// pass test, add this key/value to string
					amp = (counter) ? '&' : '';
					url = url + amp + key + '=' + qsobj[key];
					counter++;
				}
			}
			return url;
		}			
	},
	
	get :
	function(key,args) {
		args = jQuery.extend({
			win : window
			},args);
	
	qsobj =  jQuery.jqURL.qs({ ret:'object', win:args.win });
	return qsobj[key];
	},
	
	set :
	function(hash,args) {
		args = jQuery.extend({
			win : window
			},args);
		
		// get current querystring
		var qsobj =  jQuery.jqURL.qs({ ret:'object',win:args.win });
		
		// add/set values from hash
		for (var i in hash) {
			qsobj[i] = hash[i];
		}
		
		var qstring = '';
		var counter = 0;
		var amp = '';
		
		// turn qsobj into string
		for (var k in qsobj) {
			amp = (counter) ? '&' : '';
			qstring = qstring + amp + k + '=' + qsobj[k];
			counter++;
		}
		return jQuery.jqURL.strip({ win: args.win }) + '?' + qstring;
	}
	
};



/* SITE WIDE SETTINGS FOR STARMIND JAVASCRIPT COMPONENTS */
var Settings = {
	Modal: {
		LayerAttr: { style: "background-color: black;" }
	}
}

/* DROP-DOWN MENU GENERAL */

var dd_active = false;
var dd_timeout = null;
var dd_activeItem = null;

// Cancel bubble for the area
function dd_cancel(evt) {
	if (window.event)
		window.event.cancelBubble = true;
	else if(evt)
		evt.cancelBubble = true;
}

// Activate drop-down menu
function dd_use() {
	dd_active = true;
}

// Opens drop-down menu
function dd_open(obj, id) {
	dd_actionClose();
	dd_activeItem = obj;
	obj.addClass('selected-dropdown');

	$('#' + id).show();
	var currentHeight = $('#container').outerHeight(true);
	$('#shader').get(0).style.height = (currentHeight - 114) + "px"; // 114px from top
	dd_handleSelects(true);
	$('#shader').show();

	var currentOffset = $(obj).position();
	$('#'+id).get(0).style.left = (currentOffset.left + 10) + "px";
}

// hide selectboxes for IE6
function dd_handleSelects(status) {
	if(navigator.appVersion.indexOf('MSIE 6.0') != -1){
		var selects = document.getElementsByTagName("select");
		for (var i = 0; i < selects.length; i++)
			if(status)
				selects[i].style.visibility = "hidden";
			else
				selects[i].style.visibility = "visible";	
		}
}

// Closing drop-down menu
function dd_close() {
	if (dd_active) {
		clearTimeout(dd_timeout)
		dd_timeout = setTimeout("dd_actionClose()", 500);
	}
	dd_active = false;
}

// Force close of drop-down for body onclick
function dd_force() {
	//dd_activateClose(); // added to remove display bug.
	clearTimeout(dd_timeout);
	dd_active = false;
	dd_actionClose();
}

function dd_actionClose() {
	if (!dd_active) {
		$('#dd-products').hide();
		$('#dd-support').hide();
		$('#shader').hide();
		dd_handleSelects(false);

		if (dd_activeItem != null) {
			dd_activeItem.removeClass('selected-dropdown');
			dd_activeItem.siblings().removeClass('selected-dropdown');
		}
	}
}

/* DROP-DOWN MENU ITEMS */

var dd_activeSub = null;
var dd_activeSubTimeout = null;
var dd_activeDescTimeout = null;

function dd_doOpen(obj) {
	dd_doCloseAll(obj);
	clearTimeout(dd_activeSubTimeout);
	obj.parent().siblings().removeClass("dd-cat-sub-selected");
	obj.parent().addClass('dd-cat-sub-selected');
	obj.show();
}

function dd_doClose(obj) {
	clearTimeout(dd_activeSubTimeout);
	dd_activeSubTimeout = setTimeout('dd_activateClose()', 1000);
	dd_activeSub = obj;
}

function dd_activateClose() {
	if(dd_activeSub){
		//alert("hide:");
		dd_activeSub.hide();
		dd_activeSub.parent().removeClass("dd-cat-sub-selected");
	}
}

function dd_doCloseAll(obj) {
	obj.parent().siblings().children().next().hide();
}

function dd_onOverSub() {
	clearTimeout(dd_activeSubTimeout);
}

function dd_doOpenCat(obj) {
	dd_doCloseAll(obj);
	clearTimeout(dd_activeSubTimeout);
	obj.parent().siblings().removeClass("dd-cat-sub-selected");
	obj.show();
}

// Marks the way in the drop-down menu
function dd_doMarkSub(obj) {
	obj.get(0).style.color = "#1778ab";
}

// Unmark the way in the drop-down menu
function dd_doUnMarkSub(obj) {
	obj.get(0).style.color = "";
}

// Init show desc
function dd_showDesc(){
	clearTimeout(dd_activeDescTimeout);
	dd_activeDescTimeout = setTimeout('dd_doShowDesc()', 100);
}

// Show desc text
function dd_doShowDesc(){
	$('.dd-p-desc').show();
}

// Hide desc text
function dd_hideDesc(){
	clearTimeout(dd_activeDescTimeout);
	$('.dd-p-desc').hide();
}

// Onload setup of drop-down menu
$(document).ready(
	function () {

		// drop-down class binds
		$('.dd-cat-sub').bind('mouseover', function () {
			dd_onOverSub();
		});
		$('.dd-cat-sub').bind('mouseout', function () {
			dd_doClose($(this).children().next());
		});
		$('.dd-cat-sub-a').bind('mouseover', function () {
			dd_doOpen($(this).next())
		});
		$('.dd-cat-sub-a').bind('mouseout', function () {
			dd_doClose($(this).next())
		});
		$('.dd-prod-cat-info-div').bind('mouseover', function () {
			dd_doMarkSub($(this).prev());
		});
		$('.dd-prod-cat-info-div').bind('mouseout', function () {
			dd_doUnMarkSub($(this).prev());
		});
		$('.dd-prod-cat-info').bind('mouseover', function () {
			dd_hideDesc();
		});
		$('.dd-prod-cat-info').bind('mouseout', function () {
			dd_showDesc();
		});
        $('.dd-cat-info').bind('mouseover', function () {
			dd_onOverSub();
		});
		$('.dd-cat-info').bind('mouseout', function () {
			dd_doClose($(this).children().next());
		});
		$('.dd-cat-info-a').bind('mouseover', function () {
			dd_doOpen($(this).next())
			//dd_doOpenCat($(this).next());
		});
		$('.dd-cat-info-a').bind('mouseout', function () {
			//dd_doClose($(this).next());
			dd_doClose($(this).next())
		});
		$('.dd-cat-a').bind('mouseover', function () {
			$(this).parent().siblings().removeClass("dd-cat-sub-selected");
			$(this).parent().addClass("dd-cat-sub-selected");
		});
		$('.dd-cat-a').bind('mouseout', function () {
			$(this).parent().removeClass("dd-cat-sub-selected");
		});
		
		// main-nav binds
		$('#main-nav-menu1').bind('mouseover', function () {
			dd_open($(this).parent(), 'dd-products');
			dd_use();
		});
		$('#main-nav-menu2').bind('mouseover', function () {
			dd_open($(this).parent(), 'dd-support');
			dd_use();
		});
		$('#main-nav-menu1, #main-nav-menu2').bind('mouseout', function () {
			dd_close();
		});

		// drop-down menu binds
		$('#dd-products, #dd-support').bind('mouseover', function () {
			dd_use();
		});
		$('#dd-products, #dd-support').bind('mouseout', function () {
			dd_close();
		});
		$('#dd-products, #dd-support').bind('click', function () {
			dd_cancel();
		});

		// body events
		document.body.onclick = dd_force;

	}
);

/* TAB NAVIGATION */

// Used on product detailed page for tab system
function doChangeTab(obj, tab) {
	if (tab == 1) {
		obj.siblings().removeClass('selected');
		obj.siblings().removeClass('selected-first');
		obj.addClass('selected-first');
	} else {
		obj.siblings().removeClass('selected');
		obj.siblings().removeClass('selected-first');
		obj.addClass('selected');
	}

	$('#tab' + tab).siblings().removeClass('show');
	$('#tab' + tab).siblings().addClass('hide');

	$('#tab' + tab).removeClass('hide');
	$('#tab' + tab).addClass('show');
}

/* GENERAL */

// general onload events
$(document).ready(
	function () {

		/*if ($('#content').get(0) != null && $('#content').get(0) != 'undefined') {
			var currentContentHeight = $('#content').outerHeight(true);
			$('#left-nav').get(0).style.height = currentContentHeight + "px";
		}*/

	}
);

function doPrint(){
	if ((window.print) && (document.all)){
		window.print();
	} else if (window.print) {
		window.print();
	} else if ((document.all) && !(navigator.userAgent.indexOf("Mac") != -1)) {			
		var printWindowObject = "<object id='printWindowObject1' width=0 height=0 classid='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>";
		document.body.insertAdjacentHTML("BeforeEnd",printWindowObject);
		window.document.printWindowObject1.ExecWB(6,1);
		//ID=window.setTimeout("window.close();",100);
	}

}

function openPopup(url,pwidth,pheight){
	var newwindow = window.open(url,null,'toolbar=0,menubar=0,location=0,directories=0,status=0,resizable=0,scrollbars=1,HEIGHT='+pheight+',WIDTH='+pwidth);
	if (window.focus)
		newwindow.focus();
}

var defaultTitle = "Electrolux - ICON ©";
function sharePage(shareType, title, params) {
	var returnUrlNoEncode = $.jqURL.strip();
	var returnUrl = encodeURIComponent(returnUrlNoEncode);
	returnUrl += (params == null) ? '' : encodeURIComponent('?' + params);
	//alert(decodeURIComponent(returnUrl));
	title = ((title == null) || (title == 'null')) ? encodeURIComponent(defaultTitle) : encodeURIComponent(title);
	switch (shareType) {
		case "delicious":
			url = 'http://delicious.com/save?v=5&noui&jump=close&url=' + returnUrl + '&title=' + title;
			break;
		case "digg":
			url = 'http://digg.com/submit?url=' + returnUrl + '&title=' + title;
			break;
		case "facebook":
			url = 'http://www.facebook.com/sharer.php?u=' + returnUrl + '&t=' + title;
			break;
		case "myspace":
			url = 'http://www.myspace.com/index.cfm?fuseaction=postto&u=' + returnUrl + '&t=' + title;
			break;
		case "stumbleupon":
			url = 'http://www.stumbleupon.com/submit?url=' + returnUrl + '&title=' + title;
			break;
		case "twitter":
			url = 'http://twitter.com/share?url=' + returnUrlNoEncode + "&text=" + title;
			break;
		case "yahoo":
			url = 'http://buzz.yahoo.com/buzz?targetUrl=' + returnUrl + '&headline=' + title;
			break;
		default:
			alert("ShareType [" + shareType + "] not supported!");
	}
	var w = $.jqURL.loc(url, { w: 800, h: 770, wintype: '_blank' });
	//if (w == undefined) alert("Please disable your popup blocker.");
}

function sharePage2(shareType, title, body, _url) {
	var t = encodeURIComponent(title);
	var b = encodeURIComponent(body);
	var ue = encodeURIComponent(_url);
	var url = "";

	switch (shareType) {
		case "delicious":
			url = 'http://delicious.com/save?v=5&noui&jump=close&url=' + ue + '&title=' + t;
			break;
		case "digg":
			url = 'http://digg.com/submit?url=' + ue + '&title=' + t;
			break;
		case "facebook":
			url = 'http://www.facebook.com/sharer.php?u=' + ue + '&t=' + t;
			break;
		case "myspace":
			url = 'http://www.myspace.com/index.cfm?fuseaction=postto&u=' + ue + '&t=' + t;
			break;
		case "stumbleupon":
			url = 'http://www.stumbleupon.com/submit?url=' + ue + '&title=' + t;
			break;
		case "twitter":
			url = 'http://twitter.com/share?url=' + ue + "&text=" + t;
			break;
		case "yahoo":
			url = 'http://buzz.yahoo.com/buzz?targetUrl=' + ue + '&headline=' + t;
			break;
		default:
			break;
	}
	var w = $.jqURL.loc(url, { w: 800, h: 770, wintype: '_blank' });
}

function EventCancel(e) {
	if(e == undefined) e = window.event;

	if (typeof(e.stopPropagation) != "undefined")
		e.stopPropagation();
	else
		e.cancelBubble = true;
}

