/*
	Title: 	 rttt.js
	Version: 1.4
	Date:    19/01/04
	Author:	 Chris Brody (with apologies to Macromedia)
	Note: Version for site with Results pages (v1.4)
*/

//Global vars
var docPath = window.location.pathname;

//Related case study links
var case1 = new Array ("Fairprice","/case/case1.htm");
var case2 = new Array ("Fishing for a future","/case/case2.htm");
var case3 = new Array ("Non caged hens","/case/case3.htm");
var case4 = new Array ("The long haul","/case/case4.htm");
var case5 = new Array ("White & wild","/case/case5.htm");
var case6 = new Array ("Outdoor bred pork","/case/case6.htm");
var case7 = new Array ("A fair deal for farmers","/case/case7.htm");
var case8 = new Array ("Whose store is it anyway?","/case/case8.htm");
var case9 = new Array ("A sea change?","/case/case9.htm");
var case10 = new Array ("A co-op for the community","/case/case10.htm");
var case11 = new Array ("Regional beef","/case/case11.htm");

//Note: add new case study to array in alpha order
var cases = new Array (case10, case7, case1, case2, case4, case3, case6, case11, case9, case5);

//Add related case studies for each module
//Note: case<n> relates to .htm filename NOT menu position!
var modL1 = new Array ("case4");							//Environment
var modL2 = new Array ("case2","case1","case7","case5");	//Producers
var modL3 = new Array ();									//Workers
var modL4 = new Array ("case9","case10","case11");			//Local
var modL5 = new Array ("case2","case5");					//Nature
var modL6 = new Array ("case3","case6","case11")			//Animals
var modL7 = new Array ("case10");							//Health

//Next line should not need to be changed unless a new module is added
var modLs = new Array (modL1, modL2, modL3, modL4, modL5, modL6, modL7);

//Which tabs (pages) to show in each module (i.e. how many indicators etc.)
var mod1 = "1111011"; //e.g. page_1, page_2, page_3, page_4, page_6, page_7
var mod2 = "1111111";
var mod3 = "1111101";
var mod4 = "1111001";
var mod5 = "1111011";
var mod6 = "1111111";
var mod7 = "1111111";
var mods = new Array(mod1, mod2, mod3, mod4, mod5, mod6, mod7);

//End of globals

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
   if (init==true) with (navigator) {
   	if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
	     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; 
			onresize=MM_reloadPage; 
		}
	}
   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
MM_reloadPage(true);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
   eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
   if (restore) selObj.selectedIndex=0;
}

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_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}

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_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}

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_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];}
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

function setMenuHilite () {
	// find the first numeric character in file path and set menu highlight accordingly
	var	searchObj = /\d+/;
	var numLoc = searchObj.exec(docPath);
	var menuNum
	if (numLoc == null) menuNum = 0;
	else menuNum = numLoc[0];
	var menuID = 'menu' + menuNum;
	var menuItem = MM_findObj(menuID);
	//var menuItem = document.getElementById(menuID);
	try {
		menuItem.className = "menuHilite";
		if (menuNum.length == 2) hideSubNav();
	}
	catch(e) {
		return true;
	}
}

function unSetMenuHilite () {
	//For index pages where no index menu item exists
	var whole = document.getElementsByTagName('*');
    for (var e = 0; e < whole.length; e++)
    	if (whole[e].className == "menuHilite")
      	whole[e].className = "menu";
}

function hideSubNav() {
	var subNav = document.getElementById("tabbar");
	subNav.className = "ahem";
}

function hideLinks() {
	//Display correct tabs and related links for each module
	//array var "mods" must be set up in globals above
	var	searchObj = /\d+/;
	var numLoc = searchObj.exec(docPath);
	if (numLoc != null) {
		var modNum = numLoc[0];
		var thisMod = mods[modNum - 1];
		for (var i = 0; i < thisMod.length; i++) {
			if (thisMod.charAt(i) == 0) {
				var pageNum = i + 1;
				var subNav = document.getElementById("tabbar" + pageNum);
				subNav.style.display = "none";
			}
		}
		setSubMenuHilite();
	}
}

