/*----------------------------------------------------------------------------------------------------------------------

:: Copyright Notice ::

The following code is the intellectual property and copyright of Ayrmer Software, 2007.  All Rights Reserved.
All code in whole or part is protected under international copryright legislation and will ber enforced within 
the United Kingdom Courts.

:: website :: http://www.ayrmer.co.uk :: email :: sales@ayrmer.co.uk :: telephone (uk) :: 0845 003 1356 ::

------------------------------------------------------------------------------------------------------------------------*/

/*
AJAX Functions
*/
var requester;
var moveWindows;

function switchEnable(fieldName,dateField,timeField)
{
   //alert ("fieldName = " + fieldName);  
   //alert ("dateField = " + dateField);  
   //alert ("time = " + timeField);  
   if(document.getElementById(fieldName + "date").disabled == true)
   {
      document.getElementById(fieldName + "date").value = dateField.substring(8,10) + "-" + dateField.substring(5,7) + "-" + dateField.substring(0,4);
      document.getElementById(fieldName + "date").disabled = false;   
      document.getElementById(fieldName + "date").style.background = "#fff";   
      document.getElementById(fieldName + "[hr]").disabled = false;   
      if(parseInt(timeField.substring(0,2)) == 0)
      {
         document.getElementById(fieldName + "[hr]").selectedIndex = parseInt(timeField.substring(1,2)) + 1;
      }
      else
      {
         document.getElementById(fieldName + "[hr]").selectedIndex = parseInt(timeField.substring(0,2)) + 1;
      }
      document.getElementById(fieldName + "[mi]").disabled = false;   
      minutes = timeField.substring(3,5);
      minutes = parseInt(minutes / 15);
      document.getElementById(fieldName + "[mi]").selectedIndex = (minutes + 1);
   }
   else
   {
      document.getElementById(fieldName + "date").value = "";
      document.getElementById(fieldName + "date").disabled = true;   
      document.getElementById(fieldName + "date").style.background = "#eee";   
      document.getElementById(fieldName + "[hr]").disabled = true;   
      document.getElementById(fieldName + "[hr]").selectedIndex = 0;      
      document.getElementById(fieldName + "[mi]").disabled = true;   
      document.getElementById(fieldName + "[mi]").selectedIndex = 0;
   }
}

function switchStartDate(chosen)
{
   fieldName = "start-";
   if(chosen == "task")
   {
      document.getElementById("startdiv").style.visibility = "hidden";      
      document.getElementById("startdiv1").style.visibility = "hidden";      
      document.getElementById("startdiv2").style.visibility = "hidden";      
   }
   else
   {
      document.getElementById("startdiv").style.visibility = "visible";      
      document.getElementById("startdiv1").style.visibility = "visible";      
      document.getElementById("startdiv2").style.visibility = "visible";      
   }
}

function getScrollY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfY;
}

function set_sop(sect,name)
{
   sectName = 'sector' + sect;
   document.forms['content'].ajaxBox.value = name;   
}

function publishPage(pass)
{
   if(pass > 0)
   {
      var publish = confirm("Do you really want to publish this page to the live site?");     
      if (publish == true)
      {
         window.location="preview.php?page=" + pass + "&publish=" + pass;
      }      
   }
}

function deletePage(pass)
{
   if(pass > 0)
   {
      var publish = confirm("Do you really want to delete this page? \nThe page will be completely removed");     
      if (publish == true)
      {
         window.location="preview.php?page=" + pass + "&delete=" + pass;
      }      
   }
}

function unpublishPage(pass)
{
   if(pass > 0)
   {
      var publish = confirm("Do you really want to unpublish this page? \nThe page will be removed from the live site until republished");     
      if (publish == true)
      {
         window.location="preview.php?page=" + pass + "&unpublish=" + pass;
      }      
   }
}

