function SwapLangaugeDisplay(lang1, lang2) 
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
		document.getElementById(lang2).style.display = "none";
		document.getElementById(lang1).style.display = "block";
  }
  
  else 
  {
	if (document.layers) 
	{ // Netscape 4
		document.lang2.style.display = "none";
		document.lang1.style.display = "block";
	} 
	else 
	{ // IE 4
		document.all.lang2.style.display = "none";
		document.all.lang1.style.display = "none";
	}
  }
}

function SimpleSwap(el,which){
  el.src=el.getAttribute(which || "origsrc");
}

function SimpleSwapSetup(){
  var x = document.getElementsByTagName("img");
  for (var i=0;i<x.length;i++){
    var oversrc = x[i].getAttribute("oversrc");
    if (!oversrc) continue;
      
    // preload image
    // comment the next two lines to disable image pre-loading
    x[i].oversrc_img = new Image();
    x[i].oversrc_img.src=oversrc;
    // set event handlers
    x[i].onmouseover = new Function("SimpleSwap(this,'oversrc');");
    x[i].onmouseout = new Function("SimpleSwap(this);");
    // save original src
    x[i].setAttribute("origsrc",x[i].src);
  }
}

var PreSimpleSwapOnload =(window.onload)? window.onload : function(){};
window.onload = function(){PreSimpleSwapOnload(); SimpleSwapSetup();}

function adjustDropDownPkgs(object)
{
	
	if(document.getElementById)
	{
		if(document.getElementById(object).value == "1")
		{
			document.getElementById('pk1').disabled = false;
			document.getElementById('pk2').disabled = true;
		}
		if(document.getElementById(object).value == "2")
		{
			document.getElementById('pk1').disabled = false;
			document.getElementById('pk2').disabled = false;
		}
		if(document.getElementById(object).value == "All")
		{
			document.getElementById('pk1').disabled = true;
			document.getElementById('pk2').disabled = true;
		}
	}
	else
	{
		if(document.object.value == "1")
		{
			document.all.pk1.disabled = false;
			document.all.pk2.disabled = true;
		}
		if(document.object.value == "2")
		{
			document.all.pk1.disabled = false;
			document.all.pk2.disabled = false;
		}
		if(document.object.value == "All")
		{
			document.all.pk1.disabled = true;
			document.all.pk2.disabled = true;
		}
	}
}

function emoticon(text) {
	var txtarea = document.form1.question;
	
	if (txtarea.createTextRange && txtarea.charAt) {
		var caretPos = document.getElementById("question").caretPos;
		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? caretPos.text + text + ' ' : caretPos.text + text;
		txtarea.focus();
	} else {
		txtarea.value  += ' ' + text + ' ';
		txtarea.focus();
	}
}

function goPayPref(obj)
{
	if(document.getElementById(obj).value == 'Paypal')
	{
		document.getElementById('paypalsection').style.display = "block";
		document.getElementById('checksection').style.display = "none";
	}	
	if(document.getElementById(obj).value == 'Check')
	{
		document.getElementById('paypalsection').style.display = "none";
		document.getElementById('checksection').style.display = "block";
	}	
}
var alreadyRated = false;
function loadRating(potentialRating){
	if(alreadyRated == true) return;
	for(i = 1; i <= 5; i = i + 1){
		var image = document.getElementById('rating'+i);
		if(potentialRating >= i){
			image.setAttribute('src', 'images/redsmall.png');
		} else {
			image.setAttribute('src', 'images/dimmed.png');
		}
	}
	
	var ratingText = document.getElementById('ratingtext');
	if(potentialRating == 1){
		ratingText.innerHTML = "1 - Not informative";
	} else if(potentialRating == 2){
		ratingText.innerHTML = "2 - Somewhat informative";
	} else if(potentialRating == 3){
		ratingText.innerHTML = "3 - Helpful";
	} else if(potentialRating == 4){
		ratingText.innerHTML = "4 - Very informative";
	} else {
		ratingText.innerHTML = "5 - Fully explained";
	}
}

function unloadRating(prevRating, prevText){
	if(alreadyRated == true) return;
	for(i = 1; i <= 5; i = i + 1){
		var image = document.getElementById('rating'+i);
		if(prevRating >= i){
			image.setAttribute('src', 'images/redsmall.png');
		} else {
			image.setAttribute('src', 'images/dimmed.png');
		}
	}
	
	document.getElementById('ratingtext').innerHTML = prevText;
}

