/*
 * MENU FUNCTIONS
 * (c) 2011
 * menu functions 
*/

// ===
// 1) www.bp.com/work/
// 2) www.bp.com/index.html#work
// 
// 1) www.bp.com/work/#sub
// 2) www.bp.com/index.html#work&sub
// 
// ================================
// PAGE FUNCTIONS 

	// VIA URLENCODE	
	function detect_current_page() {
		var match = RegExp('[?&]page=([^&]*)').exec(window.location.search);
		var urlPage = match && decodeURIComponent(match[1].replace(/\+/g, ' '));
		if (urlPage=="" || urlPage==null) { urlPage="home"; }
		return urlPage;
	}	
	function detect_current_subpage() {
		var match = RegExp('[?&]sub=([^&]*)').exec(window.location.search);
		var urlPage = match && decodeURIComponent(match[1].replace(/\+/g, ' '));
		if (urlPage==null) { urlPage=""; } // never null 
		return urlPage;
	}
	
	// VIA HASH 	
	function detect_current_page_hash() {
		var urlPage = getLocationHash();
		if (urlPage=="" || urlPage==null) { urlPage="home"; }
		return urlPage;
	}
	function detect_current_subpage_hash() {
		var match = RegExp('[?&]([^&]*)').exec(window.location.search);
		var urlPage = match && decodeURIComponent(match[1].replace(/\+/g, ' '));
		if (urlPage==null) { urlPage=""; } // never null 
		return urlPage;
	}	
	function getLocationHash () {
  		return window.location.hash.substring(1);
	}
	function parse_hashchange(e) {
		trace(e);
		var destiny = getLocationHash();
		trace(destiny)
	}
	
	// ===
	
	function load_page(page) {
		// subpage redirects
		if (page=="home" || page=="featured" || page=="licensing" || page=="original" || page=="fullcampaign") {
			currentSubPage = page;
			currentPage = "work";
		} 
		//
		// Main branch  
		if (page=="home") {
			currentSubPage="home";
			$(".pageContent").load("work/work.php");
		} else if (page=="work") {
			$(".pageContent").load("work/work.php");
			if (currentSubPage=="") currentSubPage="featured"; //
		} else if (page=="contact") {
			if (!currentSubPage) currentSubPage="losangeles";
			$(".pageContent").load("contact/contact.html");
		} else if (page=="like") {
			//if (currentSubPage=="") currentSubPage="all";
			$(".pageContent").load("like/like.html");
		} else if (page=="about") {
			$(".pageContent").load("about/about.html");
		} 
		//
		set_menu_to(page); 
	}

// ================================
// 2) MOUSE 

	function activate_menus() {
		$('.navItem').hover(menu_over, menu_out); // all
		$('.navItem').click(menu_clicked); // all
		//window.onhashchange = parse_hashchange();
	}
	
	function menu_over(e) {
		var menu = e.target;
		$(menu).addClass('navItemOver');
	}
	
	function menu_out(e) {
		var menu = e.target;
		$('.navItem').removeClass('navItemOver'); // all
	}

// CLICK
	
	function menu_clicked(e) {
		var menu = e.target;
		if (e.target.id == "volumeNav" || e.target.id == "volume") { 
			//masterVolume = !masterVolume; $('#volume').attr({ "src":"images/icon-volume-"+masterVolume+".png" }); // toggle
			var destVol = (!masterVolume);
			set_master_volume(destVol);
			adjust_current_volume(destVol); 
			// add code to modify volume of current playing clip
		}
		else if (menu.id=="clients") { 
			var newWindow = window.open("http://clients.betapetrol.net", "BETA PETROL CLIENT LOGIN");	
		}
		else if (menu.id=="events") { 
			var newWindow = window.open("http://betapetrol.tumblr.com/", "BETA PETROL EVENTS BLOG");	
		}
		else if (menu.id=="youtube") { 
			var newWindow = window.open("http://www.youtube.com/user/betapetrol", "BETAPETROL ON YOUTUBE");	
		}
		else if (menu.id=="teardrops") { 
			var newWindow = window.open("http://www.teenageteardrops.com/", "Teenage Teardrops");			
		}
		else if (menu.id=="kyi") { 
			var newWindow = window.open("http://www.killyouridols.com/", "Kill Your Idols");			
		}
		else {
			//var gotoURL = ""; // reset
			//if (currentPage=="home") { gotoURL = "../"; } 
			//gotoURL += "index.html?page="; //var gotoURL = "index.html#";	
			var dest = "";
			if ( $(e.target).hasClass("navItemBottom") ) { dest=e.target.id; } 
			else { dest = currentPage; } 
			//{ gotoURL += e.target.id; } else { gotoURL += currentPage; } 
			if ( $(e.target).hasClass("navItemTop") ) { dest += "&sub="+e.target.id; }
			//{ gotoURL += "&sub="+e.target.id; }
			//window.location = gotoURL;
			//window.location.replace(gotoURL);
			goto_page(dest)
		}
	}
	
	function goto_page(dest) {
		var useMethod=1;
		// method 1
		if (useMethod==1) {
			var gotoURL = ""; // reset
			if (currentPage=="home") { gotoURL = "../"; } 
			gotoURL += "index.html?page=" + dest;
			window.location.replace(gotoURL);
		}
		// method 2
		else if (useMethod==2) {
			$('body').append('<form id="pageForm" method="POST" action=""><input type="hidden" name="page" value="'+dest+'">');
			$('#pageForm').submit();
		}
		// method 3
		else if (useMethod==3) {
			var form = document.createElement("form");
			$(form).attr({"method":"POST", "action":"index.php"});
			var newpage = document.createElement("input");
			$(newpage).attr({"type":"hidden", "name":"page", "value":e.target.id });
			$(form).append(newpage);
			$('body').append(form);
			form.submit();
		}
		// method 4
		else if (useMethod==4) {
			var gotoURL = "index.php?page="+ dest;
			window.location.replace(gotoURL);
		}
	}

	

// ================================
// 1) INIT

	function set_menu_to(mainmenu) { 
		//if (!mainmenu) mainmenu = currentPage;
		if (currentPage=="work") {
			$('.navTop').append('<div class="navItem navItemTop" id="featured">FEATURED</div>');
			$('.navTop').append('<div class="navItem navItemTop" id="licensing">SUPERVISION + LICENSING</div>');		
			$('.navTop').append('<div class="navItem navItemTop" id="original">ORIGINAL MUSIC + SOUND</div>');
			$('.navTop').append('<div class="navItem navItemTop" id="campaign">FULL CAMPAIGN</div>');
		} else if (currentPage=="like") {
			$('.navTop').append('<div class="navItem navItemTop" id="teardrops">TEENAGE TEARDROPS</div>');
			$('.navTop').append('<div class="navItem navItemTop" id="kyi">KILL YOUR IDOLS</div>');
			//$('.navTop').append('<div class="navItem navItemTop" id="all">ALL</div>');
		} 
				
		// hilite main menu
		if (currentSubPage) $('.navItemTop#'+currentSubPage).addClass("navItemSelected");
		// hilite submenu
		$('.navItemBottom#'+currentPage).addClass("navItemSelected");
		trace(currentPage + " / " + currentSubPage);
	}
	

	