function update_dashboard(script,targetDiv) {
	document.getElementById("dashboardDiv").value = targetDiv;
	if(!requester)
      requester = new Requester();
   
   if(document.getElementById(document.getElementById("dashboardDiv").value).innerHTML.length < 20)
   {
      document.getElementById(document.getElementById("dashboardDiv").value).style.height = "";
      document.getElementById(document.getElementById("dashboardDiv").value).style.visibility = "visible";
      requester.setAction(set_dashboard_ajax);
      requester.loadURL(script,'target='+targetDiv);
   }
   else
   {
      document.getElementById(document.getElementById("dashboardDiv").value).innerHTML = "";
      document.getElementById(document.getElementById("dashboardDiv").value).style.visibility = "hidden";
      document.getElementById(document.getElementById("dashboardDiv").value).style.height = "0px";
   }
}

function set_dashboard_ajax() {
	document.getElementById(document.getElementById("dashboardDiv").value).innerHTML = requester.getText();
}

function ajax_load(search_string,script,postString) {
	if(search_string.length > 2)
	{
   	if(!requester)
   		requester = new Requester();
   	
   	requester.setAction(set_ajax);
   	
   	requester.loadURL(script + '.php','search_string='+search_string+postString);
   	document.forms['content'].ajaxBox.focus();
   	document.getElementById('sector').style.visibility = "visible"
   }	
}


function ajax_search(fieldName,lookupFieldLink,lookupFieldDesc,lookupTable,lookupWhere,lookupFurtherLeftJoins,lookupSpecialSelect,diffFile,idn)
{
   if(!diffFile)
   {
      diffFile = 'ajax.lookup.php';
   }
   if(!idn)
   {
      idn = 0;
   }
   searchTerm = document.getElementById(fieldName + "-selectbox").value;
   if(!lookupSpecialSelect)
   {
      lookupSpecialSelect = '';  
   }
   if(searchTerm.length > 1)
   {
      document.getElementById("ajaxLookupDiv").value = fieldName + "-div";
      if(!requester)
   	{
         requester = new Requester();
      }
      requester.setAction(set_lookup_ajax);
      requester.loadURL(diffFile,'id='+idn+'&searchTerm='+searchTerm+'&fieldName='+fieldName+'&lookupFieldLink='+lookupFieldLink+'&lookupFieldDesc='+lookupFieldDesc+'&lookupTable='+lookupTable+'&lookupWhere='+lookupWhere+'&lookupFurtherLeftJoins='+lookupFurtherLeftJoins+'&lookupSpecialSelect='+lookupSpecialSelect);
   }
   else
   {
      document.getElementById("ajaxLookupDiv").value = fieldName + "-div";
   }
}

function clearBox(pass)
{
   document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4))).value = 0
   document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)) + "-selectbox").value = ""
   document.getElementById(document.getElementById("ajaxLookupDiv").value).innerHTML = "";
   document.getElementById(pass).value = "";
}

function set_ajaxlookup(pass,choice)
{
   //alert(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)));
   document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4))).value = pass
   document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)) + "-selectbox").value = choice
   document.getElementById(document.getElementById("ajaxLookupDiv").value).innerHTML = "";
   //document.getElementById().value = "";
   updateLookup(pass);
}

function set_select_ajax()
{
  document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)) + "-prefill").innerHTML = requester.getText();
}

function set_select_ajaxCB2()
{
  document.getElementById(document.getElementById("ajaxLookupDiv").value + "-prefill").innerHTML = requester.getText();
}

function updateLookup(pass)
{
   if(document.getElementById("prefill" + document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4))))
   {
      requester.setAction(set_select_ajax);
      //document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)) + "-prefill").innerHTML = "hello";
      requester.loadURL('ajax.fill_select.php','id='+pass+'&field='+document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)));
   }   
}

