/*
	Unobtrusive Flash Objects (UFO) v3.22 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005-2007 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var UFO = {
	req: ["movie", "width", "height"],
	opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing", "allowfullscreen", "allownetworking"],
	optAtt: ["id", "name", "align"],
	optExc: ["swliveconnect"],
	ximovie: "ufo.swf",
	xiwidth: "215",
	xiheight: "138",
	ua: navigator.userAgent.toLowerCase(),
	pluginType: "",
	fv: [0,0],
	foList: [],
		
	create: function(FO, id) {
		if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;
		UFO.getFlashVersion();
		UFO.foList[id] = UFO.updateFO(FO);
		UFO.createCSS("#" + id, "visibility:hidden;");
		UFO.domLoad(id);
	},

	updateFO: function(FO) {
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
		}
		FO.mainCalled = false;
		return FO;
	},

	domLoad: function(id) {
		var _t = setInterval(function() {
			if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {
				UFO.main(id);
				clearInterval(_t);
			}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+
		}
	},

	main: function(id) {
		var _fo = UFO.foList[id];
		if (_fo.mainCalled) return;
		UFO.foList[id].mainCalled = true;
		document.getElementById(id).style.visibility = "hidden";
		if (UFO.hasRequired(id)) {
			UFO.writeSWF(id);
			/*if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {
				if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);
				console.log('w');
			}
			else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {
				UFO.createDialog(id);
			}*/
		}
		document.getElementById(id).style.visibility = "visible";
	},
	
	createCSS: function(selector, declaration) {
		var _h = document.getElementsByTagName("head")[0]; 
		var _s = UFO.createElement("style");
		if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
		_s.setAttribute("type", "text/css");
		_s.setAttribute("media", "screen"); 
		_h.appendChild(_s);
		if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {
			var _ls = document.styleSheets[document.styleSheets.length - 1];
			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
		}
	},
	
	setContainerCSS: function(id) {
		var _fo = UFO.foList[id];
		var _w = /%/.test(_fo.width) ? "" : "px";
		var _h = /%/.test(_fo.height) ? "" : "px";
		UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");
		if (_fo.width == "100%") {
			UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");
		}
		if (_fo.height == "100%") {
			UFO.createCSS("html", "height:100%; overflow:hidden;");
			UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");
		}
	},

	createElement: function(el) {
		return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	createObjParam: function(el, aName, aValue) {
		var _p = UFO.createElement("param");
		_p.setAttribute("name", aName);	
		_p.setAttribute("value", aValue);
		el.appendChild(_p);
	},

	uaHas: function(ft) {
		var _u = UFO.ua;
		switch(ft) {
			case "w3cdom":
				return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));
			case "xml":
				var _m = document.getElementsByTagName("meta");
				var _l = _m.length;
				for (var i = 0; i < _l; i++) {
					if (/content-type/i.test(_m[i].getAttribute("http-equiv")) && /xml/i.test(_m[i].getAttribute("content"))) return true;
				}
				return false;
			case "ieMac":
				return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
			case "ieWin":
				return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
			case "gecko":
				return /gecko/.test(_u) && !/applewebkit/.test(_u);
			case "opera":
				return /opera/.test(_u);
			case "safari":
				return /applewebkit/.test(_u);
			default:
				return false;
		}
	},
	
	getFlashVersion: function() {
		if (UFO.fv[0] != 0) return;  
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			UFO.pluginType = "npapi";
			var _d = navigator.plugins["Shockwave Flash"].description;
			if (typeof _d != "undefined") {
				_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);
				var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
				UFO.fv = [_m, _r];
			}
		}
		else if (window.ActiveXObject) {
			UFO.pluginType = "ax";
			try { // avoid fp 6 crashes
				var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}
			catch(e) {
				try { 
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					UFO.fv = [6, 0];
					_a.AllowScriptAccess = "always"; // throws if fp < 6.47 
				}
				catch(e) {
					if (UFO.fv[0] == 6) return;
				}
				try {
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				}
				catch(e) {}
			}
			if (typeof _a == "object") {
				var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23
				if (typeof _d != "undefined") {
					_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");
					UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];
				}
			}
		}
	},

	hasRequired: function(id) {
		var _l = UFO.req.length;
		for (var i = 0; i < _l; i++) {
			if (typeof UFO.foList[id][UFO.req[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(major, release) {
		return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;
	},

	writeSWF: function(id) {
		var _fo = UFO.foList[id];
		var _e = document.getElementById(id);
		if (UFO.pluginType == "npapi") {
			if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {
				while(_e.hasChildNodes()) {
					_e.removeChild(_e.firstChild);
				}
				var _obj = UFO.createElement("object");
				_obj.setAttribute("type", "application/x-shockwave-flash");
				_obj.setAttribute("data", _fo.movie);
				_obj.setAttribute("width", _fo.width);
				_obj.setAttribute("height", _fo.height);
				var _l = UFO.optAtt.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[UFO.optAtt[i]] != "undefined") _obj.setAttribute(UFO.optAtt[i], _fo[UFO.optAtt[i]]);
				}
				var _o = UFO.opt.concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") UFO.createObjParam(_obj, _o[i], _fo[_o[i]]);
				}
				_e.appendChild(_obj);
			}
			else {
				var _emb = "";
				var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") _emb += ' ' + _o[i] + '="' + _fo[_o[i]] + '"';
				}
				_e.innerHTML = '<embed type="application/x-shockwave-flash" src="' + _fo.movie + '" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';
			}
		}
		else if (UFO.pluginType == "ax") {
			var _objAtt = "";
			var _l = UFO.optAtt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.optAtt[i]] != "undefined") _objAtt += ' ' + UFO.optAtt[i] + '="' + _fo[UFO.optAtt[i]] + '"';
			}
			var _objPar = "";
			var _l = UFO.opt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.opt[i]] != "undefined") _objPar += '<param name="' + UFO.opt[i] + '" value="' + _fo[UFO.opt[i]] + '" />';
			}
			var _p = window.location.protocol == "https:" ? "https:" : "http:";
			_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="' + _fo.movie + '" />' + _objPar + '</object>';
		}
	},
		
	createDialog: function(id) {
		var _fo = UFO.foList[id];
		UFO.createCSS("html", "height:100%; overflow:hidden;");
		UFO.createCSS("body", "height:100%; overflow:hidden;");
		UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");
		UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");
		var _b = document.getElementsByTagName("body")[0];
		var _c = UFO.createElement("div");
		_c.setAttribute("id", "xi-con");
		var _d = UFO.createElement("div");
		_d.setAttribute("id", "xi-dia");
		_c.appendChild(_d);
		_b.appendChild(_c);
		var _mmu = window.location;
		if (UFO.uaHas("xml") && UFO.uaHas("safari")) {
			var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";
		}
		else {
			var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		}
		var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";
		var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";
		var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";
		UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };
		UFO.writeSWF("xi-dia");
	},

	expressInstallCallback: function() {
		var _b = document.getElementsByTagName("body")[0];
		var _c = document.getElementById("xi-con");
		_b.removeChild(_c);
		UFO.createCSS("body", "height:auto; overflow:auto;");
		UFO.createCSS("html", "height:auto; overflow:auto;");
	},

	cleanupIELeaks: function() {
		var _o = document.getElementsByTagName("object");
		var _l = _o.length
		for (var i = 0; i < _l; i++) {
			_o[i].style.display = "none";
			for (var x in _o[i]) {
				if (typeof _o[i][x] == "function") {
					_o[i][x] = null;
				}
			}
		}
	}

};

