// ---------- rules global_navigation ----------var rules_global_navigation = {	'.rollover': function(el) {		// generic rollover		el = $(el);		el.initRollover();		//SmartPreload.preload(el.img.src_);	},	'.trioveron': function(el) {		// generic rollover		el = $(el);		el.initTriRollover();		el.trion();		//SmartPreload.preload(el.img.src_);	},	'.triover': function(el) {		// generic rollover		el = $(el);		el.initTriRollover();		//SmartPreload.preload(el.img.src_);	},	'#form_search_search': function(el) {		var form_search_search = $(el);		form_search_search.onfocus = function() {			if (form_search_search.value=='Search') {				form_search_search.value = '';			}		}		form_search_search.onblur = function() {			if (form_search_search.value.strip()=='') {				form_search_search.value = 'Search';			}		}	},	'#button_product': function(el) {		el = $(el);				el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_product', 'productmenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOff('button_product', 'productmenu', false);		}	},	'#productmenu': function(el) {		el = $(el);		el.delay = false;		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_product', 'productmenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOffDelayed('button_product', 'productmenu', false);		}	},	'#button_philosophy': function(el) {		el = $(el);				el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_philosophy', 'philosophymenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOff('button_philosophy', 'philosophymenu', false);		}	},	'#philosophymenu': function(el) {		el = $(el);		el.delay = false;		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_philosophy', 'philosophymenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOffDelayed('button_philosophy', 'philosophymenu', false);		}	},	'#button_performance': function(el) {		el = $(el);				el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_performance', 'performancemenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOff('button_performance', 'performancemenu', false);		}	},	'#performancemenu': function(el) {		el = $(el);		el.delay = false;		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_performance', 'performancemenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOffDelayed('button_performance', 'performancemenu', false);		}	},	'#button_gearfinder': function(el) {		el = $(el);				el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_gearfinder', 'gearfinder', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOff('button_gearfinder', 'gearfinder', false);		}	},	'#gearfinder': function(el) {		el = $(el);		el.delay = false;		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_gearfinder', 'gearfinder', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOffDelayed('button_gearfinder', 'gearfinder', false);		}	},	'#button_baacode': function(el) {		el = $(el);				el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_baacode', 'baacodemenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOff('button_baacode', 'baacodemenu', false);		}	},	'#baacodemenu': function(el) {		el = $(el);		el.delay = false;		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_baacode', 'baacodemenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOffDelayed('button_baacode', 'baacodemenu', false);		}	},	'#button_about': function(el) {		el = $(el);		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_about', 'aboutmenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOff('button_about', 'aboutmenu', false);		}	},	'#aboutmenu': function(el) {		el = $(el);		el.delay = false;		el.onmouseover = function() {			SimpleMenu.menusOff();			SimpleMenu.menuOn('button_about', 'aboutmenu', false, 'selected');		}		el.onmouseout = function() {			SimpleMenu.menuOffDelayed('button_about', 'aboutmenu', false);		}	},	'#button_dealers': function(el) {		el = $(el);				el.onmouseover = function() {			SimpleMenu.menusOff();		}	}}// abbreviationsvar abbrev = new Hash({	// gender abbreviations	gender: new Hash({		m: 'man', man: 'm',		w: 'woman', woman: 'w',		a: 'accessorise', accessorise: 'a',		j: 'junior', junior: 'j',		u: 'unisex', unisex: 'u'	}),		// collection abbreviations	collection: new Hash({		tr: 'travel', travel: 'tr',		ou: 'outdoor', outdoor: 'ou',		un: 'underwear', underwear: 'un'	}),		// range abbreviations	range: new Hash({		bf: 'bodyfit', bodyfit: 'bf',		ni: 'nature', nature: 'ni',		sf: 'superfine', superfine: 'sf',		sp: 'sport', sport: 'sp',		ex: 'exp', exp: 'ex',		ou: 'outer', outer: 'ou',		ac: 'accessorise', accessorise: 'ac',		ht: 'hats', hats: 'ht',		gl: 'gloves', gloves: 'gl',		sc: 'scarves', scarves: 'sc',		so: 'socks', socks: 'so'	}),		// sex abbreviations	sex: new Hash({		b: 'boy', boy: 'b',		g: 'girl', girl: 'g'	}),		// age abbreviations	age: new Hash({		a18: 'a1_8', a1_8: 'a18',		a14: 'a1_4', a1_4: 'a14',		a58: 'a5_8', a5_8: 'a58'	})});// signup footervar signupfooter;var SignupFooter = Class.create();SignupFooter.prototype = {	initialize: function() {		//console.debug('signupfooter initialize');				var signupfooter_form = $('signupfooter_form');		if (signupfooter_form) {			// tidy any previous request up			if (this.events!=undefined && this.events) this.unbindEvents();			this.events = true;						// references to signup form, holder, etc.			this.form = signupfooter_form;			this.action = this.form.action;			this.formholder = $('signupfooter_formholder');			this.submit_button = $('signupfooter_submit');			this.header = $('signupfooter_header');						this.name_input = $('signupfooter_name');			this.email_input = $('signupfooter_email');			this.postcode_input = $('signupfooter_postcode');						// events			this.b_onClickSubmit = this.onClickSubmit.bindAsEventListener(this);			Event.observe(this.submit_button, 'click', this.b_onClickSubmit);						this._b_onFocusInput_name = this.onFocusInput.bindAsEventListener(this, this.name_input)			this._b_onBlurInput_name = this.onBlurInput.bindAsEventListener(this, this.name_input)			Event.observe(this.name_input, 'focus', this._b_onFocusInput_name);			Event.observe(this.name_input, 'blur', this._b_onBlurInput_name);			this._b_onFocusInput_email = this.onFocusInput.bindAsEventListener(this, this.email_input);			this._b_onBlurInput_email = this.onBlurInput.bindAsEventListener(this, this.email_input);			Event.observe(this.email_input, 'focus', this._b_onFocusInput_email);			Event.observe(this.email_input, 'blur', this._b_onBlurInput_email);			this._b_onFocusInput_postcode = this.onFocusInput.bindAsEventListener(this, this.postcode_input);			this._b_onBlurInput_postcode = this.onBlurInput.bindAsEventListener(this, this.postcode_input);			Event.observe(this.postcode_input, 'focus', this._b_onFocusInput_postcode);			Event.observe(this.postcode_input, 'blur', this._b_onBlurInput_postcode);		}	},	send: function() {		// serialise form, send it		var formdata = this.form.serialize();		//console.debug('send '+formdata);				if (Ajax.activeRequestCount==0) {			this.disable();			this.ajax_send = new Ajax.Updater(				{					success:this.formholder,					failure:this.header				},				this.action,				{					method: 'get',					parameters: formdata,					evalScripts: true,					onSuccess: this.onSuccess.bind(this),					onFailure: this.onFailure.bind(this),					onException: this.onException.bind(this)				}			);		}	},	disable: function() {		this.form.disable();	},	enable: function() {		this.form.enable();	},	onClickSubmit: function(event) {		// submit button		Event.stop(event);		this.send();	},	onSuccess: function() {		//console.debug('success!');		this.enable();	},	onFailure: function(xhr_obj, json_obj) {		//console.debug('ajax failed: '+($H(this).inspect()));		this.enable();		this.header.update('Sorry, there was a problem. Please try signing up again.');	},	onException: function (ajax_request, e) {		//console.debug('ajax exception: '+($H(this).inspect()));		this.enable();		this.header.update('Sorry, there was a problem. Please try signing up again.');		window.alert($H(e).inspect());	},	onFocusInput: function(event, el) {		// input prompt text		if ((el==this.name_input && this.name_input.value=="Enter your name") ||			(el==this.email_input && this.email_input.value=="Enter your email") ||			(el==this.postcode_input && this.postcode_input.value=="Enter your postcode")) {			el.value = "";		}	},	onBlurInput: function(event, el) {		// input prompt text		if (el==this.name_input && this.name_input.value=="") {			el.value = "Enter your name";		} else if (el==this.email_input && this.email_input.value=="") {			el.value = "Enter your email";		} else if (el==this.postcode_input && this.postcode_input.value=="") {			el.value = "Enter your postcode";		}	},	unbindEvents: function() {		Event.stopObserving(this.submit_button, 'click', this.b_onClickSubmit);				Event.stopObserving(this.name_input, 'focus', this._b_onFocusInput_name);		Event.stopObserving(this.name_input, 'blur', this._b_onBlurInput_name);		Event.stopObserving(this.email_input, 'focus', this._b_onFocusInput_email);		Event.stopObserving(this.email_input, 'blur', this._b_onBlurInput_email);		Event.stopObserving(this.postcode_input, 'focus', this._b_onFocusInput_postcode);		Event.stopObserving(this.postcode_input, 'blur', this._b_onBlurInput_postcode);	}}// ---------- init global ----------function initGlobal() {	// console.info('initGlobal()');	//initTooltip();		// global rules	Behaviour.applySheet(rules_global_navigation);	signupfooter = new SignupFooter();}