function updateLookupCB2(pass,field,module)
{
   if(module)
   {
      module = "&mod=" + module;
   }
   else
   {
      module = "";
   }
   //if(document.getElementById("prefill" + document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4))))
   if(document.getElementById("prefill" + field))   
   {
      if(!requester){requester = new Requester();}
         
      document.getElementById("ajaxLookupDiv").value = field;
      requester.setAction(set_select_ajaxCB2);
      requester.loadURL('ajax.fill_select.php','id='+pass+'&field='+field + module);
   }   
}

function windowSize()
{
   var w = 0;
   var h = 0;
   //IE
   if(!window.innerWidth)
   {
   //strict mode
   if(!(document.documentElement.clientWidth == 0))
   {
   w = document.documentElement.clientWidth;
   h = document.documentElement.clientHeight;
   }
   //quirks mode
   else
   {
   w = document.body.clientWidth;
   h = document.body.clientHeight;
   }
   }
   //w3c
   else
   {
   w = window.innerWidth;
   h = window.innerHeight;
   }
   return {width:w,height:h};
}


function center(object)
{
   var hWnd = {width: object.offsetWidth,height: object.offsetHeight};
   var _x = 0;
   var _y = 0;
   var offsetX = 0;
   var offsetY = 0;
   //IE
   if(!window.pageYOffset)
   {
      //strict mode
      if(!(document.documentElement.scrollTop == 0))
      {
         offsetY = document.documentElement.scrollTop;
         offsetX = document.documentElement.scrollLeft;
      }
      //quirks mode
      else
      {
         offsetY = document.body.scrollTop;
         offsetX = document.body.scrollLeft;
      }
      object.style.left = ((windowSize().width-hWnd.width)/2)+offsetX;
      object.style.top = ((windowSize().height-hWnd.height)/2)+offsetY;      
   }
   //w3c
   else
   {
      offsetX = window.pageXOffset;
      offsetY = window.pageYOffset;
      object.setStyle({ top: ((windowSize().height-hWnd.height)/2)+offsetY + 'px', left: ((windowSize().width-hWnd.width)/2)+offsetX + 'px' }).show();
   }
}

function positionHelp(object,leftOffset)
{
   left1 = (screen.width / 2) - (parseInt(object.style.width)/2);   
   if(leftOffset > 0)
   {
      left1 = left1 + leftOffset  
   }
   Object.style.left = left1 + "px";
}

function updateLookupFromList(pass,field)
{
   if(!requester)
      requester = new Requester();
   document.getElementById("listLookup").value = field;
   requester.setAction(set_list_ajax);
   //document.getElementById(document.getElementById("ajaxLookupDiv").value.substr(0,(document.getElementById("ajaxLookupDiv").value.length  - 4)) + "-prefill").innerHTML = "hello";
   requester.loadURL('ajax.fill_select.php','id='+pass+'&field='+field);
}

function set_list_ajax()
{
  document.getElementById(document.getElementById("listLookup").value + "-prefill").innerHTML = requester.getText();
}

function set_lookup_ajax() {
	//document.getElementById("comm_company_fk-div").innerHTML = requester.getText();
	document.getElementById(document.getElementById("ajaxLookupDiv").value).innerHTML = requester.getText();
}


function applyQuickSearch(searchTerm)
{
   document.forms['content'].ajaxBox.value = searchTerm;   
   document.getElementById('sector').style.visibility = "hidden";
   document.forms['content'].submit();
}

function set_ajax() {
	document.getElementById('sector').innerHTML = requester.getText();	
}



//Some reason put the pots here as we dont have anywhere else currently to put it
function selectAllPots() {	
	for (i=0; i<document.content.elements.length; i++) { 
		el = document.content.elements[i];
		if (el.type=="checkbox"){
			nameOfEl = String(el.name);
			if(nameOfEl.substr(0,3) == "pot")
			{
			   el.checked=true;			
			}
		} 
	}		
}
function deselectAllPots() {	
	for (i=0; i<document.content.elements.length; i++) { 
		el = document.content.elements[i];
		if (el.type=="checkbox"){
			nameOfEl = String(el.name);
			if(nameOfEl.substr(0,3) == "pot")
			{
			   el.checked=false;			
			}
		} 
	}		
}