function setSubMenuHilite() {
	var tabNum = "1";
	var fileName = docPath;
	fileName = fileName.substr(fileName.lastIndexOf('\\') + 1);
   	fileName = fileName.substr(fileName.lastIndexOf('/') + 1);
	var	searchObj = /\d+/;
	var numLoc = searchObj.exec(fileName);
	if (numLoc != null) {
		tabNum = numLoc[0];
	}
	var tabID = 'tabbar' + tabNum;
	var tabItem = MM_findObj(tabID);
	var tabItem = document.getElementById(tabID);
	tabItem.className = "tabHilite";
}

function getDoc(docType, ext) {
 	var fileName = docPath;
	var endPoint = fileName.lastIndexOf('/') - 1;
	fileName = fileName.substr(fileName.lastIndexOf('\\') + 1);
	fileName = fileName.substr(1, endPoint);
	fileName = fileName.substr(fileName.lastIndexOf('/'));
	var filePath = "/documents/" + docType + fileName + "." + ext;
	window.location.href = filePath;
}

function showRelLinks() {
	var	searchObj = /\d+/;
	var numLoc = searchObj.exec(docPath);
	if (numLoc != null) {
		var modNum = numLoc[0];
		var thisMod = modLs[modNum - 1];
		if (thisMod.length > 0) {
			document.write('<ul id="relMods">');
			document.write('<p class="linkBoxTitle">Case Studies</p>');
			for (var i = 0; i < thisMod.length; i++) {
				document.write("<li><a href='" + eval(thisMod[i]+"[1]") + "'>" + eval(thisMod[i]+"[0]") + "</a></li>");
			}
			document.write("</ul>");
		}	
	}
}

function showRelModules() {
	var caseNum = 0
	var fileName = docPath;
	fileName = fileName.substr(fileName.lastIndexOf('\\') + 1);
   	fileName = fileName.substr(fileName.lastIndexOf('/') + 1);
	var	searchObj = /\d+\b/;
	var numLoc = searchObj.exec(fileName);
	if (numLoc != null) {
		caseNum = numLoc[0];
		var i = 0;
		var regCase = new RegExp(["^case" + caseNum + "$"]);
		for (i; i <= 6; i++) { //loop through modules to find this case
			for (var j = 0; j < modLs[i].length; j++) {	
				if (regCase.exec(modLs[i][j]) != null) {
					document.getElementById("mod" + (i + 1)).className = "showIt";
				}	
			}
		}
	}
	else { //Show all modules
		for (var i = 0; i <= 6; i++) { 
			document.getElementById("mod" + (i + 1)).className = "showIt";
		}
	}
}

function openPop (url) {
	 docWindow=window.open(url,'DocumentWindow','width=300,height=400,resizable=false,scrollbars=no,menubar=false,toolbar=false,directories=false,location=false,status=false');
	 docWindow.focus();
	 return false;
}

function invalidEmail(textObj){
	var str=textObj.value
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(str))
		testresults=false
	else {
		testresults=true
	}
	return (testresults)
}

function invalidField(textObj) {
	if(textObj.value.length == 0)
		return true; 
	return false;
}
		
function validateForm(formObj)	{
		if(invalidEmail(formObj.pm_mail)) {								
			if(formObj.list.checked) {
				self.alert("Please enter a valid email address for us to be able to add you to our mailing list.");
				return false;
			}
			else
				if(invalidField(formObj.pm_mail)) 
					formObj.pm_mail.value = "user@example.com";
				self.alert("Please enter a valid email address for us to be able to respond to your feedback.");
			  return false; 
		}
		else
	  	return true;
}

function checkSearch(aForm) {
	if (aForm.elements[0].value=="Search")
		window.location = "/search.htm";
	else {
		aForm.submit();
	}
}