function addRating(videoId, rating)
{
if(alreadyRated == true) return;
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  		
  		if(xmlHttp.responseText == "<<failure>>"){
  			alert('There was a problem saving your rating!');
  			return;
  		}
  		
  		loadRating(rating);
  		alreadyRated = true;
  		document.getElementById('fullratingnum').innerHTML = xmlHttp.responseText;
  		document.getElementById('ratingtext').innerHTML = "Thanks for rating!";
  	}
  }
  
  xmlHttp.open('GET', 'addrating.php?video_id='+videoId+'&rating='+rating, true);
  xmlHttp.send(null);
}

function insertIM(id)
{
 
var obj = document.getElementById('question');

if(typeof(document.selection)!='undefined') 
{
	obj.focus();
	 
	var range = document.selection.createRange();
	
	if(range.parentElement() != obj) 
	{
		return false;
	}
		 
	var orig = obj.value.replace(/rn/g, "n");
	range.text = id;	 
	var actual = tmp = obj.value.replace(/rn/g, "n");
	
	for(var diff = 0; diff < orig.length; diff++) 
	{
		 if(orig.charAt(diff) != actual.charAt(diff)) 
		 	break;
	}
	 
	for(var index = 0, start = 0; (tmp = tmp.replace(id, "")) && (index <= diff); index = start + id.length) 
	{
		start = actual.indexOf(id, index);
 	}
 
} 
else 
{
	var startPos = obj.selectionStart;
	var endPos = obj.selectionEnd;
	obj.value = obj.value.substr(0, startPos) + id + obj.value.substr(endPos, obj.value.length);
}

}

function goAd(obj)
{
	if(document.getElementById(obj).value == '480x75')
	{
		document.getElementById('480x75').style.display = "block";
		document.getElementById('380x180').style.display = "none";
		document.getElementById('300x96').style.display = "none";
		document.getElementById('generallink').style.display = "none";
		document.getElementById('customlink').style.display = "none";
		document.getElementById('lessonslink').style.display = "none";
		document.getElementById('speclessonlink').style.display = "none";
	}
	else if(document.getElementById(obj).value == '380x180')
	{
		document.getElementById('480x75').style.display = "none";
		document.getElementById('380x180').style.display = "block";
		document.getElementById('300x96').style.display = "none";
		document.getElementById('generallink').style.display = "none";
		document.getElementById('customlink').style.display = "none";
		document.getElementById('lessonslink').style.display = "none";
		document.getElementById('speclessonlink').style.display = "none";
	}
	else if(document.getElementById(obj).value == '300x96')
	{
		document.getElementById('480x75').style.display = "none";
		document.getElementById('380x180').style.display = "none";
		document.getElementById('300x96').style.display = "block";
		document.getElementById('generallink').style.display = "none";
		document.getElementById('customlink').style.display = "none";
		document.getElementById('lessonslink').style.display = "none";
		document.getElementById('speclessonlink').style.display = "none";
	}
	else if(document.getElementById(obj).value == 'generallink')
	{
		document.getElementById('480x75').style.display = "none";
		document.getElementById('380x180').style.display = "none";
		document.getElementById('300x96').style.display = "none";
		document.getElementById('generallink').style.display = "block";
		document.getElementById('customlink').style.display = "none";
		document.getElementById('lessonslink').style.display = "none";
		document.getElementById('speclessonlink').style.display = "none";
	}
	else if(document.getElementById(obj).value == 'customlink')
	{
		document.getElementById('480x75').style.display = "none";
		document.getElementById('380x180').style.display = "none";
		document.getElementById('300x96').style.display = "none";
		document.getElementById('generallink').style.display = "none";
		document.getElementById('customlink').style.display = "block";
		document.getElementById('lessonslink').style.display = "none";
		document.getElementById('speclessonlink').style.display = "none";
	}
	else if(document.getElementById(obj).value == 'lessonslink')
	{
		document.getElementById('480x75').style.display = "none";
		document.getElementById('380x180').style.display = "none";
		document.getElementById('300x96').style.display = "none";
		document.getElementById('generallink').style.display = "none";
		document.getElementById('customlink').style.display = "none";
		document.getElementById('lessonslink').style.display = "block";
		document.getElementById('speclessonlink').style.display = "none";
	}
	else if(document.getElementById(obj).value == 'speclessonlink')
	{
		document.getElementById('480x75').style.display = "none";
		document.getElementById('380x180').style.display = "none";
		document.getElementById('300x96').style.display = "none";
		document.getElementById('generallink').style.display = "none";
		document.getElementById('customlink').style.display = "none";
		document.getElementById('lessonslink').style.display = "none";
		document.getElementById('speclessonlink').style.display = "block";
	}
}

function displayLesson(obj, affiliate)
{
	alert('called');
	var id = document.getElementById(obj).value;
	//document.getElementById('linkdisplay').style.display = "block";
	
	var newLink = createElement("div");
	newLink.appendChild(document.createTextNode("1"));
	
	document.getElementById('linkdisplay').appendChild = newLink;		
}	

