
var s = 0;if(self.screen.width > 999){s = 1;}
function Img(img,href){
	if(s){
		if (href){
			document.write('<a href="'+ href+'">');
			document.write('<img src="'+ img + '" border="0" alt="" /></a><br /><br />');
		}else{
			document.write('<img src="'+ img + '" alt="" /><br /><br />');
		}
	}
}
function swapImg(num,state,side){ // nav curls only
	if(side){document.images['d'+num].src = '/i/nav/corner_' + state + '_s_' + side + '.gif';
	}else{document.images['d'+num].src = '/i/nav/corner_' + state + '.gif';}
}
var f;
function isNN(){
	var nn4 = (document.layers)? true:false;
	if (nn4){f = document.col.document.searchform;}
	else{f = document.searchform;}
}
function getOutOfFrames(){
	if(self != parent && document.domain.indexOf('www.foxtons.co') == -1){
		parent.location.href= location.href;
	}
}

var letTimer;
function showLet(lettype){
	if(lettype == 'LL'){
		clearTimeout(letTimer);
		MM_showHideLayers("LLdesc",'','show');
		MM_showHideLayers("SHdesc",'','hide');
		letTimer=setTimeout("MM_showHideLayers('LLdesc','','hide')",3000);
	}else if (lettype == 'SH'){
		clearTimeout(letTimer);
		MM_showHideLayers("LLdesc",'','hide');
		MM_showHideLayers("SHdesc",'','show');
		letTimer=setTimeout("MM_showHideLayers('SHdesc','','hide')",3000);
	}
}
var toLet=[[9999999,"Maximum"] ,[175,"£175 per week"] ,[250,"£250 pw"] ,[350,"£350 pw"] ,[500,"£500 pw"] ,[750,"£750 pw"] ,[1000,"£1000 pw"] ,[1500,"£1500 pw"] ,[9999999,"£2000+ pw"],[9999999,"_______________"]];
var toBuy=[[100000000,"Maximum"], [175000,"£175,000"], [250000,"£250,000"], [350000,"£350,000"], [500000,"£500,000"], [700000,"£700,000"], [1000000,"£1 million"], [2000000,"£2 million"], [100000000,"£5 million+"], [100000000,"_______________"]];
var price_type = "price_to";
function changeTo(theForm, whatToChangeTo){
	isNN();	
	if(whatToChangeTo!="SS"){
		toPrices=toLet;
	}else{
		toPrices=toBuy;
	}
	for(i=f[price_type].options.length;i>=0;i--){
		f[price_type].options[i]=null;
	}
	// currency exchange
	var rate = returnCurrency("rate");
	var currency = Get_Cookie('currency');
	for(i=0;i<toPrices.length;i++){
		if(currency != currency_default){
			if(i == 0){
				displayPrice = toPrices[0][1];
			}else if(i == toPrices.length-2){
				displayPrice = "Maximum";
			}else if (i == toPrices.length-1){
				displayPrice = toPrices[toPrices.length-1][1];
			}else{
				displayPrice = returnCurrency("symbol") + formatPrice(toPrices[i][0] * rate);
				if(whatToChangeTo!="SS"){
					displayPrice = displayPrice + " pw";
				}
			}
		}else{
			displayPrice = toPrices[i][1];
		}
		if(price_type == "price_from" && displayPrice == "Maximum"){
			f[price_type].options[f[price_type].options.length]=new Option("Minimum", 0,false, false);
		}else{
			f[price_type].options[f[price_type].options.length]=new Option(displayPrice, toPrices[i][0],false, false);
		}
	}
	// run again for min price dropdown
	if(f.price_from && price_type != "price_from"){
		price_type = "price_from";
		changeTo(f, whatToChangeTo);
	}else{
		// reset back
		price_type = "price_to";
	}
}
function checkCurrency(){
	var currency = Get_Cookie('currency');
	if(currency != null && currency != currency_default){
		changeTo(1,"SS");
	}
}
function checkUSA(){
	isNN();
	var state = f.location_ids.options[f.location_ids.selectedIndex].value;
	if (state == 'NY'){
		var winUSA = window.open('http://www.foxtons.com/search?region=ny','');
	}else if (state == 'NJ'){
		var winUSA = window.open('http://www.foxtons.com/search?region=nj','');
	}else if (state == 'CT'){
		var winUSA = window.open('http://www.foxtons.com/search?region=ct','');
	}else{
		return true;
	}
}

// submits quick searches
function quicksearch(frames, revise){
	urchinTracker('/t/search/quicksearch/amend');
	var qsf = document.searchform;
	var nn4 = (document.layers)? true:false;
	if (frames == 'frameset'){
		if (nn4){qsf = parent.subnav.document.col.document.searchform;}
		else{qsf = parent.subnav.document.searchform;}
	}else{
		if (nn4){qsf = document.col.document.searchform;}
		else{qsf = document.searchform;}
	}
	// check if keyword search
	if(!qsf.location_ids){
		if(qsf.radius && qsf.radius.value == ""){
			qsf.search_form.value = "keyword";
		}
	}else{
		if(qsf.location_ids.options[qsf.location_ids.selectedIndex].value == 'keyword'){
			qsf.search_form.value = "keyword";
			qsf.location_ids.options[qsf.location_ids.selectedIndex].value = '';
		}else{
			qsf.search_form.value = "map";
			qsf.keyword_value.value = "";
		}
		
	}
	var beds_min = qsf.bedrooms.options[qsf.bedrooms.selectedIndex].value;
	if(beds_min == ""){
		qsf.bedrooms.options[qsf.bedrooms.selectedIndex].value = 0;
		qsf.bedrooms_max.value = 99;
	}else if (beds_min == 6){
		qsf.bedrooms_max.value = 99;
	}else{
		if(!qsf.bedrooms_max.options){
			qsf.bedrooms_max.value = beds_min;
		}
	}
	if(revise){
		qsf.submit_type.value = "revise";
	}else{
		qsf.submit_type.value = "search";
	}
	qsf.submit();
}

