// General Javascript Functions
// Move generic js functions to one file - CS 29/11/2006
// Set up trim string function - usage = myString.trim()
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };
// Open a popup window
function openWindow(theURL,winName,features)
{
	window.open(theURL,winName,features);
}
// Open a linked popup window
function openLinkedWindow(theURL,winName,features)
{
	if (!window[winName] || window[winName].closed)
	{
		window[winName] = window.open(theURL,winName,features);
		window[winName].focus();
	} 
	else 
	{
		window[winName].focus();
		window[winName].location = theURL;
	}
}

// Open window inside browser window
function openBrowserWindow(winName,url,title,width,height) {
	scrollTo(0,0);
	thisWindow = new Window(winName, { url: url, className: "alphacube", title: title, width: width, height: height, destroyOnClose: true, recenterAuto:false});
	thisWindow.showCenter(true);
}

// http://www.sitepoint.com/article/javascript-from-scratch/2
function addLoadListener(fn)
{
 if (typeof window.addEventListener != 'undefined')
 {
   window.addEventListener('load', fn, false);
 }
 else if (typeof document.addEventListener != 'undefined')
 {
   document.addEventListener('load', fn, false);
 }
 else if (typeof window.attachEvent != 'undefined')
 {
   window.attachEvent('onload', fn);
 }
 else
 {
   var oldfn = window.onload;
   if (typeof window.onload != 'function')
   {
     window.onload = fn;
   }
   else
   {
     window.onload = function()
     {
       oldfn();
       fn();
     };
   }
 }
}
//Homepage SearchBox Functions
function ValidateSearchBox(form,defaultsubtext) {
	var searchType = form.search_type.value;
	var searchValue = form.value.value;
	var numValue = parseInt(searchValue);
	var formAction = form.action;
	var propTypeId = searchType + "_proptype";

	/* Update Prop Type Value */
	if (document.getElementById('propTypeId'))
		$("prop_type").value = $(propTypeId).value;
	
	if (formAction.indexOf("advancedsearch") > 0) {
		return true;
	}
	else if (searchType == "bussale") {
		return true;
	}
	else {
		if (searchValue == "" || searchValue == defaultsubtext)
		{
			alert ("You must enter a search parameter to continue.");
			return false;
		}
		else if ( !(isNaN(numValue)) && !( numValue >= 6000 && numValue <= 6999 ) && ( (searchValue != numValue) || (searchValue.length > 7) || (searchValue.length < 6) ) )
		{
			alert("Listing number must be a six or seven digit number");
			return false;
		}	
		return true;
	}
}

function ajaxLog(baseurl,session_key,accesslog_type,reference_id,reference_field,reference_table,accesslog_class,source,web_page) 
{
	var http = getHTTPObject(); // We create the HTTP Object 
	var url = baseurl + "/cfc/gateway/hit-access.cfc?method=ajax_logaccess&session_key=" + session_key + 
	"&accesslog_type=" + accesslog_type + "&reference_id=" + reference_id + "&reference_field=" + 
	reference_field + "&reference_table=" + reference_table + "&accesslog_class=" + 
	accesslog_class + "&source=" + source + "&web_page=" + web_page;
	http.open("GET", url, true); 
	http.setRequestHeader( "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT" );
	http.send(null);
 }
 function getHTTPObject() 
{ 
	var xmlhttp; 
	/*@cc_on 
	@if (@_jscript_version >= 5) 
		try 
		{ 
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
		} 
		catch (e) 
		{ 
			try 
			{ 
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
			} 
			catch (E) 
			{ 
				xmlhttp = false; 
			} 
		} 
	@else xmlhttp = false; 
	@end @*/  
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') 
	{ 
		try 
		{ 
			xmlhttp = new XMLHttpRequest(); 
		} 
		catch (e) 
		{ 
			xmlhttp = false; 
		} 
	} 
	return xmlhttp; 
} 