function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

function scroll(el){
	if(document.getElementById(el).style.display == 'block')
		window.scrollTo(0, findPosY(document.getElementById(el)));
}

function checkJava()
{
	//document.getElementById('topjavascriptoncontainer').style.display = 'none';
}


function initSite()
{
	//checkJava();
}

function closeLessonAndSwapAIcon(lessonsContainer, aElement){
	if(document.getElementById(lessonsContainer).style.display == "none"){
		document.getElementById(lessonsContainer).style.display = "block";
	} else {
		document.getElementById(lessonsContainer).style.display = "none";
	}
	
	var aInner = document.getElementById(aElement).innerHTML;
	if(aInner == "<img src=\"images/plus.png\" alt=\"\" border=\"0\">")
	{
		document.getElementById(aElement).innerHTML = "<img src=\"images/minus.png\" alt=\"\" border=\"0\">";
	} else {
		document.getElementById(aElement).innerHTML = "<img src=\"images/plus.png\" alt=\"\" border=\"0\">";
	}
}

function notDisplay(container) 
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
		if(document.getElementById(container).style.display == "none"){
			document.getElementById(container).style.display = "block";
		} else {
			document.getElementById(container).style.display = "none";
		}
  }
  
  else 
  {
	if (document.layers) 
	{ // Netscape 4
		if(document.container.style.display == "none"){
			document.container.style.display = "block";
		} else {
			document.container.style.display = "none";
		}
	} 
	else 
	{ // IE 4
		if(document.all.container.style.display == "none"){
			document.all.container.style.display = "block";
		} else {
			document.all.container.style.display = "none";
		}
	}
  }
}

function HideLanguages(lang1, lang2)
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
		document.getElementById(lang1).style.display = "none";
		document.getElementById(lang2).style.display = "none";
  }
  
  else 
  {
	if (document.layers) 
	{ // Netscape 4
		document.lang1.style.display = "none";
		document.lang2.style.display = "none";
	} 
	else 
	{ // IE 4
		document.all.lang1.style.display = "none";
		document.lang2.style.display = "none";
	}
  }
}

function showDeclinedBox(d)
{
	if(document.getElementById(d).value == "Declined")
	{
		document.getElementById('DeclineBox').style.display = "block";
	}
	if(document.getElementById(d).value != "Declined")
	{
		document.getElementById('DeclineBox').style.display = "none";
	}
	
	if(document.getElementById(d).value == "Finished")
	{
		document.getElementById('FinishBox').style.display = "block";
	}
	if(document.getElementById(d).value != "Finished")
	{
		document.getElementById('FinishBox').style.display = "none";
	}
}

function ShowDataL(d, num) 
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
		document.getElementById(d).style.display = "block";
		if(num == "1")
		{
			HideData("price2lang1mo");
			HideData("price2lang3mo");
			HideData("price2lang1y");
			HideData("priceAlllang1mo");
			HideData("priceAlllang3mo");
			HideData("priceAlllang1y");
			document.getElementById("price1lang1mo").style.display = "block";
			document.getElementById("price1lang3mo").style.display = "block";
			document.getElementById("price1lang1y").style.display = "block";
		}
		if(num == "2")
		{
			HideData("price1lang1mo");
			HideData("price1lang3mo");
			HideData("price1lang1y");
			HideData("priceAlllang1mo");
			HideData("priceAlllang3mo");
			HideData("priceAlllang1y");
			document.getElementById("price2lang1mo").style.display = "block";
			document.getElementById("price2lang3mo").style.display = "block";
			document.getElementById("price2lang1y").style.display = "block";
		}
		if(num == "All")
		{
			HideData("price1lang1mo");
			HideData("price1lang3mo");
			HideData("price1lang1y");
			HideData("price2lang1mo");
			HideData("price2lang3mo");
			HideData("price2lang1y");
			document.getElementById("priceAlllang1mo").style.display = "block";
			document.getElementById("priceAlllang3mo").style.display = "block";
			document.getElementById("priceAlllang1y").style.display = "block";
		}
  }
  
  else 
  {
	if (document.layers) 
	{ // Netscape 4
		document.d.style.display = "block";
	} 
	else 
	{ // IE 4
		document.all.d.style.display = "block";
	}
  }
}

function ShowData(d) 
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
		document.getElementById(d).style.display = "block";
  }
  
  else 
  {
	if (document.layers) 
	{ // Netscape 4
		document.d.style.display = "block";
	} 
	else 
	{ // IE 4
		document.all.d.style.display = "block";
	}
  }
}

function AnotherFile(d) 
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
  		var currentNum = document.getElementById(d).value;
  		currentNum++;
  		var curObject = 'filename' + currentNum;
		document.getElementById(curObject).style.display = "block";
		
		
		document.getElementById(d).value = currentNum;
  }
}

