// togglecol 0.1 - show/hide table columns -----------------------------
// developed by Stuart Udall stu@cyberdelix.net
function togglecol(col) {
 // get the number of rows in the table
 numrows=document.getElementById('results').rows.length -1; // -1 cos we have a row of headings

 // decide whether we need to hide or show the column
 if (document.getElementById(col+'1').style.display=="none") {
  newstyle="block";
 } else {
  newstyle="none";
 }

 // set each cell in the column to the correct style
 for (i = 0; i < numrows; i++) {
  document.getElementById(col+(i+1)).style.display=newstyle;
 }
}

// placefocus 0.1 - place cursor in first editable box on a form
// based on source here: http://javascript.internet.com/forms/form-focus.html
function placefocus() {
 if (document.forms.length > 0) {
  var field = document.forms[0];
  for (i = 0; i < field.length; i++) {
   if ((field.elements[i].type == "text") || (field.elements[i].type == "textarea") || (field.elements[i].type.toString().charAt(0) == "s")) {
    document.forms[0].elements[i].focus();
    break;
   }
  }
 }
}

// shownavhi 0.1 - set nav image to selected state
// developed by Stuart Udall stu@cyberdelix.net
function shownavhi(ID) {
 document.getElementById(ID).src="images/" + ID + "_selected.gif";
}

// showhi 0.1 - toggle rollover highlight
// developed by Stuart Udall stu@cyberdelix.net
function showhi(ID,state) {
 if (pagetitle != ID) {
  if (state) {
   //image="images/" + ID + "_hi.gif";
   image="images/" + ID + "_hi.png";
  } else {
   //image="images/" + ID + ".gif";
   image="images/" + ID + ".png";
  }
  document.getElementById(ID).src=image;
 }
}

// showthumbhi 0.1 - toggle thumbnail highlight
// developed by Stuart Udall stu@cyberdelix.net
function showthumbhi(ID,state) {
 if (state) {
  newclassname="thumbhi";
 } else {
  newclassname="thumblo";
 }
 document.getElementById(ID).className=newclassname;
}

// checkdel 0.1 - delete confirmation
// developed by Stuart Udall stu@cyberdelix.net
function checkdel(item) {
 if (confirm('You are deleting the record with ID [' + item + ']\n\nDo you wish to continue?')) {
  return true;
 }
}

// poptofront 0.1 - pop this window to front
// developed by Stuart Udall stu@cyberdelix.net
function poptofront() {
 window.focus();
}

// safemail 0.1 - generate email address - antispam measure
// developed by Stuart Udall stu@cyberdelix.net (based on source from authors unknown)
function safemail(email1, email2) {
 document.write(email1 + "@" + email2);
}

// safemailto 0.2 - generate email address - antispam measure
// developed by Stuart Udall stu@cyberdelix.net (based on source from authors unknown)
function safemailto(email1, email2) {
 document.write("<a h" + "ref=" + "mail" + "to:" + email1 + "@" + email2 + ">" + email1 + "@" + email2 + "</a>");
}

// safeformto 0.1 - generate recipient line for formmail - antispam measure
// developed by Stuart Udall stu@cyberdelix.net (based on source from authors unknown)
function safeformto(email1, email2) {
 document.write("<INPUT type=hidden NAME=recipient VALUE=" + email1 + "@" + email2 + ">");
}

// closehome 0.1 - display "close" or "home" depending on popup state
// developed by Stuart Udall stu@cyberdelix.net 
function closehome() {
 document.write('<p align=right><i><b>');
 if (window.opener) {
  document.write('<a href=# onClick=window.self.close();>close</a>');
 } else {
  document.write('<a href=index.html>home</a>');
 }
 document.writeln('</b></i></p>');
}

// Removes leading whitespaces
// developed by http://snippets.dzone.com/user/steste
function LTrim( value ) {
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");
}

// Removes ending whitespaces
// developed by http://snippets.dzone.com/user/steste
function RTrim( value ) {
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");
}

// Removes leading and ending whitespaces
// developed by http://snippets.dzone.com/user/steste
function trim( value ) {
	return LTrim(RTrim(value));
}

// rollover support script
// developed by Macromedia, Inc
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];}}
}


