	var oMenuItem = false;
	var sMenuImage = false;
	var oCloseTimer = false;
	
	function BackgroundPrint(sUrl) {
//	  Centre('oAjaxLoader');
	  if (window.XMLHttpRequest) {
	    oAjax = new XMLHttpRequest();
	  }
	  else if (window.ActiveXObject) {
	    oAjax = new ActiveXObject("MSXML2.XMLHTTP");
	  }
	  oAjax.onreadystatechange = function() {
	    if (oAjax.readyState == 4) {
	      if (oAjax.status == 404) {
	        oErrDiv = "Sorry, an error was returned. Please report this problem to techsupport@event-wizard.com"
	      } else {
	        oNewWindow = window.open("http://event-wizard.com/" + sUrl, "_new");
	      }
	      document.getElementById('oAjaxLoader').style.display = 'none';
	    }
	  }

	  oAjax.open("get", sUrl, true)
	  oAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	  oAjax.send(null);
	}

	function FormatCurrency(amount) {
	  var i = parseFloat(amount);
	  if (isNaN(i)) { i = 0.00; }
	  var minus = '';
	  if (i < 0) { minus = '-'; }
	  i = Math.abs(i);
	  i = parseInt((i + .005) * 100);
	  i = i / 100;
	  s = new String(i);
	  if (s.indexOf('.') < 0) { s += '.00'; }
	  if (s.indexOf('.') == (s.length - 2)) { s += '0'; }
	  s = minus + s;
	  return s;
	}

	function doSearchKeyword(obj) {
	  if (obj.value == 'Search...') {
	    obj.value = '';
	  } else if (obj.value == '') {
	    obj.value = 'Search...';
	  }
	}

  function doMousePosition(ev) {
    ev = ev || window.event;
    MousePosition = getMouseCoords(ev);
  }

  function getMouseCoords(ev){
    if(ev.pageX || ev.pageY) {
      x = ev.pageX
      y = ev.pageY
    } else {
      x = ev.clientX + document.body.scrollLeft - document.body.clientLeft;
      y = ev.clientY + document.body.scrollTop  - document.body.clientTop;
    }
    return {x:x,y:y};
  }

	function getObjectPosition(obj) {
		var coords = { x: 0, y: 0 };
		while (obj) {
			coords.x += obj.offsetLeft;
			coords.y += obj.offsetTop;
			obj = obj.offsetParent;
		}
		return { x:coords.x,y:coords.y };
	}

	function setObjectPosition(obj,ev) {
		doMousePosition(ev);
		var oObj = document.getElementById(obj);
		oObj.style.left = MousePosition.x;
		oObj.style.top = MousePosition.y
		ShowLayer(obj);
	}

	function HideAll() {
		document.getElementById('oMyApplicationsDropDown').style.display = 'none';
		document.getElementById('oMyFilesDropDown').style.display = 'none';
		document.getElementById('oMySupportDropDown').style.display = 'none';
	}

	function doMenuDrop(obj,sMenu) {
		HideAll();
		var oMenuDropDown = document.getElementById(sMenu);
		oMenuDropDown.style.left = getObjectPosition(obj).x + 1;
		oMenuDropDown.style.top = getObjectPosition(obj).y + 18;
		ShowLayer(sMenu);
	}

	function doMenuRevert() {
		if (oMenuItem) {
			var sTemp = 'oMyAccount oMyApplications oMyFiles oMySupport';
			var aTemp = sTemp.split(' ');
			oMenuItem.style.backgroundImage = sMenuImage;
			for (i=0;i<=aTemp.length-1;i++) {
				if (oMenuItem.id != aTemp[i]) {
					document.getElementById(aTemp[i]).style.backgroundImage = 'url(/files/system/images/control-tab-clear.gif)';
				}
			}
		}
	}

	function doMenuPreserve() {
		if (document.getElementById('oMyAccount').style.backgroundImage != 'url(/files/system/images/control-tab-clear.gif)') {
			oMenuItem = document.getElementById('oMyAccount')
			sMenuImage = document.getElementById('oMyAccount').style.backgroundImage;
		}
		if (document.getElementById('oMyApplications').style.backgroundImage != 'url(/files/system/images/control-tab-clear.gif)') {
			oMenuItem = document.getElementById('oMyApplications')
			sMenuImage = document.getElementById('oMyApplications').style.backgroundImage;
		}
		if (document.getElementById('oMyFiles').style.backgroundImage != 'url(/files/system/images/control-tab-clear.gif)') {
			oMenuItem = document.getElementById('oMyFiles')
			sMenuImage = document.getElementById('oMyFiles').style.backgroundImage;
		}
		if (document.getElementById('oMySupport').style.backgroundImage != 'url(/files/system/images/control-tab-clear.gif)') {
			oMenuItem = document.getElementById('oMySupport')
			sMenuImage = document.getElementById('oMySupport').style.backgroundImage;
		}
	}

	function doMenuChange_Over(sImg,sSub,sColor) {
		var oImg = document.getElementById(sImg);
		var oSub = document.getElementById(sSub);
		if (sImg != 'oMyAccount') {
			document.getElementById('oMyAccount').style.backgroundImage = 'url(/files/system/images/control-tab-clear.gif)';
		}
		if (sImg != 'oMyApplications') {
			document.getElementById('oMyApplications').style.backgroundImage = 'url(/files/system/images/control-tab-clear.gif)';
		}
		if (sImg != 'oMyFiles') {
			document.getElementById('oMyFiles').style.backgroundImage = 'url(/files/system/images/control-tab-clear.gif)';
		}
		if (sImg != 'oMySupport') {
			document.getElementById('oMySupport').style.backgroundImage = 'url(/files/system/images/control-tab-clear.gif)';
		}
		oImg.style.backgroundImage = 'url(/files/system/images/control-tab-' + sColor.replace('#','') + '.gif)';
		oSub.style.backgroundColor = sColor;
	}

	function doMenuChange_Off(sImg,sSub,sMenu,sColor) {
		var oImg = document.getElementById(sImg);
		var oSub = document.getElementById(sSub);
		if (document.getElementById(sMenu).style.display != 'block') {
			oImg.style.backgroundImage = 'url(/files/system/images/control-tab-clear.gif)';
			oSub.style.backgroundColor = sColor;
			doMenuRevert();
		}
	}

	function FadeOut(id,time) {
	 var oObj = document.getElementById(id);
	 iOpacity = oObj.style.filter.replace('alpha(opacity=','');
	 iOpacity = iOpacity.replace(')','');
	 if (iOpacity > 0) {
		iOpacity = iOpacity - 5
		oObj.style.filter = "alpha(opacity=" + iOpacity + ")";
		window.setTimeout("FadeOut('" + id + "'," + time + ")",time);
	 }
	}

	function FadeIn(id,time,target) {
	 var oObj = document.getElementById(id);
	 iOpacity = oObj.style.filter.replace('alpha(opacity=','');
	 iOpacity = parseInt(iOpacity.replace(')',''));
	 if (iOpacity < target) {
		iOpacity = iOpacity + 5
		oObj.style.filter = "alpha(opacity=" + iOpacity + ")";
		window.setTimeout("FadeIn('" + id + "'," + time + "," + target + ")",time);
	 }
	}

	function ToggleLayer(obj) {
		var oObj = document.getElementById(obj);
		oObj.style.position = 'absolute';
		if (oObj.style.display == 'none') {
			oObj.style.display = 'block';
		} else {
			oObj.style.display = 'none';
		}
	}

	function AdjustFrame(sDiv,sFrame) {
		var oDiv = document.getElementById(sDiv);
		var oFrame = document.getElementById(sFrame);
		oFrame.style.height = parseInt(oDiv.offsetHeight);
		oFrame.style.width = parseInt(oDiv.style.width);
	}

	function ShowLayer(obj) {
		var oObj = document.getElementById(obj);
		oObj.style.position = 'absolute';
		oObj.style.display = 'block';
	}

	function System_HideLayer(obj) {
		var oObj = document.getElementById(obj);
		oObj.style.position = 'absolute';
		oObj.style.display = 'none';
	}

	function HideLayer(obj) {
		if (obj) {
			var oObj = document.getElementById(obj);
			oObj.style.display = 'none';
			doMenuRevert();
		}
	}

	function Delay_HideLayer(obj) {
		oCloseTimer = window.setTimeout("HideLayer('" + obj + "')",500);
	}

	function Cancel_HideLayer() {
		if (oCloseTimer) {
			window.clearTimeout(oCloseTimer);
			oCloseTimer = null;
		}
	}

	function Centre(obj) {
		var oObj = document.getElementById(obj);
		var iLeft =  screen.width/2 - parseInt(oObj.style.width)/2;
		var iTop = document.body.clientHeight/2 - parseInt(oObj.offsetHeight)/2 + document.body.scrollTop;
		oObj.style.left = parseInt(iLeft);
		oObj.style.top = parseInt(iTop);
	}

	if (window.XMLHttpRequest) {
		var oAjax = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		var oAjax = new ActiveXObject("MSXML2.XMLHTTP");
	}

  function doThread(obj1,obj2) {
    if (document.getElementById(obj1).style.display=='none') {
      document.getElementById(obj1).style.display='block';
      obj2.src='/files/system/images/thread-minus.gif';
    }
    else {
      document.getElementById(obj1).style.display='none';
      obj2.src='/files/system/images/thread-plus.gif';
    }
  }

	function SlideDown(oObj) {
		var obj = document.getElementById(oObj);
		if (obj.style.display == 'none') {
			obj.style.display = 'block';
		}
		else {
			obj.style.display = 'none';
		}
	}

	function onResponse() {
		oErrDiv = document.getElementById('oErrDiv')
		if (oAjax.readyState == 0 || oAjax.readyState == 1 || oAjax.readyState == 2 || oAjax.readyState == 3) {
			posObj.style.display = 'block';
			posObj.innerHTML = "Loading... Please be patient.";
		}
		else if (oAjax.readyState == 4) {
			if (oAjax.status == 404) {
				oErrDiv="Sorry, an error was returned. Please report this problem to techsupport@event-wizard.com"
			}
			else {
				posObj.innerHTML=oAjax.responseText;
			}
		}
	}

	function ChangeStatus(iEventStatus,iEventID) {
		if (window.XMLHttpRequest) {
			oAjax = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) {
			oAjax = new ActiveXObject("MSXML2.XMLHTTP");
		}
		sURL="/products/1/ajax/change-event-status.asp"
		var sSend = "iEventStatus=" + iEventStatus + "&iEventID=" + iEventID
		oAjax.onreadystatechange=onResponse;
		oAjax.open("post",sURL,true)
		oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		oAjax.send(sSend);
	}

	function UpdateEvent(iEventID,sClosedMessage,iChangeStatus) {
		oElement = document.getElementById('oDisplayStatus');
		var oChangeStatus = document.getElementById(iChangeStatus).value;
		var oClosedMessage = document.getElementById(sClosedMessage).innerText;
		sURL="/products/1/ajax/do-update-event.asp"
		var sSend = "iEventID=" + iEventID + "&sClosedMessage=" + encodeURI(oClosedMessage) + "&iChangeStatus=" + oChangeStatus
		oAjax.onreadystatechange=onResponse;
		oAjax.open("POST",sURL,true)
		oAjax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		oAjax.send(sSend);
	}

	function add(oElement,iValue) {
		document.getElementById(oElement).value = parseFloat(document.getElementById(oElement).value) + parseFloat(iValue);
	}

  function changePage( iPage ) {
  	document.getElementById('iPage').value = iPage;
	}

	function doUserConfirmation(obj) {
		var obj = obj;
		if ( confirm("Please confirm that your selections are correct.") ) {
			obj.submit();
		}
		else {
			return false;
		}
	}

	function doHide(obj) {
		obj.style.visibility='hidden';
	}

	function doStart() {
	}

	function doErrorCheckLength(pass1,pass2) {
		var obj = pass1;
		var ilen = pass2;
		if (obj.value.length < ilen) {
			obj.className = 'textboxErr';
		}
		else {
			obj.className = 'textbox';
		}
	}

