//daryl.js - Star-Tech Solutions
new Asset.images(['images/body_bg.jpg', 'images/welcome_loader.gif', 'images/logo.png']);

var setActiveLink = function (activeLink, whichlist, whichclass) {
    whichlist = $$(whichlist);
    whichlist.removeClass(whichclass);
    if (activeLink != 'none') {
        $(activeLink).addClass(whichclass);
    }
};

var setExternalLink = function () {
    $$('a.external').each(function (link) {
        link.target = "_blank";
    });
};

var myAjax = function (urlLink){
	var url	= urlLink;
	new Ajax(url, {
	method: 'get',
	update: $('content-container'),
	onRequest: function() {
		$('content-container').effect('opacity').set(0);			
					},
	onComplete: function() {
		new Fx.Style("content-container", "opacity", {transition: Fx.Transitions.Back.easeOut}).start(0,.99).chain(innerLinkAddEvents);
		if (url === 'photo.html') {
			galleryLinkAddEvents();
		}
		if (url === 'info.html') {
			contactLinkAddEvents();
		}
		if (url === 'contact.html') {
			$('darylcontact').addEvent('submit', function (e) {
				new Event(e).stop();
			});
			var myFormValidator = new FormValidator($('darylcontact'), { 
				onFormValidate: function (result, myform) {
					if (result === true) {
						myform.send();
						myAjax("thankyou.html");
					}
				}	
			});
		}	
					}
	}).request();
};

var myPrintAjax = function (urlLink){
	var url	= urlLink;
	new Ajax(url, {
	method: 'get',
	update: $('printdiv'),
	onRequest: function() {
		new Asset.css('styles/print-pop.css', {id: 'myStyle', media: 'print'});
	}
	}).request();
};

var sideLinkAddEvents = function() {
	$$('a.sideLink').each(function(link){
		var mySideLink = link.id;
		link.addEvent('click', function(e){
			e = new Event(e).stop();
			setActiveLink(mySideLink, '#navlist .sideactive', 'sideactive');
			myAjax(mySideLink + ".html");
		});
	});
};

var innerLinkAddEvents = function() {
	//prepare links for moodalbox
	$$('a.innerLink').each(function(link){
		var myLink = link.id
		link.addEvent('click', function(e){
			e = new Event(e).stop();
			myMOOdalBox(myLink);
			myPrintAjax(myLink + ".html");
		});
	});
	//prepare external links
	setExternalLink();
};

var myMOOdalBox = function (myLink){
	MOOdalBox.open(myLink + ".html","",	"440 570" );
};

var galleryLinkAddEvents = function() {
	//prepare gallery image
	var	galleryFx = new Fx.Style($('gallery-pic'), 'opacity', {duration: 500,transition: Fx.Transitions.Back.easeInOut});
	//function to swap image
	var showPic	= function (whichpic) {
		var source = whichpic.getProperty('href');
		var placeholder = $('gallery-pic');
		galleryFx.start(0).chain(function(){
			placeholder.setProperty('src',source);
			(function(){galleryFx.start(.99)}).delay(500);
		});	
	};
	
	//prepare gallery links
	$$('a.galleryLink').each(function(link){
		var mygalleryLink = link.id;
		link.addEvent('click', function(e){
			e = new Event(e).stop();
			setActiveLink(mygalleryLink, '#gallerylist .galleryactive', 'galleryactive');
			showPic(this);
		});
	});	
};

var contactLinkAddEvents = function () {
	$('contact').addEvent('click', function (e) {
		e = new Event(e).stop();
			myAjax("contact.html");
//			contactSubmitEvent.delay(1000);	
						
	});	
};

var contactSubmitEvent = function () {
	$('darylcontact').addEvent('submit', function(e) {
		new Event(e).stop();
		this.send({
			onComplete: function() {
				myAjax("thankyou.html");
			}
		});
	});
};

