var currentPage = null;

window.addEvent('domready', function(evt){	
	currentPage = $('body');											 
	news();
	if ( currentPage.hasClass('home') ){
		homepage();
	}
	else if ( currentPage.hasClass('gallery') ){	
		gallery();	
	}
	else if ( currentPage.hasClass('requestATeePartner') ){
		var inputs = document.id('requestForm').getElements('input');			
		
		inputs.each( function(input){
			input.store('default',input.get('value'));		
	
			input.addEvent('click', function(evt){
				if(input.value == input.retrieve('default')) input.value = '';				
			});
			input.addEvent('blur',function(evt){
				if(input.value == '') input.value = input.retrieve('default');										 
			});		
		});
	}	
	
	if(getIEVersion() != 7){
		Cufon.replace('h3', { fontFamily: 'Calibri' });
		Cufon.replace('h2', { fontFamily: 'Calibri' });	
		Cufon.replace('.calibri', { fontFamily: 'Calibri' });
		Cufon.replace('.calibri p', { fontFamily: 'Calibri' });
		Cufon.replace('.calibri a', { fontFamily: 'Calibri' });	
		Cufon.replace('#breadcrumb a', { fontFamily: 'Calibri' });
		Cufon.replace('#call');
	}
	Cufon.replace('#topNav', { fontFamily: 'Calibri', hover: true });
	Cufon.replace('#leftNav a', { fontFamily: 'Calibri' });
	
	sideNav();
	bookNow();
	membershipHeader();
	
	//new window links
	document.getElements('a').each( function(elm){
	var rel = elm.get('rel');
		if( rel ){
			if( rel.indexOf('kamPopUp')!=-1 ){
				elm.addEvent('click', function(evt){
					evt.preventDefault();
					window.open(elm.href);
				});
			}
		}
	});	
	membershipLinkUpdate();
});

function membershipLinkUpdate(){
	document.getElements('a[href*="http://www.bookatee.com/?PortalID=SM"]').each ( function(element){
		var uri = new URI(element.get('href'));
		
		var username = Cookie.read('stMellionUserName');
		var password = Cookie.read('stMellionPassword');
		if ( username && password ){
			uri.setData({
				FullName: username,
				BookPass: password
			}, true);
		}
		
		element.set('href', uri.toString());
	});
}

function membershipHeader(){
	var membership = $('membershipHeader');
	var state = 0;
	fx = new Fx.Morph(membership,{
		transition:'sine:in',
		duration:500,
		onStart: function(){ },
		onComplete: function(){ }
	});
	if(membership){
		membership.setStyles({ 'position':'absolute', 'zIndex':9999999999	});
		membershipLink	= membership.getElement('a');
		membershipLink.addEvent('click', function(evt){
			if(state == 0 ){
				fx.start({'height':140});			
				state = 1;
			}else{			
				fx.start({'height':30});			
				state = 0;
			}
		});
		
		var inputs = membership.getElements('input');			
		
		inputs.each( function(input){
			input.store('default',input.get('value'));		
	
			input.addEvent('click', function(evt){
				if(input.value == input.retrieve('default')) input.value = '';				
			});
			input.addEvent('blur',function(evt){
				if(input.value == '') input.value = input.retrieve('default');										 
			});		
		});		
	}
}

function bookNow(){
	var showLink = $('accommodationShow');
	var accomForm = $('accommodationForm');
	accomForm.setStyle('zIndex','10000');
	var flag = false;
	var fx = new Fx.Morph(accomForm, {
		transition:'sine:in', 
		duration:500,
		onStart: function(){	
			flag = true; 
			accomForm.setStyle('display','block');
		},
		onComplete: function(){	
			flag = false; 
			if(state == 0)	accomForm.setStyle('display','none');
		}
	});
	var state = 0;
	
	if(showLink){		
		var plusRight = 2;
		var plusTop = 1;		
		if(currentPage != 'home'){
			plusRight = 4; plusTop = 0;	
		}			
		showLink.addEvent('click', function(evt){
			evt.stop();				
			if(!flag){
				var coords = showLink.getCoordinates();
				accomForm.setStyles({
					'left': coords.right + plusRight,
					'top' : coords.top + plusTop	
				});
		
				if(state == 0){			
					fx.start({'width':400});
					state = 1;
				}else{
					fx.start({'width':0});
					state = 0;				
				}
			}			
		});			
	}
	
	new DatePicker('.dateToggled', {
		allowEmpty: true,
		toggleElements: '.dateToggler',
		inputOutputFormat: 'm/d/Y'
	});
}

function getIEVersion(){
	var appVersion = navigator.appVersion;
	var MSIEindex =  appVersion.indexOf('MSIE');	
	var ieVersion = null;
	
	if(MSIEindex != -1) ieVersion = (appVersion.charAt(MSIEindex + 5));
	
	return ieVersion;
}