// For simple Ajax functions
  var XMLHttpRequestObject = false;

  if (window.XMLHttpRequest) {
    XMLHttpRequestObject = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  }

	function sendData(dataSource, oField, sSend) {
    if(XMLHttpRequestObject) {
      var obj = document.getElementById(oField);
      XMLHttpRequestObject.open("POST", dataSource, true);
      XMLHttpRequestObject.onreadystatechange = function()
      {
        if (XMLHttpRequestObject.readyState == 4 &&
        	XMLHttpRequestObject.status == 200) {
            obj.innerHTML = XMLHttpRequestObject.responseText;
        } else {
        	obj.innerHTML = '';
        }
      }
      XMLHttpRequestObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
      XMLHttpRequestObject.send(sSend);
    }
  }

  function doAjaxSimpleRequest(sURL,sSend) {
    if(navigator.appName == "Microsoft Internet Explorer") {
      objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
      objHTTP = new XMLHttpRequest();
    }
    objHTTP.open("POST", sURL, true);
    objHTTP.onreadystatechange = function() {
	    if (objHTTP.readyState == 4 && objHTTP.status == 200) {
          document.getElementById('oLoading').innerHTML = 'Your selections have been saved. If you are done, you may close this window.';
        } else if (objHTTP.readyState < 4) {
        	document.getElementById('oLoading').innerHTML = '<img src="/images/ajax-loader-green.gif" />';
        }
    	}
    	objHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    	objHTTP.send(sSend);
	}

	function getData(dataSource, oField) {
    if(XMLHttpRequestObject) {
      var obj = document.getElementById(oField);
      XMLHttpRequestObject.open("GET", dataSource);
      XMLHttpRequestObject.onreadystatechange = function()
      {
        if (XMLHttpRequestObject.readyState == 4 &&
        	XMLHttpRequestObject.status == 200) {
            obj.innerHTML = XMLHttpRequestObject.responseText;
        }
      }
      XMLHttpRequestObject.send(null);
    }
  }

