/*
 * BEGIN - Controls the Catalyst email munging.  See any service page for an example
 */

/* email protection (uid and domain fields are required) */
function mailTo(uid, domain, subject) {
if(!subject){
   window.location="mailto:"+uid+"@"+domain;
   } else {
   window.location="mailto:"+uid+"@"+domain+"?subject="+subject;
   }
}

/* if we need show the email on mouseover, also add (all fields are required): */
function showemail(id, uid, domain) {
   document.getElementById(id).title= uid+"@"+domain;
}
/*
 * END - Controls the Catalyst email munging.
 */


/*
 * BEGIN - Controls the Catalyst nav bar search box
 */

function searchbox(){
  var $intern_0 = '', $intern_64 = '\n--><\/script>', $intern_27 = '" for "gwt:onLoadErrorFn"', $intern_25 = '" for "gwt:onPropertyErrorFn"', $intern_53 = '"<script src=\\"', $intern_10 = '"><\/script>', $intern_12 = '#', $intern_63 = ');', $intern_14 = '/', $intern_40 = '7DD4BBA4178700D3E1AE0562B98E834A.cache.js', $intern_41 = '7E0702E42019C43E3D43B61215185627.cache.js', $intern_43 = '94F185874F0CF465D95346D85B575BCA.cache.js', $intern_9 = '<script id="', $intern_55 = '<script><!--\n', $intern_22 = '=', $intern_13 = '?', $intern_44 = 'A75402184B37265643C66856780C7154.cache.js', $intern_42 = 'B888C092E020D352D170F09140A7B7A5.cache.js', $intern_24 = 'Bad handler "', $intern_37 = 'Cross-site hosted mode not yet implemented. See issue ', $intern_51 = 'DOMContentLoaded', $intern_11 = 'SCRIPT', $intern_54 = '\\"><\/scr" + "ipt>"', $intern_8 = '__gwt_marker_searchbox', $intern_15 = 'base', $intern_4 = 'begin', $intern_3 = 'bootstrap', $intern_17 = 'clear.cache.gif', $intern_21 = 'content', $intern_62 = 'document.write(', $intern_7 = 'end', $intern_58 = 'evtGroup: "loadExternalRefs", millis:(new Date()).getTime(),', $intern_60 = 'evtGroup: "moduleStartup", millis:(new Date()).getTime(),', $intern_34 = 'gecko', $intern_35 = 'gecko1_8', $intern_5 = 'gwt.hybrid', $intern_26 = 'gwt:onLoadErrorFn', $intern_23 = 'gwt:onPropertyErrorFn', $intern_20 = 'gwt:property', $intern_50 = 'head', $intern_49 = 'href', $intern_38 = 'http://code.google.com/p/google-web-toolkit/issues/detail?id=2079', $intern_33 = 'ie6', $intern_16 = 'img', $intern_46 = 'link', $intern_52 = 'loadExternalRefs', $intern_18 = 'meta', $intern_57 = 'moduleName:"searchbox", subSystem:"startup",', $intern_6 = 'moduleStartup', $intern_32 = 'msie', $intern_19 = 'name', $intern_29 = 'opera', $intern_47 = 'rel', $intern_31 = 'safari', $intern_1 = 'searchbox', $intern_45 = 'searchbox.css', $intern_39 = 'selectingPermutation', $intern_2 = 'startup', $intern_48 = 'stylesheet', $intern_59 = 'type: "end"});', $intern_61 = 'type: "moduleRequested"});', $intern_36 = 'unknown', $intern_28 = 'user.agent', $intern_30 = 'webkit', $intern_56 = 'window.__gwtStatsEvent && window.__gwtStatsEvent({';
  var $wnd = window, $doc = document, $stats = $wnd.__gwtStatsEvent?function(a){
    return $wnd.__gwtStatsEvent(a);
  }
  :null, gwtOnLoad, bodyDone, base = $intern_0, metaProps = {}, values = [], providers = [], answers = [], onLoadErrorFunc, propertyErrorFunc;
  $stats && $stats({moduleName:$intern_1, subSystem:$intern_2, evtGroup:$intern_3, millis:(new Date()).getTime(), type:$intern_4});
  if (!$wnd.__gwt_stylesLoaded) {
    $wnd.__gwt_stylesLoaded = {};
  }
  if (!$wnd.__gwt_scriptsLoaded) {
    $wnd.__gwt_scriptsLoaded = {};
  }
  function isHostedMode(){
    try {
      return $wnd.external && ($wnd.external.gwtOnLoad && $wnd.location.search.indexOf($intern_5) == -1);
    }
     catch (e) {
      return false;
    }
  }

  function maybeStartModule(){
    if (gwtOnLoad && bodyDone) {
      gwtOnLoad(onLoadErrorFunc, $intern_1, base);
      $stats && $stats({moduleName:$intern_1, subSystem:$intern_2, evtGroup:$intern_6, millis:(new Date()).getTime(), type:$intern_7});
    }
  }

  function computeScriptBase(){
    var thisScript, markerId = $intern_8, markerScript;
    $doc.write($intern_9 + markerId + $intern_10);
    markerScript = $doc.getElementById(markerId);
    thisScript = markerScript && markerScript.previousSibling;
    while (thisScript && thisScript.tagName != $intern_11) {
      thisScript = thisScript.previousSibling;
    }
    function getDirectoryOfFile(path){
      var hashIndex = path.lastIndexOf($intern_12);
      if (hashIndex == -1) {
        hashIndex = path.length;
      }
      var queryIndex = path.indexOf($intern_13);
      if (queryIndex == -1) {
        queryIndex = path.length;
      }
      var slashIndex = path.lastIndexOf($intern_14, Math.min(queryIndex, hashIndex));
      return slashIndex >= 0?path.substring(0, slashIndex + 1):$intern_0;
    }

    ;
    if (thisScript && thisScript.src) {
      base = getDirectoryOfFile(thisScript.src);
    }
    if (base == $intern_0) {
      var baseElements = $doc.getElementsByTagName($intern_15);
      if (baseElements.length > 0) {
        base = baseElements[baseElements.length - 1].href;
      }
       else {
        base = getDirectoryOfFile($doc.location.href);
      }
    }
     else if (base.match(/^\w+:\/\//)) {
    }
     else {
      var img = $doc.createElement($intern_16);
      img.src = base + $intern_17;
      base = getDirectoryOfFile(img.src);
    }
    if (markerScript) {
      markerScript.parentNode.removeChild(markerScript);
    }
  }

  function processMetas(){
    var metas = document.getElementsByTagName($intern_18);
    for (var i = 0, n = metas.length; i < n; ++i) {
      var meta = metas[i], name = meta.getAttribute($intern_19), content;
      if (name) {
        if (name == $intern_20) {
          content = meta.getAttribute($intern_21);
          if (content) {
            var value, eq = content.indexOf($intern_22);
            if (eq >= 0) {
              name = content.substring(0, eq);
              value = content.substring(eq + 1);
            }
             else {
              name = content;
              value = $intern_0;
            }
            metaProps[name] = value;
          }
        }
         else if (name == $intern_23) {
          content = meta.getAttribute($intern_21);
          if (content) {
            try {
              propertyErrorFunc = eval(content);
            }
             catch (e) {
              alert($intern_24 + content + $intern_25);
            }
          }
        }
         else if (name == $intern_26) {
          content = meta.getAttribute($intern_21);
          if (content) {
            try {
              onLoadErrorFunc = eval(content);
            }
             catch (e) {
              alert($intern_24 + content + $intern_27);
            }
          }
        }
      }
    }
  }

  function unflattenKeylistIntoAnswers(propValArray, value){
    var answer = answers;
    for (var i = 0, n = propValArray.length - 1; i < n; ++i) {
      answer = answer[propValArray[i]] || (answer[propValArray[i]] = []);
    }
    answer[propValArray[n]] = value;
  }

  function computePropValue(propName){
    var value = providers[propName](), allowedValuesMap = values[propName];
    if (value in allowedValuesMap) {
      return value;
    }
    var allowedValuesList = [];
    for (var k in allowedValuesMap) {
      allowedValuesList[allowedValuesMap[k]] = k;
    }
    if (propertyErrorFunc) {
      propertyErrorFunc(propName, allowedValuesList, value);
    }
    throw null;
  }

  providers[$intern_28] = function(){
    var ua = navigator.userAgent.toLowerCase();
    var makeVersion = function(result){
      return parseInt(result[1]) * 1000 + parseInt(result[2]);
    }
    ;
    if (ua.indexOf($intern_29) != -1) {
      return $intern_29;
    }
     else if (ua.indexOf($intern_30) != -1) {
      return $intern_31;
    }
     else if (ua.indexOf($intern_32) != -1) {
      var result = /msie ([0-9]+)\.([0-9]+)/.exec(ua);
      if (result && result.length == 3) {
        if (makeVersion(result) >= 6000) {
          return $intern_33;
        }
      }
    }
     else if (ua.indexOf($intern_34) != -1) {
      var result = /rv:([0-9]+)\.([0-9]+)/.exec(ua);
      if (result && result.length == 3) {
        if (makeVersion(result) >= 1008)
          return $intern_35;
      }
      return $intern_34;
    }
    return $intern_36;
  }
  ;
  values[$intern_28] = {gecko:0, gecko1_8:1, ie6:2, opera:3, safari:4};
  searchbox.onScriptLoad = function(gwtOnLoadFunc){
    searchbox = null;
    gwtOnLoad = gwtOnLoadFunc;
    maybeStartModule();
  }
  ;
  if (isHostedMode()) {
    alert($intern_37 + $intern_38);
    return;
  }
  computeScriptBase();
  processMetas();
  $stats && $stats({moduleName:$intern_1, subSystem:$intern_2, evtGroup:$intern_3, millis:(new Date()).getTime(), type:$intern_39});
  var strongName;
  try {
    unflattenKeylistIntoAnswers([$intern_35], $intern_40);
    unflattenKeylistIntoAnswers([$intern_29], $intern_41);
    unflattenKeylistIntoAnswers([$intern_34], $intern_42);
    unflattenKeylistIntoAnswers([$intern_31], $intern_43);
    unflattenKeylistIntoAnswers([$intern_33], $intern_44);
    strongName = answers[computePropValue($intern_28)];
  }
   catch (e) {
    return;
  }
  var onBodyDoneTimerId;
  function onBodyDone(){
    if (!bodyDone) {
      bodyDone = true;
      if (!__gwt_stylesLoaded[$intern_45]) {
        var l = $doc.createElement($intern_46);
        __gwt_stylesLoaded[$intern_45] = l;
        l.setAttribute($intern_47, $intern_48);
        l.setAttribute($intern_49, base + $intern_45);
        $doc.getElementsByTagName($intern_50)[0].appendChild(l);
      }
      maybeStartModule();
      if ($doc.removeEventListener) {
        $doc.removeEventListener($intern_51, onBodyDone, false);
      }
      if (onBodyDoneTimerId) {
        clearInterval(onBodyDoneTimerId);
      }
    }
  }

  if ($doc.addEventListener) {
    $doc.addEventListener($intern_51, function(){
      onBodyDone();
    }
    , false);
  }
  var onBodyDoneTimerId = setInterval(function(){
    if (/loaded|complete/.test($doc.readyState)) {
      onBodyDone();
    }
  }
  , 50);
  $stats && $stats({moduleName:$intern_1, subSystem:$intern_2, evtGroup:$intern_3, millis:(new Date()).getTime(), type:$intern_7});
  $stats && $stats({moduleName:$intern_1, subSystem:$intern_2, evtGroup:$intern_52, millis:(new Date()).getTime(), type:$intern_4});
  var compiledScriptTag = $intern_53 + base + strongName + $intern_54;
  $doc.write($intern_55 + $intern_56 + $intern_57 + $intern_58 + $intern_59 + $intern_56 + $intern_57 + $intern_60 + $intern_61 + $intern_62 + compiledScriptTag + $intern_63 + $intern_64);
}

searchbox();

/*
 * END - Controls the Catalyst nav bar search box
 */

/*
 * BEGIN - Controls the Catalyst navigation menu dropdown lists
 */

// main function to handle the mouse events //
function ddMenu(id,d) {
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  clearInterval(c.timer);
  if (d == 1) {
    clearTimeout(h.timer);
    c.timer = setInterval(function(){ddToggle(c,1)},15);
  } else {
	h.timer = setTimeout(function(){ddToggle(c,-1)},50);
  }
}

// cancel the collapse if a user rolls over the dropdown //
function cancelHide(id) {
  var h = document.getElementById(id + '-ddheader');
  var c = document.getElementById(id + '-ddcontent');
  clearTimeout(h.timer);
  clearInterval(c.timer);
}

// incrementally expand/contract the dropdown and change the opacity //
function ddToggle(c,d) {
  if (d == 1) {
	c.style.display = 'block';
  } else {
	c.style.display = 'none';
  }
  clearInterval(c.timer);
}

/*
 * END - Controls the Catalyst navigation menu dropdown lists
 */