function HideData(d) 
{
  if (document.getElementById) 
  { // DOM3 = IE5, NS6
		document.getElementById(d).style.display = "none";
  }
  
  else 
  {
	if (document.layers) 
	{ // Netscape 4
		document.d.style.display = "none";
	} 
	else 
	{ // IE 4
		document.all.d.style.display = "none";
	}
  }
}

function toggleMainMenuOpen(menu)
{

notDisplay(menu);
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		//alert(xmlHttp.responseText);
  	}
  }
  
  xmlHttp.open('GET', 'togglemainmenuopen.php?menu='+menu, true);
  xmlHttp.send(null);
}

function addReply(commentId, videoId, question)
{

if(document.getElementById('textbox'+commentId).value == ''){
	alert('Please enter a reply!');
	return;
}
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  		
  		if(xmlHttp.responseText == "<<failure>>"){
  			alert('There was a problem saving your comment!');
  			return;
  		}
  		
  		if(question == '1'){
			document.getElementById('repliesholder'+commentId).innerHTML = document.getElementById('repliesholder'+commentId).innerHTML+"<div class=\"divbreak\" style=\"float: none; height: 18px;\"></div><div class=\"comment\" style=\"width: 88%; margin-left: 40px;\"><div class=\"title\">&nbsp;<a href=\"vprofile.php?id="+idGlobal+"\">"+usernameGlobal+"</a> &mdash; <span style=\"font-size: 12px;\">1 seconds ago</span></div><div class=\"text\">"+xmlHttp.responseText+"</div></div>";
		} else {
			document.getElementById('repliesholder'+commentId).innerHTML = document.getElementById('repliesholder'+commentId).innerHTML+"<div style=\"font-size: 11px; color: black; margin-top: 20px; padding-left: 20px; padding-bottom: 8px;\"><div class=\"toplessonrow\" style=\"padding-left: 8px; background-color: #fdfdfd; width: 97%; margin-left: 4px;\"><div style=\"width:100%; float:left; height: 30px; line-height:30px; font-weight: bold;\"><span class=\"redTxt\">&nbsp;<a href=\"viewprofile.php?id="+idGlobal+"\" style=\"text-decoration: underline;\">"+usernameGlobal+"</a> &mdash; 1 second ago</div></div><div style=\"padding-left: 14px;\">"+xmlHttp.responseText+"</div></div>";
		}
		
  		HideData('rbox'+commentId);
  		document.getElementById('textbox'+commentId).value = '';
  	}
  }
  
  var textToSend = urlencode(document.getElementById('textbox'+commentId).value);
  xmlHttp.open('GET', 'addreply.php?video_id='+videoId+'&replyto_id='+commentId+'&text='+textToSend, true);
  xmlHttp.send(null);
}





function addComment(videoId, question)
{

if(document.getElementById('cbox').value == ''){
	alert('Please enter a comment!');
	return;
}
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  		
  		if(xmlHttp.responseText == "<<failure>>"){
  			if(question == '1'){
  				alert('There was a problem saving your question!');
  			} else {
  				alert('There was a problem saving your comment!');
  			}
  			return;
  		}
  		
  		if(question == '1'){
			document.getElementById('commentsholder').innerHTML = document.getElementById('commentsholder').innerHTML+"<div class=\"comment\"><div class=\"title\"><span style=\"color: seagreen;\">Q</span>&nbsp;&nbsp;&nbsp;<a href=\"vprofile.php?id="+idGlobal+"\">"+usernameGlobal+"</a> &mdash; <span style=\"font-size: 12px;\">1 seconds ago</span></div><div class=\"text\">"+xmlHttp.responseText+"</div></div><div class=\"divbreak\" style=\"float: none; height: 30px;\"></div>";
		} else {
			document.getElementById('commentsholder').innerHTML = document.getElementById('commentsholder').innerHTML+"<div style=\"font-size: 11px;color: black; padding-bottom: 6px;\"><div class=\"toplessonrow\" style=\"padding-left: 8px; background-color: #fdfdfd; width: 97%; margin-left: 4px;\"><div style=\"width:100%; float:left; height: 30px; line-height:30px; font-weight:bold;\"><span class=\"redTxt\">&nbsp;<a href=\"viewprofile.php?id="+idGlobal+"\" style=\"text-decoration: underline;\">"+usernameGlobal+"</a> &mdash; 1 second ago</span></div></div><div style=\"padding-left: 14px;\">"+xmlHttp.responseText+"</div></div><div class=\"divbreak\" style=\"float: none; height: 30px;\"></div>";
		}
		
  		document.getElementById('cbox').value = '';
  	}
  }
  
  var textToSend = urlencode(document.getElementById('cbox').value);
  xmlHttp.open('GET', 'addcomment.php?video_id='+videoId+'&question='+question+'&text='+textToSend, true);
  xmlHttp.send(null);
}