// Validation Functions

	function checkEmail(sEmail,oEmail) {
		oEmail.value=oEmail.value.toLowerCase(oEmail.value);
		if(XMLHttpRequestObject) {
      XMLHttpRequestObject.open("GET", sEmail);
      XMLHttpRequestObject.onreadystatechange = function() {
      	if (XMLHttpRequestObject.readyState == 4 &&
        	XMLHttpRequestObject.status == 200) {
       		if (XMLHttpRequestObject.responseText) {
       			oEmail.className='textboxReq';
       			doErrorMessage('',false,oEmail);
       			doCheckEmailExists(oEmail);
        	}
        	else {
        		oEmail.className='textboxErr';
        		doErrorMessage('That is not a valid email address.',true,oEmail);
        	}
        }
      }
      XMLHttpRequestObject.send(null);
    }
	}

	function doCheckEmailExists(oEmail) {
		if(XMLHttpRequestObject) {
    	XMLHttpRequestObject.open("GET", "/crm/checkEmailExists.asp?sEmail=" + oEmail.value);
    	XMLHttpRequestObject.onreadystatechange = function() {
    	if (XMLHttpRequestObject.readyState == 4 &&
      	XMLHttpRequestObject.status == 200) {
     		if (XMLHttpRequestObject.responseText) {
     			oEmail.className='textboxErr';
      		doErrorMessage('That email address is already registered.',true,oEmail);
      	}
      	else {
      		oEmail.className='textboxReq';
      		doHide(document.getElementById('oErrorContainer'));
	      	}
	      }
	    }
	    XMLHttpRequestObject.send(null);
		}
	}

	function doUserIDExists(oUserID) {
		if(XMLHttpRequestObject) {
    	XMLHttpRequestObject.open("GET", "/crm/checkUserIDExists.asp?sUserID=" + oUserID.value);
    	XMLHttpRequestObject.onreadystatechange = function() {
    	if (XMLHttpRequestObject.readyState == 4 &&
      	XMLHttpRequestObject.status == 200) {
     		if (XMLHttpRequestObject.responseText) {
     			oUserID.className='textboxErr';
      		doErrorMessage('That username is already taken.',true,oUserID);
      	}
      	else {
      		oUserID.className='textboxReq';
      		doHide(document.getElementById('oErrorContainer'));
	      	}
	      }
	    }
	    XMLHttpRequestObject.send(null);
		}
	}

	function doClientCodeExists(oClientCode) {
		if(XMLHttpRequestObject) {
    	XMLHttpRequestObject.open("GET", "/crm/checkClientCodeExists.asp?sClientCode=" + oClientCode.value);
    	XMLHttpRequestObject.onreadystatechange = function() {
    	if (XMLHttpRequestObject.readyState == 4 &&
      	XMLHttpRequestObject.status == 200) {
     		if (XMLHttpRequestObject.responseText) {
     			oClientCode.className='textboxErr';
      		doErrorMessage('That client code is already taken.',true,oClientCode);
      	}
      	else {
      		oClientCode.className='textboxReq';
      		doHide(document.getElementById('oErrorContainer'));
	      	}
	      }
	    }
	    XMLHttpRequestObject.send(null);
		}
	}

	function switchCountry() {
		if (document.getElementById('sCountry').value=='Canada') {
			document.getElementById('oPostal').innerHTML='Postal Code:';
		}
		else {
			document.getElementById('oPostal').innerHTML='Zip Code:';
		}
	}

// For any calls to a delete option
  function ConfirmDelete() {
    var bChecked = document.getElementById('bDeleted').checked;
    if (bChecked == true) {
      var response = window.confirm("Delete: Are you sure?");
      if (response) {
        }
        else {
          document.getElementById('bDeleted').checked = false;
      }
    }
  }

  function doMirrorCheck(pass1,pass2) {
    var bChecked = pass1.checked;
    var obj = pass2;
    if (bChecked == true) {
      document.getElementById(obj).value = 'True';
    }
    else {
      document.getElementById(obj).value = '';
    }
  }

  function OpenContainer(sElement) {
		var oElement = document.getElementById(sElement);
		oElement.style.display = 'block';
	}

	function CloseContainer(sElement,sWrapper) {
		var oElement = document.getElementById(sElement);
		var oWrapper = document.getElementById(sWrapper);
		oElement.style.display = 'none';
		oWrapper.style.display = 'none';
	}

	function ManageContainer(sElement) {
		CloseContainer(sElement);
		OpenContainer(sElement);
	}