function homepage(){
	var homeFader = new imageFader($('backgroundImages'),{
		transitionLength: 2000											
	});	
	homeFader.start();		
	
	form = $('newsletterForm');			
	if(form != null){
		var emailInput = $('emailInput');			
		var nameInput = $('nameInput');
		var submitButton = $('submit');
		
		if(nameInput.value == '') nameInput.value = 'Name';	
		if(emailInput.value == '') emailInput.value = 'Email';	
		
		nameInput.addEvent('click', function(evt){
			if(nameInput.value == 'Name') nameInput.value = '';
		});
		
		nameInput.addEvent('blur',function(evt){
			if(nameInput.value == '') nameInput.value = 'Name';										 
		});	
		
		emailInput.addEvent('click', function(evt){
			if(emailInput.value == 'Email') emailInput.value = '';
		});
		
		emailInput.addEvent('blur',function(evt){
			if(emailInput.value == '') emailInput.value = 'Email';										 
		});		
		
		form.addEvent('submit', function(evt) {
			if(emailInput.value == '' || nameInput.value == '' || nameInput.value == 'Name' || emailInput.value == 'Email') evt.stop();
		});
	}
}

function gallery(){
	var flag = false;
	var thumbs = $('galleryNav').getElements('li');
	var galleryFader = new imageFader($('backgroundImages'),{
		navigationItems : $('galleryNav').getElements('a')												
	});

	var readMore = $('readMore');	var viewPhotos = $('viewPhotos');
	var slider = $('sliderInner'); var sliderOuter = $('sliderOuter'); var sliderStartPos = slider.getPosition(sliderOuter).x; 
	var bottomContent = $('bottomContent').getElement('.left');	
	var fx1 = new Fx.Morph(slider, {
		transition:'sine:out', 
		duration:1500,
		onStart: function(){
			flag = true;	
		},
		onComplete: function(){
			flag = false;
		}
	});
	var fx2 = new Fx.Morph(bottomContent);
			
	if(readMore != null && viewPhotos != null){
		readMore.addEvent('click', function(evt){
			evt.stop();		
			if(!flag){
				readMore.setStyle('display','none');
				viewPhotos.setStyle('display','block');
				fx1.start({'marginLeft': sliderStartPos + 470});
				fx2.start({'opacity': 0});
			}
		});
		viewPhotos.addEvent('click', function(evt){
			evt.stop();					
			if(!flag){
				readMore.setStyle('display','block');
				viewPhotos.setStyle('display','none');
				fx1.start({'marginLeft': sliderStartPos});
				fx2.start({'opacity': 1});
			}
		});
	}
	
	galleryFader.addEvent('fadeStart', function(){
		var previous = galleryFader.currentItem - 1;		
		if(previous < 0){
			previous = thumbs.length -1;
		}else if(previous == thumbs.length){
			previous = 0;	
		}		 
		$(thumbs[previous]).removeClass('current');													  
	});
	
	galleryFader.addEvent('fadeComplete', function(){																 
		$(thumbs[galleryFader.currentItem]).addClass('current');
	});
}

function news(){
	var area = $('scrollArea'); 
	if(area){
		var ads = area.getElements('.ad');
		var prevItem = null;	
		var adCoords = 0;
		if(ads.length > 1){
			var fx = new Fx.Morph(area, {
				duration: 1000,
				onStart : function(){ flag = true; },
				onComplete : function(){ 
					transition: 'quint:out',
					ads[0].inject(ads[ads.length-1],'after');
					area.setStyle('marginTop',  '0px');
					ads = area.getElements('.ad');
					next.delay(300);			
				}
			});	
			var next = function(){
				prevItem = ads[0];
				var height = ads[0].getCoordinates(area).height;
				duration = height * 25;
				adCoords = ads[1].getCoordinates(area);
				fx.options.duration = duration;
				fx.start({'marginTop': -adCoords.top});
			}	
			next();	
			area.addEvent('mouseover', function(evt){
				if(fx) fx.pause();												
			});	
			area.addEvent('mouseout', function(evt){
				if(fx) fx.resume();										  
			});
		}
	}
}

function sideNav(){
	var subNav = $('leftNav');
	var current = -1;
	if(subNav){
		var uls = subNav.getElements('ul');
		var elements = new Array();
		var togglers = new Array();		
		uls.each( function(ul, key){
			var parent = ul.getParent();
			if(parent.match('li')){
				elements[elements.length] = ul;									
				togglers[togglers.length] = parent;	
				parent.addEvent('click', function(evt){ 					
					evt.preventDefault();
				});
				var children = parent.getElements('li');
				children.each( function(child){
					child.addEvent('click', function(evt){
						var aLink = child.getElement('a');
						if(aLink) window.location = aLink.get('href');
					});
				});			
				if(parent.hasClass('selected')){
					current = key - 1;
					parent.setStyle('background','none');
				}
			}
		});		
		var accordion = new Fx.Accordion(togglers, elements,{
			display: current
		});
	}
}