if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {
	window.attachEvent("onunload", UFO.cleanupIELeaks);
}


if (typeof SkypeDetection == "undefined") {
	SkypeDetection = function () {
		var _detectionSwfUrl = "http://api.skype.com/detection/detection_as3.swf";
		var _detectionSwfID = "skypedetectionswf";
		var _containerID = "skypedetectioncontainer";
		var _verbose = true;
		var _flashCreated = false;
		var _initalizing = false;
		var _successCallbacks = [];
		var _failureCallbacks = [];
		var _failureTimeout = 5000;
		
		var createContainer = function () {
			var container = document.createElement("div");
			container.id = _containerID;
			container.style.position = "absolute";
			container.style.width = "5px";
			container.style.height = "5px";
			container.style.top = "0px";
			container.style.left = "-10px";
			var div = document.body && document.body.appendChild(container);
			if (!div) {
				log("Seems like container creating failed.");
				return;
			}
			window.setTimeout(createFlash, 10);
		};
		
		var createFlash = function () {
			UFO.create(
				{
					movie: _detectionSwfUrl, 
					width: "5", 
					height: "5", 
					id: _detectionSwfID,
					allowscriptaccess: "always"
				},
				_containerID
			);

			_flashCreated = true;
			window.setTimeout(detectionFail, _failureTimeout);
		};
		
		var flashStatusCallback = function (e) {
			if (e.success == false) {
				log("Flash embedding via SWFObject embedding failed");
				detectionFail();
			} else {
				if (e.success == true) {
					log("SWFObject callback indicated success");
					_flashCreated = true;
				}
			}
		};
		var detectionFail = function () {
			if (!SkypeDetection.ready) {
				log("Detection seems to have failed, calling failure callbacks");
				for (var i = 0; i < _failureCallbacks.length; i++) {
					_failureCallbacks[i]();
				}
			}
		};
		var detectionSuccess = function () {
			log("Detection succeeded, calling success callbacks");
			for (var i = 0; i < _successCallbacks.length; i++) {
				_successCallbacks[i]();
			}
		};
		var log = function (msg) {
			/*if (_verbose && typeof console != "undefined" && console.log) {
				console.log("[SkypeDetection] " + msg);
			}*/
		};
		var registerCallback = function (stack, fn) {
			for (var i = 0; i < stack.length; i++) {
				if (stack[i] === fn) {
					return;
				}
			}
			stack.push(fn);
		};
		var readDetectionData = function () {
			var swf = document.getElementById(_detectionSwfID);
			try {
				var data = swf.getData();
			} catch (e) {
				log("Getting data with swf.getData() failed, likely reason is browser issue with ExternalInterface setup");
				detectionFail();
				return;
			}
			SkypeDetection.installed = swf.isInstalled();
			log("Reading detection data, Skype is " + (SkypeDetection.installed ? "installed" : "not installed"));
			if (SkypeDetection.installed) {
				SkypeDetection.version = data.version;
				SkypeDetection.platform = data.platform;
				SkypeDetection.language = data.language;
				log("Using Skype version '" + data.version + "' on '" + data.platform + "' platform in language '" + data.language + "'");
				if (swf.getSharedObjectData) {
					try {
						data = swf.getSharedObjectData();
					} catch (e) {
						log("Could not read swf.getSharedObjectData()");
					}
					if (data.ui_timezone) {
						SkypeDetection.internal.profileTimezone = data.ui_timezone;
					}
					if (data.os_timezone) {
						SkypeDetection.internal.osTimezone = data.os_timezone;
					} else {
						SkypeDetection.internal.osTimezone = parseInt(new Date().getTimezoneOffset() / 60);
					}
					if (data.ui_installdate) {
						if (typeof data.ui_installdate == "string") {
							data.ui_installdate = parseInt(data.ui_installdate);
						}
						if (isNaN(data.ui_installdate) || data.ui_installdate == 0) {
							SkypeDetection.internal.profileAge = -1;
						} else {
							SkypeDetection.internal.profileAge = Math.floor(((new Date()).getTime() / 1000 - data.ui_installdate) / 60 / 60 / 24);
						}
					}
				}
				if (swf.getSessionData) {
					try {
						data = swf.getSessionData();
					} catch (e) {
						log("Could not read swf.getSessionData()");
					}
					if (data.username) {
						SkypeDetection.internal.username = data.username;
						var timeNow = (new Date()).getTime() / 1000;
						if (typeof data.expires != "undefined" && data.expires < timeNow) {
							SkypeDetection.internal.username = "";
							try {
								swf.clearSessionData();
							} catch (e) {}
						}
					}
				}
			}
			detectionSuccess();
		};
		return {
			setVerbose: function (verbose) {
				_verbose = verbose;
				log("Enabled verbose mode");
			},
			setReady: function () {
				log("Flash detection code indicated to JS that it is ready");
				SkypeDetection.ready = true;
				window.setTimeout(readDetectionData, 10);
			},
			detect: function (successFn, failureFn) {
				successFn && registerCallback(_successCallbacks, successFn);
				failureFn && registerCallback(_failureCallbacks, failureFn);
				if (SkypeDetection.ready) {
					log("Detection has already been run before");
					window.setTimeout(SkypeDetection.installed ? detectionSuccess : detectionFail,
					10);
				} else {
					if (!_flashCreated && !_initalizing) {
						_initalizing = true;
						log("Creating detection Flash helper");
						window.setTimeout(createContainer, 10);
					} else {
						log("Unhandled case, marked not ready and flash somehow created?");
					}
				}
			},
			isQualifiedVersion: function (reqver) {
				if (!SkypeDetection.ready || !SkypeDetection.installed) {
					return false;
				}
				var ver = SkypeDetection.version;
				log("Comparing detected version " + ver + " to required version " + reqver);
				ver = ver.split(".");
				reqver = reqver.split(".");
				try {
					if (parseInt(ver[0]) > parseInt(reqver[0]) || (parseInt(ver[0]) == parseInt(reqver[0]) && parseInt(ver[1]) > parseInt(reqver[1])) || (parseInt(ver[0]) == parseInt(reqver[0]) && parseInt(ver[1]) == parseInt(reqver[1]) && parseInt(ver[3]) >= parseInt(reqver[3]))) {
						return true;
					}
				} catch (e) {}
				return false;
			},
			ready: false,
			version: null,
			platform: null,
			language: null,
			installed: null,
			internal: {
				username: null,
				profileTimezone: null,
				osTimezone: null,
				profileAge: null
			}
		};
	}();
}

