function formSubmit(oForm) {oForm.submit(); return true;}
function executeLogin() {document.forms[0].specialform.value = 'login'; formSubmit(document.forms[0]);}
function loginFocus() {if (document.forms[0].LoginForm_Login.value == 'Login') document.forms[0].LoginForm_Login.value = ''; if (document.forms[0].LoginForm_Password.value == '@@@@@@') document.forms[0].LoginForm_Password.value = ''; document.forms[0].specialform.value = 'login';}
function loginBlur() {if (document.forms[0].LoginForm_Login.value == '') document.forms[0].LoginForm_Login.value = 'Login'; if (document.forms[0].LoginForm_Password.value == '') document.forms[0].LoginForm_Password.value = '@@@@@@'; document.forms[0].specialform.value = '';}
function executeSearch() {document.forms[0].specialform.value = 'search'; formSubmit(document.forms[0]);}
function searchFocus(oTextbox) {document.forms[0].specialform.value = 'search'; if (oTextbox.value == 'Search this site') {oTextbox.value = ''; $(oTextbox).addClassName('focus');}}
function searchBlur(oTextbox) {document.forms[0].specialform.value = ''; if (oTextbox.value == '') {oTextbox.value = 'Search this site'; $(oTextbox).removeClassName('focus');}}
function executeShortcut() {document.forms[0].specialform.value = 'shortcut'; formSubmit(document.forms[0]);}
function shortcutFocus(oTextbox) {document.forms[0].specialform.value = 'shortcut'; if (oTextbox.value == 'Go to shortcut') {oTextbox.value = ''; $(oTextbox).addClassName('focus');}}
function shortcutBlur(oTextbox) {document.forms[0].specialform.value = ''; if (oTextbox.value == '') {oTextbox.value = 'Go to shortcut'; $(oTextbox).removeClassName('focus');}}
function sessionWarning() {window.open('/Login.aspx?site_id='+nSiteId+'&mode=session&view=dialog', 'Login', 'height=380,width=450,resizable=yes,status=no');}
function help(p) {
  var top = 0;
  var left = 0;
  var width = 800;
  var height = 600;
  if (screen) {
    width = screen.width;
    height = screen.height;
    if (width > 1040) {
      width = 1040;
      left = (screen.width - width) / 2;
    }
    if (height > 800) {
      height = 800;
      top = (screen.height - height) / 2
    }
  }
  window.open('/help.aspx?p='+escape(p), 'Help', 'resizable=yes,scrollbars=yes,status=no,top='+top+',left='+left+',width='+width+',height='+height);
}
var shareTimer;
function shareOver() {
  window.clearTimeout(shareTimer);
  var ptPos = $('PageToolsShare').cumulativeOffset();
  var ptDim = $('PageToolsShare').getDimensions();
  $('PageToolsShareOptions').show();
  var ptoDim = $('PageToolsShareOptions').getDimensions();
  var newTop = ptPos['top'] + ptDim['height'] + 5;
  var newLeft = (ptPos['left'] + ptDim['width']/2) - (ptoDim['width']/2)
  $('PageToolsShare').addClassName('Over');
  $('PageToolsShareOptions').setStyle({'top':newTop, 'left':newLeft});
}
function shareOut() {
  window.clearTimeout(shareTimer);
  shareTimer = window.setTimeout('$(\'PageToolsShare\').removeClassName(\'Over\');$(\'PageToolsShareOptions\').hide();', 500);
}
function keepAlive() {
  if ($('keepaliveiframe') == null) {
    ifrm = document.createElement("IFRAME");
    ifrm.id = "keepAliveiFrame";
    ifrm.setAttribute("src", "/blank.aspx");
    ifrm.style.width = "1px";
    ifrm.style.height = "1px";
    ifrm.style.border = "none";
    ifrm.style.overflow = "hidden";
    document.body.appendChild(ifrm); 
  }
  else {
    $('keepAliveiFrame').src='/blank.aspx?'+escape(Date());
  }
  try {
    //console.log('keepAlive - '+Date());
  }
  catch (e) {
  }
}
function topMessage(message, seconds) {
  var wrapperElement = $('TopMessage');
  var messageElement = $('TopMessageMessage');
  if (wrapperElement == null) {
    wrapperElement = window.document.createElement('div');
    wrapperElement.id = 'TopMessage';
    $(wrapperElement).addClassName('TopMessageWrapper');
    $(wrapperElement).setStyle({'display':'none', 'position':'absolute'});
    window.document.body.appendChild(wrapperElement);
    messageElement = window.document.createElement('div');      
    messageElement.id = 'TopMessageMessage';
    $(messageElement).addClassName('TopMessage');
    wrapperElement.appendChild(messageElement);
  }
  $(messageElement).update(message);
  var viewportOffsets = document.viewport.getScrollOffsets();
  $(wrapperElement).setStyle({top: viewportOffsets['top'], left: 0});
  new Effect.SlideDown(wrapperElement, {'queue':'front'});
  new Effect.Highlight(messageElement, {'queue':'end','startcolor':'#FFFFFF','endcolor':'#FAFFA0'});
  window.setTimeout('new Effect.SlideUp(\'TopMessage\')', seconds*1000);
}
function toggleBeginnerMode(switchTo) {
  if (switchTo != null) bBeginnerMode = (switchTo == 'on' ? false : true);
  if (bBeginnerMode) {
    switchTo = 'off';
    hideHelpWindow();
  }
  else {
    switchTo = 'on';
    try {
      startBeginnerMode();
    } 
    catch (err) {
      include('/includes/beginner.js');
    }
  }
  bBeginnerMode = !bBeginnerMode;
  if ($('BeginnerModeStatus') != null) $('BeginnerModeStatus').update(switchTo);
  new Ajax.Request('/beginner.aspx?switch='+switchTo);
}
function include(jsfile) {
  var headTag = document.getElementsByTagName("head")[0];
  var fragment = document.createDocumentFragment();
  var scriptElement = document.createElement("script");
  scriptElement.setAttribute("src", jsfile);
  fragment.appendChild(scriptElement);
  headTag.appendChild(fragment);
}
// This scroll section from 
// http://www.garyharan.com/index.php/2007/11/26/how-to-unobtrusively-scroll-a-div-with-prototype-scriptaculous/
Element.addMethods({
  scrollTo: function(element, left, top){
    var element = $(element);
    if (arguments.length == 1){
      var pos = element.cumulativeOffset();
      window.scrollTo(pos[0], pos[1]);
    } else {
      element.scrollLeft = left;
      element.scrollTop  = top;
    }
    return element;
  }
});
Effect.Scroll = Class.create();
Object.extend(Object.extend(Effect.Scroll.prototype, Effect.Base.prototype), {
  initialize: function(element) {
    this.element = $(element);
    if(!this.element) throw(Effect._elementDoesNotExistError);
    this.start(Object.extend({x: 0, y: 0}, arguments[1] || {}));
  },
  setup: function() {
    var scrollOffsets = (this.element == window) 
                ? document.viewport.getScrollOffsets() 
                : Element._returnOffset(this.element.scrollLeft, this.element.scrollTop) ;
    this.originalScrollLeft = scrollOffsets.left;
    this.originalScrollTop  = scrollOffsets.top;
  },
  update: function(pos) {
    this.element.scrollTo(Math.round(this.options.x * pos + this.originalScrollLeft), Math.round(this.options.y * pos + this.originalScrollTop));
  }
});
function checkBeginnerMode() {
  if (href.search(/starttour=yes/) != -1 || href.search(/expandhelp=yes/) != -1 || href.search(/newsite=yes/) != -1) bBeginnerMode = true;
  if (bBeginnerMode) toggleBeginnerMode('on');
}
if (typeof console == "undefined" || typeof console.log == "undefined") var console = { log: function() {} };
try {if (bShowSessionWarning){}} catch (err) {var bShowSessionWarning = false}
if (bShowSessionWarning) window.setTimeout('sessionWarning()',(nSessionTimeout-2)*60000);
try {if (bKeepAlive){}} catch (err) {var bKeepAlive = false} 
if (bKeepAlive) window.setInterval('keepAlive()', (nSessionTimeout/2)*60000);
var href = location.href.toLowerCase();
try {if (bBeginnerMode){}} catch (err) {var bBeginnerMode = false}
try {
  document.observe("dom:loaded", checkBeginnerMode);
}
catch (err) {
}