var m_strURL, m_strTrans, m_strData;
var m_showAlert = 0; // 0: Don't
					 // 1: Send only
					 // 2: Receive only
					 // 3: Both

function sendlongdata(strURL, strTrans, strParam, strData)
{
  m_strURL = strURL;
  m_strTrans = strTrans;
  m_strData = strData;
  connectserver(strURL, strTrans+strParam, "");
}

function sendremainingdata(nTransID)
{
   if(m_strData.length > 0)
   {
	   strData = m_strData.substring(0,2000);
	   m_strData = m_strData.substring(2000,m_strData.length);
	   strParam = m_strTrans+'REPLY&param1='+nTransID+'&param2='+strData;
	   connectserver(m_strURL, strParam, "");
   }
   else
   {
       alert('Successfuly saving data...');
	   //parent.showEditorDesign();
	   parent.showDesign();
   }
}

function connectserver(strURL, strParam, nTrans)
{
    strURL = strURL + strParam;
	
	if((m_showAlert==1)||(m_showAlert==3))
	{
	   alert(strURL);
	}
	
	if(!parent.bFirstPass)
	{
	  parent.showWaitIcon(true);
	}
	
	reqObj = null;
    if (window.XMLHttpRequest)
	{
        reqObj = new XMLHttpRequest();
		}
    else 
	{
       reqObj = new ActiveXObject("Microsoft.XMLHTTP");
	   }

     if (reqObj!=null)
        {
           reqObj.onreadystatechange = fetchdata;
           reqObj.open("POST", strURL, true);
           reqObj.send(null);
        }
	 else
	 {
	    alert('Encountered an issue with the browser...');
	 }
}

function fetchdata()
{
    var datareceive;

    if (reqObj.readyState == 4)
    {
	    if (reqObj.status == 200)
	       {
    			datareceive  = reqObj.responseText;
    			datareceive = trimString(datareceive);
    			parseThisData(datareceive);
	       }
	    else
	       {
		      alert("There was a problem retrieving the XML data");
	       }
    }
}