function skype_add_load_handler(el, evType, handle){
	if(el.addEventListener)el.addEventListener(evType, handle, false);
	else if(el.attachEvent){
		el["e" + evType + handle] = handle;
		el[evType + handle] = function(){el["e" + evType + handle](window.event)}
		el.attachEvent("on" + evType, el[evType + handle]);
	}
}

skype_add_load_handler(window, 'load', function() {
	if (window.location.protocol == 'file:') {
		return;
	}

	var _verbose = true;
	var _hasSkype = false;
	var _currentURI;
	var _notice;
	var _template = '<div style="width: 540px; height: 305px; background: white url(http://download.skype.com/share/skypebuttons/oops/bg.png) top left no-repeat; position: relative; font: 14px Verdana, sans-serif;"><a href="#" style="position: absolute; right: 20px; top: 15px; font-family: Verdana, sans-serif; color: white; font-weight: bold;">Close</a><span style="position: absolute; left: 40px; top: 44px; font: 24px/24px Verdana, sans-serif; color: white; font-weight: 500;">Hello!</span><span style="position: absolute; left: 40px; top: 90px; width: 230px; font: 14px/18px Verdana, sans-serif; color: white;">Skype buttons require that you have the latest version of Skype installed. Don&rsquo;t worry, you only need to do this once.</span><span style="position: absolute; left: 290px; top: 90px; width: 220px; font: 14px/18px Verdana, sans-serif; color: white;">Skype is a little piece of software that lets you make free calls over the internet.<br /><a href="http://www.skype.com/go/features" style="color: white">Learn more about Skype</a></span><span style="position: absolute; left: 40px; top: 200px; font: 14px/18px Verdana, sans-serif; color: black; width: 460px;">Skype is free, easy and quick to download and install.<br /> It works with Windows, Mac OS X, Linux and your mobile device.</span><form action="http://www.skype.com/go/download" method="get" target="_blank" style="position: absolute; margin: 0; padding: 0; left: 40px; top: 255px; width: 460px;"><input type="submit" value="Download Skype" style="float: left;" /><input type="button" name="haveskype" value="Already have Skype" style="float: right;" /></form></div></div>';
	var log = function (msg) {
		/*if (_verbose && console && console.log) {
			console.log("[skypeCheck.js] " + msg);
		}*/
	};
	var addListener = function (obj, ev, fn) {
		if (obj && typeof obj.addEventListener != "undefined") {
			obj.addEventListener(ev, fn, false);
		} else {
			if (obj && typeof obj.attachEvent != "undefined") {
				obj.attachEvent("on" + ev, fn);
			} else {
				log("No supported way to add event listener was found");
			}
		}
	};
	var addLinkChecks = function () {
		var links = document.getElementsByTagName("A");
		var l;
		for (var i = 0; i < links.length; i++) {
			l = links[i];
			if (l.href && l.href.indexOf("skype:") == 0) {
				addListener(l, "click", linkClickCheck);
				continue;
			}
		}
	};
	var linkClickCheck = function (e) {
		if (!e) {
			var e = window.event;
		}
		var target = e.target || e.srcElement || null;
		if (target) {
			while (target.tagName != "A" && target.parentElement) {
				target = target.parentElement;
			}
		}
		if (SkypeDetection.installed || _hasSkype) {
			log("Skype was detected, passing link through to Skype");
			return;
		} else {
			log("Skype seems not to be installed");
			target && target.href && (_currentURI = target.href);
			showNotice();
			e.preventDefault && e.preventDefault();
			e.stopPropagation && e.stopPropagation();
			e.returnValue && (e.returnValue = false);
			return false;
		}
	};
	var showNotice = function () {
		var clientWidth = 0, clientHeight = 0;
		if (!_notice) {
			log("Creating notice element");
			_notice = document.createElement("DIV");
			_notice.id = "skypeCheckNotice";
			_notice.style.position = "absolute";
			_notice.style.zIndex = "20000";
			/*@cc_on
			@if (@_jscript_version == 5.6)
			_notice.style.position = "absolute";
			@end
			@*/
			_notice.innerHTML = _template;
			document.body.appendChild(_notice);
			var f = _notice.getElementsByTagName("input");
			(f.length == 2) && addListener(f[1], "click", hasSkype);
			f.length && addListener(f[0].parentElement, "submit", onDownloading) && f[0].focus();
			
			var l = _notice.getElementsByTagName("a");
			(l.length == 2) && addListener(l[0], "click", hideDiv);
		}

		clientWidth = 0;
		clientHeight = 0;
		clientScroll = 0;
		
		if (document.body.scrollTop > 0) {
			clientScroll = document.body.scrollTop;
		}else{
			clientScroll = document.documentElement.scrollTop;
		}
		if (document && document.documentElement && document.documentElement.clientWidth) {
			clientWidth = document.documentElement.clientWidth;
			clientHeight = document.documentElement.clientHeight;
		} else {
			if (document && document.body && document.body.clientWidth) {
				clientWidth = document.body.clientWidth;
				clientHeight = document.body.clientHeight;
			}
		}
		_notice.style.top = Math.max(0, clientScroll) + "px";
		_notice.style.left = Math.max(0, Math.floor(clientWidth / 2 - 270)) + "px";
		log("Showing notice element");
		_notice.style.visibility = "visible";
	};
	var hasSkype = function () {
		log("User indicated having Skype, hiding notice, opening Skype URI " + _currentURI);
		_hasSkype = true;
		_notice.style.visibility = "hidden";
		_currentURI && location.replace(_currentURI);
		_currentURI = null;
	};
	var hideDiv = function () {
		_notice.style.visibility = "hidden";
		return false;
	}
	var onDownloading = function () {
		var i = _notice.getElementsByTagName("input");
		if (i.length > 1) {
			i[1].style["float"] = "";
			i[1].value = "I have Skype installed now";
			i[0].style.display = "none";
		}
	};
	var skypeCheck = function () {
		return SkypeDetection.ready && SkypeDetection.installed;
	};
	
	addLinkChecks();
	SkypeDetection.detect();
	window.skypeCheck = skypeCheck;

});



