function insertEmoticon(id,content) 
{
	var ar = byId(id);
		var scrollPos = ar.scrollTop;
      // Insert the code
      /* IE */
      if (document.selection) 
	  {
        ar.focus();
        cursor = document.selection.createRange();
        cursor.text = content;
		strPos = cursor.text.length;
		/* this (and possibly more) may be necessary for older versions of IE? f**k MS!!!!
		cursor.moveStart ('character', strPos);
		cursor.moveEnd ('character', 0);
		cursor.select();*/
      } 
	  else if (ar.selectionStart || ar.selectionStart == "0") { /* Gecko-based engines: Mozilla, Camino, Firefox, Netscape */
        var startPos  = ar.selectionStart;
        var endPos    = ar.selectionEnd;
        var body      = ar.value;
		var curPos = endPos + content.length;
        ar.value = body.substring(0, startPos) + content + body.substring(endPos, body.length);
		// put the cursor back in position.
		ar.selectionStart = curPos;
		ar.selectionEnd = curPos;
		ar.focus();
      } 
	  else 
	  { /* Worst case scenario: browsers that don't know about cursor position, Safari, OmniWeb, Konqueror */
        ar.value += content;
      }
		ar.scrollTop = scrollPos;
}
function byId(id) {
  return document.getElementById(id);
}

function clicked(node)
{
	// encode TYPE into ID
	// 
	var v = node.id.split(/_/); 
	var type = v[0];
	var PID = v[1]; 
	var request = "clicks.php?PID="+PID+"&type="+type;
	var ping = new Image();
	ping.src = request;
	//alert(ping.src);
	return true;
}

function mark_read(node) 
{
	var v = node.id.split(/_/);
	var theStyle = v[2];
   //if(node.style.fontWeight == 'bold')
   if(theStyle == 'bold')
   {
		//var v = node.id.split(/_/); 
		var MID = v[1];
		var request = "pm.php?mid="+MID;
		node.style.fontWeight =  'normal';
		request = request+"&action=read";
		var e = byId('status_' + MID);
		if(e)
			e.innerHTML = 'read';
		var ping = new Image();
		ping.src = request;
   }
	return false; // cancel browser nav.
}

function toggle_des(node) 
{
  var v = node.id.split(/_/); 
  PID = v[1];
  var des = byId('des_' + PID + '_rest');
   if(node.innerHTML == 'Show more')
   {
	  des.style.display = 'inline';
	  node.innerHTML = 'Show less';
   }
   else
   {
		des.style.display = 'none';
	  node.innerHTML = 'Show more';
   }
	return false; // cancel browser nav.
}
function toggle_subscribe(node) 
{
	var v = node.id.split(/_/); 
	var PID = v[1]; 
	var request = "subscribe.php?PID="+PID;
   if(node.innerHTML == 'subscribe')
   {
	  request = request+"&action=subscribe";
	  node.innerHTML = 'unsubscribe';
   }
   else
   {
	  request = request+"&action=unsubscribe";
	  node.innerHTML = 'subscribe';
   }
	var ping = new Image();
	ping.src = request;
	return false; // cancel browser nav.
}

/*function toggle_show_message(id) 
{
   if(node.innerHTML == 'Show Message')
	  node.innerHTML = 'Hide Message';
   else
	  node.innerHTML = 'Show Message';
	toggle_visibility(id);
	return false; // cancel browser nav.
}*/

function test1(node)
{
	return false;
}

function vote(node)
{
  var v = node.id.split(/_/);   // {'up', '123'}
  var item = v[1]; 
  var last = "";
  if(v.length == 3)
	last = "_" + v[2];
  // adjust score
  var score = byId('score_' + item);
  var newscore = parseInt(score.innerHTML) + (v[0] == 'up' ? 1 : -1);
  score.innerHTML = newscore + (newscore == 1 ? ' point' : ' points');

  // hide arrows
  var up = byId('up_'   + item + last);
  var voted = byId('voted_' + item);
  if(up)
  {
  	up.style.display = 'none';
	voted.style.display = 'block';
 }
  var down = byId('down_' + item + last);
  if(down)
  	down.style.visibility = 'hidden';  
  
  // ping server
  var ping = new Image();
  ping.src = node.href;
	//alert(ping.src);
  if(v.length == 3)
  {
	var type = v[0];
	var PID = v[1];
	var request = "clicks.php?PID=" + PID + "&type=" + type;
	var ping1 = new Image();
	ping1.src = request;
  }

  return false; // cancel browser nav
}