function delSMsg(msgId)
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  	}
  }
  
  xmlHttp.open('GET', 'delSMsg.php?id='+msgId, true);
  xmlHttp.send(null);
  
  HideData('msg'+msgId);
  document.getElementById('fullmsg'+msgId).innerHTML = "";
  HideData('fullmsg'+msgId);
}

function delTMsg(msgId)
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  	}
  }
  
  xmlHttp.open('GET', 'delTMsg.php?id='+msgId, true);
  xmlHttp.send(null);
  
  HideData('msg'+msgId);
  document.getElementById('fullmsg'+msgId).innerHTML = "";
  HideData('fullmsg'+msgId);
}

function delMsg(msgId)
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  		var firstSplit = xmlHttp.responseText.split('&nondelmsgs=');
  		var secondSplit = firstSplit[1].split('&unreadmsgs=');
  		if(secondSplit[0] == '0'){
  			ShowData('nomsgsholder');
  		}
  		
  		document.getElementById('inboxlink').innerHTML = "<a href=\"messages.php\">Inbox ("+secondSplit[1]+")</a>";
  		document.getElementById('messagesnumber').innerHTML = "<a href=\"messages.php\">"+secondSplit[1]+"</a>";
  	}
  }
  
  xmlHttp.open('GET', 'delmsg.php?id='+msgId, true);
  xmlHttp.send(null);
  
  HideData('msg'+msgId);
  document.getElementById('fullmsg'+msgId).style.display = "none";
}

function loadMsg(msgId)
{
if(document.getElementById('fullmsg'+msgId).innerHTML != ''){
	if(document.getElementById('fullmsg'+msgId).style.display == 'none'){
		document.getElementById('fullmsg'+msgId).style.display = 'block';
	} else {
		document.getElementById('fullmsg'+msgId).style.display = 'none';
	}
	return;
}

var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  		ShowData('fullmsg'+msgId);
  		
  		document.getElementById('fullmsg'+msgId).innerHTML = xmlHttp.responseText+"<!--MEH--><br><br><div id=\"replysuccess"+msgId+"\"  class=\"title\" style=\"display: none; font-size: 14px; color: green;\">Your message has been sent!<br><br></div><div id=\"replyfailure"+msgId+"\" class=\"title\" style=\"display: none; font-size: 14px; color: red;\">Your message could not be sent<br></div><div id=\"replybox"+msgId+"\" style=\"display: none; width: 95%; padding-left: 6px; padding-top: 4px; height:auto;\"><textarea id=\"txtarea"+msgId+"\" cols=\"10\" rows=\"10\" style=\"width: 100%;\"></textarea><br><br><a href=\"javascript: sendReply('"+msgId+"');\"><img alt=\"\" border=\"0\" src=\"http://www.mycodeteacher.com/beta/template_images/buttons/submit-red.gif\"></a><br><br><br></div><div style=\"font-style: none; background-color:#d2f3d0; margin-left:-20px; margin-top:-5px; padding-top:2px;\"><a href=\"javascript: replyMsg('"+msgId+"');\"><img alt=\"\" border=\"0\" src=\"http://www.mycodeteacher.com/beta/template_images/buttons/reply.png\"></a> <a href=\"javascript: quoteMsg('"+msgId+"');\"><img alt=\"\" border=\"0\" src=\"http://www.mycodeteacher.com/beta/template_images/buttons/quote.png\"></a></div>";
  		
  		document.getElementById('msg'+msgId).innerHTML = document.getElementById('msg'+msgId).innerHTML.replace(/<b>/g, '');
  		document.getElementById('msg'+msgId).innerHTML = document.getElementById('msg'+msgId).innerHTML.replace(/<b>/g, '');
  	}
  }
  
  xmlHttp.open('GET', 'http://mycodeteacher.com/getmsg.php?id='+msgId, true);
  xmlHttp.send(null);
}