function popColorPicker(path,ele)
{
	//preload should contain '#' hash, followed by 6 digit hex color code
	preload = '#' + document.getElementById(ele).value;
	
	//detail factor, see class.TrueColorPicker.php
	df = 64;
	//Modify these
		//Where to pop the color picker window
		_top = 230;
		_left = 220;
		//Where the index.php exists		
	if(preload != ''){
		preload = encodeURIComponent(preload);
	}
	document.getElementById("colorHidden").value = ele;
	window.open(path + 'index.php?df='+df+'&preload=' + preload, null,'width=420, height=290, top='+_top+', left='+_left+', help=no, status=no, scrollbars=no, resizable=no, dependent=yes,status=no', true);
}
function passColorCode(clr)
{
   document.getElementById(document.getElementById("colorHidden").value).value = clr;
}

function showHelpDiv(title1,text1)
{
   moveWindow = '';
   if (window.attachEvent)
   {
       document.attachEvent("onmousemove",MouseMv);
   }
   else
   {
       document.addEventListener("mousemove",MouseMv,false);
   }
   if (document.forms.length > 0)
   {
		if (document.forms[0].elements.length > 0)
		{
   		for(i = 0; i < document.forms[0].elements.length; i++)
   		{
   			if (document.forms[0].elements[i].type == "select-one"){
   				//document.forms[0].elements[i].style.visibility = "hidden";
   		   }
   		}
   	}
	}   
   document.getElementById('helpText').style.visibility = "visible";
   document.getElementById('helpText').innerHTML = "<h2>" + title1 + "</h2><p>" + text1 + "</p>";   
   positionHelp(document.getElementById('helpText'));
}

function showRecordProperties(i)
{
   if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_fileprop_ajax);
   requester.loadURL('ajax.recordproperties.php','id='+i);
   document.getElementById('record-prop').style.visibility = "visible";         
   center(document.getElementById('record-prop'));   
}
function set_fileprop_ajax() 
{
	document.getElementById('record-prop').innerHTML = requester.getText();	
}
function hideRecordProperties()
{
   document.getElementById('record-prop').style.visibility = "hidden";         
   document.getElementById('record-prop').innerHTML = "";         
}

function showToolbarHelp()
{
   document.getElementById('helpContainer').style.visibility = "visible";   
}
function showToolbarSitemap()
{
   document.getElementById('sitemapContainer').style.visibility = "visible";   
}
function hideToolbarHelp()
{
   document.getElementById('helpContainer').style.visibility = "hidden";   
}
function hideToolbarSitemap()
{
   document.getElementById('sitemapContainer').style.visibility = "hidden";   
}

function MouseMv(e) 
{
   if (!e) e = window.event;
   var topPos;
   var leftPos;
   if (typeof e.pageY == "number"){
     topPos =  e.pageY         
   }
   else{
     topPos =  e.clientY  
   }   
   
   if (typeof e.pageX == "number"){
     leftPos =  e.pageX         
   }
   else{
     leftPos =  e.clientX  
   }   
   
   if(document.documentElement.scrollTop > 0)
   {
      if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
      {
         topPos = topPos + (document.documentElement.scrollTop);
      }
      else
      {
         topPos = topPos + (document.documentElement.scrollTop / 10);
      }
   }
   
   
   topPos = Math.floor((topPos / 100)) * 100;
   leftPos = Math.floor((leftPos / 100)) * 100;
   leftPos = leftPos - 300;
   
   if(moveWindows == 'no')
   {
      document.getElementById('helpText').style.top = topPos + "px";     
      document.getElementById('helpText').style.left = leftPos + "px";     
      if (document.getElementById('eventInfo')) {
         document.getElementById('eventInfo').style.top = topPos + "px";
      }      
   }
   else
   {
      document.getElementById('helpText').style.top = topPos + "px";     
      document.getElementById('helpText').style.left = leftPos + "px";     
      if (document.getElementById('eventInfo')) {
         document.getElementById('eventInfo').style.top = topPos + "px";
      }      
      moveWindows = 'no';
   }
   
   
}

