addEvent(window, 'load', initTabs);

var tabs = new Array();



function addTabsGroup(g) {
	tabs.push(g);
}


function initTabs() {
	
	// get groups of tabs
	for(var id_group=0; id_group < tabs.length; id_group++) {
		// get tabs in group
		for(var t=0; t < tabs[id_group].length; t++) {
			
			var id_tab = tabs[id_group][t];
			
			var tab = $('#tab_'+id_tab);
			
			(function(id_group, id_tab) {
				tab.click(function() { switchTabActive(id_group, id_tab) });
			})(id_group, id_tab);
		}
	
	}
	
}

function switchTabActive(id_group, id_tab) {
	
	//reset all tabs in group:
	
	for(var t=0; t < tabs[id_group].length; t++) {
		var tab = $('#tab_'+tabs[id_group][t]);
		var box = $('#cat_'+tabs[id_group][t]);
		tab.attr('class','');
		box.hide();
	}
	// get current tab and box:
	var tab = $('#tab_'+id_tab);
	var box = $('#cat_'+id_tab);
	tab.toggleClass('current');
	box.show();
	
}


function showFeedback(t) {
	$('#fb_popup').show('fast');
	if(t) setTransport(t);
}


function setTransport(t) {
	
	for(var i=0; i < getElement('transport').options.length; i++) {
		if(getElement('transport').options[i].value == t) {
			getElement('transport').options[i].selected = true;
			break;
		}
	}
}

function setTimePeriod() {
	
	var t_l = parseInt(getElement('time_length').options[getElement('time_length').options.selectedIndex].value);
	var t_s = parseInt(getElement('time_start').options[getElement('time_start').options.selectedIndex].value);
	
	var string_start = '';
	if(t_s < 10) string_start = '0'+t_s+':00'; else string_start = t_s+':00';
	
	var string_stop = '';
	
	var end = t_s+t_l;
	if(end > 23) end = end-24;
	
	if(end < 10) string_stop = '0'+end+':00'; else string_stop = end+':00';
	
	getElement('time_start_string').innerHTML = string_start;
	getElement('time_stop_string').innerHTML = string_stop;
}

function showOrderTab() {
	$('#fb_popup .tabs dd').toggleClass('current', false);
	$('#tab_order').toggleClass('current');
	
	$('#fb_popup .c > div').css('display', 'none');
	$('#order_box').css('display','block');
}

function showTicketsTab() {
	$('#fb_popup .tabs dd').toggleClass('current', false);
	$('#tab_tickets').toggleClass('current');
	
	$('#fb_popup .c > div').css('display', 'none');
	$('#tickets_box').css('display','block');	
}

function showFeedbackTab() {
	$('#fb_popup .tabs dd').toggleClass('current', false);
	$('#tab_feedback').toggleClass('current');
	
	$('#fb_popup .c > div').css('display', 'none');
	$('#feedback_box').css('display','block');
}

addEvent(window, 'load', initMenu);

var menuItems = { 
		'miServices': new Array('services','arenda-teplohoda','vipusknoi-2011','vipusknoi-teplohod','teplohod-na-svadbu','progulki-po-rekam-i-kanalam','banket-na-teplohode','transfer-zenit','arenda-katera','na-katere','kater-petrodvorec','kater-oreshek','kater-mosti','scenarii-svadbi-na-teplohode','kater-romantic','hotels','hotel-reservation','organizaciya-svadbi','buket-na-svadbu','svadebniy-tort','arenda-limuzina','tamada','dostavka-gostei','zal-torzhestv','oformlenie-prazdnikov','feierverk','salut','salut-catalog','salut-catalog/big','salut-catalog/middle','arenda-muziki','vedushiy-na-prazdnik','dj','arenda-sveta','muzika-na-prazdnik','cigane','arenda-avtobusa','arenda-mikroavtobusa','vip-gosti','arenda-limuzina','photo'),
		'miCatering': new Array('catering','menu-fursheta','menu-banketa','coffe-time','cocktails','menu-dlya-turfirm'),
		'miShips': new Array('teplohodi','teplohod-maximus','teplohod-gloriya','teplohod-ingria','teplohod-moskvich','teplohod-rapsodiya','teplohod-neva-3','teplohod-fontanka','teplohod-afalina'),
		'miBoats': new Array('katera','kater-fibrafort-style-190','kater-monterey-250-cr','kater-larson-lxi-226'),
		'miPetersburg': new Array('petersburg','petersburg/reki-i-kanali','mosti-peterburga','petersburg/monuments', 'petersburg/attractions', 'petersburg/architecture'),
		'miGallery': new Array('gallery','gallery/cat:21','gallery/cat:22','gallery/cat:23','gallery/cat:33','gallery/cat:46','gallery/cat:49')
		
	};

var miTimer = false;
var miInterval = false;
var cPopupOp = 0;
var incOp = 0.05;
var stopPopupOp = 0.95;