function parseThisData(recString)
{
    var strArray = new Array();
    strArray = recString.split('|&|');
	
	if((m_showAlert==2)||(m_showAlert==3))
	{
       alert(recString);
	}

	if( strArray[0] == "DISPLAY" )
	{
	  tdresult.innerHTML = strArray[1];
	}
	else if( strArray[0] == "WRONGPASSWORD" )
	{
	  tdresult.innerHTML = "WRONG PASSWORD";
	}
	else if( strArray[0] == "OKSTUDENTLOGIN" )
	{
	   document.write(strArray[1]);
	}
	else if( strArray[0] == "OKPASSWORD" )
	{
	  document.write(strArray[1]);
	}
	else if( strArray[0] == "STUDENTWRONGPASSWORD" )
	{
	  loginresult.innerHTML = strArray[1];
	}
	else if( strArray[0] == "REQUESTOK")
	{ 
	  if(strArray[1] == "IAUVIDEO")
	  {
		 addHTML('mainContainer', strArray[2]);
	  }
	  else
	  {
		 addHTML('mainContainer', strArray[1]);
		 //parent.checkLogin();
	  }
	}
	else if( strArray[0] == "REQUESTOKHEADLINE")
	{
	   mainContainer.innerHTML = strArray[1];
	}
	else if( strArray[0] == "REQUESTOKBODY")
	{
	  addHTML(strArray[1], strArray[3]);	  
	  addHTML(strArray[2], "");	
	}
	else if( strArray[0] == "SAVELINKOK" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "GRADEREQUESTOK" )
	{
	  addHTML('mainContainer', headerDisplay(strArray[2]));
	}
	else if( strArray[0] == "REQUESTNOTOK" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "COMMONREQUESTOK" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "GETNEWSOK" )
	{ 
	  //parent.showHTML();
	  assignvalueto("field1",strArray[1]);
	  assignvalueto("field2",strArray[2]);
	  assignvalueto("field3",strArray[3]);
	  //assignvalueto("fieldbody",strArray[4]);
	  assignvalueto("cmsHTMLSource",strArray[4]);
	  assignvalueto("field4",strArray[5]);
      setvaluecheckint('checkAP', strArray[6]);
	  parent.showEditorDesign();
	}
    else if( strArray[0] == "SAVENEWSOK" )
	{
	  assignvalueto("field1",strArray[1]);
	  sendremainingdata(strArray[1]);
	}
	else if( strArray[0] == "DISPLAYNEWSOK" )
	{
	  containerAllNews.innerHTML = strArray[1];
	}
	else if( strArray[0] == "DELETENEWSOK" )
	{
	  containerAllNews.innerHTML = strArray[1];
	  parent.newsAdd();
	}	
    else if( strArray[0] == "STUDLOGINOK" )
	{
	  logEntry.innerHTML = strArray[1];
	  addHTML('mainContainer', strArray[2]);
	}
    else if( strArray[0] == "CHECKLOGINOK" )
	{
	  logEntry.innerHTML = strArray[1];
	  //addHTML('mainContainer', strArray[2])
	}
	else if( strArray[0] == "STUDLOGINNOTOK" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "STUDNOTLOGIN" )
	{
	  logEntry.innerHTML = restoreLogin();
	}
	else if( strArray[0] == "STUDLOGOUT" )
	{
	  getHeadLine('HEADLINE');
	  logEntry.innerHTML = restoreLogin();
	}
	else if( strArray[0] == "MENU1" )
	{
	  containerMenu1.innerHTML = strArray[1];
	  containerMenu2.innerHTML = strArray[2];
	  containerMenu3.innerHTML = strArray[3];
	}
	else if( strArray[0] == "MENU2" )
	{
	  containerMenu2.innerHTML = strArray[1];
	  containerMenu3.innerHTML = strArray[2];
	}
	else if( strArray[0] == "MENU3" )
	{
	  containerMenu3.innerHTML = strArray[1];
	}
	else if( strArray[0] == "LISTCONTENTOK" )
	{
	  containerAllContent.innerHTML = strArray[1];
	}
	else if( strArray[0] == "DELETECONTENTOK" )
	{
	  parent.linkTrans('ADDCONTENT')
	  containerAllContent.innerHTML = strArray[1];
	}
	else if( strArray[0] == "SAVECONTENTOK" )
	{
	  assignvalueto("field1",strArray[1]);
	  sendremainingdata(strArray[1]);
	}	
	else if( strArray[0] == "DETAILCONTENTOK" )
	{
	  assignvalueto("field1",strArray[1]);
	  assignvalueto("field2",strArray[2]);
	  assignvalueto("cmsHTMLSource",strArray[3]);
	  assignvalueto("field3",strArray[4]);
	  parent.showDesign();
	  
	}
	else if( strArray[0] == "GETGROUPOK" )
	{
	  parent.passToTD('selectedGroup', strArray[1]);
	}
	else if( strArray[0] == "SAVEGROUPOK" )
	{
	  parent.passToTD('pictureGroup', strArray[1]);
	  parent.passToTD('selectedGroup', strArray[2]);
	}	
	else if( strArray[0] == "DELETEGROUPOK" )
	{
	  parent.passToTD('pictureGroup', strArray[1]);
	}
	else if( strArray[0] == "GETGROUPEDITOK" )
	{
	  assignvalueto('txtgroupdesc',strArray[1]);
	}
	else if( strArray[0] == "GETPICTUREOK" )
	{
	  addHTML('tdpicture', strArray[1])
	}
	else if( strArray[0] == "SELECTPICTUREOK" )
	{
      assignvalueto('pictdesc', strArray[1])
	}
	else if( strArray[0] == "IMAGEVIEWEROK" )
	{
      addHTML('mainContainer', strArray[1])
	  parent.nPicture = -1;
	}
   else if( strArray[0] == "IMAGEVIEWOK" )
	{
      addHTML('imagecaption', strArray[1])
	}
	else if( strArray[0] == "ANNOUNCEOK" )
	{
      addHTML('tdAnnounceList', strArray[1])
	}
	else if( strArray[0] == "SAVELINKANNOUNCEOK" )
	{
      alert(strArray[1]);
	}
    else if( strArray[0] == "CHECKMAILOK" )
	{
      addHTML('mainContainer', strArray[1]);
	}
	else if( strArray[0] == "SENDMESSAGEOK" )
	{
      addHTML('mailContainer', strArray[1]);
	}
	else if( strArray[0] == "SENDMESSAGEOKBACKTOBOXES" )
	{
	  addHTML('mainContainer', strArray[2]);
      addHTML('mailContainer', strArray[1]);
	}
	else if( strArray[0] == "SENDMESSAGEWRONGID" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "LONGMESSAGEOK" )
	{
      sendremainingdata(strArray[1])
	}
    else if( strArray[0] == "DELETEMESSAGEOK" )
	{
      addHTML('wholemail'+strArray[1], "");
	}
    else if( strArray[0] == "SENDMESSAGESCHOOLOK" )
	{
      addHTML('mainContainer', strArray[1]);
	}
    else if( strArray[0] == "READMAILOK" )
	{
	  strHTML = '<hr>' + strArray[2]+'<br>-------------------------------------------<br>';
	  strHTML = strHTML + strArray[3] +'<br>-------------------------------------------<br>' + strArray[4]+ '<hr>';
      addHTML('mailbody'+strArray[1], strHTML);
	}
	else if( strArray[0] == "SELECTPICTUREGROUPOK" )
	{
      addHTML('tdPictureCollection', strArray[1]);
	}
	else if( strArray[0] == "SHOWTHISBATCHOK" )
	{
      addHTML('tdPictureCollection', strArray[1]);
	}
	else if( strArray[0] == "DELETEPICTUREOK" )
	{
	  //alert(recString)
      addHTML(strArray[1], strArray[2]);
	}
    else if( strArray[0] == "SHOWMAPOK" )
	{
	  //alert(recString)
      addHTML("mainContainer", strArray[1]);
	  //var f = document.getElementById('googlemap')
	  //f.contentWindow.location.reload(true)
	}
	else if( strArray[0] == "CREATEPHOTOXMLOK" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "REQUESTNOTFOUND" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "CMSLOGINNOTOK" )
	{
	  alert(strArray[1]);
	}
	else if( strArray[0] == "CMSLOGINOK" )
	{
	  window.location = strArray[1];
	}
	else if( strArray[0] == "CMSREADMAIL" )
	{
	  addHTML("message"+strArray[1], strArray[2]);
	}
	else if( strArray[0] == "CMSDELETEMAIL" )
	{
	  addHTML("messageContainer"+strArray[1], strArray[2]);
	}
	else if( strArray[0] == "CMSSENDMAIL" )
	{
	  addHTML("reply"+strArray[1], strArray[2]);
	}
	else if( strArray[0] == "FETMAILBATCH" )
	{
	  addHTML("mailIndexContainer", strArray[1]);
	  addHTML("mailBodyContainer", strArray[2]);	  
	}
	else if( strArray[0] == "SAVEEPSQL" )
	{
	  addHTML("SQLContainer", strArray[1]);
	}
	else if( strArray[0] == "SAVEEPSQLNOTOK" )
	{
	  addHTML("SQLResultContainer", strArray[1]);
	}
	else if( strArray[0] == "GETEPSQL" )
	{
	  addHTML("SQLResultContainer", strArray[1]);
	}
	else if( strArray[0] == "GETSQLRESULT" )
	{
	  assignvalueto('txtSQL', strArray[1]);
	  assignvalueto('txtDescription', strArray[2]);
	  addHTML("SQLResultContainer", strArray[3]);
	}
	
	$(function(){$('.c').corner("tr bl");});
	$(function(){$('.studlogin').corner("corner");});
	
	
	if(!bFirstPass)
	{
	  parent.showWaitIcon(false);
	}
	  bFirstPass = false;
}