// logging for sellers (stops cache of c.gif)
var now = new Date();
var randtime = now.getTime();

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i>a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i>d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}
function getCookie(NameOfCookie){
	if (document.cookie.length > 0) { 
		begin = document.cookie.indexOf(NameOfCookie+"="); 
		if (begin != -1) { 
			begin += NameOfCookie.length+1; 
			end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
				return unescape(document.cookie.substring(begin, end));
			} 
		}
	return null;
}

function checkMember(page){
	//member=getCookie('member');
	if(page){
		document.location.href = page;
	}else{
		document.location.href = "/member/";
	}
}

// cookie handling
var today = new Date();
var expires = new Date(today.getTime() + (56 * 86400000));

function Set_Cookie(name,value,expires,path,domain,secure) {
	domain = ".foxtons.co.uk";
	path = "/";
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") +
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

function Get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}


function Delete_Cookie(name,path,domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
        ( (path) ? ";path=" + path : "") +
        ( (domain) ? ";domain=" + domain : "") +
        ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


function getHistoryCookie(){
	var sh = FOXTONS.searchHistory;
	sh.cookie = Get_Cookie('searchhistory');
	if(sh.cookie != null && sh.cookie != ""){
		// if history cookie is used, eval JSON
		sh.data = eval('('+sh.cookie+')');
		// hide stuff on homepage if applicable
		if(document.getElementById('resources')){
			document.getElementById('resources').style.display = "none";
			document.getElementById('activity').style.display = "block";
		}
	}else{
		// create space for history
		sh.data = {};
		sh.data.searches = new Array();
		sh.data.properties = new Array();
		// hide headings if no cookie yet
		if(document.getElementById('activity')){
			document.getElementById('activity').style.display = "none";
		}
	}
}



function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
   document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

// pop ups //
function popup(url,w,h,scroll,name){// generic
	if(!name){name=''}
	if(!scroll){scroll = 'yes'};
	popupWin=window.open(url,name,'width='+w+',height='+h+',location=no,menubar=no,scrollbars='+scroll+',toolbar=no,resizable=no,status=yes');
	popupWin.focus();
}


function zeroPercent(url){
	zeroPercentWin=window.open(url,'zero','height=400,width=600,location=no,menubar=no,scrollbars=no,toolbar=no,resizable=no,noresize');
}

function propertywatch(){
	propertywatchWin=window.open('/buy/property_watch.html','property_watch','height=420,width=550,location=no,menubar=no,scrollbars=no,toolbar=no,resizable=no');
	propertywatchWin.focus();
}



function calculator(price,property_id,autocalc){
	var path = "";
	// set default to auto calc for use in search
	if(!autocalc){
		autocalc = 'Y';
	}
	if(price){
		path = "price=" + price + "&calc=" + autocalc;
	}else{
		path = "price=&calc=";
	}
	if (property_id) {
		path += "&property_id=" + property_id;
	}
	checkMortgageCookie();
	path += "&years="+mortgage_years + "&deposit_amount="+mortgage_deposit;
	path += "&rate="+mortgage_rate + "&repayment_type="+mortgage_type;
	path += "&overpay="+mortgage_overpay;
	path += "&lumpsum1="+ mortgage_lumpsum1+"&lumpsum1year="+mortgage_lumpsum1year;
	var currency = Get_Cookie('currency');
	if (currency == null || currency.indexOf(',') != -1) {
		currency = currency_default;
	}else{
		//currency = currency.split(',');
	}
	//path += "&currency=EUR";
	calculatorWin=window.open('/mortgages/mortgages_index.html?' + path,'calculator','height=525,width=755,location=no,menubar=no,scrollbars=no,toolbar=no,resizable=no,status=yes');
	calculatorWin.focus();
}


function stripCurrency(n) {
	if(n == ""){
		n=0;
	}
	new_n = "";
	n = n.toString();
	//remove decimal places
	if(n.indexOf(".") != -1){
		n = n.slice(0, n.indexOf("."));
	}
	// only retrieve numbers
	for (i=0; i<n.length; i++) {
		if (!isNaN(n.charAt(i))) {
			new_n += n.slice(i, i+1);
		}
	}
	if(new_n != ""){
		return new_n;
	}else{
		return n;
	}
}

function formatPrice(n) {
	n = Math.round(n);
	n = n.toString();
	L = n.length;
	// input commas
	if (L>3 && L<7) {
		n = n.substring(0, L-3)+","+n.substring(L-3, L);
	} else if (L>6) {
		n = n.substring(0, L-6)+","+n.substring(L-6, L-3)+","+n.substring(L-3, L);
	}
	return n;
}

String.prototype.ucFirst = function () {
   var firstLetter = this.substr(0,1).toUpperCase()
   return this.substr(0,1).toUpperCase() + this.substr(1,this.length);
}

function contact(enq_type,item){
	member=getCookie('member');
	if(enq_type == 99){
		document.location.href = "/cgi-bin/contact/general-99.html";
	}else{
		if (member == null) {
			document.location.href="/cgi-bin/member/profile.pl";
		}else{
			var URL = '/cgi-bin/contactme.pl?enquiry_type=' + enq_type + '&id=' + item;
			document.location.href = URL;
		}
	}
}

function ah_contact(){
    var URL = '/cgi-bin/ah_contactme.pl';
	ah_contactWin=window.open(URL,'ah_contact','height=525,width=355,location=no,menubar=no,scrollbars=no,toolbar=no,resizable=no');
	ah_contactWin.focus();
}

function save_to_scrapbook(data,scrapbook_type,inst_type){
    if (scrapbook_type == "search") {
        document.location.href="/member/add_search/?md5="+data;
    } else {
        document.location.href="/member/add_property/?property_id="+data+"&inst_type="+inst_type;
    }	
}

var ajaxOK = false;
function checkAjax(){
	if (window.XMLHttpRequest || window.ActiveXObject) {
		urchinTracker('/t/ajax/yes.html');
		ajaxOK = true;
	}else{
		urchinTracker('/t/ajax/no.html');
		//alert("Not AJAX enabled");
	}
}
// Rating Text
rt = new Array();
rt[2] = "It has potential";
rt[3] = "I like it";
rt[4] = "I really like it";
rt[5] = "I love it!";
rt[6] = "It\'s perfect!!";

var myfoxtons_cookie;
var logged_in = false;
var saved_props = [];
var myfoxtons_expiry = '';

function checkMyFoxtonsCookie(){
	myfoxtons_cookie = Get_Cookie('myfoxtons');
	if(myfoxtons_cookie != null){
		myfoxtons_cookie = eval('('+myfoxtons_cookie+')');
		saved_props = myfoxtons_cookie["properties"];
		if(myfoxtons_cookie["remember"]){
			// extend to 3 months from now
			myfoxtons_expiry = expires;
		}
		if(myfoxtons_cookie["logged_in"]){
			logged_in = true;
		}
	}
}
checkMyFoxtonsCookie();
var change_img = "_w";
// Ajax rating error:
var ajaxErrorHandler = function(){
	popup('/help/no-connection.html',355,470,'no','error')
}
var highlightEffectOK = true;
// Manage rating requests:
function rateit(which, rate, resultspage){
	// manage bgcolor of img for results/details pages
	if(resultspage){change_img = "";}
	d = document.forms["form"+which];
	i = document["prop_rating" + which];
	i.src = "/i/icons/rating_saving"+change_img+".gif";
	// check if rating is 1 and if they have clicked again
	// removes all rating
	if(d.rating.value == 2 && rate == 2){rate = 1;}
	d.rating.value = rate;
	checkAjax();
	if(ajaxOK){
		urchinTracker('/member/ajax/rate_property/'+(rate-1));
		new Ajax.Request('/member/ajax/rate_property/', { 
			parameters: Form.serialize(d),
			asynchronous: 1,
			onFailure: ajaxErrorHandler,
			onSuccess: function(request) {
				i.src = "/i/icons/rating"+change_img + rate + ".gif";
				if(resultspage){
					// fadeBg("property"+which);
					if(highlightEffectOK){
						new Effect.Highlight($("property_highlighter"+which), { duration: 1 , startcolor: "#ffff99", endcolor: "#ffffff" });
						highlightEffectOK = false;
						setTimeout("highlightEffectOK=true",1000);
					}
				}
				Set_Cookie('myfoxtons', request.responseText, myfoxtons_expiry, '/');
			}
		}) ;
	}else{
		d.submit();
	}
}

var max_properties_saved = 100;
var newHTML = "";
function saveProperty(i, prop_ref, inst_type, page) {
	rating_img_stub = "/i/icons/rating";
	extra_link_param = "";
	if(page && page == "results"){
		extra_link_param = ", true";
	}
	checkAjax();
	//alert(Get_Cookie('myfoxtons'));
	checkMyFoxtonsCookie();
	// is the cookie full?
	var total_saved_props = 0;
	for (var prop in saved_props) {
		total_saved_props++;
	}
	if(logged_in && total_saved_props >= max_properties_saved){
		var check_properties = confirm("You have reached your limit of "+ max_properties_saved + " saved properties\n\nPlease review and delete some saved properties in My Foxtons\n\nDo you want to do that now?");
		if(check_properties){
			document.location.href = "/member/properties/";
		}
	}else{
		// if not logged in, use non ajax
		if(ajaxOK && logged_in){
			//alert("SAVE USING AJAX");
			urchinTracker('/member/ajax/add_property/');
			new Ajax.Request('/member/ajax/add_property/?prop_ref=' + prop_ref + '&amp;' + 'inst_type=' + inst_type, {
				asynchronous: 1,
				onFailure: ajaxErrorHandler,
				onSuccess: function(request){ 
					var response = eval('(' + request.responseText + ')');
					//var properties_cookie = response.properties_cookie;
					Set_Cookie('myfoxtons', request.responseText, myfoxtons_expiry, '/');
					newHTML = '<form class="inline" name="form' + i + '" action="/member/properties/#' +  prop_ref + '" method="get"><input name="action" value="rate" type="hidden" /><input name="prop_ref" value="' + prop_ref + '" type="hidden" /><input name="inst_type" value="' + inst_type + '" type="hidden" /><input name="rating" value="1" type="hidden" />';
					if(page == "details"){
						newHTML += '<img src="/i/icons/add_to_notebook_tick.gif" align="absmiddle" width="36" height="34" border="0" alt="Saved property" />';
						rating_img_stub = "/i/icons/rating_w";
					}
					newHTML += 'My rating: <img src="'+rating_img_stub+'1.gif" name="prop_rating' + i + '" id="prop_rating ' + i + '" border="0" align="absmiddle" usemap="#maprate' + i + '"/>';
					newHTML +='<map name="maprate' + i + '"><area alt="'+rt[6]+'" coords="58,0,76,13" href="javascript:rateit(' + i + ',6'+extra_link_param+');"/><area alt="'+rt[5]+'" coords="44,0,58,13" href="javascript:rateit(' + i + ',5'+extra_link_param+');"/><area alt="'+rt[4]+'" coords="30,0,44,13" href="javascript:rateit(' + i + ',4'+extra_link_param+');"/><area alt="'+rt[3]+'" coords="16,0,28,13" href="javascript:rateit(' + i + ',3'+extra_link_param+');"/><area alt="'+rt[2]+'" coords="1,0,14,13" href="javascript:rateit(' + i + ',2'+extra_link_param+');"/></map>';
					newHTML += '</form>';
					$('saveproperty' + i).innerHTML = newHTML;
					// Using Ajax so remove form for non-ajax uses as duplicate form name:
					$('nonAjaxForm' + i).innerHTML = "";
					if(page == "results"){
						new Effect.Highlight($("property_highlighter"+i), { duration: 1, startcolor: "#ffff99" });
					}
				}
			});
		}else{
			//alert("SAVE USING FORM (NO AJAX)");
			document.forms["form"+i].submit();
		}
	}
}
/*
var fadeParams = new Array("#FFFF66","#FFFF99","#FFFFCC","#FFFFC4","#FFFFFF");
var fadeDuration = fadeParams.length;
var fadeTimer = 70;
var fadeCount = 0;
var fadeElement;
function fadeBg(el){
	if(el){
		fadeElement = el;
	}
	if(fadeCount < fadeDuration){
		document.getElementById(fadeElement).style.backgroundColor = fadeParams[fadeCount];
		fadeCount++;
		setTimeout("fadeBg()", fadeTimer);
	}else{
		fadeCount = 0;
	}
}

FOXTONS.effects = new Object();
var slideParams = new Array();
var slideDuration = slideParams.length;
var slideTimer = 10;
var slideCount = 0;

function slideEffect(el){
	var e = document.getElementById(el).style;
	if(slideCount < slideDuration){
		e.display = "block";
		e.height = slideParams[slideCount];
		e.overflow = "hidden";
		slideCount++;
		setTimeout("slideEffect()", slideTimer);
	}else{
		e.display = "block";
		slideCount = 0;
	}
}
*/




//////////////////// JSON LIB ///////////////////

/*
json.js
2006-04-28

This file adds these methods to JavaScript:

object.toJSONString()

This method produces a JSON text from an object. The
object must not contain any cyclical references.

array.toJSONString()

This method produces a JSON text from an array. The
array must not contain any cyclical references.

string.parseJSON()

This method parses a JSON text to produce an object or
array. It will return false if there is an error.
*/
(function () {
var m = {
'\b': '\\b',
'\t': '\\t',
'\n': '\\n',
'\f': '\\f',
'\r': '\\r',
'"' : '\\"',
'\\': '\\\\'
},
s = {
array: function (x) {
var a = ['['], b, f, i, l = x.length, v;
for (i = 0; i < l; i += 1) {
v = x[i];
f = s[typeof v];
if (f) {
v = f(v);
if (typeof v == 'string') {
if (b) {
a[a.length] = ',';
}
a[a.length] = v;
b = true;
}
}
}
a[a.length] = ']';
return a.join('');
},
'boolean': function (x) {
return String(x);
},
'null': function (x) {
return "null";
},
number: function (x) {
return isFinite(x) ? String(x) : 'null';
},
object: function (x) {
if (x) {
if (x instanceof Array) {
return s.array(x);
}
var a = ['{'], b, f, i, v;
for (i in x) {
v = x[i];
f = s[typeof v];
if (f) {
v = f(v);
if (typeof v == 'string') {
if (b) {
a[a.length] = ',';
}
a.push(s.string(i), ':', v);
b = true;
}
}
}
a[a.length] = '}';
return a.join('');
}
return 'null';
},
string: function (x) {
if (/["\\\x00-\x1f]/.test(x)) {
x = x.replace(/([\x00-\x1f\\"])/g, function(a, b) {
var c = m[b];
if (c) {
return c;
}
c = b.charCodeAt();
return '\\u00' +
Math.floor(c / 16).toString(16) +
(c % 16).toString(16);
});
}
return '"' + x + '"';
}
};
Object.prototype.toJSONString = function () {
return s.object(this);
};
Array.prototype.toJSONString = function () {
return s.array(this);
};
})();

String.prototype.parseJSON = function () {
try {
return !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test(
this.replace(/"(\\.|[^"\\])*"/g, ''))) &&
eval('(' + this + ')');
} catch (e) {
return false;
}
};
//////////////// END JSON LIB //////////////////



//-- Urchin Tracking Module 6.1 (UTM 6.1) $Revision: 1.24 $
//-- Copyright 2004 Urchin Software Corporation, All Rights Reserved.

//-- Urchin On Demand Settings ONLY
var _uacct="";			// set up the Urchin Account
var _userv=0;			// service mode (0=local,1=remote,2=both)

//-- UTM User Settings
var _ufsc=1;			// set client info flag (1=on|0=off)
var _udn=".foxtons.co.uk";	// (auto|none|domain) set the domain name for cookies
var _uhash="on";		// (on|off) unique domain hash for cookies
var _utimeout="1800";   	// set the inactive session timeout in seconds
var _ugifpath="/u/__utm.gif";	// set the web path to the __utm.gif file
var _utsp="|";			// transaction field separator
var _uflash=1;			// set flash version detect option (1=on|0=off)
var _utitle=1;			// set the document title detect option (1=on|0=off)

//-- UTM Campaign Tracking Settings
var _uctm=1;			// set campaign tracking module (1=on|0=off)
var _ucto="15768000";		// set timeout in seconds (6 month default)
var _uccn="utm_campaign";	// name
var _ucmd="utm_medium";		// medium (cpc|cpm|link|email|organic)
var _ucsr="utm_source";		// source
var _uctr="utm_term";		// term/keyword
var _ucct="utm_content";	// content
var _ucid="utm_id";		// id number
var _ucno="utm_nooverride";	// don't override

//-- Auto/Organic Sources and Keywords
var _uOsr=new Array();
var _uOkw=new Array();
_uOsr[0]="google";	_uOkw[0]="q";
_uOsr[1]="yahoo";	_uOkw[1]="p";
_uOsr[2]="msn";		_uOkw[2]="q";
_uOsr[3]="aol";		_uOkw[3]="query";
_uOsr[4]="lycos";	_uOkw[4]="query";
_uOsr[5]="ask";		_uOkw[5]="q";
_uOsr[6]="altavista";	_uOkw[6]="q";
_uOsr[7]="search";	_uOkw[7]="q";
_uOsr[8]="netscape";	_uOkw[8]="query";
_uOsr[9]="earthlink";	_uOkw[9]="q";
_uOsr[10]="cnn";	_uOkw[10]="query";
_uOsr[11]="looksmart";	_uOkw[11]="key";
_uOsr[12]="about";	_uOkw[12]="terms";
_uOsr[13]="excite";	_uOkw[13]="qkw";
_uOsr[14]="mamma";	_uOkw[14]="query";
_uOsr[15]="alltheweb";	_uOkw[15]="q";
_uOsr[16]="gigablast";	_uOkw[16]="q";
_uOsr[17]="voila";	_uOkw[17]="kw";
_uOsr[18]="virgilio";	_uOkw[18]="qs";
_uOsr[19]="teoma";	_uOkw[19]="q";
_uOsr[20]="live";		_uOkw[20]="q";
_uOsr[21]="baidu";	_uOkw[21]="wd";
_uOsr[22]="alice";	_uOkw[22]="qs";
_uOsr[23]="foxtons";	_uOkw[23]="search_form";
//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";

//-- Referral domains to Ignore
var _uRno=new Array();
//_uRno[0]=".urchin.com";

//-- **** Don't modify below this point ***
var _uff,_udh,_udt,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ujv="-",_ubd=document,_udl=_ubd.location,_uwv="6.1";
var _ugifpath2="http://service.urchin.com/__utm.gif";
if (_udl.protocol=="https:") _ugifpath2="https://service.urchin.com/__utm.gif";
function urchinTracker(page) {
 if (_udl.protocol=="file:") return;
 if (_uff && (!page || page=="")) return;
 var a,b,c,v,x="",s="",f=0;
 var nx=" expires=Sun, 18 Jan 2038 00:00:00 GMT;";
 var dc=_ubd.cookie;
 _udh=_uDomain();
 _uu=Math.round(Math.random()*2147483647);
 _udt=new Date();
 _ust=Math.round(_udt.getTime()/1000);
 a=dc.indexOf("__utma="+_udh);
 b=dc.indexOf("__utmb="+_udh);
 c=dc.indexOf("__utmc="+_udh);
 if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
 if (_utimeout && _utimeout!="") {
  x=new Date(_udt.getTime()+(_utimeout*1000));
  x=" expires="+x.toGMTString()+";";
 }
 s=_udl.search;
 if(s && s!="" && s.indexOf("__utma=")>=0) {
  a=_uGC(s,"__utma=","&");
  b=_uGC(s,"__utmb=","&");
  c=_uGC(s,"__utmc=","&");
  if (a!="-" && b!="-" && c!="-") f=1;
  else if(a!="-") f=2;
 }
 if(f==1) {
  _ubd.cookie="__utma="+a+"; path=/;"+nx;
  _ubd.cookie="__utmb="+b+"; path=/;"+x;
  _ubd.cookie="__utmc="+c+"; path=/;";
 } else if (f==2) {
  a=_uFixA(s,"&",_ust);
  _ubd.cookie="__utma="+a+"; path=/;"+nx;
  _ubd.cookie="__utmb="+_udh+"; path=/;"+x;
  _ubd.cookie="__utmc="+_udh+"; path=/;";
  _ufns=1;
 } else if (a>=0 && b>=0 && c>=0) {
  _ubd.cookie="__utmb="+_udh+"; path=/;"+x+_udo;
 } else {
  if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
  else a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
  _ubd.cookie="__utma="+a+"; path=/;"+nx+_udo;
  _ubd.cookie="__utmb="+_udh+"; path=/;"+x+_udo;
  _ubd.cookie="__utmc="+_udh+"; path=/;"+_udo;
  _ufns=1;
 }
 if (s && s!="" && s.indexOf("__utmv=")>=0) {
  if ((v=_uGC(s,"__utmv=","&"))!="-") {
   _ubd.cookie="__utmv="+unescape(v)+"; path=/;"+nx+_udo;
  }
 }
 _uInfo(page);
 _ufns=0;
 _ufno=0;
 _uff=1;
}
urchinTracker();
function _uInfo(page) {
 var p,s="",pg=_udl.pathname+_udl.search;
 if (page && page!="") pg=escape(page);
 _ur=_ubd.referrer;
 if (!_ur || _ur=="") { _ur="-"; }
 else {
  p=_ur.indexOf(_ubd.domain);
  if ((p>=0) && (p<=8)) { _ur="0"; }
  if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
 }
 s+="&utmn="+_uu;
 if (_ufsc) s+=_uBInfo(page);
 if (_uctm && (!page || page=="")) s+=_uCInfo();
 if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+escape(_ubd.title);
 if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+escape(_udl.hostname);
 if (!page || page=="") s+="&utmr="+_ur;
 s+="&utmp="+pg;
 if (_userv==0 || _userv==2) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() {_uVoid();}
 }
 if (_userv==1 || _userv==2) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
 return;
}
function _uVoid() { return; }
function _uCInfo() {
 if (!_ucto || _ucto=="") { _ucto="15768000"; }
 var c="",t="-",t2="-",o=0,cs=0,cn=0;i=0;
 var s=_udl.search;
 var z=_uGC(s,"__utmz=","&");
 var x=new Date(_udt.getTime()+(_ucto*1000));
 var dc=_ubd.cookie;
 x=" expires="+x.toGMTString()+";";
 if (z!="-") { _ubd.cookie="__utmz="+unescape(z)+"; path=/;"+x+_udo; return ""; }
 z=dc.indexOf("__utmz="+_udh);
 if (z>-1) { z=_uGC(dc,"__utmz="+_udh,";"); }
 else { z="-"; }
 t=_uGC(s,_ucid+"=","&");
 t2=_uGC(s,_ucsr+"=","&");
 if ((t!="-" && t!="") || (t2!="-" && t2!="")) {
  if (t!="-" && t!="") { c+="utmcid="+_uEC(t); if (t2!="-" && t2!="") c+="|utmcsr="+_uEC(t2);
  } else { if (t2!="-" && t2!="") c+="utmcsr="+_uEC(t2); }
  t=_uGC(s,_uccn+"=","&");
  if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
  else c+="|utmccn=(not+set)";
  t=_uGC(s,_ucmd+"=","&");
  if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
  else  c+="|utmcmd=(not+set)";
  t=_uGC(s,_uctr+"=","&");
  if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
  else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
  t=_uGC(s,_ucct+"=","&");
  if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
  t=_uGC(s,_ucno+"=","&");
  if (t=="1") o=1;
  if (z!="-" && o==1) return "";
 }
 if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1)  return ""; }
 if (c=="-" || c=="") { if (_ufns==1)  c=_uRef(); if (z!="-" && _ufno==1)  return ""; }
 if (c=="-" || c=="") {
  if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
  if (c=="-" || c=="") return "";
 }
 if (z!="-") {
  i=z.indexOf(".");
  if (i>-1) i=z.indexOf(".",i+1);
  if (i>-1) i=z.indexOf(".",i+1);
  if (i>-1) i=z.indexOf(".",i+1);
  t=z.substring(i+1,z.length);
  if (t.toLowerCase()==c.toLowerCase()) cs=1;
  t=z.substring(0,i);
  if ((i=t.lastIndexOf(".")) > -1) {
   t=t.substring(i+1,t.length);
   cn=(t*1);
  }
 }
 if (cs==0 || _ufns==1) {
  t=_uGC(dc,"__utma="+_udh,";");
  if ((i=t.lastIndexOf(".")) > 9) {
   _uns=t.substring(i+1,t.length);
   _uns=(_uns*1);
  }
  cn++;
  if (_uns==0) _uns=1;
  _ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path=/; "+x+_udo;
 }
 if (cs==0 || _ufns==1) return "&utmcn=1";
 else return "&utmcr=1";
}
function _uRef() {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k,n;
 if ((i=_ur.indexOf("://"))<0) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") > -1) {
  k=h.substring(h.indexOf("/"),h.length);
  if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
  h=h.substring(0,h.indexOf("/"));
 }
 h=h.toLowerCase();
 n=h;
 if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
 for (var ii=0;ii<_uRno.length;ii++) {
  if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
 }
 if (h.indexOf("www.")==0) h=h.substring(4,h.length);
 return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
}
function _uOrg(t) {
 if (_ur=="0" || _ur=="" || _ur=="-") return "";
 var i=0,h,k;
 if ((i=_ur.indexOf("://")) < 0) return "";
 h=_ur.substring(i+3,_ur.length);
 if (h.indexOf("/") > -1) {
  h=h.substring(0,h.indexOf("/"));
 }
 for (var ii=0;ii<_uOsr.length;ii++) {
  if (h.indexOf(_uOsr[ii]) > -1) {
   if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
    k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
    if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
    for (var yy=0;yy<_uOno.length;yy++) {
     if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
    }
    if (t) return _uEC(k);
    else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
   }
  }
 }
 return "";
}
function _uBInfo(page) {
 var sr="-",sc="-",ul="-",fl="-",je=1;
 var n=navigator;
 if (self.screen) {
  sr=screen.width+"x"+screen.height;
  sc=screen.colorDepth+"-bit";
 } else if (self.java) {
  var j=java.awt.Toolkit.getDefaultToolkit();
  var s=j.getScreenSize();
  sr=s.width+"x"+s.height;
 }
 if (_ujv=="-" && (!page || page=="")) {
  for (var i=5;i>=0;i--) {
   var t="<script language='JavaScript1."+i+"'>_ujv='1."+i+"';</script>";
   _ubd.write(t);
   if (_ujv!="-") break;
  }
 }
 if (n.language) { ul=n.language.toLowerCase(); }
 else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
 je=n.javaEnabled()?1:0;
 if (_uflash) fl=_uFlash();
 return "&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmjv="+_ujv+"&utmfl="+fl;
}
function __utmSetTrans() {
 var e;
 if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
 else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
 if (!e) return;
 var l=e.value.split("UTM:");
 var i,i2,c;
 if (_userv==0 || _userv==2) i=new Array();
 if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }

 for (var ii=0;ii<l.length;ii++) {
  l[ii]=_uTrim(l[ii]);
  if (l[ii].charAt(0)!='T' && l[ii].charAt(0)!='I') continue;
  var r=Math.round(Math.random()*2147483647);
  if (!_utsp || _utsp=="") _utsp="|";
  var f=l[ii].split(_utsp),s="";
  if (f[0].charAt(0)=='T') {
   s="&utmt=tran"+"&utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+escape(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmtst="+escape(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmtto="+escape(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmttx="+escape(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmtsp="+escape(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmtci="+escape(f[6]);
   f[7]=_uTrim(f[7]); if(f[7]&&f[7]!="") s+="&utmtrg="+escape(f[7]);
   f[8]=_uTrim(f[8]); if(f[8]&&f[8]!="") s+="&utmtco="+escape(f[8]);
  } else {
   s="&utmt=item"+"&utmn="+r;
   f[1]=_uTrim(f[1]); if(f[1]&&f[1]!="") s+="&utmtid="+escape(f[1]);
   f[2]=_uTrim(f[2]); if(f[2]&&f[2]!="") s+="&utmipc="+escape(f[2]);
   f[3]=_uTrim(f[3]); if(f[3]&&f[3]!="") s+="&utmipn="+escape(f[3]);
   f[4]=_uTrim(f[4]); if(f[4]&&f[4]!="") s+="&utmiva="+escape(f[4]);
   f[5]=_uTrim(f[5]); if(f[5]&&f[5]!="") s+="&utmipr="+escape(f[5]);
   f[6]=_uTrim(f[6]); if(f[6]&&f[6]!="") s+="&utmiqt="+escape(f[6]);
  }
  if (_userv==0 || _userv==2) {
   i[ii]=new Image(1,1);
   i[ii].src=_ugifpath+"?"+"utmwv="+_uwv+s;
   i[ii].onload=function() { _uVoid(); }
  }
  if (_userv==1 || _userv==2) {
   i2[ii]=new Image(1,1);
   i2[ii].src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+c;
   i2[ii].onload=function() { _uVoid(); }
  }
 }
 return;
}
function _uFlash() {
 var f="-",n=navigator;
 if (n.plugins && n.plugins.length) {
  for (var ii=0;ii<n.plugins.length;ii++) {
   if (n.plugins[ii].name.indexOf('Shockwave Flash')!=-1) {
    f=n.plugins[ii].description.split('Shockwave Flash ')[1];
    break;
   }
  }
 } else if (window.ActiveXObject) {
  for (var ii=10;ii>=2;ii--) {
   try {
    var fl=eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");
    if (fl) { f=ii + '.0'; break; }
   }
   catch(e) {}
  }
 }
 return f;
}
function __utmLinker(l) {
 var p,a="-",b="-",c="-",z="-",v="-";
 var dc=_ubd.cookie;
 if (l && l!="") {
  if (dc) {
   a=_uGC(dc,"__utma="+_udh,";");
   b=_uGC(dc,"__utmb="+_udh,";");
   c=_uGC(dc,"__utmc="+_udh,";");
   z=_uGC(dc,"__utmz="+_udh,";");
   v=_uGC(dc,"__utmv="+_udh,";");
   p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+escape(z)+"&__utmv="+escape(v);
  }
  if (p) {
   if (l.indexOf("?")<=-1) { document.location=l+"?"+p; }
   else { document.location=l+"&"+p; }
  } else { document.location=l; }
 }
}
function __utmLinkPost(f) {
 var p,a="-",b="-",c="-",z="-",v="-";
 var dc=_ubd.cookie;
 if (!f || !f.action) return;
 if (dc) {
  a=_uGC(dc,"__utma="+_udh,";");
  b=_uGC(dc,"__utmb="+_udh,";");
  c=_uGC(dc,"__utmc="+_udh,";");
  z=_uGC(dc,"__utmz="+_udh,";");
  v=_uGC(dc,"__utmv="+_udh,";");
  p="__utma="+a+"&__utmb="+b+"&__utmc="+c+"&__utmz="+escape(z)+"&__utmv="+escape(v);
 }
 if (p) {
  if (f.action.indexOf("?")<=-1) f.action+="?"+p;
  else f.action+="&"+p;
 }
 return;
}
function __utmSetVar(v) {
 if (!v || v=="") return;
 var r=Math.round(Math.random() * 2147483647);
 _ubd.cookie="__utmv="+_udh+"."+escape(v)+"; path=/; expires=Sun, 18 Jan 2038 00:00:00 GMT;"+_udo;
 var s="&utmt=var&utmn="+r;
 if (_userv==0 || _userv==2) {
  var i=new Image(1,1);
  i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
  i.onload=function() { _uVoid(); }
 }
 if (_userv==1 || _userv==2) {
  var i2=new Image(1,1);
  i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
  i2.onload=function() { _uVoid(); }
 }
}
function _uGCS() {
 var t,c="",dc=_ubd.cookie;
 if ((t=_uGC(dc,"__utma="+_udh,";"))!="-") c+=escape("__utma="+t+";+");
 if ((t=_uGC(dc,"__utmb="+_udh,";"))!="-") c+=escape("__utmb="+t+";+");
 if ((t=_uGC(dc,"__utmc="+_udh,";"))!="-") c+=escape("__utmc="+t+";+");
 if ((t=_uGC(dc,"__utmz="+_udh,";"))!="-") c+=escape("__utmz="+t+";+");
 if ((t=_uGC(dc,"__utmv="+_udh,";"))!="-") c+=escape("__utmv="+t+";");
 if (c.charAt(c.length-1)=="+") c=c.substring(0,c.length-1);
 return c;
}
function _uGC(l,n,s) {
 if (!l || l=="" || !n || n=="" || !s || s=="") return "-";
 var i,i2,i3,c="-";
 i=l.indexOf(n);
 i3=n.indexOf("=")+1;
 if (i > -1) {
  i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
  c=l.substring((i+i3),i2);
 }
 return c;
}
function _uDomain() {
 if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
 if (_udn=="auto") {
  var d=_ubd.domain;
  if (d.substring(0,4)=="www.") {
   d=d.substring(4,d.length);
  }
  _udn=d;
 }
 if (_uhash=="off") return 1;
 return _uHash(_udn);
}
function _uHash(d) {
 if (!d || d=="") return 1;
 var h=0,g=0;
 for (var i=d.length-1;i>=0;i--) {
  var c=parseInt(d.charCodeAt(i));
  h=((h << 6) & 0xfffffff) + c + (c << 14);
  if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
 }
 return h;
}
function _uFixA(c,s,t) {
 if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
 var a=_uGC(c,"__utma="+_udh,s);
 var lt=0,i=0;
 if ((i=a.lastIndexOf(".")) > 9) {
  _uns=a.substring(i+1,a.length);
  _uns=(_uns*1)+1;
  a=a.substring(0,i);
  if ((i=a.lastIndexOf(".")) > 7) {
   lt=a.substring(i+1,a.length);
   a=a.substring(0,i);
  }
  if ((i=a.lastIndexOf(".")) > 5) {
   a=a.substring(0,i);
  }
  a+="."+lt+"."+t+"."+_uns;
 }
 return a;
}
function _uTrim(s) {
  if (!s || s=="") return "";
  while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
  while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
  return s;
}

function _uEC(s) {
  var n="";
  if (!s || s=="") return "";
  for (var i=0;i<s.length;i++) {if (s.charAt(i)==" ") n+="+"; else n+=s.charAt(i);}
  return n;
}

function __utmVisitorCode() {
 var r=0,t=0,i=0,i2=0,m=31;
 var a=_uGC(_ubd.cookie,"__utma="+_udh,";");
 if ((i=a.indexOf(".",0))<0) return;
 if ((i2=a.indexOf(".",i+1))>0) r=a.substring(i+1,i2); else return "";  
 if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";  
 var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
 return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
}
//function to open/close nodes in dynamic menu system
function toggle(id){
	ul = "ul_" + id;
	ulElement = document.getElementById(ul);
	if (ulElement){
		if (ulElement.className == 'clsd'){
	    	ulElement.className = "open";
	    	//imgElement.src = "opened.gif";
	   	 	}else{
	   	 	ulElement.className = "clsd";
	   		//imgElement.src = "closed.gif";
        }
    }
}
