var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

var newDiv;
var parentDiv;
var parent;
var subMenuName;

function parseUrl(data) {
    var e=/^((http|ftp):\/)?\/?([^:\/\s]+)((\/\w+(-\w+)*)*\/)([\w\-\.]+\.[^#?\s]+)?(#[\w\-]+)?$/
    //alert(data.match(e));

    if (data.match(e)) {
	//alert (RegExp.$6);
	//alert (RegExp.$5);
        return  {url: RegExp['$&'],
                protocol: RegExp.$2,
                host:RegExp.$3,
                path:RegExp.$4,
		dir:RegExp.$5,
                file:RegExp.$6,
                hash:RegExp.$7};
    }
    else {
        return  {url:"", protocol:"",host:"",path:"",dir:"",file:"",hash:""};
    }
}

function currentDir()
{
	var curPage = currentPage();
	var curDir = 0;

	//alert(curPage);

	switch(curPage)
	{
		case "purpose":
			curDir = "aboutus";
			break;
		case "history":
			curDir = "aboutus";
			break;
		case "contact-info":
			curDir = "aboutus";
			break;
		case "our-board":
			curDir = "people";
			break;
		case "our-staff":
			curDir = "people";
			break;
		case "approach":
			curDir = "work";
			break;
		case "ddd":
			curDir = "work";
			break;
		case "ce":
			curDir = "work";
			break;
		case "volunteer":
			curDir = "involve";
			break;
		case "partner":
			curDir = "involve";
			break;
		case "donate":
			curDir = "involve";
			break;
		case "opportunities":
			curDir = "involve";
			break;
	}

	//alert(curDir);
	return curDir;
}

function currentPage()
{
		var filename = parseUrl(document.URL);

		// We used to check the filename for a match
		// Then remove the file extension
		// i.e. approach.html becomes approach
		// But wordpress does not give a file
		// It gives a directory
		/*
		var filename = filename['file'];
		var file_noext = filename.replace(/\.[^.]*$/,"");

		return file_noext;
		*/

		// Instead, we take the lowest directory
		// and remove the leading slash
		var curPage = filename['dir'];
		var curPage = curPage.replace(/\//,"");

		return curPage;
}

function showCurrent()
{
	var menu_item = currentDir();

	//alert("#" + menu_item);
	//#aboutus.val('visibility','visible');
	//alert($("#aboutus").css('visibility'));
	$('#' + menu_item).css('visibility','visible');
	ddmenuitem = $("#" + menu_item);
	$('#' + menu_item + "_li").css('font-weight','bold');

	// Make the current main nav item Maroon
   	$('#' + menu_item + "_li").css('color','#990000');
}

function addBrackets()
{
	var submenu_item = currentPage();

	//alert($("#approach").attr("innerHTML"));
	//$("#approach").attr("innerHTML", "[ " + $("#approach").attr("innerHTML") + " ]");
	
	//alert("current page is: " + submenu_item);

	if (submenu_item != "home" && submenu_item != "blog")
	{
		$("#" + submenu_item).attr("innerHTML", "[ " + $("#" + submenu_item).attr("innerHTML") + " ]");
	}
}

function jsddm_open()
{  
   jsddm_canceltimer();
   jsddm_close();
   //this.css('font-weight','bold');
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');
   $("#" + ddmenuitem.attr('id') + "_li").css('font-weight','bold');

   // Make the parent nav item of the currently moused over item maroon
   $("#" + ddmenuitem.attr('id') + "_li").css('color','#990000');
   //$(this).css('font-weight','bold');
}

function jsddm_close()
{
	//alert("close");
	if(ddmenuitem) {
		ddmenuitem.css('visibility', 'hidden');
   		$("#" + ddmenuitem.attr('id') + "_li").css('font-weight','normal');

		// Change color of parent nav item back to gray when
		// we mouse off - applies when moving between items
   		$("#" + ddmenuitem.attr('id') + "_li").css('color','#4c4c4c');
	}
}

function jsddm_close_tocurrent()
{
	//alert("tocurrent");
	if(ddmenuitem) {
		ddmenuitem.css('visibility', 'hidden');
   		$("#" + ddmenuitem.attr('id') + "_li").css('font-weight','normal');

		// Change color of parent nav item back to gray when
		// we mouse off - applies when we mouse off the nav bar
   		$("#" + ddmenuitem.attr('id') + "_li").css('color','#4c4c4c');
	}
	showCurrent();
}

function jsddm_timer()
{
	//alert("timer");
	closetimer = window.setTimeout(jsddm_close_tocurrent, timeout);
}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}



//document.onclick = jsddm_close;
	
	function createMenu(element){
		/* Creating the parent <ul> element for the menu*/
		newDiv = $('<ul></ul>');
		newDiv.attr("id","jsddm");
		newDiv.appendTo(element);
		parent = newDiv;
		
		/*Creating submenu 0*/
		/*subMenuName = "HOME";
		parentDiv = createMenuNameUrlWidth(parent,subMenuName,'home','http://community-lab.org/',40); */
				
		/*Creating submenu 1*/
		subMenuName = "ABOUT US";
		parentDiv = createMenuNameOffsetWidth(parent,subMenuName,'aboutus',-70,100); 
				
		/*element 1 of submenu1*/
		newDiv = createLiUrlWidth("purpose","http://community-lab.org/about-us/purpose/","purpose",100);
		newDiv.appendTo(parentDiv);
		
		
		
		/*element 3 of submenu1*/
		newDiv = createLiUrlWidth("contacts","http://community-lab.org/about-us/contact-info/","contact-info",100);
		newDiv.appendTo(parentDiv);
		
		/*element 4 of submenu1
		newDiv = createLiUrlWidth("financials","http://community-lab.org/about-us/financials/","financials",80);
		newDiv.appendTo(parentDiv);*/
		
		/*element 5 of submenu1
		newDiv = createLiUrlWidth("press kit","http://community-lab.org/about-us/community-lab-press-kit/","community-lab-press-kit",55);
		newDiv.appendTo(parentDiv);*/
		
		/*##########submenu ends##################################################*/


		
		/*Creating submenu 3*/
		subMenuName = "OUR WORK";
		parentDiv = createMenuNameOffsetWidth(parent,subMenuName,'work',-80,100);
		
		
		/*element 1 of submenu1*/
		newDiv = createLiUrlWidth("approach","http://community-lab.org/our-work/approach/","approach",105);
		newDiv.appendTo(parentDiv);
		
		/*element 2 of submenu1*/
		newDiv = createLiUrlWidth("demand-driven development","http://community-lab.org/our-work/ddd/","ddd",224); 
		newDiv.appendTo(parentDiv);
		
		/*element 3 of submenu1*/
		newDiv = createLiUrlWidth("community engagement","http://community-lab.org/our-work/ce/","ce",100);
		newDiv.appendTo(parentDiv);


                /*##########submenu ends##################################################*/
		
		/*Creating submenu 2*/
		subMenuName = "OUR PEOPLE";
		parentDiv = createMenuNameOffsetWidth(parent,subMenuName,'people',180,100);
				
		
		
		/*element 2 of submenu1
		newDiv = createLiUrlWidth("staff","http://community-lab.org/our-people/our-staff/","our-staff",75);
		newDiv.appendTo(parentDiv);*/
		
		/*element 1 of submenu1*/
		newDiv = createLiUrlWidth("board","http://community-lab.org/our-people/our-board/","our-board",75); 
		newDiv.appendTo(parentDiv);


    /*element 2 of submenu1
		newDiv = createLiUrlWidth("fellows","http://community-lab.org/our-people/our-staff/","our-staff",100);
		newDiv.appendTo(parentDiv);*/
		
		
		

		/*##########submenu ends##################################################*/
		
		/*Creating submenu 4
		subMenuName = "BLOG";
		parentDiv = createMenuNameUrlWidth(parent,subMenuName,'blog','http://community-lab.org/blog/',40);*/

		/*##########submenu ends##################################################*/
		
		/*Creating submenu 4*/
		subMenuName = "GET INVOLVED";
		//parentDiv = createMenuNameOffset(parent,subMenuName,'involve',522);
		parentDiv = createMenuNameOffsetWidth(parent,subMenuName,'involve',20,100);
				
		/*element 1 of submenu1*/
		//newDiv = createLiUrlWidth("volunteer","http://community-lab.org/get-involved/volunteer/","volunteer",85);
		newDiv = createLiUrlWidth("volunteer","http://community-lab.org/volunteer/index.php","volunteer",100);
		newDiv.appendTo(parentDiv);
		
		/*element 2 of submenu1*/
		newDiv = createLiUrlWidth("supporters","http://community-lab.org/partner/index.php","supporters",100);
		newDiv.appendTo(parentDiv);
		
		/*element 2 of submenu1
		newDiv = createLiUrlWidth("donate","https://www.donationpay.org/communitylab/index.php?secure=true","donate",90);
		newDiv.appendTo(parentDiv);*/
		
		/*element 2 of submenu1*/
		newDiv = createLiUrlWidth("opportunities","http://community-lab.org/get-involved/opportunities/","opportunities",100);
		newDiv.appendTo(parentDiv);
		
		/*##########submenu ends##################################################*/
		$('#jsddm > li').bind('mouseover', jsddm_open)
		$('#jsddm > li').bind('mouseout',  jsddm_timer)
	}
	
	function createMenuName(thisParent,name,id){
		var newDiv = createLi(name,id+"_li");
		newDiv.appendTo(thisParent);
		var parentDiv = newDiv;
		newDiv = $('<ul></ul>');  
		newDiv.attr('id',id);
		newDiv.attr('value',name);
		newDiv.appendTo(parentDiv);
		//parentDiv = newDiv;
		return newDiv;
	}

	function createMenuNameWidth(thisParent,name,id,width){
		var newDiv = createLiWidth(name,id+"_li",width);
		newDiv.appendTo(thisParent);
		var parentDiv = newDiv;
		newDiv = $('<ul></ul>');  
		newDiv.attr('id',id);
		newDiv.attr('value',name);
		newDiv.appendTo(parentDiv);
		//parentDiv = newDiv;
		return newDiv;
	}

	function createMenuNameUrl(thisParent,name,id,url){
		var newDiv = createLiUrl(name,url,id+"_li");
		newDiv.appendTo(thisParent);
		var parentDiv = newDiv;
		newDiv = $('<ul></ul>');  
		newDiv.attr('id',id);
		newDiv.attr('value',name);
		newDiv.appendTo(parentDiv);
		newDiv.css('cursor','pointer');
		//parentDiv = newDiv;
		return newDiv;
	}

	function createMenuNameUrlWidth(thisParent,name,id,url,width){
		var newDiv = createLiUrlWidth(name,url,id+"_li",width);
		newDiv.appendTo(thisParent);
		var parentDiv = newDiv;
		newDiv = $('<ul></ul>');  
		newDiv.attr('id',id);
		newDiv.attr('value',name);
		newDiv.appendTo(parentDiv);
		newDiv.css('cursor','pointer');
		//parentDiv = newDiv;
		return newDiv;
	}

	function createMenuNameOffset(thisParent,name,id,offset){
		var newDiv = createLi(name,id+"_li");
		var offsetstr = "\'" + offset + "px\'";
		newDiv.appendTo(thisParent);
		var parentDiv = newDiv;
		newDiv = $('<ul></ul>');  
		newDiv.attr('id',id);
		newDiv.css('left',offset);
		newDiv.appendTo(parentDiv);
		//parentDiv = newDiv;
		return newDiv;
	}

	function createMenuNameOffsetWidth(thisParent,name,id,offset,width){
		var newDiv = createLiWidth(name,id+"_li",width);
		var offsetstr = "\'" + offset + "px\'";
		newDiv.appendTo(thisParent);
		var parentDiv = newDiv;
		newDiv = $('<ul></ul>');  
		newDiv.attr('id',id);
		newDiv.css('left',offset);
		newDiv.appendTo(parentDiv);
		//parentDiv = newDiv;
		return newDiv;
	}

	function createLi(name,id){
		var parentDiv;
		var newDiv;
		parentDiv = $('<li></li>');
		newDiv = $('<a id=\"' + id + '_a\">' +name+ '</a>');
		newDiv.attr('id',id);
		//newDiv.click(function(){alert($("#approach").attr('id'))});
		//newDiv.click(function(){alert(this.id);this.innerHTML = "[ " + this.innerHTML + " ]"});
		//newDiv.click(function(){alert(document.URL)});
		//newDiv.click(showCurrent);
		newDiv.appendTo(parentDiv);
		return parentDiv;
	}

	function createLiWidth(name,id,width){
		var parentDiv;
		var newDiv;
		parentDiv = $('<li></li>');
		newDiv = $('<a id=\"' + id + '_a\">' +name+ '</a>');
		newDiv.attr('id',id);
		newDiv.appendTo(parentDiv);
		newDiv.css('width',width);
		return parentDiv;
	}
	
	
	function createLiUrl(name,url,id){
		var parentDiv;
		var newDiv;
		parentDiv = $('<li></li>');
		newDiv = $('<a id=\"' + id + '_a\">' +name+ '</a>');
		newDiv.attr('href',url);
		newDiv.attr('id',id);
		newDiv.css('cursor','pointer');
		//newDiv.click(function(){alert($("#approach").attr('id'))});
		//newDiv.click(function(){alert(this.id);this.innerHTML = "[ " + this.innerHTML + " ]"});
		//newDiv.click(function(){alert(document.URL)});
		//newDiv.click(showCurrent);
		newDiv.appendTo(parentDiv);
		return parentDiv;
	}

	function createLiUrlWidth(name,url,id,width){
		var parentDiv;
		var newDiv;
		parentDiv = $('<li></li>');
		newDiv = $('<a id=\"' + id + '_a\">' +name+ '</a>');
		newDiv.attr('href',url);
		newDiv.attr('id',id);
		newDiv.css('cursor','pointer');
		newDiv.css('width',width);
		newDiv.appendTo(parentDiv);
		return parentDiv;
	}