function headerDisplay(strData)
{
  var retString;
  retString = '<UL><LI><strong><FONT color=#000066 size=4>'+strData+'</FONT></strong></LI></UL>';
  return retString;
}

function restoreLogin()
{
	var strLogin = "";
	strLogin = "<div class='containercurvy' style='width:180px;padding:4px;border:0px solid #111;'>";
    strLogin = strLogin + "<div class='studlogin' style='background:#003399;padding:4px;border:1px solid #CCFFFF;'><p>";
	strLogin = strLogin + "<table id='login' summary='form: login information' style='border: none; color: #ffffff'>";
	strLogin = strLogin + "<tr><td align='right'><label for='username' nowrap>Student ID:</label></td><td><input name='login' id='username' value='' size='14' class='' type='text'></td>";
	strLogin = strLogin + "</tr><tr><td align='right'><label for='passwd'>Password:</label></td><td><input name='passwd' id='passwd' value='' size='14' class='' type='password'></td>";
	strLogin = strLogin + "</tr><tr><td colspan='2' align='right'><input type='button' id='butSignin' name='butSignin' value='Sign In' onclick='loginUser()'></td></tr></table></p></div></div>";
	
	return  strLogin
}
function trimString(sInString)
{
  sInString = sInString.replace( /^\s+/g, "" );// strip leading
  sInString = sInString.replace( /\s+$/g, "" );// strip trailing
  sInString = sInString.replace("'","\'");
  return sInString;
}