window.addEvent('domready', function () {

	//var	welcome = new Element('div').setProperty('id', 'welcome').injectBefore('wrapper');
	//var welcomeImg = new Element('img', {'src':'images/logo.png', 'alt':'Daryl Wine Bar & Restaurant', 'width':125, 'height':46})
	//welcomeImg.setProperty('id', 'welcomeImg').injectInside('welcome');
	//var welcomeLoad = new Element('img', {'src':'images/welcome_loader.gif', 'alt':'loading...','width':220, 'height':19})
	//welcomeLoad.setProperty('id', 'welcomeLoad').injectAfter('welcomeImg');
	//var welcomeText = new Element('p').setProperty('id', 'welcomeText').setText('Loading...').injectAfter('welcomeLoad');
	
	if(!window.ie){
		var wrapperfx =  new Fx.Style("wrapper", "opacity", {transition: Fx.Transitions.Back.easeOut}).set(0);
	}else{
		$('wrapper').setStyle('display', 'none');	
	}
	
	var welcomefx = new Fx.Style("welcome", "opacity", {transition: Fx.Transitions.Back.easeOut});

	var myWelcome = function (){
		(function(){welcomefx.start(1,0)}).delay(3);
		if(!window.ie){
			(function(){wrapperfx.start(0,.99)}).delay(4);
		}else{
			(function(){$('wrapper').setStyle('display', '')}).delay(4);
		}
	};
	
	myWelcome();
	
	setExternalLink();

	$('nav-side-collapse').setStyle('display', 'none');
	
	var restSlide = new Fx.Slide('nav-restaurant', {duration: 300}).hide();	
	var wineSlide = new Fx.Slide('nav-wineshop', {duration: 300}).hide();
	var sideSlide = new Fx.Slide('nav-side', {mode: 'horizontal', duration: 300});
	if (!window.ie){
	var marginChange = new Fx.Style('content-container', 'margin-left').set(135);
	}
	
	var slideMe = function (mySlide) {
		if (mySlide == 'wine'){
			wineSlide.slideIn();
			restSlide.slideOut();
		}else{
			wineSlide.slideOut();
			restSlide.slideIn();
		}
	};

	var setSideBar = function (inOut) {
		if (inOut == 'slideIn'){
			if (!window.ie) {
				marginChange.set(135);
			};
			sideSlide.slideIn().chain(function(){
				$('navlist').setStyle('display', ''); 
			});
			$('nav-side-collapse').setStyle('display', 'none');			
		}else{
			if (!window.ie) {
				marginChange.set(0);
			};
			sideSlide.slideOut().chain(function(){
 				$('nav-side-collapse').setStyle('display', '')   //safari layout buggy 
			});
			$('navlist').setStyle('display', 'none'); 
		}
	};

	var ajaxEvent = function (e) {
		if ($('nav-side').getParent().getStyle('width').toInt() != 0){
			$('content-container').setHTML('')
			setSideBar('slideOut');
			setActiveLink('none', '#navlist .sideactive', 'sideactive');
 			(function(){myAjax(e + '.html')}).delay(400);
		}else{
			$('content-container').setHTML('')
 			myAjax(e + '.html');
		}
	};

	var topLinkAddEvents = function() {
		$$('a.topLink').each(function(link){
			var myTopLink = link.id
			link.addEvent('click', function(e){
				e = new Event(e).stop();
				ajaxEvent(myTopLink);
			});
		});
	};

	sideLinkAddEvents();
	topLinkAddEvents();
	
	$('restlink').addEvents({
		'mouseenter': function(){
			slideMe('rest');
		},
		'click': function(e){
			e = new Event(e).stop();
			slideMe('rest');
		}
	});
	
	$('winelink').addEvents({
		'mouseenter': function(){
			slideMe('wine');
		},
		'click': function(e){
			e = new Event(e).stop();
			slideMe('wine');
		}
	});

	$('main-container').addEvent('mouseenter', function () {
		wineSlide.slideOut();
		restSlide.slideOut();
	});
	
	$('header').addEvent('mouseenter', function () {
		wineSlide.slideOut();
		restSlide.slideOut();
	});
	
	$('nav-side-collapse').addEvent('click', function (e) {
		e = new Event(e).stop();
		$('content-container').setHTML('')
		setSideBar('slideIn');
	});
	
	$('linkspage').addEvent('click', function (e) {
		e = new Event(e).stop();
		myMOOdalBox('linkspage');
	});
	
	$('newsletter').addEvent('click', function (e) {
		e = new Event(e).stop();
			MOOdalBox.open("newsletter.html","",	"628 800" );
	});

});	
