$(document).ready(function(){
	$('.content').hide();
	$('#tab-wrap').hide();
	//$('#sortiment .content div.col_first').load('text/smakerna.html');
	//$('#sortiment .content div.col_second').load('text/glass-taartor.html');
	//$('#sortiment .content div.col_third').load('text/glass-taartor.html');
	io.langMenu();
	
	$(".menuitem")
		//.live('hover', function() { io.menuToggle($(this).children('a.scroll')) })
		.live('mouseenter', function() { io.menuToggle($(this).children('a.scroll'), true) })
		.live('mouseleave', function() { io.menuToggle($(this).children('a.scroll')) })
		.live('click', function() { io.menuClick($(this).children('a.scroll')); return false; });
	
	$(".scroll").live('click', function() { io.menuClick($(this)); return false; });
	
	$("div.img")
		.live('mouseenter', function() { 
			if( io.currentTab.selector == '#'+$(this).parents('div.tab').attr('id') ) {return}
			$(this).css('cursor', 'pointer').fadeTo(1, 1); 
		})
		.live('mouseleave', function() { 
			if( io.currentTab.selector == '#'+$(this).parents('div.tab').attr('id') ) {return}
			$(this).css('cursor', 'default');
			//alert('#'+$(this).parents('div.tab').attr('id')+' == '+io.currentTabImgClicked)
			if( '#'+$(this).parents('div.tab').attr('id') != io.currentTabImgClicked ) {
				$(this).fadeTo(1, .5); 
			}
		})
		.live('click', function() { 
			if( io.currentTab.selector == '#'+$(this).parents('div.tab').attr('id') ) {return}
			var hash = '#'+$(this).parents('div.tab').attr('id');
			io.currentTabImgClicked = hash;
			var a = $('.menuitem a[href="'+hash+'"]');

			a.click();
			// io.menuToggle(a, true); // works like a.mouseenter();
			a.mouseenter();			
		});
	
});


var io = io || {};
io.lang = 'en'
io.menuWidth = $("#nav ol li").children("a:first").width(); //144; //$("#nav ol:first-child").width(); 
io.currentMenu = $("#nav ol li").children("a:first");
io.currentTabImgClicked = false;
io.prevMenu = false;
io.prevTab = false;
io.currentTab = false;
io.initiated = false;
io.fadeOut = function(o, callback) {
	callback = callback || function() {};
	if(typeof(o.selector) == 'undefined') {
		callback();
		return;
	}
	$('#'+o.attr('id')+' .img_outer .img').fadeTo('slow', 1);
	$('.tab .img').not(o.selector+' .img_outer .img').fadeTo('slow', 0.5);
};

io.langMenu = function() {
	$('.lang').live('click', io.changeLanguage);
};

io.changeLanguage = function() {
	$('.lang').removeClass('active');
	$(this).addClass('active');

	io.lang = $(this).attr('alt');
	var newLang = io.languages[io.lang];
	for(var section in newLang) {
    $('#'+section+' .content').html(newLang[section].contents);
    $('.menuitem').find('a[href=#'+section+']').html(newLang[section].menuitem);
	}

/*
	for(var i = 0; i < newLang; i++) {
    $('#'+newLang[i].section+' .content').html(newLang.content);
	}
*/
};

io.menuToggle = function(that, enter) {
	enter = enter || false;
	$('.menuitem').children('a.scroll').not(io.currentMenu).css('color', '#ccc');
	enter && $(that).css('color', '#ED1163');
};


io.collapseTab = function(o, callback) {
	callback = callback || function() {};
	if(o.selector == '#start') {
		callback();
		return;
	}
	if(typeof(o.selector) == 'undefined') {
		callback();
		return;
	}
	// restore the last clicked menu item
	//io.menuHide(io.prevMenu.parent());
	//io.prevMenu.parent().css('margin', '0em 0em 0em -10em');
	
	var h = $(o.selector+' .content').height();
	$(o.selector+' .content').animate({
			"height": "toggle", "opacity": "toggle"
	  }, 500, function() {
		//	$(o.selector+' .content').hide('fast').height(h); 
			//$(io.currentTab.selector+' .content').css('border-top','0px');
			callback();
	});
	
};
io.expandTab = function(element) {
	if(io.currentTab.selector == element.selector) { return; };
	io.currentTab = element;
	var h = $(io.currentTab.selector+' .content').height();
	
	//$(io.currentTab.selector+' .content').height('0').css('display', 'block'); 
	// Animate menu
	// this comes back in px no matter what :(

	

	//$(io.currentTab.selector+' .content').css('border-top','1px solid #dadada');
	$(io.currentTab.selector+' .content').animate({
			"height": "toggle", "opacity": "toggle"
	  }, 1000, function() {
			
	});
	//$(io.currentTab.selector+' .content').show(1000);
};
io.initTabs = function(callback) {
	callback = callback || function() {};
	if(io.initiated) { callback(); return;	}
	io.initiated = true;
	//$('#tab-wrap').show(1000, function() { callback(); } );
	$('#tab-wrap').animate({
			"height": "toggle", "opacity": "toggle"
	  }, 1000, function() {
			var lasttab = $('#tab-wrap').children("div.tab:last");
			//var lasttab = $('#glass-barer');
			var h = Math.floor(lasttab.height());
			//alert(lasttab.height()+' '+h );
	    lasttab.css('margin-bottom',h+'px').css('border-bottom', '1px solid #dadada');
			//$('#tab-wrap').children("div.tab:last").css('margin-bottom',h+'px');
			callback();
	});
};

io.collapseAllTabs = function(callback) {
	callback = callback || function() {};
	if(!io.initiated) { callback(); return;	}
	io.initiated = false;
	//$('#tab-wrap').show(1000, function() { callback(); } );
	$('#tab-wrap').animate({
			"height": "toggle", "opacity": "toggle"
	  }, 1000, function() {
			callback();
	});
};

io.menuItemSelected = function(parent) {
	$(this).css('background-color','black');
};

io.menuClick = function(that){
	//e.preventDefault();
	//e.stopPropagation();
	var a, o, id;
	id = $(that).attr('href').split("#")[1];
	//alert(id);
	if(io.currentTab.selector == '#'+id) {
		return;
	}
	io.prevMenu = io.currentMenu;
	io.currentMenu = $(that);
	io.prevTab = io.currentTab;
	io.menuItemSelected(io.currentMenu.parent());
	//io.currentMenu.parent().css('margin', '0em 0em 0em 0em');
	a = $("#"+id);
	io.fadeOut(a);
	

	io.initTabs(function() {
		io.collapseTab(io.prevTab, function() {
			if(id == 'start') {
				io.collapseAllTabs();
				io.currentTab = a;
				
				return;
			}
			o = a.offset();

			$('html, body').animate({scrollTop:o.top}, 1500, function() {
				//$("#"+a+' div.content').css('display', 'block');
				io.expandTab(a);
				$(io.currentTab.selector).fadeTo('slow', 1);
				$(io.currentTab.selector).children("div.content").fadeTo('slow', .9);
			});
		});
	});
	return false;
};


