// used in administrator area for editing and viewing/hiding page areas 
function toggleVisibility(e, digit){

 var e=document.getElementById(e);
 var digit=document.getElementById(digit);

  if(e.style.visibility == "visible"){
		e.style.visibility = "hidden";
	  	e.style.display = "none";
  }
  else{
 	  e.style.visibility = "visible";
  	  e.style.display = "";
  }
  
  if(digit.innerHTML =="[+]")
 	digit.innerHTML ="[-]";
  else
	digit.innerHTML ="[+]";
	
	return false;
  
}

function addslashes( str ) {
     return str.replace(/("|'|\\)/g, "\\$1");
}

function stripslashes( str ) {
     return str.replace(/\\("|'|\\)/g, "$1");
}

function checkAll(toggle,form){

	for(var i=0;i<form.elements.length;i++){
		if(form.elements[i].type=="checkbox"){
			if(toggle.checked){
				form.elements[i].checked = true;
			}
			else{
				form.elements[i].checked = false;
			}
		}
	}

}

function disable(element){
	document.getElementById(element).disabled=true;
}

function enable(element){
	document.getElementById(element).disabled=false;
}
function colourRow(table,link)
{
	var table = document.getElementById(table);

	var rows = table.getElementsByTagName('tr');
	for(var i=0; i<rows.length;i++){
		rows[i].bgColor='';
	}


  	var tableRow = link.parentNode.parentNode; //gets TR object
	tableRow.bgColor='#CCFF99';
}



/**********************************************
 used for updating the page template
 this highlights the current template
 and shows the correct amount 
 of page elements for editing
 element - the actual template that has been selected
 number_of_templates - total number of templates in the system
 templateElements - Number of template elements available for this template
 maxElements - The maximum template elements a template can have
******************************************/

function selectLayout(element, number_of_templates, templateElements, maxElements){
	
	// first unhighlight all the templates
	for(var x=1; x<=number_of_templates; x++){
		var layout = 'layout' + x;
		var e = document.getElementById(layout);
		e.className="";
	}

	// now hight light the selected template
	element.className="blackborder";
	
	// now update the template field
	var t = document.getElementById('template');
	t.value=element.id;
	
	//showTemplateElements(templateElements, maxElements);
}

function showTemplateElements(show, total){

// now show the appropriate amount of layout Elements 
	for(var x=1; x<=total; x++){
		var section = 'section' + x;
		var e = document.getElementById(section);
		if(x <= show){
			 e.style.visibility = "visible";
		     e.style.display = "";
		}
		else{			
			e.style.visibility = "hidden";
	  		e.style.display = "none";
		}
	}

}

function showSection(show, total){
// now show the appropriate amount of layout Elements 
	for(var x=1; x<=total; x++){
		var section = 'section' + x;
		var e = document.getElementById(section);
		if(x == show){
			 e.style.position = "";
		     e.style.left = "";
		}
		else{	
			e.style.position = "absolute";
	  		e.style.left = "-9999px";
		}
	}

}


function hideOrShowMany(prefix, themax, hideorshow){
	// e.g prefix = inputbox and max=10, hide inputbox1, inputbox2 etc

	for(var x=1; x<=themax; x++){
		var section = prefix + x;
		var e = document.getElementById(section);
		if(hideorshow=='show'){
			 e.style.visibility = "visible";
		     e.style.display = "";
			
		}
		else{			
			e.style.visibility = "hidden";
	  		e.style.display = "none";
			
		}
	
	}
}

// update input box with about of options
function setOptions(total, selectbox){

// clear the select box
selectbox.options.length = 0;

// create new
for(var x=0; x<total; x++){
	selectbox.options[x] = new Option(x+1,x+1);
}

// show section 1 as visible
showSection(1, total);

}






function changeVisibility(element){
// on/off visibility of a div element in sequence

	if(document.getElementById(element).style.visibility == 'visible'){
		 document.getElementById(element).style.visibility = 'hidden';
		 document.getElementById(element).style.display = 'none';																			 
	}
	else{
		  document.getElementById(element).style.visibility = 'visible';
		  document.getElementById(element).style.display = '';
	}

}




function show(element){
	document.getElementById(element).style.visibility = 'visible';
	 document.getElementById(element).style.display = '';
}

function hide(element){
	document.getElementById(element).style.visibility = 'hidden';
	document.getElementById(element).style.display = 'none';
}


function copyContents(src, dest){
	 var dest = document.getElementById(dest);
	dest.value = src.value;
}

// String.prototype.replaceAll=function(s1, s2) {return this.split(s1).join(s2)}

function formChecker(element){
	var badrows = "";
 for(i=0;i<element.length-1;i++){
	 if(element[i].type=="hidden" || element[i].type=="checkbox" || element[i].type=="radio" || element[i].type=="submit"){
		 continue;
	 }
	 /*
element[i].parentNode.parentNode.style.backgroundColor='';
// element[i].parentNode.parentNode.deleteCell(element[i].parentNode.parentNode.cells.length-1);
if(element[i].parentNode.parentNode.childNodes[3].innerHTML){
element[i].parentNode.parentNode.deleteCell(element[i].parentNode.parentNode.cells.length-1);
alert("i got one!");	
}
// element[i].nextSibling.innerHTML = '';
  if(element[i].value.length<1){
   element[i].parentNode.parentNode.style.backgroundColor='#DDDDDD';
 // element[i].nextSibling.innerHTML = '<br/><b style="color:#FF3300;">Do not leave blank</b>';
var cell = element[i].parentNode.parentNode.insertCell(-1);
cell.innerHTML = 'Please Insert A <br/>' + element[i].parentNode.parentNode.childNodes[1].innerHTML;
   var badrows = true;
  }
  
  */
  if(element[i].value.length<1){
	  badrows += element[i].parentNode.parentNode.childNodes[1].firstChild.innerHTML + "\n"; 
  }
	 
	 
 }
 if(badrows.length>0){
 alert("Please Fill The Following Fields \n\n"  + badrows);
 return false;
 }
return true;
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

	if(sText=='')
		return false;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }


function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   //alert("Invalid E-mail ID")
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    //alert("Invalid E-mail ID")
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    //alert("Invalid E-mail ID")
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    //alert("Invalid E-mail ID")
		    return false
		 }

 		 return true					
	}