function loadSMsg(msgId)
{
if(document.getElementById('fullmsg'+msgId).innerHTML != ''){
	if(document.getElementById('fullmsg'+msgId).style.display == 'none'){
		document.getElementById('fullmsg'+msgId).style.display = 'block';
	} else {
		document.getElementById('fullmsg'+msgId).style.display = 'none';
	}
	return;
}

var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		}
  		ShowData('fullmsg'+msgId);
  		//var message = xmlHttp.responseText.replace(/\\t/, "&nbsp;&nbsp;&nbsp;&nbsp;");
  		
  		document.getElementById('fullmsg'+msgId).innerHTML = xmlHttp.responseText+"<!--MEH--><br><br><div id=\"replysuccess"+msgId+"\" class=\"title\" style=\"display: none; font-size: 14px; color: green;\">Your message has been sent!<br><br></div><div id=\"replyfailure"+msgId+"\" class=\"title\" style=\"display: none; font-size: 14px; color: red;\">Your message could not be sent<br></div><div id=\"replybox"+msgId+"\" style=\"display: none; width: 95%; padding-left: 6px; padding-top: 4px;\"><textarea id=\"txtarea"+msgId+"\" cols=\"10\" rows=\"10\" style=\"width: 100%;\"></textarea><br><br><a href=\"javascript: sendReply('"+msgId+"');\"><img alt=\"\" border=\"0\" src=\"template_images/buttons/submit-red.png\"></a><br><br><br></div><div style=\"font-style: none;\"></div>";
  		
  		document.getElementById('msg'+msgId).innerHTML = document.getElementById('msg'+msgId).innerHTML.replace(/<b>/g, '');
  		document.getElementById('msg'+msgId).innerHTML = document.getElementById('msg'+msgId).innerHTML.replace(/<b>/g, '');
  	}
  }
  
  xmlHttp.open('GET', 'http://mycodeteacher.com/getSMsg.php?id='+msgId, true);
  xmlHttp.send(null);
}

function sendReply(msgId)
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      alert("Your browser does not support AJAX!");
      return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange = function(){
  	if(xmlHttp.readyState == 4){
  		if(xmlHttp.responseText == "e_not_logged"){
  			window.location = "http://mycodeteacher.com/signup.php";
  			return;
  		} else if(xmlHttp.responseText == "success"){
  			ShowData('replysuccess'+msgId);
  			HideData('replybox'+msgId);
  			document.getElementById('txtarea'+msgId).value = "";
  		} else if(xmlHttp.responseText == "failure"){
  			ShowData('replyfailure'+msgId);
  		}
  	}
  }
   
  var message = document.getElementById('txtarea'+msgId).value;
  if(empty(message.trim())){
  	alert('Please enter a reply');
  	return;
  }
  xmlHttp.open('GET', 'http://mycodeteacher.com/sendmsg.php?id='+msgId+'&msg='+urlencode(message), true);
  xmlHttp.send(null);
}

function quoteMsg(msgId){
	if(document.getElementById('txtarea'+msgId).value == '') ShowData('replybox'+msgId); else	
		notDisplay('replybox'+msgId);
	var oText = document.getElementById('fullmsg'+msgId).innerHTML;
	var splitOne = oText.split('<!--MEH-->');
	splitOne = splitOne[0];
	splitOne = htmlspecialchars_decode(splitOne.replace(/<br>/g, ''), 'ENT_QUOTES');
	document.getElementById('txtarea'+msgId).value = "\n\n\nOriginal message:\n--------------------------------------\n"+splitOne;
	document.getElementById('txtarea'+msgId).focus();
	HideData('replysuccess'+msgId);
	HideData('replyfailure'+msgId);
}

function replyMsg(msgId){
	if(document.getElementById('txtarea'+msgId).value != '') ShowData('replybox'+msgId); else	
		notDisplay('replybox'+msgId);
	document.getElementById('txtarea'+msgId).value = '';
	document.getElementById('txtarea'+msgId).focus();
	HideData('replysuccess'+msgId);
	HideData('replyfailure'+msgId);
}

function swapServerImage(data){
	if(data == 'usserver'){
		var img = document.getElementById('usserver');
		img.src = 'images/uson.png';
	} else if(data == 'europeserver'){
		var img = document.getElementById('europeserver');
		img.src = 'images/europeon.png';
	}
	
	return true;
}

function swapServerImageOff(data){
	if(data == 'usserver'){
		var img = document.getElementById('usserver');
		img.src = 'images/usoff.png';
	} else if(data == 'europeserver'){
		var img = document.getElementById('europeserver');
		img.src = 'images/europeoff.png';
	}
	
	return true;
}

function memberRowSwapToGreen(id){
	document.getElementById(id).setAttribute('class', 'memberadminbuttongreen');
}
function memberRowSwapToOriginalClass(id, originalClass){
	document.getElementById(id).setAttribute('class', originalClass);
}

function videoRowSwapToGreen(id){
	document.getElementById(id).setAttribute('class', 'toplessonrowgreen');
}

function videoRowSwapToOriginalClass(id, originalClass){
	document.getElementById(id).setAttribute('class', originalClass);
}

