// String utilities

function trim(value){
	// remove beginning space
	while(value.charCodeAt(0)==32){
		value=value.substr(1);
	}
	// remove ending space
	while(value.charCodeAt(value.length-1)==32){
		value=value.substr(0,value.length-1);
	}
	return value;
}

function escapeToJavascript(text){
  return text.replace(/\\/g,'\\\\').replace(/\'/g,'\\\'');
}

function roundDate(date){
	var roundedDate = new Date(date.getYear(), date.getMonth(), date.getDate());
  return roundedDate;
}


function displayObject(o){
	var msg = typeof (o) + '\n';
 msg+= '{\n';
 for (prop in o){
 	var value = eval('o[\''+prop+'\']');
 	msg += (prop + '=' + value + '\n');
 }
 msg+= '}';
 alert(msg);
}


// used to set browser document title
// first get title from element with "title" as id, if doesn't exists get first "h1" element
function setDocumentTitle(){
	var title = "No title";
  if (document.getElementById("title")){
    title = document.getElementById("title").innerHTML;
  } else if (document.getElementsByTagName("h1").length>0){
    title = document.getElementsByTagName("h1")[0].innerHTML;
  } else {
    title = "No title";
  }
  document.title = title;
}

// Popup utilities

function openFullPopup(url){
	var win = window.open(url, win,'fullscreen=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=0,left=0,width=' + (screen.availWidth-12) + ',height=' + (screen.availHeight-30));
  
}

function onlyNum(ev){
	if(ev.keyCode!=32 && (ev.keyCode<48 || ev.keyCode>57)){ 
	 	ev.returnValue=false;
	}
}

function $(e)
{
	if(typeof e!='string')
		  return e;
	var object = document.getElementById(e);
	return object;
}