function toggle_visibility(id) 
{
   var e = document.getElementById(id);
   if(e.style.display == 'inline')
	  e.style.display = 'none';
   else
	  e.style.display = 'inline';
	  
	 return false; // cancel browser nav.
}

function toggle_visibility1(node, id) 
{
   var e = document.getElementById(id);
   if(e.style.display == 'inline')
   {
	  e.style.display = 'none';
	  node.innerHTML = '<u>Show text</u>';
   }
   else
   {
	  e.style.display = 'inline';
	  node.innerHTML = '<u>Hide text</u>';
   }
	return false; // cancel browser nav.
}

// have two hyper links. showall and showless.
function show_all(id) 
{
   var e = document.getElementById(id);
   if(e.style.display == 'inline')
	  e.style.display = 'none';
   else
	  e.style.display = 'inline';
	  
	 return false;
}


function show_msg(txt)
{
alert(txt);
}

function show_confirm(txt)
{
var r=confirm(txt);
if (r==true)
  {
  return true;
  }
else
  {
  return false;
  }
}

function login()
{
	var u =$("input[name='l_userBox']").attr("value");
	var p =$("input[name='l_passBox']").attr("value");
	if(u=="")
	{
		$('#l_feedback').html("<font color='red'>Username cannot be blank.</font>");
		return;
	}
	if(p=="")
	{
		$('#l_feedback').html("<font color='red'>Password cannot be blank.</font>");
		return;
	}	
	var date = new Date();
	var timestamp = date.getTime();	
		
	window.userDetailsUsername = u;	
	$.ajax({type: "POST", url: rootURL+"lib/processAjax.php", data: "action=login&l_userBox="+u+"&l_passBox="+p+"&time="+timestamp, success: loggedin});
}

function loggedin(msg)
{
	$('#l_feedback').html(msg); 
	/*
	if(msg=="Success.")
	{
		$('#searchField').attr("value","Welcome "+window.userDetailsUsername);
		loadLoggedInUser();
		$("input[name='l_username']").attr("value","");
		$("input[name='l_password']").attr("value","");
		$('#l_feedback').html(""); 		
	}else{
		window.userDetailsUsername = undefined;
	}
	*/
}

function register()
{
	var u =$("input[name='r_userBox']").attr("value");
	var p =$("input[name='r_passBox']").attr("value");
	var p2 =$("input[name='r_passBox2']").attr("value");	
	var e =$("input[name='r_emailBox']").attr("value");		
	var e2 =$("input[name='r_emailBox2']").attr("value");	
	
	if(u=="")
	{
		$('#r_feedback').html("<font color='red'>Username cannot be blank.</font>");
		return;
	}
	if(p==""||p2=="")
	{
		$('#r_feedback').html("<font color='red'>Both pass fields cannot be blank.</font>");
		return;
	}	
	if(e==""||e2=="")
	{
		$('#r_feedback').html("<font color='red'>Both email fields cannot be blank.</font>");
		return;
	}	
	var date = new Date();
	var timestamp = date.getTime();	
		
	window.userDetailsUsername = u;	
	$.ajax({type: "POST", url: rootURL+"lib/processAjax.php", data: "action=register&r_userBox="+u+"&r_passBox="+p+"&r_passBox2="+p2+"&r_emailBox="+e+"&r_emailBox2="+e2+"&time="+timestamp, success: registerd});
}

function registerd(msg)
{
	$('#r_feedback').html(msg); 
}