function showOrHideAllAddTimeRows(numRows){
	for(var i = 1; i <= numRows; i++){
		if(document.getElementById(i+"addTimeRow").style.display == 'block'){
			document.getElementById(i+"addTimeRow").style.display = 'none';
		} else {
			document.getElementById(i+"addTimeRow").style.display = 'block';
		}
	}
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function empty( mixed_var ) {    
    var key;
    
    if (mixed_var === ""
        || mixed_var === 0
        || mixed_var === "0"
        || mixed_var === null
        || mixed_var === false
        || mixed_var === undefined
    ){
        return true;
    }
 
    if (typeof mixed_var == 'object') {
        for (key in mixed_var) {
            return false;
        }
        return true;
    }
 
    return false;
}

function htmlspecialchars_decode(string, quote_style) { 
    var histogram = {}, symbol = '', tmp_str = '', entity = '';
    tmp_str = string.toString();
    
    if (false === (histogram = get_html_translation_table('HTML_SPECIALCHARS', quote_style))) {
        return false;
    }
 
    // &amp; must be the last character when decoding!
    delete(histogram['&']);
    histogram['&'] = '&amp;';
 
    for (symbol in histogram) {
        entity = histogram[symbol];
        tmp_str = tmp_str.split(entity).join(symbol);
    }
    
    return tmp_str;
}

function get_html_translation_table(table, quote_style) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: noname
    // +   bugfixed by: Alex
    // +   bugfixed by: Marco
    // +   bugfixed by: madipta
    // %          note: It has been decided that we're not going to add global
    // %          note: dependencies to php.js. Meaning the constants are not
    // %          note: real constants, but strings instead. integers are also supported if someone
    // %          note: chooses to create the constants themselves.
    // %          note: Table from http://www.the-art-of-web.com/html/character-codes/
    // *     example 1: get_html_translation_table('HTML_SPECIALCHARS');
    // *     returns 1: {'"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;'}
    
    var entities = {}, histogram = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};
    
    useTable      = (table ? table.toUpperCase() : 'HTML_SPECIALCHARS');
    useQuoteStyle = (quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT');
    
    // Translate arguments
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';
    
    // Map numbers to strings for compatibilty with PHP constants
    if (!isNaN(useTable)) {
        useTable = constMappingTable[useTable];
    }
    if (!isNaN(useQuoteStyle)) {
        useQuoteStyle = constMappingQuoteStyle[useQuoteStyle];
    }
 
    if (useTable == 'HTML_SPECIALCHARS') {
        // ascii decimals for better compatibility
        entities['38'] = '&amp;';
        if (useQuoteStyle != 'ENT_NOQUOTES') {
            entities['34'] = '&quot;';
        }
        if (useQuoteStyle == 'ENT_QUOTES') {
            entities['39'] = '&#039;';
        }
        entities['60'] = '&lt;';
        entities['62'] = '&gt;';
    } else if (useTable == 'HTML_ENTITIES') {
        // ascii decimals for better compatibility
      entities['38']  = '&amp;';
        if (useQuoteStyle != 'ENT_NOQUOTES') {
            entities['34'] = '&quot;';
        }
        if (useQuoteStyle == 'ENT_QUOTES') {
            entities['39'] = '&#039;';
        }
      entities['60']  = '&lt;';
      entities['62']  = '&gt;';
      entities['160'] = '&nbsp;';
      entities['161'] = '&iexcl;';
      entities['162'] = '&cent;';
      entities['163'] = '&pound;';
      entities['164'] = '&curren;';
      entities['165'] = '&yen;';
      entities['166'] = '&brvbar;';
      entities['167'] = '&sect;';
      entities['168'] = '&uml;';
      entities['169'] = '&copy;';
      entities['170'] = '&ordf;';
      entities['171'] = '&laquo;';
      entities['172'] = '&not;';
      entities['173'] = '&shy;';
      entities['174'] = '&reg;';
      entities['175'] = '&macr;';
      entities['176'] = '&deg;';
      entities['177'] = '&plusmn;';
      entities['178'] = '&sup2;';
      entities['179'] = '&sup3;';
      entities['180'] = '&acute;';
      entities['181'] = '&micro;';
      entities['182'] = '&para;';
      entities['183'] = '&middot;';
      entities['184'] = '&cedil;';
      entities['185'] = '&sup1;';
      entities['186'] = '&ordm;';
      entities['187'] = '&raquo;';
      entities['188'] = '&frac14;';
      entities['189'] = '&frac12;';
      entities['190'] = '&frac34;';
      entities['191'] = '&iquest;';
      entities['192'] = '&Agrave;';
      entities['193'] = '&Aacute;';
      entities['194'] = '&Acirc;';
      entities['195'] = '&Atilde;';
      entities['196'] = '&Auml;';
      entities['197'] = '&Aring;';
      entities['198'] = '&AElig;';
      entities['199'] = '&Ccedil;';
      entities['200'] = '&Egrave;';
      entities['201'] = '&Eacute;';
      entities['202'] = '&Ecirc;';
      entities['203'] = '&Euml;';
      entities['204'] = '&Igrave;';
      entities['205'] = '&Iacute;';
      entities['206'] = '&Icirc;';
      entities['207'] = '&Iuml;';
      entities['208'] = '&ETH;';
      entities['209'] = '&Ntilde;';
      entities['210'] = '&Ograve;';
      entities['211'] = '&Oacute;';
      entities['212'] = '&Ocirc;';
      entities['213'] = '&Otilde;';
      entities['214'] = '&Ouml;';
      entities['215'] = '&times;';
      entities['216'] = '&Oslash;';
      entities['217'] = '&Ugrave;';
      entities['218'] = '&Uacute;';
      entities['219'] = '&Ucirc;';
      entities['220'] = '&Uuml;';
      entities['221'] = '&Yacute;';
      entities['222'] = '&THORN;';
      entities['223'] = '&szlig;';
      entities['224'] = '&agrave;';
      entities['225'] = '&aacute;';
      entities['226'] = '&acirc;';
      entities['227'] = '&atilde;';
      entities['228'] = '&auml;';
      entities['229'] = '&aring;';
      entities['230'] = '&aelig;';
      entities['231'] = '&ccedil;';
      entities['232'] = '&egrave;';
      entities['233'] = '&eacute;';
      entities['234'] = '&ecirc;';
      entities['235'] = '&euml;';
      entities['236'] = '&igrave;';
      entities['237'] = '&iacute;';
      entities['238'] = '&icirc;';
      entities['239'] = '&iuml;';
      entities['240'] = '&eth;';
      entities['241'] = '&ntilde;';
      entities['242'] = '&ograve;';
      entities['243'] = '&oacute;';
      entities['244'] = '&ocirc;';
      entities['245'] = '&otilde;';
      entities['246'] = '&ouml;';
      entities['247'] = '&divide;';
      entities['248'] = '&oslash;';
      entities['249'] = '&ugrave;';
      entities['250'] = '&uacute;';
      entities['251'] = '&ucirc;';
      entities['252'] = '&uuml;';
      entities['253'] = '&yacute;';
      entities['254'] = '&thorn;';
      entities['255'] = '&yuml;';
    } else {
        throw Error("Table: "+useTable+' not supported');
        return false;
    }
    
    // ascii decimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        histogram[symbol] = entities[decimal];
    }
    
    return histogram;
}

