function makeRowsClickable(name){
	$("tr>td:not(:last-child)").click(function(){		
		window.location = $(this).find("a.link-item").attr("href");
	});
	
}

function randomInteger(start, end){
	return start + Math.floor(Math.random()*(end-start));	
}
function validEmail(e) {	
	
	ok = "1234567890qwertyuiop[]asdfghjklzxcvbnm.@-_QWERTYUIOPASDFGHJKLZXCVBNM";
	
	for(i=0; i < e.length ;i++){
		if(ok.indexOf(e.charAt(i))<0){ 
			return false;
		}	
	} 
	
	re = /(@.*@)|(\.\.)|(^\.)|(^@)|(@$)|(\.$)|(@\.)/;
	re_two = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
	if (!e.match(re) && e.match(re_two)) {
		return true;		
	} 	
	return false;
}

function addslashes(str) {
	str=str.replace(/\'/g,'\\\'');
	str=str.replace(/\"/g,'\\"');
	str=str.replace(/\\/g,'\\\\');
	str=str.replace(/\0/g,'\\0');
	return str;
}
function stripslashes(str) {
	str=str.replace(/\\'/g,'\'');
	str=str.replace(/\\"/g,'"');
	str=str.replace(/\\\\/g,'\\');
	str=str.replace(/\\0/g,'\0');
	return str;
}

function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;

//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += "    ";

if(typeof(arr) == 'object') { //Array/Hashes/Objects
 for(var item in arr) {
  var value = arr[item];
 
  if(typeof(value) == 'object') { //If it is an array,
   dumped_text += level_padding + "'" + item + "' ...\n";
   dumped_text += dump(value,level+1);
  } else {
   dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
  }
 }
} else { //Stings/Chars/Numbers etc.
 dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
} 

function d2h(d) {
	var hD="0123456789ABCDEF";
	var h = hD.substr(d&15,1);
	while(d>15) {
		d>>=4;
		h=hD.substr(d&15,1)+h;
	}
	return h;
}
function h2d(h) {
	return parseInt(h,16);
}


function fishEyeMenu()
{
	// Setup the Fisheye menu on the bottom
	$('#dock2').Fisheye(
		{
			maxWidth: 120,
			items: 'a',
			itemsText: 'span',
			container: '.dock-container2',
			itemWidth: 80,
			proximity: 80,
			alignment : 'left',
			valign: 'bottom',
			halign : 'center'
		}
	);
}
function firebugVarLog(variable)
{
	try { 
		console.log('dumping variable: ', variable); 
	} catch(e) { 
		alert("You don't have Firebug!\nFor shame..."); 
	} 
}

function sliceID(id, suffix)
{
	return parseInt(id.substr(suffix.length));
}


function encode(str, dontCut) 
{  
  	str = escape(str);
	str = str.replace(/[*+\/@]|%20/g,
		function (s) {
			switch (s) {
				case "*": s = "-"; break;
				case "+": s = "-"; break;
				case "/": s = "-"; break;
				case "@": s = "-"; break;
				case "%20": s = "-"; break;
			}
			return s;
		}
	);
	str = 's' + str;
	if(dontCut) {
		return str;
	}
	return str.substring(0,5);
}

function randomId(x)
{	
	if(!x) {
		x = 109;
	}
	return Math.floor(Math.random()*(x+1));
}