function hideEventDiv(eid)
{   
   document.getElementById("event" + eid).style.background = "#F5F5F6";   
   document.getElementById('eventInfo').innerHTML = "&nbsp;";   
}

function switchMaintenanceTickets()
{
   if(!requester)
      requester = new Requester();
   requester.setAction(set_ajax_switchtickets);
   requester.loadURL('ajax.cal_tickets.php');   
}
function set_ajax_switchtickets() 
{
	document.getElementById('calTickets').innerHTML = requester.getText();	
}

function updateMossBeh(candidate,level,year,term)
{
   if(!requester)
      requester = new Requester();
      
   requester.setAction(set_ajax_updateMoss);
   requester.loadURL('ajax.update_beh.php?c=' + candidate + '&l=' + level + '&y=' + year + '&t=' + term);
}

function set_ajax_updateMoss() 
{
	document.getElementById('message').innerHTML = requester.getText();	
}

function setAndExecute(divId,innerHTML)  
{  
   var div = document.getElementById(divId);  
   div.innerHTML = innerHTML;
   var x = div.getElementsByTagName("script");
   for(var i=0;i<x.length;i++)
   {         
       eval(x[i].text);       
   }
}  

function switchOutstandingTasks()
{
   if(!requester)
      requester = new Requester();
   requester.setAction(set_ajax_switchtasks);
   requester.loadURL('ajax.cal_tasks.php');   
}
function set_ajax_switchtasks() 
{
	document.getElementById('outTickets').innerHTML = requester.getText();	
}

function switchSalesTasks()
{
   if(!requester)
      requester = new Requester();
   requester.setAction(set_ajax_switchsales);
   requester.loadURL('ajax.sales_tasks.php');   
}
function set_ajax_switchsales() 
{
	document.getElementById('salesTasks').innerHTML = requester.getText();	
}

function showEventDiv(eid,what)
{   
   if(!requester)
      requester = new Requester();
   if(what != "task")
   {
      document.getElementById("event" + eid).style.background = "#AEA5B4";   
   }
   document.getElementById('eventInfo').style.visibility = "visible";   
   requester.setAction(set_ajax_eventinfo);
   requester.loadURL('ajax.eventinfo.php','id='+eid+'&what='+what);   
}

function set_ajax_eventinfo() 
{
	document.getElementById('eventInfo').innerHTML = requester.getText();	
}

function hideHelpDiv()
{   
   document.getElementById('helpText').style.visibility = "hidden";   
   if (document.forms.length > 0)
   {
		if (document.forms[0].elements.length > 0)
		{
   		for(i = 0; i < document.forms[0].elements.length; i++)
   		{
   			if (document.forms[0].elements[i].type == "select-one"){
   				document.forms[0].elements[i].style.visibility = "visible";
   		   }
   		}
   	}
	}
}

function confirmBox(txt1,critValue,criteria)
{
   if(criteria == 'notnull')
   {
      if (critValue != '')
      {
         var answer = confirm (txt1)
         if (answer)
         {
            document.content.update.value = 'update';
            document.content.submit();         
         }
      }
      else
      {
         document.content.update.value = 'update';
         document.content.submit();         
      }
   }
   else
   {
      var answer = confirm (txt1)
      if (answer)
      document.content.update.value = 'update';
      document.content.submit();         
   }
}

function closePopup() 
{
   document.getElementById('popupText').style.visibility = "hidden";   
   document.getElementById('popupTextBackground').style.visibility = "hidden";   
   document.getElementById('popupTextBackground').style.height = "1px";   
}

function set_popup_ajax() {
	//document.getElementById('popupText').innerHTML = requester.getText();
	setAndExecute('popupText',requester.getText());
}