function urlencode( str ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Brett Zamir (http://brettz9.blogspot.com)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: travc
    // +      input by: Brett Zamir (http://brettz9.blogspot.com)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // %          note 1: info on what encoding functions to use from: http://xkr.us/articles/javascript/encode-compare/
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
                             
    var histogram = {}, tmp_arr = [];
    var ret = (str+'').toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    // The histogram is identical to the one in urldecode.
    histogram["'"]   = '%27';
    histogram['(']   = '%28';
    histogram[')']   = '%29';
    histogram['*']   = '%2A';
    histogram['~']   = '%7E';
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    histogram['\u20AC'] = '%80';
    histogram['\u0081'] = '%81';
    histogram['\u201A'] = '%82';
    histogram['\u0192'] = '%83';
    histogram['\u201E'] = '%84';
    histogram['\u2026'] = '%85';
    histogram['\u2020'] = '%86';
    histogram['\u2021'] = '%87';
    histogram['\u02C6'] = '%88';
    histogram['\u2030'] = '%89';
    histogram['\u0160'] = '%8A';
    histogram['\u2039'] = '%8B';
    histogram['\u0152'] = '%8C';
    histogram['\u008D'] = '%8D';
    histogram['\u017D'] = '%8E';
    histogram['\u008F'] = '%8F';
    histogram['\u0090'] = '%90';
    histogram['\u2018'] = '%91';
    histogram['\u2019'] = '%92';
    histogram['\u201C'] = '%93';
    histogram['\u201D'] = '%94';
    histogram['\u2022'] = '%95';
    histogram['\u2013'] = '%96';
    histogram['\u2014'] = '%97';
    histogram['\u02DC'] = '%98';
    histogram['\u2122'] = '%99';
    histogram['\u0161'] = '%9A';
    histogram['\u203A'] = '%9B';
    histogram['\u0153'] = '%9C';
    histogram['\u009D'] = '%9D';
    histogram['\u017E'] = '%9E';
    histogram['\u0178'] = '%9F';
    
    // Begin with encodeURIComponent, which most resembles PHP's encoding functions
    ret = encodeURIComponent(ret);
    
    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }
    
    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });
    
    return ret;
}
