/********************************************************

Common library for jshell utilities
(c) Kalid Azad 2006
http://www.instacalc.com
********************************************************/

///////////////////////////////////////////////////////////////
/// UTILITY FUNCTIONS: Show/Hide item, clear CSS style, etc.
///////////////////////////////////////////////////////////////
	function hideItem(itemName)
	{	
		var i = document.getElementById(itemName);
		if (i != null)
		  i.style.display = "none";
	}
	
	function showItem(itemName)
	{	
		var i = document.getElementById(itemName);
		i.style.display = "";
	}
	
	function toggleItem(itemName)
	{
		var i = document.getElementById(itemName);
		if (i.style.display=="none"){
			//fade in the item
			//new EffectPack.BlindToggle(i);
			
			new Effect.Highlight(i)
			i.style.display = "";
		}
		else{
			i.style.display ="none";
		}
	}
	
	function clearItem(itemName){
		var i = document.getElementById(itemName);
		i.innerHTML = "";
	}
	
	function hideAll(){

	}
	
  function changeCSS(id, newClass) {
	var identity=document.getElementById(id);
	identity.className=newClass;
  }

function setFont(element,size){
   var i = document.getElementById(element)
   i.style.display = ParseInt(size)
}

function sleep(ms)
{
	date = new Date();
	var curDate = null;

	do { var curDate = new Date(); }
		while(curDate-date < ms);
} 


function toggle(i){ // only toggle integeres
  if (i == 1)
    i = 0
  else if (i == 0)
     i = 1
  return i
}

// return all URL parameters in a hash array (key => value)
// TODO
function getURLParams(){
	var strReturn;
	var strHref = window.location.href;
	
	return strReturn;

}

function getURLParam(strParamName){
	var strReturn = "";
	var strHref = window.location.href;
	if ( strHref.indexOf("?") > -1 ){
		var strQueryString = strHref.substr(strHref.indexOf("?"));
		var aQueryString = strQueryString.split("&");
		for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
			if (aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
				var aParam = aQueryString[iParam].split("=");
				strReturn = aParam[1];
				break;
			}
		}
	}
	
	return strReturn;
}

function getURLNoParams(){
	var strHref = window.location.href;

	if ( strHref.indexOf("?") > -1 ){
		var a = strHref.split("?");
		strHref = a[0];
	}
	return strHref;
}


function log_old(string){
if (logging > 0 && (statusarea != null)){
  statusarea.innerHTML += string
  statusarea.innerHTML += "<br/>";
}
}

// 0 is off, 4 is most verbose;
function setlogging(i){
  logging = i;
}

/*******
Always add msg to a div with id "log".
*******/
function log(msg){
    var logdiv = document.getElementById("log")
    if ( logdiv != null ){
        logdiv.innerHTML += msg;
        logdiv.innerHTML += "<br/>";
    }
}

// Only add msg to log if "logging" > 1. Higher level means more verbose.
function log1(msg){
    if (logging != null && logging >= 1 ) log(msg);
}

function log2(msg){
    if (logging != null && logging >= 2 ) log(msg);
}

function log3(msg){
    if (logging != null && logging >= 3 ) log(msg);
}


/*********
Return time as HH:MM:SS
********/
function getTime(){
    var now = new Date();
    var ampm = "am"
    hours = now.getHours();
    minutes = now.getMinutes();
    seconds = now.getSeconds();
    
    // assume am -- switch to pm otherwise.
    if (hours >= 12){ hours -= 12; ampm = "pm"; }
    // turn :2 into :02
    if (minutes < 10){ minutes = "0" + minutes; }
    
    if (seconds < 10){ seconds = "0" + seconds; }
    
    
    return hours + ":" + minutes + ":" + seconds + " " + ampm;
} 