/* The first part:
^[\\w-_\.]
^ means "check the first character". In this case it's checking to make sure its a word character (a-z0-9) 
using \\w and it can also be a underscore, hyphen, or period (although this isn't normal, they are legal 
email characters) 

Next:
*[\\w-_\.] 
The * means "match the preceding zero or more times". and of course the next part [\\w-_\.] makes sure they 
are word characters or underscores, etc. 

Next:
\@[\\w]\.+ 
\@ checks for the @ symbol. \.+ means find at least one period after symbol. This means it must be in the 
@w. format and not @. or @#. 

Last:
[\\w]+[\\w]$ 
[\\w] makes sure there is a word character after the period. [\\w]$ checks the last character to make sure 
it's a word character (domain or IP address) and not a odd character. $ means "check the last character". 
*/
function isValidEmail(src) {
	// var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
	//var emailReg = "^['_A-Za-z0-9-]+(\.['_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.(([A-Za-z]{2,3})|(aero|coop|info|museum|name))$";
	//var emailReg = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
	
	//IBC
	var emailReg = /^[\w'']+([\.-]?[\w'']+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/;
	
	var regex = new RegExp(emailReg);
	return regex.test(src);
}

function ValidateSuburbPrices(form,defaultsubtext) {
	if (form.bedrooms.value == 0) {
		alert("Please select number of bedrooms.");
		return false;
	}
	else if (form.suburb.value == '' || form.suburb.value == defaultsubtext) {
		alert("Please enter a suburb.");
		return false;
	}
	return true;
}
function ValidateSalesHistory(form,defaultsubtext) {
	if (form.suburb.value == '' || form.suburb.value == defaultsubtext) {
		alert("Please enter a suburb.");
	}
	else {
		form.submit();
	}
}

function ValidateLongTerm(form,defaultsubtext) {
	if (form.suburb.value == '' || form.suburb.value == defaultsubtext) {
		alert("Please enter a suburb.");
	}
	else if (form.ID.value == '') {
		alert("Please select a suburb from the list");
	}
	else {
		form.submit();
	}
}
function getBuyParams(element, entry) {
	var type = 'buy';
	var type_id = type + '_type';
	var search_type = $(type_id).value;
	if (search_type == "land") {
		search_type = $('land_proptype').value;
	}
	var thisParams = entry + "&type=" + type + "&searchtype=" + search_type;
	return thisParams;
}
function getRentParams(element, entry) {
	var type = 'rent';
	var type_id = type + '_type';
	var search_type = $(type_id).value;
	var thisParams = entry + "&type=" + type + "&searchtype=" + search_type;
	return thisParams;
}
function resetSearch(type,action) {
	var value_id = type + '_value';
	var update_id = type + '_autocomplete';
	if (action == 'click') {
		if ($(value_id).value == 'suburb, postcode or ID') {
			$(value_id).value = '';
			$(update_id).style.display='';
		}
	}
	else if (action == 'blur') {
		setTimeout(function() {
					$(update_id).style.display='none';
					}, 2000);
	}
}

function goToRentStep(form) {
	for (i=0;i<form.rent_search_type.length;i++) {
		if (form.rent_search_type[i].checked) {
			var searchType = form.rent_search_type[i].value;
		}
	}
	$('rent_type').value = searchType;
	if (searchType == "commrent") {
		$("resrentOptions").style.display = "none";
	}
	else {
		$("resrentOptions").style.display = "";
	}
}

function changePropTypeSelect(search_type) {
	var PropTypeId = search_type + "_proptype";
	
	/* Reset PropType Displays to none */
	$("bussale_proptype").style.display = "none";
	$("commsale_proptype").style.display = "none";
	$("ruralsale_proptype").style.display = "none";
	$("ressale_proptype").style.display = "none";
	$("land_proptype").style.display = "none";
	$("buy_value_con").style.display = "";
	
	/* Show selected PropType */
	$(PropTypeId).style.display = "";

	/* Hide Suburb search for BusSale */
	if (search_type == "bussale") {
		$("buy_value_con").style.display="none";
	}
}

function goToBuyStep(form) {
	for (i=0;i<form.buy_search_type.length;i++) {
		if (form.buy_search_type[i].checked) {
			var searchType = form.buy_search_type[i].value;
		}
	}
	$('buy_type').value = searchType;
	changePropTypeSelect(searchType);
	//changeSearchBox(searchType);
}

function selectTab(elem) {
	if (elem) {
		var s1 = $("sid1");
		var a1 = $("aid1");
		var s2 = $("sid2");
		var a2 = $("aid2");
		var s3 = $("sid3");
		var a3 = $("aid3");
		
		if (elem == a1) {
			s1.className = "selected";
			a1.className = "selected";
			s2.className = "";
			a2.className = "";
			s3.className = "";
			a3.className = "";
		}
		if (elem == a2) {
			s1.className = "";
			a1.className = "";
			s2.className = "selected";
			a2.className = "selected";
			s3.className = "";
			a3.className = "";
		}
		if (elem == a3) {
			s1.className = "";
			a1.className = "";
			s2.className = "";
			a2.className = "";
			s3.className = "selected";
			a3.className = "selected";
		}
	}
}

function PopupChgPassword ( userID ) {
	popupURL = "/sec/sec-my-publicuser-chgpassword.cfm?Id=" + userID;
	popupDefn = "height=250,width=300,scrollbars=no";
	popupWindow = window.open(popupURL, 'PopupChgPassword', popupDefn );
	popupWindow.focus();
}
function popupSaveSearchAbout ( ) 
{
	popupURL = "/lst/lst-popup-savesearch-about.cfm";
	popupDefn = "height=600,width=670,scrollbars=Yes";
	popupWindow = window.open(popupURL, 'SaveSearchAbout', popupDefn );
	popupWindow.focus();
}

function popupPropListsAbout ( ) 
{
	popupURL = "/lst/lst-popup-mypropertylist-about.cfm";
	popupDefn = "height=600,width=670,scrollbars=Yes";
	popupWindow = window.open(popupURL, 'PropListAbout', popupDefn );
	popupWindow.focus();
}

// Flash Player Version Detection - Rev 1.6
// Detect Client Browser type
// Copyright(c) 2005-2006 Adobe Macromedia Software, LLC. All rights reserved.
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

		// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}
/*	SWFObject v2.0 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write("<script id=__ie_ondomload defer=true src=//:><\/script>");var i=c("__ie_ondomload");if(i){i.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);V()}}}}catch(j){}}if(a.webkit&&typeof g.readyState!=Z){Q=setInterval(function(){if(/loaded|complete/.test(g.readyState)){V()}},10)}if(typeof g.addEventListener!=Z){g.addEventListener("DOMContentLoaded",V,null)}M(V)}();function V(){if(S){return }if(a.ie&&a.win){var m=Y("span");try{var l=g.getElementsByTagName("body")[0].appendChild(m);l.parentNode.removeChild(l)}catch(n){return }}S=true;if(Q){clearInterval(Q);Q=null}var j=f.length;for(var k=0;k<j;k++){f[k]()}}function J(i){if(S){i()}else{f[f.length]=i}}function M(j){if(typeof G.addEventListener!=Z){G.addEventListener("load",j,false)}else{if(typeof g.addEventListener!=Z){g.addEventListener("load",j,false)}else{if(typeof G.attachEvent!=Z){G.attachEvent("onload",j)}else{if(typeof G.onload=="function"){var i=G.onload;G.onload=function(){i();j()}}else{G.onload=j}}}}}function I(){var l=H.length;for(var j=0;j<l;j++){var m=H[j].id;if(a.pv[0]>0){var k=c(m);if(k){H[j].width=k.getAttribute("width")?k.getAttribute("width"):"0";H[j].height=k.getAttribute("height")?k.getAttribute("height"):"0";if(O(H[j].swfVersion)){if(a.webkit&&a.webkit<312){U(k)}X(m,true)}else{if(H[j].expressInstall&&!C&&O("6.0.65")&&(a.win||a.mac)){D(H[j])}else{d(k)}}}}else{X(m,true)}}}function U(m){var k=m.getElementsByTagName(P)[0];if(k){var p=Y("embed"),r=k.attributes;if(r){var o=r.length;for(var n=0;n<o;n++){if(r[n].nodeName.toLowerCase()=="data"){p.setAttribute("src",r[n].nodeValue)}else{p.setAttribute(r[n].nodeName,r[n].nodeValue)}}}var q=k.childNodes;if(q){var s=q.length;for(var l=0;l<s;l++){if(q[l].nodeType==1&&q[l].nodeName.toLowerCase()=="param"){p.setAttribute(q[l].getAttribute("name"),q[l].getAttribute("value"))}}}m.parentNode.replaceChild(p,m)}}function F(i){if(a.ie&&a.win&&O("8.0.0")){G.attachEvent("onunload",function(){var k=c(i);if(k){for(var j in k){if(typeof k[j]=="function"){k[j]=function(){}}}k.parentNode.removeChild(k)}})}}function D(j){C=true;var o=c(j.id);if(o){if(j.altContentId){var l=c(j.altContentId);if(l){L=l;T=j.altContentId}}else{L=b(o)}if(!(/%$/.test(j.width))&&parseInt(j.width,10)<310){j.width="310"}if(!(/%$/.test(j.height))&&parseInt(j.height,10)<137){j.height="137"}g.title=g.title.slice(0,47)+" - Flash Player Installation";var n=a.ie&&a.win?"ActiveX":"PlugIn",k=g.title,m="MMredirectURL="+G.location+"&MMplayerType="+n+"&MMdoctitle="+k,p=j.id;if(a.ie&&a.win&&o.readyState!=4){var i=Y("div");p+="SWFObjectNew";i.setAttribute("id",p);o.parentNode.insertBefore(i,o);o.style.display="none";G.attachEvent("onload",function(){o.parentNode.removeChild(o)})}R({data:j.expressInstall,id:K,width:j.width,height:j.height},{flashvars:m},p)}}function d(j){if(a.ie&&a.win&&j.readyState!=4){var i=Y("div");j.parentNode.insertBefore(i,j);i.parentNode.replaceChild(b(j),i);j.style.display="none";G.attachEvent("onload",function(){j.parentNode.removeChild(j)})}else{j.parentNode.replaceChild(b(j),j)}}function b(n){var m=Y("div");if(a.win&&a.ie){m.innerHTML=n.innerHTML}else{var k=n.getElementsByTagName(P)[0];if(k){var o=k.childNodes;if(o){var j=o.length;for(var l=0;l<j;l++){if(!(o[l].nodeType==1&&o[l].nodeName.toLowerCase()=="param")&&!(o[l].nodeType==8)){m.appendChild(o[l].cloneNode(true))}}}}}return m}function R(AE,AC,q){var p,t=c(q);if(typeof AE.id==Z){AE.id=q}if(a.ie&&a.win){var AD="";for(var z in AE){if(AE[z]!=Object.prototype[z]){if(z=="data"){AC.movie=AE[z]}else{if(z.toLowerCase()=="styleclass"){AD+=' class="'+AE[z]+'"'}else{if(z!="classid"){AD+=" "+z+'="'+AE[z]+'"'}}}}}var AB="";for(var y in AC){if(AC[y]!=Object.prototype[y]){AB+='<param name="'+y+'" value="'+AC[y]+'" />'}}t.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AD+">"+AB+"</object>";F(AE.id);p=c(AE.id)}else{if(a.webkit&&a.webkit<312){var AA=Y("embed");AA.setAttribute("type",W);for(var x in AE){if(AE[x]!=Object.prototype[x]){if(x=="data"){AA.setAttribute("src",AE[x])}else{if(x.toLowerCase()=="styleclass"){AA.setAttribute("class",AE[x])}else{if(x!="classid"){AA.setAttribute(x,AE[x])}}}}}for(var w in AC){if(AC[w]!=Object.prototype[w]){if(w!="movie"){AA.setAttribute(w,AC[w])}}}t.parentNode.replaceChild(AA,t);p=AA}else{var s=Y(P);s.setAttribute("type",W);for(var v in AE){if(AE[v]!=Object.prototype[v]){if(v.toLowerCase()=="styleclass"){s.setAttribute("class",AE[v])}else{if(v!="classid"){s.setAttribute(v,AE[v])}}}}for(var u in AC){if(AC[u]!=Object.prototype[u]&&u!="movie"){E(s,u,AC[u])}}t.parentNode.replaceChild(s,t);p=s}}return p}function E(k,i,j){var l=Y("param");l.setAttribute("name",i);l.setAttribute("value",j);k.appendChild(l)}function c(i){return g.getElementById(i)}function Y(i){return g.createElement(i)}function O(k){var j=a.pv,i=k.split(".");i[0]=parseInt(i[0],10);i[1]=parseInt(i[1],10);i[2]=parseInt(i[2],10);return(j[0]>i[0]||(j[0]==i[0]&&j[1]>i[1])||(j[0]==i[0]&&j[1]==i[1]&&j[2]>=i[2]))?true:false}function A(m,j){if(a.ie&&a.mac){return }var l=g.getElementsByTagName("head")[0],k=Y("style");k.setAttribute("type","text/css");k.setAttribute("media","screen");if(!(a.ie&&a.win)&&typeof g.createTextNode!=Z){k.appendChild(g.createTextNode(m+" {"+j+"}"))}l.appendChild(k);if(a.ie&&a.win&&typeof g.styleSheets!=Z&&g.styleSheets.length>0){var i=g.styleSheets[g.styleSheets.length-1];if(typeof i.addRule==P){i.addRule(m,j)}}}function X(k,i){var j=i?"visible":"hidden";if(S){c(k).style.visibility=j}else{A("#"+k,"visibility:"+j)}}return{registerObject:function(l,i,k){if(!a.w3cdom||!l||!i){return }var j={};j.id=l;j.swfVersion=i;j.expressInstall=k?k:false;H[H.length]=j;X(l,false)},getObjectById:function(l){var i=null;if(a.w3cdom&&S){var j=c(l);if(j){var k=j.getElementsByTagName(P)[0];if(!k||(k&&typeof j.SetVariable!=Z)){i=j}else{if(typeof k.SetVariable!=Z){i=k}}}}return i},embedSWF:function(n,u,r,t,j,m,k,p,s){if(!a.w3cdom||!n||!u||!r||!t||!j){return }r+="";t+="";if(O(j)){X(u,false);var q=(typeof s==P)?s:{};q.data=n;q.width=r;q.height=t;var o=(typeof p==P)?p:{};if(typeof k==P){for(var l in k){if(k[l]!=Object.prototype[l]){if(typeof o.flashvars!=Z){o.flashvars+="&"+l+"="+k[l]}else{o.flashvars=l+"="+k[l]}}}}J(function(){R(q,o,u);if(q.id==u){X(u,true)}})}else{if(m&&!C&&O("6.0.65")&&(a.win||a.mac)){X(u,false);J(function(){var i={};i.id=i.altContentId=u;i.width=r;i.height=t;i.expressInstall=m;D(i)})}}},getFlashPlayerVersion:function(){return{major:a.pv[0],minor:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:O,createSWF:function(k,j,i){if(a.w3cdom&&S){return R(k,j,i)}else{return undefined}},createCSS:function(j,i){if(a.w3cdom){A(j,i)}},addDomLoadEvent:J,addLoadEvent:M,getQueryParamValue:function(m){var l=g.location.search||g.location.hash;if(m==null){return l}if(l){var k=l.substring(1).split("&");for(var j=0;j<k.length;j++){if(k[j].substring(0,k[j].indexOf("="))==m){return k[j].substring((k[j].indexOf("=")+1))}}}return""},expressInstallCallback:function(){if(C&&L){var i=c(K);if(i){i.parentNode.replaceChild(L,i);if(T){X(T,true);if(a.ie&&a.win){L.style.display="block"}}L=null;T=null;C=false}}}}}();