
var Site = {
	
	start: function(){
		
		//if ($('nav')) Site.sfHover();	
		Site.rollOver();
		Site.fader();
		if (window.gecko) Site.formLayoutFix();
		Site.tracker("UA-4293299-6");
		Site.ajaxWireUp();
		Site.fetchWireUp();
		Site.loadWireUp();
		if ($('gallery')) Site.gallery();
		//Site.fixPNG();
		Site.menu();
		if ($('categoryContainer')) new elSelect( {container : 'categoryContainer'} );
		if ($('neighbourhoodContainer'))  new elSelect( {container : 'neighbourhoodContainer'} );

	},
	
	fixPNG:function() {
	Browser.combine({
	fixPNG: function(selector){
		if ($type(selector) == "array") return $$(selector).each(Browser.fixPNG); //legacy
		if ($(selector)) selector = $(selector).get('tag'); //legacy
		window.addEvent('domready', function(){
			if (document.all && /MSIE (5\.5|6)/.test(navigator.userAgent) &&
			  document.styleSheets && document.styleSheets[0] && document.styleSheets[0].addRule) {
				if (!$('iepngfix_tilebg_js')) {
					new Element('script', {
						src: Browser.iepngFixJs,
						id: 'iepngfix_tilebg_js',
						'type': 'text/javascript'
					}).inject(document.head);
				}
				if (!document.styleSheets[0]) new Element('style').inject(document.head);
				document.styleSheets[0].addRule(selector||'.fixPNG', 'behavior: url('+Browser.iepngfixUrl+')');
			}
		});
	},
	iepngFixJs: 'http://www.cnet.com/html/rb/assets/global/fixpng/iepngfix_tilebg.js',
	iepngfixUrl: 'http://www.perthfashionfestival.com.au/assets/css/iepngfix.htc'
});
Browser.fixPNG();	
	},


		ajaxWireUp:function() {	
		$$('.ajax').each(function(el) {
			var id = el.id;
			var container = el.getParent('div.container');
			if (container) {
				var options = el.className.match(/ajax \[(.*)\] (\S+)/);
				el.addEvent(options[1], function(e) {
				e = new Event(e).stop();	
				var request = new Request.HTML({
					url:options[2],
					update: container,
					onSuccess :  function() { Site.ajaxWireUp();     $$("a.smoothbox").each(function(el){
        el.onclick = TB_bind
    });  }
					}).post(container);
				});
			}
		});
	},
	
	
	
	gallery: function() {
		
		var obj = new Swiff('/assets/swf/loader.swf', {
container: 'gallery',
    width: 480,
    height: 500,
    params: {
        wmode: 'opaque',
        base: ".",
	quality: "best",
	bgcolor: "#333639",
	allowfullscreen: "false"
    },
    vars: {
        paramXMLPath: "../xml/param.xml",
	initialURL: escape(document.location)
    }
});

		
		
	},
	
		fetchWireUp:function() {	
		$$('.fetch').each(function(el) {
				var options = el.className.match(/fetch \[(.*)\] (\S+)/);
				el.addEvent('click', function(e) {
				e = new Event(e).stop();	
				var request = new Request.HTML({
					url:options[2],
					update: options[1],
					onSuccess :  function() { Site.ajaxWireUp(); 	Site.menu();	if ($('gallery')) Site.gallery();    $$("a.smoothbox").each(function(el){
        el.onclick = TB_bind
    }); }
					}).get();
				});
		});
	},
	
	
		loadWireUp:function() {	
		$$('.load').each(function(el) {
				var id = el.id;
				var container = el.getParent('div.container');
				var options = el.className.match(/load \[(.*)\] (\S+)/);
				el.addEvent('click', function(e) {
				e = new Event(e).stop();	
				var request = new Request.HTML({
					url:options[2],
					update: options[1],
					onSuccess :  function() { Site.ajaxWireUp(); 	Site.menu();	if ($('gallery')) Site.gallery();    $$("a.smoothbox").each(function(el){
        el.onclick = TB_bind
    }); }
					}).send(container);
				});
		});
	},
	
	


	sfHover: function(){
		$$("#nav li").addEvents({
			'mouseover' : function() { this.addClass("sfhover"); },
			'mouseout' : function() { this.removeClass("sfhover"); }
		});
	},
	
	smoothScroller : function() {
		new SmoothScroll();
	},
	
	tracker: function(code) {
		new Asset.javascript('https://ssl.google-analytics.com/ga.js', {
			id: 'gaTracker',
			onload: function() {
				var pageTracker = _gat._getTracker(code);
				pageTracker._initData();
				pageTracker._trackPageview();	
			}
		});
	},

fader : function() {
$$('.fader').each(function(el, i) {
	var ExampleFx = new Fx.Style(el, 'opacity', { 
	wait: false,
	duration: 400,
	transition: Fx.Transitions.Quart.easeInOut});
		el.addEvent('mouseenter', function() { ExampleFx.start(1, 0.01); });
		el.addEvent('mouseleave', function() { ExampleFx.start(0.01, 1); });
});
},



menu: function(){
	
		//create our Accordion instance
	var myAccordion = new Accordion($('accordion'), 'span.cat', 'div.element', {
		opacity: false,
		start: 'all-closed',
		onActive: function(toggler, element){
			
		},
		onBackground: function(toggler, element){
			
		}
	});
	
	
},


	


 



	rollOver : function() {
		$$("img").each( function(el) {
			if (el.hasClass("rollover")) {
			el.setAttribute("xsrc",el.getAttribute("src"));
			el.addEvents({
				'mouseover' : function() { this.setAttribute('src',this.className.match(/rollover (\S+)/)[1]); },
				'mouseout' : function() { this.setAttribute('src',this.getAttribute("xsrc")); }
			});
			}
		});
	},	

	

	formLayoutFix : function() {
	$$('.form label').each( function(el) {
		var content = el.getText();
		el.empty();
		el.adopt(new Element('span', {
			'styles' : {
				'display' : 'block',
				'width' : el.getStyle('width')
			}		
		}).setText(content));
		el.setStyle('display','-moz-inline-box');
		});	
	}



	
}


window.addEvent('domready', function() {Site.start()});






