$(document).ready(function()
{
	showIndicator();
	slide("#navigation-block", 0, 0, 150, .8);

	//slide effects
	$(".menu a.slide").hover(function() {
		$(this).next("em").animate({opacity: "show", top: "55"}, "slow");
	}, function() {
		$(this).next("em").animate({opacity: "hide", top: "65"}, "fast");
	});
});


function showIndicator(){
	var url_sets=[["Overview||title2"],
				  
				 ["About OGMC|About-Us|nav",
				  	"Who we are|About-Us",
					"How we work|How-We-Work",
					"Jobs|Jobs",
					"Contacts|Contacts"],
				 
				 ["Financial Products|Financial-Products|nav"],
				 
				 ["Advisory Services|Advisory-Services|nav"],
				 
				 ["Development|Development|nav",
				  "Our Approach|Approach",
				  "Our Stories|Our-Stories#Sector=DevelopmentImpact",
				  "Community Development Fund|Community-Development-Fund",
				  "Disclosure|Disclosure",
				  "Climate Change|Climate-Change",
				  "Extractive Industries Review|Extractive-Industries-Review"],
				 
				 ["Resources for||title2"],
				 
				 ["Oil and Gas|Oil-Gas|nav",
					"Products & Services|Oil-Gas-Products-Services",
					"Investment Steps|Oil-Gas-Investment-Steps",
					"Our Deals|Oil-Gas-Deals#Sector=Oil",
					"Contact|Oil-Gas-Contact"],
				 
				 ["Mining|Mining|nav",
					"Products & Services|Mining-Products-Services",
					"Investment Steps|Mining-Investment-Steps",
					"Our Deals|Mining-Deals#Sector=Mining",
					"Contact|Mining-Contact"],
				 
				 ["Chemicals|Chemicals|nav",
				  "Products & Services|Chemicals-Products-Services",
				  "Investment Steps|Chemicals-Investment-Steps",
				  "Our Deals|Chemicals-Deals#Sector=Chemicals",
				  "Contact|Chemicals-Contact"],
				 
				 ["Media|Media|nav",
					"Experts by name|Experts-By-Name",
					"Experts by issue area|Experts-By-Area",
					//"Fact sheets|FactSheets",
					//"IFC in the news|News",
					"Press Releases|Press-Releases",
					"Project Database|Project-Database",
					"Press Coverage|Press-Coverage"],
				 
				 ["Civil Society|Civil-Society|nav"]];
	
	
	home_url=["Overview||title2",
			  	"About OGMC|About-Us|nav",
				"Financial Products|Financial-Products|nav",
				"Advisory Services|Advisory-Services|nav",
				"Development|Development|nav",
				"Resources for||title2",
				"Oil and Gas|Oil-Gas|nav",
				"Mining|Mining|nav",
				"Chemicals|Chemicals|nav",
				"Media|Media|nav",
				"Civil Society|Civil-Society|nav"]
	var location=$("#nav_location").attr("location");
	var session=Number(location.split("|")[0]);
	var page=Number(location.split("|")[1]);
	var max_session = url_sets.length;
	var max_page=url_sets[session].length;
	var href=window.location.href;
	var splitPoint=3;

	//add entry
	for(sess=0;sess<max_session && session!=0;sess++){
		var sess_name=url_sets[sess][0].split("|")[0];
		var sess_url=url_sets[sess][0].split("|")[1];
		var entry_title=url_sets[sess][0].split("|")[2]
		if(sess_url){
			currentEntry=$("#navigation-block ul").append('<li class="'+entry_title+'"><a  href='+sess_url+'><span>'+sess_name+'</span></a></li>');
		}
		else{
			currentEntry=$("#navigation-block ul").append('<li class="'+entry_title+'"><a><span>'+sess_name+'</span></a></li>');
		}
		//subpages
		for(i=1;i<max_page && sess==session;i++){
			//$("#navigation-block ul li:eq("+(sess-2)+") a").addClass("current_sess");
			var url=url_sets[sess][i].split("|")[1];
			var page_name=url_sets[sess][i].split("|")[0];
			var popup=url_sets[sess][i].split("|")[3];
			//add sub entry
			newLi=$("#navigation-block ul").append('<li class="nav1"><a href='+url+'><span>'+page_name+'</span></a></li>');
		}
		//add indicator
		$("#navigation-block ul li:eq("+(session)+") a").addClass("current_session");
		$("#navigation-block ul li:eq("+(session+page)+") a").addClass("current_page");
		
		//if session>split point
		
	}
	
	//if homepage
	if(session==0){
		for(i=0;i<home_url.length;i++){
			var url=home_url[i].split("|")[1];
			var page_name=home_url[i].split("|")[0];
			var popup=home_url[i].split("|")[3];
			var entry_title=home_url[i].split("|")[2];
			//add entries
			if(url==""){
				//not clickable if null url
				$("#navigation-block ul").append('<li class="'+entry_title+'"><a><span>'+page_name+'</span></a></li>');
			}else{
				$("#navigation-block ul").append('<li class="'+entry_title+'"><a href='+url+'><span>'+page_name+'</span></a></li>');
			}
			//add title style
			if(entry_title){
				$("#navigation-block ul li:eq("+(sess+i)+")").addClass(entry_title);
			}
		}
	}
}