function updatePopup(script,recordid)
{
   fieldValue = escape(document.popupForm.field.value);
   if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_popup_ajax);
   requester.loadURL(script,'id='+recordid+'&field='+fieldValue);
   document.getElementById('popupText').style.visibility = "visible";   
}

function updateDeveloperDetails(recordid)
{
   if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_developer_ajax);
   requester.loadURL("ajax.developer_details.php",'id='+recordid);   
}

function set_developer_ajax() {
	document.getElementById('dev-details').innerHTML = requester.getText();	
}

function updatePopupState()
{
   var addLink
   if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_state_ajax);
   //add in all the visible stuff we need and their locations perhaps
   
   if(document.getElementById("sitemapContainer"))
   {
      addLink = addLink + "&sitemap=" + document.getElementById("sitemapContainer").style.visibility;
      addLink = addLink + "&sitemapX=" + findPosX(document.getElementById("sitemapContainer"));
      addLink = addLink + "&sitemapY=" + findPosY(document.getElementById("sitemapContainer"));
   }
   if(document.getElementById("helpContainer"))
   {
      addLink = addLink + "&help=" + document.getElementById("helpContainer").style.visibility;
      addLink = addLink + "&helpX=" + findPosX(document.getElementById("helpContainer"));
      addLink = addLink + "&helpY=" + findPosY(document.getElementById("helpContainer"));
   }
   if(document.getElementById("toolbarContainer"))
   {
      addLink = addLink + "&toolX=" + findPosX(document.getElementById("toolbarContainer"));
      addLink = addLink + "&toolY=" + findPosY(document.getElementById("toolbarContainer"));
   }
   
   requester.loadURL("ajax.update_state.php",addLink);   
}
function set_state_ajax() {
	requester.getText();	
}

function hideButton(el)
{
   document.getElementById(el).disabled = true;
   //document.getElementById(el).style.visibility = "hidden";
}

function updateCommPopup(script,recordid,somethingelse)
{
   if ( somethingelse === undefined ) {
      somethingelse = '0';
   }
   urlString = "";
   for (i=0; i<document.popupForm.elements.length; i++) 
   { 
		el = document.popupForm.elements[i];
		nameOfEl = String(el.name);		
		if (el.type=="checkbox")
		{
			if(el.checked == true)
			{
			   urlString = urlString + '&' + nameOfEl + '=' + el.value;		   
			}
		} 
		else
		{
		   urlString = urlString + '&' + nameOfEl + '=' + nl2br(escape(el.value));		   		   
		}
	} 
   if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_popup_ajax);
   requester.loadURL(script,'id='+recordid+'&else='+somethingelse+urlString);
   
   document.getElementById('popupText').style.visibility = "visible";      
}

function updateCommPopupNoRequest(script,recordid,somethingelse)
{
   if ( somethingelse === undefined ) {
      somethingelse = '0';
   }
   if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_popup_ajax);
   requester.loadURL(script,'id='+recordid+'&else='+somethingelse);   
   document.getElementById('popupText').style.visibility = "visible";      
}

function nl2br (str) {
    breakTag = '<br />';
    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag);
}

function getMessages()
{
   if(!requester)
	{
      requester = new Requester();
   }
   if (document.getElementById('message-system') != null) 
   {
      requester.setAction(set_messages);
      requester.loadURL('ajax.message_system_messages.php','');
      //document.getElementById('popupText').style.visibility = "visible";        
   }   
   if (document.getElementById('message-system-private') != null) 
   {
      requester.setAction(set_messages_private);
      requester.loadURL('ajax.message_system_private_messages.php','');
      //document.getElementById('popupText').style.visibility = "visible";        
   }   
}

function set_messages() {
	document.getElementById('message-system').innerHTML = requester.getText();	
}

function set_messages_private() {
	document.getElementById('message-system-private').innerHTML = requester.getText();	
}

