/*
	2009 ashd
	20100208 tomc
*/
window.addEvent("domready", function(){
	
	if(!window.dimmer) window.dimmer = new Dimmer();

	
	//
	//	DEVELOPMENT MENU
	//	
	var bg 			= document.getElement(".dev-tabs");
	var contentEls	= $$("#panels-container > *.tab");
	
	if(bg){
		bg.set("morph", {
			transition	:Fx.Transitions.Expo.easeInOut,
			duration	:900
		});
		
		bg.setStyles({"background-position"	:"1px 0px"});
		
		//
		//	HANDLE TAB EVENT
		//
		$$(".dev-tabs .tab").each(function( tab, index, tabs ){
			// figure out the related content element //
			tab.tabContentEl	= ( index < contentEls.length ) ? contentEls[index] : new Element("div");
			tab.switchCount		= 0;
			
			
			tab.selectTab = function( skipTracking ){
				
				if(this.getProperty('title')){
					window.location = '#'+this.getProperty('title');
				}
				
				if( !skipTracking ){
					_gaq.push(['_trackEvent', 'development-event', 'goto-tab', this.getProperty("text").replace(/^\s+|\s+$/g, ''), ++this.switchCount ]);
				}
				
				bg.morph({
					"background-position":  (this.getPosition(bg).x + this.getSize().x ) + "px 0px"
				});
				
				// tab active //
				tabs.morph(".dev-tab-default");
				this.get('morph').cancel();
				this.morph(".dev-tab-active");

				// cycle content //
				contentEls.addClass("hidden").addClass("dont-print");
				
				this.tabContentEl.removeClass("dont-print").removeClass("hidden");//.addClass("print");
			};
			
			tab.addEvents({
				click:function(e){
					if(e) new Event(e).stop();
					this.selectTab();
					return false;
				}
			});
		});
		
		//
		//	USE # URL FRAGMENT
		//
		var fragment = new URI( window.location ).get("fragment");
		if( fragment ){
			var el = document.getElement(".dev-tabs .tab[title=" + fragment + "]");
			if(el){
				el.fireEvent("click");
			}
		}
		else{
			document.getElement(".dev-tabs .tab").selectTab(true);
		}
	}
	
	
	
	/*
		GET MORGRAGE LINK
		actually just goes to sitestream tab
	*/
	$$(".get-mortgage-link").addEvent("click", function(e){
		document.getElement('.dev-menu .dev-tabs .tab:nth-child(3)').fireEvent('click');
		return false;
	});
	
	/*
		DEVELOPMENT CONTACT
	*/
	var devForm = new ContactForm({
		dimmer		:window.dimmer,
		frameEl		:$("dev-follow"),
		formEl		:document.getElement("#dev-follow form")
	});
	$$(".contact-form-link").addEvents({click:function(e){
		if(e) e.stop();
		devForm.begin();
		return false;
	}});
	
	/*
		DEVELOPMENT MORTGAGE CONTACT
	*/
	var devMortgageForm = new ContactForm({
		dimmer		:window.dimmer,
		frameEl		:$("dev-mortgage"),
		formEl		:document.getElement("#dev-mortgage form")
	});
	$$(".mortgage-form-link").addEvents({
		click:function(e){
			if(e) e.stop();
			
			var form		= devMortgageForm.options.formEl;
			var plotRec		= new Hash();
			
			// TRY TO DISCOVER PLOT DATA //
			if( j = $H(JSON.decode(this.getProperty("data"))) ){
				if( plotData.length > j.get("plotIndex") )
					plotRec = $H(plotData[j.get("plotIndex")]);
				else
					plotRec = j;
			}
			
			if( plotRec.getLength() ){
				// set values //
				form.getElement("input[name=plot_number]").setProperty("value", plotRec.get("plotNumber") );
				
				// set title elements //
				form.getElement("h3.dev-form-title span.plot").setProperty("text", plotRec.get("plotNumber") + " - ");
				form.getElement("h3.dev-form-title span.subtitle").setProperty("text", plotRec.get("subtitle"));
				form.getElement("h3.dev-form-title span.price").setProperty("html", "&pound;" + plotRec.get("price"));
			}
			else {
				// set values //
				form.getElement("input[name=plot_number]").setProperty("value", "N/A");
				
				// set title elements //
				form.getElement("h3.dev-form-title span.plot").setProperty("text", "" );
				form.getElement("h3.dev-form-title span.subtitle").setProperty("text", "" );
				form.getElement("h3.dev-form-title span.price").setProperty("html", "" );
			}
			
			devMortgageForm.begin();
			
			return false;
		}
	});	
	
	
	
	
	
	
	
	
	
	
	
	

	//
	//	brochure click event
	//
	var bDlCount = 0;
	$$("#Brochure a").addEvents({
		click:function(e){
		
			_gaq.push(['_trackEvent', 'development-event', 'download-brochure', this.getProperty("href"), ++bDlCount ]);

		}
	});
	
	
	//
	//	CREATE PRINTABLE EMAIL ADDRESS
	//
	if( $("OffersDevelopment") ){
		$("OffersDevelopment").getElements("a[href]").each(function(a){
			var href = new URI(a.getProperty("href"));
			if( href.get( "scheme" ) == "mailto" ){
				var v = href.get("value").match( /mailto:([\w]*@[\w\.]*)/i );
				if( v.length > 1 ){
					new Element("span",{
						"class"		:'print-only print-email',
						'text'		:v[1]
					}).inject(a, 'after');
				}
			}
			
			a.addClass("dont-print");
			
		});	
	}
	
	
	
	
	
	
	
	//
	//	RELATED DEVELOPMENTS POPUP
	//
	/*
	$$(".related-developments-link").addEvents({
		click:function(){
			$$(".related-developments").each(function(el){
				var clone = el.clone();
				clone.fade(1);
				clone.setStyles({
					display		:"block"
				});
				SqueezeBox.open(clone, {handler: 'adopt'});
			});
		}
	});
	*/
	$$(".related-developments-link").addEvents({
		click:function(){
			
			window.dimmer.begin();
			
			$$(".related-developments").each(function(el){
				el.fade(1);
				el.setStyles({
					display		:"block"
				});
				el.setStyles({
					top			:window.getScroll().y + (window.getSize().y/2),
					marginTop	:-(el.getSize().y/2),
					marginLeft	:-(el.getSize().x/2)
				});
			});
			
		}
	});
	
	window.dimmer.addEvent("end", function(){
		$$(".related-developments").fade(0);
	});
	
	$$(".related-developments-close").addEvents({"click":function(){
		window.dimmer.end();
	}});
	
	
});

