/*
 *	Banner Views
 */
var MapCheckTimer = $empty();
var CurrentHash = 'ekkert';

function CheckForUrl()
{
	var hash = location.hash;
	var split = hash.split('=');
	
	if( ( split[1] ) && ( split[0] == '#goto' ) && (split[1] != CurrentHash) )
	{
		CurrentHash = split[1];
		location.href = '/view/'+ CurrentHash +'/';
		
		//console.log('new hash! "'+ CurrentHash +'"');
	}
}

function MapInject( id, lat, lon )
{
	var cords = '';
	var target = $$('.view.map')[0];
	
	var lang = '&lang=en';
	var zoom = '&zoom=0';
	var url = '&url='+ location.href;
	
	if( lat && lon && id )
	{
		cords = '&lat='+ lat +'&lon='+ lon +'&id='+ id;
		zoom = '&zoom=10';
	}	
	
	var iframe = new Element('iframe', {
		'id': 'map-frame',
		'frameborder': '0',
		'src': 'http://www.loftmyndir.is/k/kortasja.asp?client=visit_iceland_front'+ lang + zoom + cords + url,
		'scrolling': 'no'
	});
	
	(function(){
		target.empty();
		iframe.inject(target);
	}).delay(500);
	
	MapCheckTimer = CheckForUrl.periodical(100);
}

function ChangeView( view )
{
	$$('ul.views li').removeClass('selected');
	$$('ul.views li.'+view).addClass('selected');
	
	$$('#banner .view').fade('0');
	$$('#banner .view.'+view).fade('in');
}

window.addEvent('domready', function(){

	$$('#banner ul.views').each(function(element){
		var Views = element.getChildren('li');
		
		Views.each(function(view){
			$$('#banner .view').setStyle('opacity','0');
			$$('#banner .view:first-child').setStyle('opacity','1');
			
			view.addEvent('click', function(){
				var selected = this.get('rel');
				var target = $$('#banner .view.'+selected);
				
				Views.removeClass('selected');
				this.addClass('selected');
				
				if( selected == 'map' && ( target[0].getChildren('iframe').length == 0 ) )
				{
					MapInject();
				}
				
				$$('#banner .view').fade('0');
				target.fade('in');
			});
			
		});
		
	});
	
	
	$$('#banner ul.tabs').each(function(element){
		var tabs = element.getChildren('li');
		var tabareas = $$('#banner .tab-area');
		
		
		var tabselected = element.getChildren('li.selected')[0];
		
		$$('#banner .tab-area').setStyle('opacity', 0);
		$( tabselected.get('rel') ).setStyle('opacity', 1);
		
		tabs.addEvent('click', function(){
			var self = this;
			tabs.removeClass('selected');
			this.addClass('selected');
			
			tabareas.fade('out');
			(function(){
				$(self.get('rel')).fade('in');
			}).delay(250);
		});
		
	});
	
	
	/*
	 *	Banner Collapse
	 */
	
	if( $('collapse-banner') )
	{
		var banner = $('banner');
		var BannerFx = new Fx.Morph( $('banner'), {'duration': 750, 'link': 'cancel', 'transition': Fx.Transitions.Quart.easeInOut});
		
		$('collapse-banner').addEvent('click', function(){
			
			if( banner.hasClass('false') )
			{
				banner.removeClass('false');
				
				banner.setStyles({
					opacity: 0,
					height: 0,
					'border-width': 0
				});
				
				$('collapse-banner').addClass('closed');
			}
			
			
			if( this.hasClass('closed') )
			{
				BannerFx.start({
					opacity: 1,
					height: 314,
					'border-width': 1
				});
				
				this.removeClass('closed');
			}
			else
			{
				BannerFx.start({
					opacity: 0,
					height: 0,
					'border-width': 0
				});
				
				this.addClass('closed');
			}
			
		});
		
	}
	
	/*
	 *	Faq
	 */
	
	var Faq = new Fx.Accordion($$('.question'), $$('.answer'), {
		duration: 250,
		display: 0,
		alwaysHide: true,
		onActive: function(toggler, element){
			toggler.addClass('selected');
		},
		onBackground: function(toggler, element){
			toggler.removeClass('selected');
		}
	});
	
	
	/*
	 *	Landshluta Kort
	 */
	
	$$('#close-site-map').addEvent('click', function(){
		
		if( Browser.Engine.trident === true )
			$('site-map').setStyle('opacity', 0);
		else
			$('site-map').fade('out');
		
	});
	
	$$('.head-map').addEvent('click', function(){
		
		$('site-map').setStyles({
			'display': 'block',
			'opacity': 0,
			'left': (window.getSize().x/2) - 300
		});
		
		if( Browser.Engine.trident === true )
			$('site-map').setStyle('opacity', 1);
		else
			$('site-map').fade('in');
		
	});
	
});