function ajaxPopup(recordid,script) 
{
	moveWindow = '';
	if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_popup_ajax);
   requester.loadURL(script,'id='+recordid);
   center(document.getElementById('popupText'));
   document.getElementById('popupText').style.visibility = "visible";   
   document.getElementById('popupTextBackground').style.visibility = "visible";   
   document.getElementById('popupTextBackground').style.height = "2000px";   
}	

function taskCal(revision) 
{
	if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_taskcal_ajax);
   requester.loadURL("ajax.task_cal.php",'revision='+revision);   
}	

function set_taskcal_ajax() {
	document.getElementById('task-cal').innerHTML = requester.getText();	
}

function ajaxCheckBox(boxVal,recordId,script,trueText,falseText) 
{
	if(!requester)
	{
      requester = new Requester();
   }
   requester.setAction(set_checkbox_ajax);
   if(boxVal == true)
   {
      requester.loadURL(script,'boxVal=-1&id='+recordId);
      //document.getElementById('checkboxUpdate').innerHTML = trueText;   
   }
   else
   {
      requester.loadURL(script,'boxVal=0&id='+recordId);
      //document.getElementById('checkboxUpdate').innerHTML = falseText;   
   }
}	
function set_checkbox_ajax() {
	document.getElementById('checkboxUpdate').innerHTML = requester.getText();	
}


function Browser() {

   var ua, s, i;
   
   this.isIE = false;
   this.isNS = false;
   this.version = null;
   
   ua = navigator.userAgent;
   
   s = "MSIE";
   if ((i = ua.indexOf(s)) >= 0) {
   this.isIE = true;
   this.version = parseFloat(ua.substr(i + s.length));
   return;
   }
   
   s = "Netscape6/";
   if ((i = ua.indexOf(s)) >= 0) {
   this.isNS = true;
   this.version = parseFloat(ua.substr(i + s.length));
   return;
   }
   
   // Treat any other "Gecko" browser as NS 6.1.
   
   s = "Gecko";
   if ((i = ua.indexOf(s)) >= 0) {
   this.isNS = true;
   this.version = 6.1;
   return;
   }
}

var browser = new Browser();

// Global object to hold drag information.

var dragObj = new Object();
dragObj.zIndex = 0;

function dragViewStart(event, id) {

var el;
var x, y;

// If an element id was given, find it. Otherwise use the element being
// clicked on.

if (id)
dragObj.elNode = document.getElementById(id);
else {
if (browser.isIE)
dragObj.elNode = window.event.srcElement;
if (browser.isNS)
dragObj.elNode = event.target;

// If this is a text node, use its parent element.

if (dragObj.elNode.nodeType == 3)
dragObj.elNode = dragObj.elNode.parentNode;
}

// Get cursor position with respect to the page.

if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft
+ document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop
+ document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}

// Save starting positions of cursor and element.
dragObj.cursorStartX = x;
dragObj.cursorStartY = y;

//dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
//dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);

dragObj.elStartLeft = parseInt(findPosX(dragObj.elNode));
dragObj.elStartTop = parseInt(findPosY(dragObj.elNode));

if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = 0;

// Update element's z-index.

//dragObj.elNode.style.zIndex = ++dragObj.zIndex;

// Capture mousemove and mouseup events on the page.

if (browser.isIE) {
document.attachEvent("onmousemove", dragViewGo);
document.attachEvent("onmouseup", dragViewStop);
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS) {
document.addEventListener("mousemove", dragViewGo, true);
document.addEventListener("mouseup", dragViewStop, true);
event.preventDefault();
}
}

function dragStart(event, id) {

var el;
var x, y;

// If an element id was given, find it. Otherwise use the element being
// clicked on.

if (id)
dragObj.elNode = document.getElementById(id);
else {
if (browser.isIE)
dragObj.elNode = window.event.srcElement;
if (browser.isNS)
dragObj.elNode = event.target;

// If this is a text node, use its parent element.

if (dragObj.elNode.nodeType == 3)
dragObj.elNode = dragObj.elNode.parentNode;
}

// Get cursor position with respect to the page.

if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft
+ document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop
+ document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}