function slide(navigation_id, pad_out, pad_in, time, multiplier)
{
	// creates the target paths
	var list_elements = navigation_id + " ul li";
	var link_elements = list_elements + " a span";
	
	// initiates the timer used for the sliding animation
	var timer = 0;
	
	// creates the slide animation for all list elements 
	$(list_elements).each(function(i)
	{
		// margin left = - ([width of element] + [total vertical padding of element])
		$(this).css("margin-left","-180px");
		// updates timer
		timer = (timer*multiplier + time);
		$(this).animate({ marginLeft: pad_in }, timer);
		$(this).animate({ marginLeft: pad_out }, timer);
		$(this).animate({ marginLeft: pad_in }, timer);
	});

	// creates the hover-slide effect for all link elements 		
	$(link_elements).each(function(i)
	{
		/*$(this).hover(
		function()
		{
			$(this).animate({ marginLeft: pad_out }, time);
		},		
		function()
		{
			$(this).animate({ marginLeft: pad_in }, time);
		});*/
	});
}

function thisMovie(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
//console.log(window[movieName])
		 return window[movieName];
	} else {
						console.log(document[movieName])
		 return document[movieName];
	}
}

function checkSession() {
	var session=$("#nav_location").attr("location").split("|")[0];
	//thisMovie("banner").sendToActionScript(session);
	return session;
}

function checkSpotlight(){
	var hash=window.location.hash.substr(1);
	if(hash.indexOf("Spotlight=")==-1){
		//alert("false spotlight")
		return false;
	}
	else{
		spotlight = hash.charAt(hash.indexOf("Spotlight=")+10);
		//alert("Spotlight="+spotlight)
		return(spotlight);
	}
}

function setSpotlisht(spotlight){
	var hash=window.location.hash.substr(1);
	hashSpotlight=refine(hash, "Spotlight")
	window.location.hash = hashSpotlight+"Spotlight="+spotlight;
	//return false;
}

function checkSector(){
	var hash=window.location.hash.substr(1);
	if(hash.indexOf("Sector=")==-1){
		//alert("false Sector")
		return false;
	}
	else{
		sector = hash.substr(hash.indexOf("Sector=")+7).split("&")[0];
		//alert("sector="+sector)
		return(sector);
	}
}


//get Region in query string
function checkRegion(){
	var qs = new Querystring();
	if(qs.contains("Region")){
		return qs.get("Region")
	}
	else{
		return false;	
	}
}


//refine hash by target: delete old target WITH vavlue and append new target at the end WITHOUT value
function refine(hash, target){
	var hashArr = new Array();
	var refinedHash=""
	hashArr = hash.split("&");
	for(i=0; i<hashArr.length; i++){
		if(hashArr[i].indexOf(target)==-1){
			refinedHash=refinedHash+hashArr[i]+"&"
		}
	}
	//alert(refinedHash)
	return refinedHash;
}


//caseinfo external load function
function caseLoad(casePath){
	path = "../AttachmentsByTitle/Caseinfo_Flash/$FILE/";

	casePath = path + casePath + " #caseContent";
	$('#caseContent').hide('fast',loadContent);
	function loadContent() {
		$('#caseContent').load(casePath,'',showNewContent())
	}
	function showNewContent() {
		$('#caseContent').show('normal',function(){
			resizeDiv();
		});
	}
}

function resizeDiv(){
	
	//$('#caseContent').css('height','1500px');
	//divHeight=getStyle('caseContent','height')
	//alert(divHeight);
	xheight=document.getElementById('caseContent').offsetHeight
	yheight=document.getElementById('caseContent').scrollHeight
	zheight=xheight>yheight?xheight:yheight;
	$('#wrapper').css('height',zheight+400)
}

function getStyle(el,styleProp)
{
	var x = document.getElementById(el);
	if (x.currentStyle)
		var y = x.currentStyle[styleProp];
	else if (window.getComputedStyle)
		var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
	return y;
}


/* Client-side access to querystring name=value pairs
	Version 1.3
	28 May 2008
	
	License (Simplified BSD):
	http://adamv.com/dev/javascript/qslicense.txt
	
	[Constructor]
	new Querystring([querystring]) 
	Creates a new Querystring object, optionally passing a string qs to parse. If qs is omitted, the querystring from the current page is used. 
	If querystring is passed, it should not begin with a "?". 
	// Parse the current page's querystring
	var qs = new Querystring()
	
	// Parse a given querystring
	var qs2 = new Querystring("name1=value1&name2=value2")
	
	[Methods]
	qs.get(name[, default_value]) 
	Returns the value of querystring parameter name if it exists, or default_value if it doesn't. 
	If default_value is omitted and parameter name doesn't exist, returns null. 
	var v1 = qs2.get("name1")
	var v3 = qs2.get("name3", "default value")
	
	Note: If a name appears more than once in a querystring only the last value is kept. 
	qs.contains(name) 
	Returns true if the querystring has a parameter name, else false. 
	if (qs2.contains("name1")){ alert(qs2.get("name1"));}

*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = {};
	
	if (qs == null) qs = location.search.substring(1, location.search.length);
	if (qs.length == 0) return;

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ');
	var args = qs.split('&'); // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i = 0; i < args.length; i++) {
		var pair = args[i].split('=');
		var name = decodeURIComponent(pair[0]);
// value=name if no value contained in query string		
		var value = (pair.length==2)
			? decodeURIComponent(pair[1])
			: name;
		
		this.params[name] = value;
	}
}

Querystring.prototype.get = function(key, default_) {
	var value = this.params[key];
	return (value != null) ? value : default_;
}

Querystring.prototype.contains = function(key) {
	var value = this.params[key];
	return (value != null);
}