function initMenu() {
	for(var i in menuItems) {
		var obj=false;
		if(!(obj = getElement(i))) continue;
		addEvent(obj,'mouseout', function() { 
			resetItems();
			miTimer = setTimeout(setCurrent, 1000);
		});
		addEvent(obj,'mouseover', resetItems );
	}
	setCurrent();
}

function setCurrent(m) {
	
	for(var i in menuItems) {
		var obj=false;
		if(!(obj = getElement(i))) continue;
		for(var p=0; p < menuItems[i].length; p++) {
			if(menuItems[i][p] == '{{$PATH_ORIGINAL}}') {
				animateShowCurrent(i);
			}
		}
	}
}

function animateShowCurrent(id) {
	getElement(id).style.zIndex = 5;
	if(isIE) {
		setClass(getElement(id),'current');
	} else {
		setOpacity(getElement(id), 0.0);
		var id_popup=id+'_popup';
		var obj_popup=false;
		if(obj_popup = getElement(id_popup)) {
			cPopupOp = 0;
			miInterval = setInterval(function(){incPopupOpacity(getElement(id))}, 10);	
			addEvent(obj_popup, 'mouseover', function(){ setPopupReady(id) });
		}
		setClass(getElement(id),'current');
	}
}

function setPopupReady(id) {
	clearInterval(miInterval);	
	setOpacity(getElement(id), stopPopupOp);
}

function incPopupOpacity(obj) {
	cPopupOp += incOp;
	if(cPopupOp >= stopPopupOp) {
		cPopupOp = stopPopupOp;
		clearInterval(miInterval);
	}
	setOpacity(obj, cPopupOp);
}



function resetItems() {
	clearTimeout(miTimer);
	clearInterval(miInterval);
	
	for(var id in menuItems) {
		var obj=false;
		if(!(obj = $('#'+id))) continue;
		obj.attr('class','');
		var id_popup=id+'_popup';
		var obj_popup=false;
		if(obj_popup = getElement(id_popup)) {
			//setOpacity(obj_popup, 0.0);
		}
	}
}

/* SCROLL LINES: */

var cl = { 'steamboats':0, 'motorboats':0 }; // left position
var step = { 'steamboats':0.1, 'motorboats':1 }; //px
var scrollTimer = { 'steamboats':false, 'motorboats':false };
var totalImages = { 'steamboats':6, 'motorboats':3 };
var imageWidth = 150;

var totalWidth = { 'steamboats':(totalImages.steamboats * imageWidth), 'motorboats':(totalImages.motorboats * imageWidth) };

var maskWidth = false;

function pauseScroll() {
	clearInterval(scrollTimer.steamboats);
	//clearInterval(scrollTimer.motorboats);
}

function initScrollLine() {
	if(getElement('maskSteamboats')) {
		maskWidth =  getElement('maskSteamboats').clientWidth;
		
		//init icon events:
		for(var i=1; i <= totalImages.steamboats;i++) {
			addEvent(getElement('icon_steamboat_'+i),'mouseover',pauseScroll);
			addEvent(getElement('icon_steamboat_'+i),'mouseout',scrollImages);
		}
		for(var i=1; i <= totalImages.motorboats;i++) {
			addEvent(getElement('icon_motorboat_'+i),'mouseover',pauseScroll);
			addEvent(getElement('icon_motorboat_'+i),'mouseout',scrollImages);
		}
		
		scrollImages();
	}

}

function scrollImages() {
	scrollTimer.steamboats = setInterval(moveScroll, 40);
	//scrollTimer.motorboats = setInterval(moveScroll, 40);
}

function moveScroll() {
	cl.steamboats += step.steamboats;
	
	getElement('scrollSteamboats').style.left = parseInt(cl.steamboats)+'px';
	
	if(cl.steamboats < (-1) * totalWidth.steamboats + maskWidth) {
		cl.steamboats = (-1) * totalWidth.steamboats + maskWidth;
		step.steamboats = 1;
	} else if(cl.steamboats > 0) {
		cl.steamboats = 0;
		step.steamboats = -1;
	}
	
	cl.motorboats += step.motorboats;
	getElement('scrollMotorboats').style.left = parseInt(cl.motorboats)+'px';
	
	if(cl.motorboats < (-1) * totalWidth.motorboats + maskWidth) {
		cl.motorboats = (-1) * totalWidth.motorboats + maskWidth;
		step.motorboats = 1;
	} else if(cl.motorboats > 0) {
		cl.motorboats = 0;
		step.motorboats = -1;
	}
}

addEvent(window,'load',initScrollLine);


function setActionActive(num) {
	
	hideAllIcons();
	
	var id_icon = 'action_icon_'+num;
	var id_link = 'action_link_'+num;
	setClass(getElement(id_link),'current');
	getElement(id_icon).style.display = 'block';
}

function hideAllIcons() {
	setClass(getElement('action_link_1'),'');
	setClass(getElement('action_link_2'),'');
	getElement('action_icon_1').style.display='none';
	getElement('action_icon_2').style.display='none';
}

$(document).ready(function() {
		if(!Agent.isIE) {
			$('#action_link_1').toggleClass('current');
		}
	}
);