// Save starting positions of cursor and element.
dragObj.cursorStartX = x;
dragObj.cursorStartY = y;

//dragObj.elStartLeft = parseInt(dragObj.elNode.style.left, 10);
//dragObj.elStartTop = parseInt(dragObj.elNode.style.top, 10);

dragObj.elStartLeft = parseInt(findPosX(dragObj.elNode));
dragObj.elStartTop = parseInt(findPosY(dragObj.elNode));

if (isNaN(dragObj.elStartLeft)) dragObj.elStartLeft = 0;
if (isNaN(dragObj.elStartTop)) dragObj.elStartTop = 0;

// Update element's z-index.

//dragObj.elNode.style.zIndex = ++dragObj.zIndex;

// Capture mousemove and mouseup events on the page.

if (browser.isIE) {
document.attachEvent("onmousemove", dragGo);
document.attachEvent("onmouseup", dragStop);
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS) {
document.addEventListener("mousemove", dragGo, true);
document.addEventListener("mouseup", dragStop, true);
event.preventDefault();
}
}

function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

  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 dragGo(event) {

var x, y;

// Get cursor position with respect to the page.

if (browser.isIE) {
x = window.event.clientX + document.documentElement.scrollLeft
+ document.body.scrollLeft;
y = window.event.clientY + document.documentElement.scrollTop
+ document.body.scrollTop;
}
if (browser.isNS) {
x = event.clientX + window.scrollX;
y = event.clientY + window.scrollY;
}

if(y <= 5)
{
   y = 5;
}
// Move drag element by the same amount the cursor has moved.

dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
dragObj.elNode.style.top = (dragObj.elStartTop + y - dragObj.cursorStartY) + "px";

if (browser.isIE) {
window.event.cancelBubble = true;
window.event.returnValue = false;
}
if (browser.isNS)
event.preventDefault();
}

function dragViewGo(event) {

   var x, y;
   
   // Get cursor position with respect to the page.
   
   if (browser.isIE) {
   x = window.event.clientX + document.documentElement.scrollLeft
   + document.body.scrollLeft;
   y = window.event.clientY + document.documentElement.scrollTop
   + document.body.scrollTop;
   }
   if (browser.isNS) {
   x = event.clientX + window.scrollX;
   y = event.clientY + window.scrollY;
   }
   
   // Move drag element by the same amount the cursor has moved.
   if(y <= 5)
   {
      y = 5;
   }
   
   dragObj.elNode.style.left = (dragObj.elStartLeft + x - dragObj.cursorStartX) + "px";
   dragObj.elNode.style.top = (dragObj.elStartTop + y - dragObj.cursorStartY) + "px";
   
   if (browser.isIE) {
   window.event.cancelBubble = true;
   window.event.returnValue = false;
   }
   if (browser.isNS)
   event.preventDefault();
}

function dragStop(event) {

// Stop capturing mousemove and mouseup events.

   if (browser.isIE) {
      document.detachEvent("onmousemove", dragGo);
      document.detachEvent("onmouseup", dragStop);
   }
   if (browser.isNS) {
      document.removeEventListener("mousemove", dragGo, true);
      document.removeEventListener("mouseup", dragStop, true);
   }
   updatePopupState();
}

function dragViewStop(event) {

// Stop capturing mousemove and mouseup events.

   if (browser.isIE) {
      document.detachEvent("onmousemove", dragViewGo);
      document.detachEvent("onmouseup", dragViewStop);
   }
   if (browser.isNS) {
      document.removeEventListener("mousemove", dragViewGo, true);
      document.removeEventListener("mouseup", dragViewStop, true);
   }
   
}

function setAsEdited(iNumber)
{
   document.getElementById('edited' + iNumber).innerHTML = '<i>(edited)</i>';
   document.getElementById('edited').value = "true";
}