function readFromClipboard()
{
  var retString  = clipboardData.getData("Text");
  return retString;
}

function copyToClipboard(s)
{
  if( window.clipboardData && clipboardData.setData )
	{
	clipboardData.setData("Text", s);
	}
  else
	{
		user_pref("signed.applets.codebase_principal_support", true);
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');

		var clip = Components.classes['@mozilla.org/widget/clipboard;[[[[1]]]]'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;

		var trans = Components.classes['@mozilla.org/widget/transferable;[[[[1]]]]'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;

		trans.addDataFlavor('text/unicode');

		var str = new Object();
		var len = new Object();

		var str = Components.classes["@mozilla.org/supports-string;[[[[1]]]]"].createInstance(Components.interfaces.nsISupportsString);
		var copytext=meintext;

		str.data=copytext;
		trans.setTransferData("text/unicode",str,copytext.length*[[[[2]]]]);

		var clipid=Components.interfaces.nsIClipboard;
		if (!clip) 
		   return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
	}
}

function addHTML(strTDID, strHTML)
{
  var ovalue = document.getElementById(strTDID)
  var strEncloseHTML = "";
  if(strTDID=="mainContainer")
   {//<table><tr><td align="right">
   	  strEncloseHTML = '<div class="containercurvy" style="width:570px; padding:5px;border:0px solid #111;">';
      strEncloseHTML = strEncloseHTML + '<div class="c hoverme" align="left" style="background:#CCCCFF;padding:10px;border:2px solid #CCFFFF;">';
	  strEncloseHTML = strEncloseHTML + '<p>' + strHTML + '</p></div></div>';
	  ovalue.innerHTML = strEncloseHTML;
	}
  else
  {
    ovalue.innerHTML = strHTML;
  }
}

function cleanString(sInString)
{
 while((sInString.indexOf('&') > -1) || (sInString.indexOf('#') > -1))
  {
     sInString = sInString.replace("&","aNdsIgN");
	 sInString = sInString.replace("#","NumSiGn");
  }
  return sInString;
}

function colorString(strValue,strColor)
{
  $returnHTML = "<font color="+strColor+">"+strValue+"</font>";
  return $returnHTML;
}

function getvaluefrom(strRecVal)
{
  var ovalue=document.getElementById(strRecVal);
  return trimString(ovalue.value);
}

function getvalueselect(strRecVal)
{
  var nIndex;
  var ovalue=document.getElementById(strRecVal);
  nIndex = ovalue.selectedIndex;
  return trimString(ovalue[nIndex].text);
}

function getvaluecheck(strRecVal)
{
  var ovalue = document.getElementById(strRecVal);
  return ovalue.checked;
}

function setvaluecheck(strRecVal, bValue)
{
  var ovalue = document.getElementById(strRecVal);
  ovalue.checked = bValue;
}

function getvaluecheckint(strRecVal)
{
  var ovalue = document.getElementById(strRecVal);
  if(ovalue.checked == true)
   return 1;
  else
   return 0;
}

function setvaluecheckint(strRecVal, bValue)
{
  var ovalue = document.getElementById(strRecVal);
  if(bValue == 1)
    ovalue.checked = true;
  else
    ovalue.checked = false;
}

function assignvalueto(strObjectid,strValue)
{
  var ovalue=document.getElementById(strObjectid);
  ovalue.value = strValue;
}

function transferfocusto(strObjectid)
{
  var ovalue=document.getElementById(strObjectid);
  ovalue.focus();
}

function disablebutton(strObjectid, nState)
{
  var ovalue=document.getElementById(strObjectid);
  ovalue.disabled = nState;
}

function disableobject(strObjectid, nState)
{
  var ovalue=document.getElementById(strObjectid);
  ovalue.disabled = nState;
}

function getHTML(strTDID)
{
  var ovalue=document.getElementById(strTDID);
  return ovalue.innerHTML
}

function changeImage(strOject, strSource)
{
  var ovalue=document.getElementById(strOject);
  ovalue.src = strSource;		  
}

function pheader(strValue)
{
  return "<FONT color=#000066 size=4><STRONG>" + strValue + "</STRONG></FONT>";
}

function plabel(strValue)
{
  var retString = "<STRONG><FONT face=\"'Times New Roman', Times, serif\" color=#003399>" + strValue + "</FONT></STRONG>";
  return retString;
}

function pvalue(strValue)
{
  return "<FONT face='Verdana, Arial, Helvetica, sans-serif' color=#3333cc size=2>" + strValue + "</FONT>";
}