// Left Navigation Script for NYC.gov Agency Templates

// Returns path with folder and file, else -1.
// ex. /folder/file.html
function getPath(thePath) {
	if (thePath == null) { return -1; }
	var startSlash = thePath.lastIndexOf("/");
	startSlash = thePath.lastIndexOf("/",startSlash -1);

	if (startSlash == -1) {
		return -1;
	} else {
		return thePath.substr(startSlash, thePath.length - startSlash);
	}
}

// Returns folder, else -1.
// ex. /folder/
function getFolder(thePath) {
	if (thePath == null) { return -1; }
	var startSlash = thePath.lastIndexOf("/");
	startSlash2 = thePath.lastIndexOf("/",startSlash -1);

	if(startSlash == startSlash2) { return -1; }
	if (startSlash == -1 || startSlash2 == -1) {
		return -1;
	} else {
		return thePath.substr(startSlash2, startSlash - startSlash2 + 1);
	}
}
function getActiveSub(thePath) {
	if (thePath == null) { return -1; }
	var startSlash = thePath.lastIndexOf("/");
	var theFile=thePath.substr(startSlash+1);
	if(theFile.indexOf("_")!=-1){
		theFile=theFile.substr(0,theFile.lastIndexOf("_"));
	}else{
		theFile=theFile.substr(0,theFile.lastIndexOf("."));
	}
	return(theFile);
}


var currentURL = getPath(location.href);
var expandCurrentNode = false;
var haveNodes = false;
var drawnSub = false;
var activeSub="";
var navImgPath = "../../includes/site_images/nav/";

document.write('<table width="179" border="0" cellspacing="0" cellpadding="0">');


for(x=0;x<NAV_NODES.length;x++) {
	expandCurrentNode = false;
	haveNodes = false;

	//check for sub nodes
	if (NAV_NODES[x] == null) break;
	if (NAV_NODES[x].length > 2) {
		if (currentURL.indexOf(getFolder(NAV_NODES[x][1])) != -1) {
			expandCurrentNode = true;
		}
		for(y=2;y<NAV_NODES[x].length;y++) {
			if (NAV_NODES[x][y] == null) break;
			if (NAV_NODES[x][y][1] != null) haveNodes = true;
			if (currentURL.indexOf(getPath(NAV_NODES[x][y][1])) != -1) {
				expandCurrentNode = true;
			}
		}
	}

	//if (x != 0) {
	//	document.write('<img src="../../includes/site_images/nav/divider.gif" width="136" height="9"><br>');
	//}
	
	//draw main nodes
	if (currentURL.indexOf(getPath(NAV_NODES[x][1])) != -1 || expandCurrentNode == true) {
		tmpImgName = (NAV_NODES[x][0].toLowerCase()).replace(/ /g,"_");
		document.write("<tr><td width='179'><a href='" + NAV_NODES[x][1] + "' class='nav_section' onMouseOut='MM_swapImgRestore()' onMouseOver=MM_swapImage('" + tmpImgName + "','','" + navImgPath + tmpImgName + "_over.gif',1)><img src='" + navImgPath + tmpImgName + "_over.gif' alt='" + NAV_NODES[x][0] + "' name='" + tmpImgName + "' border='0' width='179'></a></td></tr>");
		MM_preloadImages(navImgPath + tmpImgName + "_over.gif");
		expandCurrentNode = true;
	} else {
		tmpImgName = (NAV_NODES[x][0].toLowerCase()).replace(/ /g,"_");
		document.write("<tr><td width='179'><a href='" + NAV_NODES[x][1] + "' class='nav_section' onMouseOut='MM_swapImgRestore()' onMouseOver=MM_swapImage('" + tmpImgName + "','','" + navImgPath + tmpImgName + "_over.gif',1)><img src='" + navImgPath + tmpImgName + ".gif' alt='" + NAV_NODES[x][0] + "' name='" + tmpImgName + "' border='0' width='179'></a></td></tr>");
		MM_preloadImages(navImgPath + tmpImgName + "_over.gif");
//hardcode to keep The Plan subs always visible
if(getFolder(NAV_NODES[x][1]).indexOf("plan")!=-1){
	expandCurrentNode = true;
}

	}

	//draw sub nodes
	if (NAV_NODES[x].length > 2 && expandCurrentNode == true) {
		for(y=2;y<NAV_NODES[x].length;y++) {
			if (NAV_NODES[x][y] == null) break;
			activeSub=getActiveSub(getPath(NAV_NODES[x][y][1]));
			if (currentURL.indexOf(getPath(NAV_NODES[x][y][1])) != -1||(currentURL.indexOf(activeSub)!=-1&&currentURL.indexOf("questionnaire")==-1&&currentURL.indexOf("stormwater")==-1)) {
				tmpImgName = (NAV_NODES[x][y][0].toLowerCase()).replace(/ /g,"_");
				document.write("<tr><td width='179'><a href='" + NAV_NODES[x][y][1] + "' class='nav_section' onMouseOut='MM_swapImgRestore()' onMouseOver=MM_swapImage('sub_" + tmpImgName + "','','" + navImgPath + "sub_" + tmpImgName + "_over.gif',1)><img src='" + navImgPath + "sub_" + tmpImgName + "_over.gif' alt='" + NAV_NODES[x][y][0] + "' name='sub_" + tmpImgName + "' border='0' width='179'></a></td></tr>");
				//document.write("<tr><td width '179'><a href='" + NAV_NODES[x][y][1] + "' class='nav_subsection_active'>" + NAV_NODES[x][y][0] + "</a></td></tr>");
				MM_preloadImages(navImgPath + "sub_" + tmpImgName + "_over.gif");
				drawnSub = true;
			} else {
				tmpImgName = (NAV_NODES[x][y][0].toLowerCase()).replace(/ /g,"_");
				document.write("<tr><td width='179'><a href='" + NAV_NODES[x][y][1] + "' class='nav_section' onMouseOut='MM_swapImgRestore()' onMouseOver=MM_swapImage('sub_" + tmpImgName + "','','" + navImgPath + "sub_" + tmpImgName + "_over.gif',1)><img src='" + navImgPath + "sub_" + tmpImgName + ".gif' alt='" + NAV_NODES[x][y][0] + "' name='sub_" + tmpImgName + "' border='0' width='179'></a></td></tr>");
				//document.write("<tr><td width '179'><a href='" + NAV_NODES[x][y][1] + "' class='nav_subsection'>" + NAV_NODES[x][y][0] + "</a></td></tr>");			}
				MM_preloadImages(navImgPath + "sub_" + tmpImgName + "_over.gif");
				drawnSub = true;
			}
		}
		if (drawnSub == true) {
			document.write("<tr><td width='179' bgcolor='000000'><img src='../../includes/site_images/spacers/spacer.gif' width='179' height='4' border='0'></td></tr>");
		}
	}
	
}

document.write('</table>');
// The following DW JS is used for imageover effects

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//Other JS

function textCounter(field, maxlimit) {

if (field.value.length > maxlimit) // if too long...trim it!

 	field.value = field.value.substring(0, maxlimit);

}