
/******************************
**
**	Iteracy Content Management System
**	(c) 2007 Iteracy Ltd
**	All rights reserved
**	www.iteracy.com
**
*******************************/

function preLoadImages() {
	imagesArray = new Array();
	n = 0;
	if (document.images) {
		for (i=0; i<document.images.length; i++) {
			if (document.images[i].src.indexOf("_n.png")>0) { 
				img_on = document.images[i].src;
				img_on = img_on.substring(0,img_on.length-5) + "h.png";
				imagesArray[n] = new Image();
				imagesArray[n].src = document.images[i].src;
				imagesArray[n+1] = new Image();
				imagesArray[n+1].src = img_on; 
				n = n+2;
			}
		}
	}
}


function mouseOut(imgName) {
	if (document.images) {
		img_on = document.images[imgName].src;
		document.images[imgName].src = img_on.substring(0,img_on.length-5) + "n.png";
	}
}


function mouseOver(imgName) {
	if (document.images) {	
		img_on = document.images[imgName].src;
		document.images[imgName].src = img_on.substring(0,img_on.length-5) + "h.png";
	}
}

function doCount(fieldID, spanID, totalWords) {
	fieldObj = Element(fieldID);
	strText = fieldObj.value + " ";
	var strText = strText.replace(/^[^A-Za-z0-9]+/gi, "");
	var strText = strText.replace(/[^A-Za-z0-9]+/gi, " ");
	var splitString = strText.split(" ");
	var count = splitString.length -1;
	if (strText.length <2) {
		count = 0;
	}
	if ((totalWords - count) < 0) {
		Element(spanID).className=  "error";
		Element(spanID).innerHTML =  count - totalWords  + " words over limit - please reduce to " + totalWords + " words";
	} else {
		Element(spanID).className=  "";
		Element(spanID).innerHTML = totalWords - count + " of " + totalWords + " words remaining";
	}
}

function setCount() {
	doCount('description', 'description_count', 100);
	doCount('milestones', 'milestones_count', 100);
	doCount('commercialisation', 'commercialisation_count', 100);
}

function Element(sID) {
	// returns an element
	if (document.getElementById(sID)) {
		return document.getElementById(sID);
	} else {
		return null;
	}
}

function hideDiv(sID) {
	// hides an element
	if (Element(sID)) {
		Element(sID).style.display = "none";
	}
}

function showDiv(sID) {
	// shows an element
	if (Element(sID)) {
		Element(sID).style.display = "block";
	}
}

function showHide(sID) {
	if (Element(sID)) {
		if (Element(sID).style.display != "block") {
			showDiv(sID);
		} else {
			hideDiv(sID);
		}
	}
}

function showHidePageList(sID) {
	var cookie_value = "";
	if (Element(sID)) {
		if (Element(sID).style.display == "block" || (Element(sID).style.display == "" && Element(sID).className == "displayBlock")) {
			hideDiv(sID);
			cookie_value = getCookie("pagelist_tree");
			cookie_value = cookie_value.replace("|" + sID + "|", "");
			setCookie("pagelist_tree",cookie_value,9999);
		} else {
			showDiv(sID);
			cookie_value = getCookie("pagelist_tree");
			setCookie("pagelist_tree",cookie_value + "|" + sID + "|",9999);
		}
	}
}

function quickLink(sParams) {
	sURL = sParams.split("|")[0];
	bNewWin = sParams.split("|")[1];
	if (bNewWin == "true") {
		window.open(sURL);
	} else {
		document.location = sURL;
	}
}

function showHelp(sID) {
	helpItems = getElementsByClassName("help", "div");
	for (keyVar in helpItems) {
		hideDiv(helpItems[keyVar].id);
	}
	showDiv(sID);
}

function getElementsByClassName(classname,tag) {
	if(!tag) {
		tag = "*";
	}
	var anchs =  document.getElementsByTagName(tag);
	var total_anchs = anchs.length;
	var regexp = new RegExp('\\b' + classname + '\\b');
	var class_items = new Array();
	
	for(var i=0;i<total_anchs;i++) { 
		var this_item = anchs[i];
		if(regexp.test(this_item.className)) {
			class_items.push(this_item);
		}
	}
	return class_items;
}

function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+ ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
  		if (c_start!=-1) { 
    		c_start=c_start + c_name.length+1; 
    		c_end=document.cookie.indexOf(";",c_start);
    		if (c_end==-1) c_end=document.cookie.length;
    		return unescape(document.cookie.substring(c_start,c_end));
   		} 
  	}
	return "";
}