
var Site = {

	start: function(parent){
		if ($('nav')) Site.sfHover(parent);
                if (Browser.Engine.trident) Site.html5();
		Site.rollOver(parent);
		if (window.gecko) Site.formLayoutFix(parent);
		Site.ajax(parent);
		Site.fetch(parent);
		Site.update(parent);
		Site.popup(parent);
		Site.tabify();		
		Site.menuWireUp();	
	},


        html5 : function() {
            var header = new Element('header');
            var nav =  new Element('nav');
            var section =  new Element('section');
            new Element('article');
            new Element('aside');
            new Element('footer');
        },
	
	popup: function(parent) {
	$(parent).getElements("a.popup").each(function(el) {  
		el.addEvent('click',function(e){
			if (e) e.stop();
				new LightFace.IFrame({
					url: el.get('href'),
					draggable:true,
					width: 950,
					height: 600,
					title: el.get('title'),
					buttons: [
						{ title: 'Close', event: function() { this.close(); }, color: 'green' }
					]
				}).open();
		});
	});
    },
    
    
	menuWireUp:function() {
		$$('.toggle').each(function(el) {

			var myVerticalSlide = new Fx.Slide(el.id + 'Container');

			$(el.id).addEvent('click', function(e){
				e.stop();
				myVerticalSlide.toggle();
			});

		});


	},
	
	tabify:function() {
		if ($('tabs')) var tabs = new TinyTab($$('ul.tabs li'),$$('ul.contents li'));
	},




	ajax:function(parent) {

		$(parent).getElements('.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();
				if (el.getProperty('type') == 'button') el.setProperty('disabled','disabled');
				var log = $('log').empty().addClass('ajax-loading');
				var request = new Request.HTML({
					url:options[2],
					update: container,
					onSuccess :  function() {
						Site.start(container);
					},
					onComplete : function() {
						log.removeClass('ajax-loading');
					}
					}).post(container);
				});
			}
		});
	},

	hero: function(link) {

		var obj = new Swiff('/assets/swf/sp.swf', {
container: 'hero',
    width: 960,
    height: 400,
    params: {
        wmode: 'transparent',
        base: ".",
	quality: "best",
	bgcolor: "#333639",
	allowfullscreen: "false"
    },
    vars: {
	href : link,
        paramXMLPath: "../xml/param.xml",
	initialURL: escape(document.location)
    }
});

	},
	
	
video: function(album) {
		var obj = new Swiff('/assets/swf/sp.swf', {
container: 'video',
    width: 960,
    height: 600,
    params: {
        wmode: 'transparent',
        base: ".",
	quality: "best",
	allowfullscreen: "false"
    },
    vars: {
	xmlfiletype: "Director",
	xmlfile: "http://www.stylepalace.com.au/admin/ssp_director/images.php?album=5",
	initialURL: escape(document.location)
    }
});
},



		album: function(album) {
		var obj = new Swiff('/assets/swf/sp_gallery.swf', {
container: 'album',
    width: 960,
    height: 600,
    params: {
        wmode: 'transparent',
        base: ".",
	quality: "best",
	allowfullscreen: "false"
    },
    vars: {
	xmlfiletype: "Director",
	xmlfile: "http://www.stylepalace.com.au/admin/ssp_director/images.php?album=" + album,
	initialURL: escape(document.location)
    }
});
},


		fetch:function(parent) {
		$(parent).getElements('.fetch').each(function(el) {
				var options = el.className.match(/fetch \[(.*)\] (\S+)/);
				el.addEvent('click', function(e) {
				e = new Event(e).stop();
				var log = $('log').empty().addClass('ajax-loading');
				var request = new Request.HTML({
					url:options[2],
					evalScripts:true,
					update: options[1],
					onSuccess :  function() {
						Site.start(options[1]);
					},
					onComplete : function() {
						log.removeClass('ajax-loading');
					}
					}).get();
				});
		});
	},

	update:function(parent) {
		$(parent).getElements('.update').each(function(el) {
			var id = el.id;
			var container = el.getParent('div.container');
			if (container) {
				var options = el.className.match(/update \[(.*)\] (\S+)/);
				el.addEvent('change', function(e) {
				e = new Event(e).stop();
				var log = $('log').empty().addClass('ajax-loading');
				var request = new Request.HTML({
					url:options[2],
					evalScripts:true,
					update: options[1],
					onSuccess :  function() {
						Site.start(options[1]);
					},
					onComplete : function() {
						log.removeClass('ajax-loading');
					}
					}).post(container);
				});
			}
		});
	},



rollOver : function(parent) {
		$(parent).getElements("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(parent) {
	$(parent).getElements('.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');
		});
	},

	sfHover: function(parent){
		$(parent).getElements("#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){

		}
	});


},







    statistics: function() {
        var o = window.Browser;
        o.Screen = {colorDepth : screen.colorDepth, height : screen.height, width : screen.width};
        var request = new Request({url:'/logclient', method:'post'}).post(o);
    }



}


window.addEvent('domready', function() {Site.start(document.body)});
	
	window.addEvent('domready', function() {
		$$('img').addEvent('contextmenu',function(e) {
			e.stop();
		});
	});
