var page_id;
var prev_page_id;
var page_uri;
var subpage_uri;
var subsubpage_uri;
var menu_items;
var base_url;
var submenu_open;
var menuInt;
var outId;
var first_run = false;
var totalSubSpacers;
var totalSubLinks;
var headerScrollTimeout;
var fontsLoaded = false;
function init(){
	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, handleChange);
	$("#subMenu").mouseover(function() {
		clearTimeout(menuInt);
	});
	$("#subMenu").mouseout(function() {
		mainMenuOut(outId);
	});
}
function getPageByUri(uri){
	for(var i=0;i<menu_items.length;i++){
		if(menu_items[i].uri == uri){
			return menu_items[i];
		}
	}
}
function getPageById(id){
	for(var i=0;i<menu_items.length;i++){
		if(menu_items[i].id == id){
			return menu_items[i];
		}
	}
}
function handleChange(event){
	if(first_run){
		clearTimeout(headerScrollTimeout);
	}
	var path = event.path.substr(1);
	if(path != ""){
		var a = path.split("/");
		var o = getPageByUri(a[0]);
		var template = o.template;
		if(page_id != o.id){
			if(page_id){
				prev_page_id = page_id;
				if(submenu_open && o.has_sub == 0){
					$("#menuPointer_"+prev_page_id).css("visibility","hidden");
					$("#subMenu").animate({height:0,marginBottom:0},400,'easeInOutExpo');
				}
			}
			page_id = o.id;
			page_uri = o.uri;
			submenu_open = o.has_sub == 1;
			if(submenu_open){
				$("#subMenu").html(getSubmenuHtml(page_id));
				$("#menuPointer_"+page_id).css("visibility","visible");
				positionSubmenuToArrow(page_id);
				$("#subMenu").animate({height:56,marginBottom:15},400,'easeInOutExpo');
			}
		}
		if(a.length > 1){
			subpage_uri = a[1];
			selectSubMenu(page_uri + "/" + subpage_uri);
		}else{
			subpage_uri = "";
		}
		if(a.length > 2){
			subsubpage_uri = a[2];
		}else{
			subsubpage_uri = "";
		}
		if(!first_run){
			first_run = true;
		}
		$("#templateContent").load("page-ajax.php",{p:page_uri,sp:subpage_uri,ssp:subsubpage_uri});
	}
	selectMenu(page_uri);
}
function positionSubmenuToArrow(id){
	var menuOffset = $("#menuPointer_"+id).position();
	if(menuOffset.left < 490){
		var spacerOffset = $("#subMenuSpacer_1").position();
		var diff = menuOffset.left - spacerOffset.left - 8;
		if(diff < 10){
			diff = menuOffset.left - spacerOffset.left/2;
		}
	}else{
		var w = $("#subMenuInner").width();
		var sw = $("#subMenuLink_" + totalSubLinks).width();
		if(menuOffset.left + sw < 940){
			var diff =  menuOffset.left - w + sw + 24;
		}else{
			var diff =  menuOffset.left - w + (sw/2) + 12;
		}
	}
	$("#subMenuInner").css("margin-left",diff + "px");
}
function selectSubMenu(uri){
	$("#subMenu a").each(function(){
		var a = $(this).attr("id").split("_");
		if($(this).attr("rev") == uri){
			$(this).removeAttr( "href" );
			$(this).attr("class","subMenuItemSelected");
		}else{
			$(this).attr("class","subMenuItem");
			$(this).attr("href",base_url +"#/"+ $(this).attr("rev"));
		}
	});
}
function selectMenu(uri){
	$("#menu a").each(function(){
		var a = $(this).attr("id").split("_");
		if($(this).attr("rev") == uri){
			$(this).removeAttr( "href" );
			$(this).attr("class","mainMenuSelected");
		}else{
			$(this).attr("class","mainMenu");
			$(this).attr("href",base_url +"#/"+ $(this).attr("rev"));
		}
	});
}
function setSideMenu(base,uri,fullUri){
	$("#sideMenuLinks a").each(function(){
		if($(this).attr("rev") == uri){
			$(this).removeAttr( "href" );
			$(this).attr("class","sideMenuLinkSelected");
		}else{
			$(this).attr("class","sideMenuLink");
			$(this).attr("href",base +"#/"+ fullUri + "/" + $(this).attr("rev"));
		}
	});
}
function getSubmenuHtml(id){
	var html = '<table id="subMenuInner" height="45" cellpadding="0" cellspacing="0" border="0"><tr>';
	var i = 0;
	var totalSubSpacers = 0;
	for(var n in menu_items){
		var item = menu_items[n];
		if(item.parent_id == id){
			var p = getPageById(item.parent_id);
			if(i > 0){
				totalSubSpacers++;
				html += '<td><img id="subMenuSpacer_' + i + '" src="' + base_url + 'images/submenu-spacer.jpg" width="32" height="23" border="0" /></td>';	
			}
			html += '<td id="subMenuLink_'+i+'">';
			if(item.uri == subpage_uri){
				html += '<a class="subMenuItemSelected" id="menu_' + item.id + '" rev="' + p.uri + '/' + item.uri + '">'+ item.label + '</a>';
			}else{
				html += '<a href="'+ base_url + '#/' + p.uri + '/' + item.uri + '" class="subMenuItem" id="menu_' + item.id + '" rev="' + p.uri + '/' + item.uri + '">'+ item.label + '</a>';
			}
			html += '</td>';
			i++;
		}
	}
	html += '</tr></table>';
	totalSubLinks = i - 1;
	return html;
}


function mainMenuOver(id){
	$("#menuPointer_"+outId).css("visibility","hidden");
	clearTimeout(menuInt);
	if(id != page_id){
		$("#menu_"+page_id).attr("class","mainMenuUnSelected");
	}
	if(submenu_open){
		$("#menuPointer_"+page_id).css("visibility","hidden");
	}
	$("#menuPointer_"+id).css("visibility","visible");
	$("#subMenu").html(getSubmenuHtml(id));
	positionSubmenuToArrow(id);
	$("#subMenu").animate({height:56,marginBottom:15,queue:false},400,'easeInOutExpo');

}
function mainMenuOut(id){
	if(id == page_id) return
	$("#menu_"+page_id).attr("class","mainMenuSelected");
	outId = id;
	menuInt = setTimeout("closeSubmenu()",1000);
}
function closeSubmenu(){
	if(submenu_open){
		
		$("#subMenu").html(getSubmenuHtml(page_id));
		$("#menuPointer_"+outId).css("visibility","hidden");
		$("#menuPointer_"+page_id).css("visibility","visible");
		positionSubmenuToArrow(page_id);
		return;
	}
	$("#menuPointer_"+outId).css("visibility","hidden");
	$("#subMenu").animate({height:0,marginBottom:0},400,'easeInOutExpo');
}
function trace(value){
	console.log(value);
}

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}
function createNewPanoramicView(url,offset,title){
	$("#vTourTitle").html(title);
	thisMovie("virtualTour").createNewPanoramicView(url,offset);
}

