// Start JSIncludeFile:Action_JS
var fGlobalPointer, fBaseTarget, fTabs, fTree, fDynList, fIsPopUp, fPopUpWindow;
function QueryValue(aName, aValue) {
  this.Name  = unescape(aName.toUpperCase());
  this.Value = unescape(aValue);
}
function GetQueryVars() {
  var zQueryString = document.location.search.substring(1, document.location.search.length);
  var zParamPairs = zQueryString.split('&');
  var zSplitPair = [];
  for (var zI=0; zI<zParamPairs.length; zI++) {
    zSplitPair = zParamPairs[zI].split('=');
    if (zSplitPair.length == 2) {
      fQueryValues[fQueryValues.length] = new QueryValue(zSplitPair[0], zSplitPair[1]);
    }
  };
  fQueriesLoaded = true;
}
function GetQueryValue(aParameterName) {
  if (!fQueriesLoaded) {
    GetQueryVars();
  };
  for (var zI=0; zI<fQueryValues.length; zI++) {
    if (fQueryValues[zI].Name == aParameterName) {
      return fQueryValues[zI].Value
    };
  }
  return '';
}
var fQueryValues = [];
var fQueriesLoaded = false;
function CookieValue(aName, aValue) {
  this.Name  = unescape(aName.toUpperCase());
  this.Value = unescape(aValue);
}
function GetCookieVars() {
  var zCookieString = document.cookie;
  var zParamPairs = zCookieString.split('; ');
  var zSplitPair = [];
  for (var zI=0; zI<zParamPairs.length; zI++) {
    zSplitPair = zParamPairs[zI].split('=');
    if (zSplitPair.length == 2) {
      fCookieValues[fCookieValues.length] = new CookieValue(zSplitPair[0], zSplitPair[1])
    }
  };
  fCookiesLoaded = true;
}
function GetCookieValue(aParameterName) {
  if (!fCookiesLoaded) {
    GetCookieVars();
  };
  for (var zI=0; zI<fCookieValues.length; zI++) {
    if (fCookieValues[zI].Name == aParameterName) {
      return fCookieValues[zI].Value
    };
  }
  return '';
}
var fCookieValues = [];
var fCookiesLoaded = false;
function SetHiddenInput(aSource, aVariableName, aInputName) {
  var zValue = '';
  aSource = aSource.toLowerCase();
  if (aSource == 'cookie'){
    zValue = GetCookieValue(aVariableName)
  } else if (aSource == 'url'){
    zValue = GetQueryValue(aVariableName)
  };
  if (zValue != '') {
    document.write('<input type="hidden" name="'+aInputName+'" id="'+aInputName+'" value="'+zValue+'" />');
  }
}
function setURLVariable(aVarName,aValue,aURL,aBeforeNoLiveCache) {
  var zNewString = aVarName + '=' + aValue;
  var zVarsBeforeNoLiveCache = new Array();
  var zVarsAfterNoLiveCache = new Array();
  var zNoLiveCacheFound = false;
  var x,zSplitPair,zNewURL;
  aBeforeNoLiveCache = (aBeforeNoLiveCache===true||aBeforeNoLiveCache=='Y' ? true:(aBeforeNoLiveCache=='N'||aBeforeNoLiveCache===false) ? false:true);
  aURL = ((!aURL||aURL=='') ? document.location.href:aURL);
  var zURLParts = aURL.split('?');
  if(zURLParts.length>1){
    var zParamPairs = zURLParts[1].split('&');
    for (x=0; x<zParamPairs.length; x++) {
      zSplitPair = zParamPairs[x].split('=');
      if(zSplitPair[0].toLowerCase()=='_nolivecache'){
        zNoLiveCacheFound = true;
      }
      if(zSplitPair[0].toLowerCase()!=aVarName.toLowerCase()&&zSplitPair[0].toLowerCase()!='_nolivecache'){
        if(!zNoLiveCacheFound){
          zVarsBeforeNoLiveCache[zVarsBeforeNoLiveCache.length] = zSplitPair[0] + '=' + (zSplitPair[1] ? zSplitPair[1]:'');
        }else{
          zVarsAfterNoLiveCache[zVarsAfterNoLiveCache.length] = zSplitPair[0] + '=' + (zSplitPair[1] ? zSplitPair[1]:'');
        }
      }
    }
  }
  if(aBeforeNoLiveCache){
    zVarsBeforeNoLiveCache[zVarsBeforeNoLiveCache.length] = zNewString;
  }else{
    zVarsAfterNoLiveCache[zVarsAfterNoLiveCache.length] = zNewString;
  }
  zNewURL = zURLParts[0] + '?' + zVarsBeforeNoLiveCache.join('&') + (zVarsAfterNoLiveCache.length>0 ? (zVarsBeforeNoLiveCache.length>0 ? '&':'') + '_nolivecache=Y&' + zVarsAfterNoLiveCache.join('&'):'')
  return zNewURL;
}
function lsSetUserGroup() {
  return true;
}
var Track = {
  BaseURL: "",
  LastPage: "",
  ClientId: "Live-LiveAdMaker",
  ScreenRes: window.screen.width+'x'+window.screen.height,
  send: function(aPage,aCount,aValue,aCost,aRevenue,aValue) {
    var zI = new Image();
    zI.src = Track.BaseURL
           + '\/l.a\/cnt\/'+Math.random()+Math.random()
           + '?cid='+Track.ClientId
           + '&u='+aPage
           + '&ru='+Track.LastPage
           + '&bt='
           + '&bv='
           + '&sr='+Track.ScreenRes
           + '&cnt='+(aCount?aCount:'')
           + '&val='+(aValue?aValue:'')
           + '&cst='+(aCost?aCost:'')
           + '&rev='+(aRevenue?aRevenue:'')
           + '&val='+(aValue?aValue:'')
           + '0=0';
    Track.LastPage = aPage;
    return true;
  }
}
var _trackArray = [];
function _track(aPath,aAction,aExtraParams) {_trackArray.push(AppendToUrl(((aPath) ? aPath : '/') + '.' + ((aAction) ? aAction : 'track') + '?u=' + UniqueVar(),aExtraParams));}
var _ls='*';
function _la(aParamObject) {
  if (typeof(aParamObject)!='undefined') {
    appendEventHandler(window, "onload", _laLoad, aParamObject);
  }
}
function _laRun() {
  return true;
}
function lsTAdd(s) {_ls+='*t*'+s}
function lsPAdd(s) {_ls+='*p*'+s}
function lsBAdd(s) {_ls+='*b*'+s}
function _laLoad(e,aParamObject) {
    _track(aParamObject.Track[0],aParamObject.Track[1],aParamObject.Track[2]);
    var zImage;
    _trackArray.forEach(function (aURL){zImage = new Image().src = aURL});
  return true;
}
// End JSIncludeFile:Action_JS
// Start JSIncludeFile:Action_JSIncludeArrayMethods
Array.prototype.append = function () {
  var i;
  for (i=0; i < arguments.length; i++) {
    this[this.length] = arguments[i];
  }
}
Array.prototype.copy = function ()  {
  return this.concat();
}
Array.prototype.contains = function (vItem )  {
  return this.indexOf(vItem)>-1;
}
if(!Array.every){
  Array.prototype.every = function (fnTest , oThis ) {
    if (this.length > 0) {
      var i,l,bResult = true;
      var zProperty = '__everyFunc__'+ UniqueVar();
      oThis = oThis || window;
      oThis[zProperty] = fnTest;
      for (i=0, l=this.length; i < l && bResult; i++) {
        bResult = bResult && oThis[zProperty](this[i], i, this);
      }
      oThis[zProperty] = null;
      return bResult;
    } else {
      return true; 
    }
  }
}
if(!Array.filter){
  Array.prototype.filter= function (fnTest , oThis ) {
    var i,l,aResult  = new Array();
    var zProperty = '__filterFunc__'+ UniqueVar();
    oThis = oThis || window;
    oThis[zProperty] = fnTest;
    for (i=0, l=this.length; i < l; i++) {
      if (oThis[zProperty](this[i], i, this)) {
        aResult.push(this[i]);
      }
    }
    oThis[zProperty] = null;
    return aResult;
  }
}
if(!Array.forEach){
  Array.prototype.forEach = function (fnExec , oThis ) {
    var i,l;
    var zProperty = '__forEachFunc__'+ UniqueVar();
    oThis = oThis || window;
    oThis[zProperty] = fnExec;
    for (i=0, l=this.length; i < l; i++) {
      oThis[zProperty](this[i], i, this);
    }
    oThis[zProperty] = null;
  }
}
if(!Array.indexOf){
  Array.prototype.indexOf = function (vItem , iStart ) {
    var i,l;
    if (iStart == null) {
      iStart = 0;
    }
    for (i=iStart, l=this.length; i < l; i++) {
      if (this[i] == vItem) {
        return i;
      }
    }
    return -1;
  }
}
if(!Array.insertAt){
  Array.prototype.insertAt = function (vItem , iIndex )  {
    this.splice(iIndex, 0, vItem);
  }
}
if(!Array.insertBefore){
  Array.prototype.insertBefore = function (vItem , vBeforeItem )  {
    this.insertAt(vItem, this.indexOf(vBeforeItem));
  }
}
if(!Array.lastIndexOf){
  Array.prototype.lastIndexOf = function (vItem , iStart ) {
    var i;
    if (iStart == null || iStart >= this.length) {
      iStart = this.length-1;
    }
    for (i=iStart; i >= 0; i--) {
      if (this[i] == vItem) {
        return i;
      }
    }
    return -1;
  }
}
if(!Array.map){
  Array.prototype.map = function (fnExec , oThis ) {
    var i,l,aResult  = new Array();
    var zProperty = '__mapFunc__'+ UniqueVar();
    oThis = oThis || window;
    oThis[zProperty] = fnExec;
    for (i=0, l=this.length; i < l; i++) {
      aResult.push(oThis[zProperty](this[i], i, this));
    }
    oThis[zProperty] = null;
    return aResult;
  }
}
if(!Array.pop){
  Array.prototype.pop = function () {
    var oItem  = null;
    if (this.length > 0) {
      oItem = this[this.length-1];
      this.length--;
    }
    return oItem;
  }
}
if(!Array.push){
  Array.prototype.push = Array.prototype.append;
}
if(!Array.remove){
  Array.prototype.remove = function (vItem )  {
    this.removeAt(this.indexOf(vItem));
    return vItem;
  }
}
if(!Array.removeAt){
  Array.prototype.removeAt = function (iIndex )  {
    var vItem = this[iIndex];
    if (vItem) {
      this.splice(iIndex, 1);
    }
    return vItem;
  }
}
if(!Array.slice){
  Array.prototype.slice = function (iStart , iStop ) {
    var i,aResult  = new Array();
    iStop = iStop || this.length;
    for (i=iStart; i < iStop; i++) {
      aResult.push(this[i]);
    }
    return aResult;
  }
}
if(!Array.shift){
  Array.prototype.shift = function () {
    var vItem = this[0];
    if (vItem) {
      this.splice(0,1);
    }
    return vItem;
  }
}
if(!Array.some){
  Array.prototype.some= function (fnTest , oThis ) {
    var i,l;
    var zProperty = '__someFunc__'+ UniqueVar();
    oThis = oThis || window;
    oThis[zProperty] = fnTest;
    for (i=0, l=this.length; i < l; i++) {
      if (oThis[zProperty](this[i], i, this)) {
       return true;
      }
    }
    oThis[zProperty] = null;
    return false;
  }
}
if(!Array.splice){
  Array.prototype.splice = function (iIndex , iLength ) {
    var i,aResult  = new Array();
    var aRemoved  = new Array();
    for (i=0; i < iIndex; i++){
      aResult.push(this[i]);
    }
    for (i=iIndex; i < iIndex+iLength; i++) {
     aRemoved.push(this[i]);
    }
    if (arguments.length > 2) {
      for (i=2; i < arguments.length; i++) {
        aResult.push(arguments[i]);
      }
    }
    for (i=iIndex+iLength; i < this.length; i++) {
      aResult.push(this[i]);
    }
    for (i=0; i < aResult.length; i++) {
      this[i] = aResult[i];
    }
    this.length = aResult.length;
    return aRemoved;
  }
}
if(!Array.sum){
  Array.prototype.sum = function (fnConvert , oThis ) {
    if (this.length > 0) {
      var i,l,vResult = null;
      var zProperty = '__sumFunc__'+ UniqueVar();
      oThis = oThis || window;
      oThis[zProperty] = fnConvert || function (vVal) { return vVal; }
      vResult = oThis[zProperty](this[0], 0, this);
      for (i=1, l=this.length; i < l; i++) {
        vResult += oThis[zProperty](this[i], i, this);
      }
      oThis[zProperty] = null;
      return vResult;
    } else {
      return null;
    }
  }
}
if(!Array.unshift){
  Array.prototype.unshift = function () {
    var i,l,sExec = "this.splice(";
    var aArgs = new Array();
    for (i=0,l=arguments.length; i < l; i++) {
      aArgs.push("arguments["+i+"]");
    }
    eval("this.splice(0,0," + aArgs.join(",") + ")");
  }
}
if(!Array.moveBefore){
  Array.prototype.moveBefore = function(aItem,aBeforeItem){
    this.remove(aItem);
    this.insertBefore(aItem,aBeforeItem);
  }
}
if(!Array.insertAfter){
  Array.prototype.insertAfter = function (aItem , aAfterItem )  {
    this.insertAt(aItem, this.indexOf(aAfterItem)+1);
  }
}
if(!Array.moveAfter){
  Array.prototype.moveAfter = function(aItem,aAfterItem){
    this.remove(aItem);
    this.insertAfter(aItem,aAfterItem);
  }
}
Array.prototype.fastFindFirst = function(fnTest, oThis) {
  var zProperty = '__FastFindFirstFunc__'+ UniqueVar();
  oThis = oThis || window;
  oThis[zProperty] = fnTest;
  var zIdx, zMatch;
  var zFirstIndex = 0;
  var zLastIndex     = this.length - 1;
  var zFound = false;
  while (zFirstIndex <= zLastIndex) {
    zIdx = (zFirstIndex + zLastIndex) >> 1;
    zMatch = oThis[zProperty](this[zIdx],zIdx,this);
    if (zMatch < 0) {
      zFirstIndex = zIdx + 1;
    }  else {
      zLastIndex = zIdx - 1;
      if (zMatch == 0) {
        zFound = true;
      }
    }
  }
  oThis[zProperty] = null;
  if (zFound) {
    return zFirstIndex;
  }else{
    return -1;
  }
}
Array.prototype.fastFilter = function(fnTest, oThis) {
  var zProperty = '__FastFilterFunc__'+ UniqueVar();
  oThis = oThis || window;
  oThis[zProperty] = fnTest;
  var zIdx;
  var zLastIndex;
  var zMaxIdx     = this.length - 1;
  var zResultArray = new Array();
  var zFirstIndex = this.fastFindFirst(fnTest, oThis);
  if (zFirstIndex>-1) {
    zLastIndex = zFirstIndex;
    while ((zLastIndex < zMaxIdx) && (oThis[zProperty](this[zLastIndex+1], zLastIndex+1,this) == 0)) {
      zLastIndex++;
    }
    for (zIdx = zFirstIndex; zIdx <= zLastIndex; zIdx++) {
      zResultArray.push(this[zIdx]);
    }
  }
  oThis[zProperty] = null;
  return zResultArray;
}
Array.prototype.set = function(aItem,aKey){
  if(typeof aKey == 'undefined'){
    this.push(aItem);
  }else{
    aKey = aKey.toString();
    if(!this._List){
      this._List = {};
      this._Indexes = {};
    }
    if(this._List[aKey]){
      var zOldItem = this._List[aKey];
      this._List[aKey] = aItem;
      if(this[this._Indexes[aKey]] == zOldItem){
        this[this._Indexes[aKey]] = aItem;
      }else{
        var zIndex = this.indexOf(zOldItem);
        this[zIndex] = aItem;
        this._Indexes[aKey] = zIndex;
      }
    }else{
      this._Indexes[aKey] = this.length;
      this.push(aItem);
      this._List[aKey] = aItem;
    }
  }
}
Array.prototype.get = function(aValue,aField){
  if(typeof aField == 'undefined'){
    return (this._List ? this._List[aValue]:null);
  }else{
    return this.filter(function(aItem){
      return (aItem[aField] == aValue);
    });
  }
}
Array.prototype.makeUnique = function(aField){
  var zResult = [];
  this.forEach(function(aItem){
    zResult.set(aItem,aItem[aField]);
  });
  return zResult;
}
Array.prototype.first = function(){
  return this[0];
}
Array.prototype.last = function(){
  return this[this.length-1];
}
Array.Copy = function(aArray){
  var i,zResult = [];
  for(i=0;i<aArray.length;i++){
    zResult.push(aArray[i]);
  }
  return zResult;
}
// End JSIncludeFile:Action_JSIncludeArrayMethods
// Start JSIncludeFile:Action_JSIncludeGlobalPointer
function GlobalPointerHolder(aFrame) {
  this.Frame = aFrame;
  this.Document = aFrame.document;
  this.LSAccessID           = '';
  this.LSAccountID          = '';
  this.MainKBObject         = '';
  this.CurrentKBObject      = '';
  this.DynamicTree          = null;
  this.TabFrameHolder       = null;
  this.ContentFrame         = '';
  this.PopUpWindow          = '';
  this.PopUpDisplayElement  = '';
  this.PopUpInputElement    = '';
  this.DisplayElement       = '';
  this.InputElement         = '';
  this.KBItemPath           = '';
  this.KBStartPath          = '';
  this.OpenToPath           = '';
  this.CreationLocation     = Math.random()+'_'+location.href;
  this.LogoutDelay          = null;
  this.Browser = new BrowserDetect();
  this.Setup();
  var self = this;
  GlobalPointerHolder.InitFunctions.forEach(function(aInitFunction){
    if(typeof(aInitFunction) == "function") {
      aInitFunction(self);
    }
    else {
      self[aInitFunction]();
    }
  });
}
GlobalPointerHolder.InitFunctions = [];
GlobalPointerHolder.prototype.SelectItem = function(aURL,aIsPopUp,aKBItemPath,aKBItemName) {
  if(aIsPopUp) {
    this.PopUpInputElement.value = aKBItemPath;
    this.PopUpDisplayElement.value = aKBItemName;
  } else {
    this.ContentFrame.document.location.href = aURL;
  }
}
GlobalPointerHolder.prototype.SelectPopUpItem = function(aKBItemPath,aKBItemName) {
  this.PopUpInputElement.value = aKBItemPath;
  this.PopUpDisplayElement.value = aKBItemName;
}
GlobalPointerHolder.prototype.SetForm = function() {
  this.InputElement.value = this.PopUpInputElement.value;
  this.DisplayElement.value = this.PopUpDisplayElement.value;
  if(this.DisplayElement_2) {
    this.DisplayElement_2.value = this.PopUpDisplayElement.value;
  }
  if(this.DisplayElement.getAttribute('onchangefunction')!='' && this.PopUpWindow.opener[this.DisplayElement.getAttribute('onchangefunction')]) {
    this.PopUpWindow.opener[this.DisplayElement.getAttribute('onchangefunction')]();
  }
  this.PopUpWindow.close();
}
GlobalPointerHolder.prototype.CancelPopUp = function() {
  this.PopUpWindow.close();
}
GlobalPointerHolder.prototype.Setup = function() {
  this.LSAccessID = GetQueryValue('LSACCESSID');
  if(this.LSAccessID == '') {
    this.LSAccessID  = GetQueryValue('ALSACCESSID');
  }
  this.LSAccountID = GetQueryValue('LSACCOUNTID');
  if(this.LSAccountID == '') {
    this.LSAccountID = GetQueryValue('ALSACCOUNTID');
  }
}
GlobalPointerHolder.prototype.AutoLogout = function(aLogoutDelay, aMessage) {
  if(this.LogoutDelay) {
    window.clearTimeout(this.LogoutDelay);
  }
  this.LogoutDelay = window.setTimeout("Logout('"+aMessage+"')", aLogoutDelay);
}
function HistoryItem(aURL, aTitle) {
 this.URL = aURL;
 this.Title = aTitle;
}
GlobalPointerHolder.prototype.AddToHistoryTrail = function(aURL,aName) {
 if(!this.HistoryArray){
   this.HistoryArray = new Array();
 }
 for (var y=0;y<this.HistoryArray.length;y++){
   if (this.HistoryArray[y].URL == aURL) {
     this.HistoryArray.length = y;
   }
 }
 this.HistoryArray[this.HistoryArray.length] = new HistoryItem(aURL,aName);
}
GlobalPointerHolder.prototype.DisplayHistoryTrail = function() {
 if(this.HistoryArray){
   var zArray = this.HistoryArray;
   var zDisplayElement = this.HistoryDisplayElement;
   if (zDisplayElement == null) {return}
   var zOutputArray = new Array();
      for (var x=0;x<zArray.length;x++){
     zOutputArray[zOutputArray.length] = '<a h'+'ref="'+zArray[x].URL+'" class="HistoryItem">'+unescape(zArray[x].Title)+'<\/a>';
   }
   zDisplayElement.innerHTML = zOutputArray.join(' > ');
 }
}
GlobalPointerHolder.prototype.ClearHistoryTrail = function() {
 if (this.HistoryArray)
   this.HistoryArray.length = 0;
}
GlobalPointerHolder.prototype.TrimHistoryTrail = function() {
 this.HistoryArray.length = (this.HistoryArray.length-1);
}
function Logout(aMessage) {
  if(GetCookieValue('TLOSID') != '') {
   var zFrame = fGlobalPointer.Frame;
   VarDef(zFrame, top);
   ClearOnBeforeUnload(zFrame);
   if (fGlobalPointer.AutoSave) {
     fGlobalPointer.AutoSave();
   }
   zFrame.location='/home.logoutcomplete?aLoginMessage=' + aMessage;
  }
}
function ClearOnBeforeUnload(aFrame) {
  try {
    aFrame.onbeforeunload = null;
    if (aFrame.frames) {
      for (var zI = 0; zI < aFrame.frames.length; zI++) {
        ClearOnBeforeUnload(aFrame.frames[zI]);
      }
    }
  } catch(e) {}
  return true;
}
function SetGlobalPointer() {
  var fFrame = self;
  function LoopUpFrames() {
    var zTempFrame, zTempLocation;
    while (fFrame != fFrame.top) {
      try {
        if(fFrame.parent.fGlobalPointer){
          fFrame = fFrame.parent;
          return false;
        }
        zTempLocation = fFrame.parent.location.href;
        fFrame = fFrame.parent;
      } catch(e) {
        return false;
      }
    }
    return true;
  }
  var zKeepSearching = LoopUpFrames();
  if (zKeepSearching && fFrame.opener) {
    try {
      if(fFrame.opener.fGlobalPointer){
        fFrame = fFrame.opener;
      }
      zTempLocation = fFrame.opener.location.href;
      fFrame = fFrame.opener;
      LoopUpFrames();
    } catch(e) {}
  }
  if (!fFrame.fGlobalPointer) {
    fFrame.fGlobalPointer = new GlobalPointerHolder(fFrame);
  }
  fGlobalPointer = fFrame.fGlobalPointer;
}
// Browser Detect  v2.1.6
// documentation: http://www.dithered.com/javascript/browser_detect/index.html
// license: http://creativecommons.org/licenses/by/1.0/
// code by Chris Nott (chris[at]dithered[dot]com)
function BrowserDetect() {
  var ua = navigator.userAgent.toLowerCase();
  this.isGecko       = (ua.indexOf('gecko') != -1 && ua.indexOf('safari') == -1);
  this.isAppleWebKit = (ua.indexOf('applewebkit') != -1);
  this.isKonqueror   = (ua.indexOf('konqueror') != -1);
  this.isSafari      = (ua.indexOf('safari') != - 1);
  this.isOldSafari      = (this.isSafari && !window.XMLHttpRequest);
  this.isOmniweb     = (ua.indexOf('omniweb') != - 1);
  this.isOpera       = (ua.indexOf('opera') != -1);
  this.isIcab        = (ua.indexOf('icab') != -1);
  this.isAol         = (ua.indexOf('aol') != -1);
  this.isIE          = (ua.indexOf('msie') != -1 && !this.isOpera && (ua.indexOf('webtv') == -1) );
  this.isMozilla     = (this.isGecko && ua.indexOf('gecko/') + 14 == ua.length);
  this.isFirebird    = (ua.indexOf('firebird/') != -1);
  this.isNS          = ( (this.isGecko) ? (ua.indexOf('netscape') != -1) : ( (ua.indexOf('mozilla') != -1) && !this.isOpera && !this.isSafari && (ua.indexOf('spoofer') == -1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('webtv') == -1) && (ua.indexOf('hotjava') == -1) ) );
  this.isIECompatible = ( (ua.indexOf('msie') != -1) && !this.isIE);
  this.isNSCompatible = ( (ua.indexOf('mozilla') != -1) && !this.isNS && !this.isMozilla);
  this.geckoVersion = ( (this.isGecko) ? ua.substring( (ua.lastIndexOf('gecko/') + 6), (ua.lastIndexOf('gecko/') + 14) ) : -1 );
  this.equivalentMozilla = ( (this.isGecko) ? parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) ) : -1 );
  this.appleWebKitVersion = ( (this.isAppleWebKit) ? parseFloat( ua.substring( ua.indexOf('applewebkit/') + 12) ) : -1 );
  this.versionMinor = parseFloat(navigator.appVersion);
  if (this.isGecko && !this.isMozilla) {
    this.versionMinor = parseFloat( ua.substring( ua.indexOf('/', ua.indexOf('gecko/') + 6) + 1 ) );
  } else if (this.isMozilla) {
    this.versionMinor = parseFloat( ua.substring( ua.indexOf('rv:') + 3 ) );
  } else if (this.isIE && this.versionMinor >= 4) {
    this.versionMinor = parseFloat( ua.substring( ua.indexOf('msie ') + 5 ) );
  } else if (this.isKonqueror) {
    this.versionMinor = parseFloat( ua.substring( ua.indexOf('konqueror/') + 10 ) );
  } else if (this.isSafari) {
    this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('safari/') + 7 ) );
  } else if (this.isOmniweb) {
    this.versionMinor = parseFloat( ua.substring( ua.lastIndexOf('omniweb/') + 8 ) );
  } else if (this.isOpera) {
    this.versionMinor = parseFloat( ua.substring( ua.indexOf('opera') + 6 ) );
  } else if (this.isIcab) {
    this.versionMinor = parseFloat( ua.substring( ua.indexOf('icab') + 5 ) );
  }
  this.versionMajor = parseInt(this.versionMinor);
  this.isDOM1 = (document.getElementById);
  this.isDOM2Event = (document.addEventListener && document.removeEventListener);
  this.mode = document.compatMode ? document.compatMode : 'BackCompat';
  this.isWin    = (ua.indexOf('win') != -1);
  this.isWin32  = (this.isWin && ( ua.indexOf('95') != -1 || ua.indexOf('98') != -1 || ua.indexOf('nt') != -1 || ua.indexOf('win32') != -1 || ua.indexOf('32bit') != -1 || ua.indexOf('xp') != -1) );
  this.isMac    = (ua.indexOf('mac') != -1);
  this.isUnix   = (ua.indexOf('unix') != -1 || ua.indexOf('sunos') != -1 || ua.indexOf('bsd') != -1 || ua.indexOf('x11') != -1)
  this.isLinux  = (ua.indexOf('linux') != -1);
  this.isNS4x = (this.isNS && this.versionMajor == 4);
  this.isNS40x = (this.isNS4x && this.versionMinor < 4.5);
  this.isNS47x = (this.isNS4x && this.versionMinor >= 4.7);
  this.isNS4up = (this.isNS && this.versionMinor >= 4);
  this.isNS6x = (this.isNS && this.versionMajor == 6);
  this.isNS6up = (this.isNS && this.versionMajor >= 6);
  this.isNS7x = (this.isNS && this.versionMajor == 7);
  this.isNS7up = (this.isNS && this.versionMajor >= 7);
  this.isIE4x = (this.isIE && this.versionMajor == 4);
  this.isIE4up = (this.isIE && this.versionMajor >= 4);
  this.isIE5x = (this.isIE && this.versionMajor == 5);
  this.isIE55 = (this.isIE && this.versionMinor == 5.5);
  this.isIE5up = (this.isIE && this.versionMajor >= 5);
  this.isIE6x = (this.isIE && this.versionMajor == 6);
  this.isIE6up = (this.isIE && this.versionMajor >= 6);
  this.isIE7x = (this.isIE && this.versionMajor == 7);
  this.isIE7up = (this.isIE && this.versionMajor >= 7);
  this.isIE4xMac = (this.isIE4x && this.isMac);
  function GetFlashVersion() {
    var x,y,i;
    if (navigator.plugins && navigator.plugins.length) {
      x = navigator.plugins["Shockwave Flash"];
      if (x) {
        if (x.description) {
          y = x.description;
          return  y.charAt(y.indexOf('.')-1);
        }
      } else {
        return -1;
      }
      if (navigator.plugins["Shockwave Flash 2.0"]) {
        return 2;
      }
    } else if (navigator.mimeTypes && navigator.mimeTypes.length) {
      x = navigator.mimeTypes["application/x-shockwave-flash"];
      if (x && x.enabledPlugin){
        return 1;
      } else {
        return -1;
      }
    } else {
      for (i=9; i>0; i--){
       try{
          new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
          return i;
        } catch(e){
        }
      }
    }
    return -1;
  }
  this.flashVersion = GetFlashVersion();
  this.hasFlash = (this.flashVersion>0);
}
SetGlobalPointer();
// End JSIncludeFile:Action_JSIncludeGlobalPointer
// Start JSIncludeFile:Action_JSIncludeAttachmentContainer
function Attachment(aDisplayName, aType, aURL, aIdentifier, aStatus) {
  this.IndexIdentifier  = aIdentifier;
  this.Identifier       = aIdentifier;
  this.DisplayName      = unescape(aDisplayName);
  this.Type             = aType;
  this.UpperType        = aType.toUpperCase();
  this.URL              = unescape(aURL);
  this.Status           = aStatus.toUpperCase();
}
function AttachmentContainer(aName) {
  this.Name = aName;
  this.AttachmentList = [];
}
AttachmentContainer.prototype.Add = function(aDisplayName, aType, aURL, aIdentifier, aStatus, aNoReDraw) {
  var zAttach = this.Find(aIdentifier);
  if(zAttach != null) {
    zAttach.DisplayName = unescape(aDisplayName);
    zAttach.Type        = aType;
    zAttach.UpperType   = aType.toUpperCase();
    zAttach.URL         = unescape(aURL);
    zAttach.Status      = aStatus.toUpperCase();
    return;
  } else {
    this.AttachmentList[this.AttachmentList.length] = new Attachment(aDisplayName, aType, aURL, aIdentifier, aStatus);
  }
  if(!aNoReDraw || aNoReDraw != 'Y') {
    this.Redraw(aType);
  }
}
AttachmentContainer.prototype.Remove = function(aIdentifier) {
  var zAttach = this.Find(aIdentifier);
  if(zAttach == null) { return; }
  if(zAttach.Status == 'NEW') {
    zAttach.IndexIdentifier = '';
    zAttach.Status = 'VOID';
  } else if(zAttach.Status == 'EXISTING') {
    if(confirm('Are you sure you want to delete the '+zAttach.Type+' '+zAttach.DisplayName+'?')) {
      zAttach.Status = 'DELETE';
    } else {
      return;
    }
  }
  this.Redraw(zAttach.Type);
}
AttachmentContainer.prototype.Find = function(aIdentifier) {
  if(aIdentifier == '') { return null; }
  for(var zI=0; zI<this.AttachmentList.length; zI++) {
    if(this.AttachmentList[zI].IndexIdentifier == aIdentifier) {
      return this.AttachmentList[zI];
    }
  }
  return null;
}
AttachmentContainer.prototype.Draw = function() {
  this.Redraw('File');
  this.Redraw('Image');
  this.Redraw('Link');
}
AttachmentContainer.prototype.Redraw = function(aType) {
  var zUpperType         = aType.toUpperCase();
  var zInputStr          = '';
  var zInputRemoveStr    = '';
  var zInputURLStr       = '';
  var zInputRemoveURLStr = '';
  var zInnerHtmlStr      = '';
  var zElement;
  for(var zI=0; zI<this.AttachmentList.length; zI++) {
    if(this.AttachmentList[zI].UpperType == zUpperType) {
      var zAttach =  this.AttachmentList[zI];
      if(zAttach.Status == 'NEW') {
        zInputStr     += ','+zAttach.Identifier;
        zInputURLStr  += ','+zAttach.URL;
        zInnerHtmlStr += '<span class="Remove RemoveFileLink" onClick="'+this.Name+'.Remove(\''+zAttach.Identifier+'\')">x</span>&nbsp;<span class="NewFileHighlight"><a h'+'ref="'+zAttach.URL+'" target="_blank">'+zAttach.DisplayName+'<\/a> (not yet saved)<\/span><br />';
      } else if(zAttach.Status == 'DELETE') {
        zInputRemoveStr     += ','+zAttach.Identifier;
        zInputRemoveURLStr  += ','+zAttach.URL;
      } else if(zAttach.Status == 'EXISTING') {
        zInnerHtmlStr += '<span class="Remove RemoveFileLink" onClick="'+this.Name+'.Remove(\''+zAttach.Identifier+'\')">x</span>&nbsp;<a h'+'ref="'+zAttach.URL+'" target="_blank">'+zAttach.DisplayName+'<\/a><br />';
      }
    }
  }
  zElement = document.getElementById('dv'+aType+'List');
  if(zElement) { zElement.innerHTML = zInnerHtmlStr; }
  zElement = document.getElementById('inp'+aType+'List');
  if(zElement) { zElement.value = zInputStr; }
  zElement = document.getElementById('inp'+aType+'URLList');
  if(zElement) { zElement.value = zInputURLStr; }
  zElement = document.getElementById('inp'+aType+'RemoveList');
  if(zElement) { zElement.value = zInputRemoveStr; }
}
AttachmentContainer.prototype.Debug = function() {
  var zOutputString = '';
  for(var zI=0; zI<this.AttachmentList.length; zI++) {
    var zAttach =  this.AttachmentList[zI];
    zOutputString += '\n ID: '+zAttach.Identifier
                   + ' URL: '+zAttach.URL
                   + ' Type: '+zAttach.UpperType
                   + ' DisplayName: '+zAttach.DisplayName
                   + ' Status: '+zAttach.Status;
  }
  alert(zOutputString);
}
// End JSIncludeFile:Action_JSIncludeAttachmentContainer
// Start JSIncludeFile:Action_JSIncludeUtilities
function setInnerHTML(aElement,aHtml){
  aElement = $(aElement);
  aElement.innerHTML = aHtml;
  Widgets.Update(aElement);
  return aElement;d
}
var Widgets = {
  WidgetArray: new Array(),
  WidgetList: new Object(),
  Add: function(aWidget) {
    aWidget.Id = aWidget.Id || "Widget_"+UniqueVar();
    Widgets.WidgetArray.push(aWidget);
    Widgets.WidgetList[aWidget.Id] = aWidget;
    return true;
  },
  Init: function(aElement,aIsUpdate) {
    Widgets.WidgetArray.forEach(function(aWidget) {
      var zElements;
      if(aWidget.GetElementsFunction) {
        zElements = aWidget.GetElementsFunction(aElement);
      }
      else {
        zElements = getElementsWithAttribute(aWidget.Attribute,aWidget.Value,aWidget.TagName,aElement);
      }
      if(zElements.length) {
        if(aWidget.WidgetInitFunction && !aIsUpdate) {
          aWidget.WidgetInitFunction(zElements);
        }
        if(aWidget.ElementInitFunction) {
          zElements.forEach(aWidget.ElementInitFunction,aWidget);
        }
      }
    });
    return true;
  },
  Update: function(aElement) {
    return Widgets.Init(aElement,true);
  },
  Load: function(e) {
    Widgets.Init();
    return true;
  }
};
onDOMLoad(Widgets.Load);
function MakeHoverable(aElement) {
  var zHoverClass = aElement.getAttribute('hoverclass') || "Hover";
  appendEventHandler(aElement, "onmouseover", function(e,aElement) {AddClass(aElement,zHoverClass); return true;}, aElement);
  appendEventHandler(aElement, "onmouseout", function(e,aElement) {RemoveClass(aElement,zHoverClass); return true;}, aElement);
}
Widgets.Add({
  Id: "Hover",
  Attribute: "hoverable",
  Value: "Y",
  ElementInitFunction: MakeHoverable
});
function MakeSelectable(aElement) {
  if(hasAttribute(aElement,"IsSelected","Y")) {
    SelectElement(aElement);
  }
  else {
    aElement.setAttribute("IsSelected","N");
  }
  appendEventHandler(aElement, "onclick", ToggleSelectElement, aElement);
  return true;
}
Widgets.Add({
  Id: "Selectable",
  Attribute: "selectable",
  Value: "Y",
  ElementInitFunction: MakeSelectable
});
Widgets.Add({
  Id: "SelectGroup",
  Attribute: "selectgroup",
  ElementInitFunction: MakeSelectable
});
function ToggleSelectElement(e,aElement) {
  if(hasAttribute(aElement,"IsSelected","Y")) {
    DeSelectElement(aElement);
  }
  else {
    SelectElement(aElement);
  }
  return true;
}
function SelectElement(aElement) {
  if(hasAttribute(aElement,"SelectGroup")) {
    getElementsWithAttribute("SelectGroup",aElement.getAttribute("SelectGroup")).forEach(function(aGroupElement){
      if(aGroupElement != aElement) {
        DeSelectElement(aGroupElement);
      }
    });
  }
  if(hasAttribute(aElement,"SelectInput")) {
    document.getElementById(aElement.getAttribute("SelectInput")).checked = true;
  }
  aElement.setAttribute("IsSelected","Y");
  AddClass(aElement,"Selected");
}
function DeSelectElement(aElement) {
  aElement.setAttribute("IsSelected","N");
  RemoveClass(aElement,"Selected");
  if(hasAttribute(aElement,"SelectInput")) {
    document.getElementById(aElement.getAttribute("SelectInput")).checked = false;
  }
}
function SetCookie(aName, aValue, aExpires, aPath, aDomain, aSecure) {
  var zCookieValue = new Array();
  zCookieValue[zCookieValue.length] = aName + '=' + escape(aValue);
  if(aExpires!=void(0)){
    if(typeof(aExpires)=='string'&&aExpires.toUpperCase()=='NEVER'){
      aExpires = new Date();
      aExpires.setFullYear(aExpires.getFullYear()+10);
    }
    zCookieValue[zCookieValue.length] = 'expires=' + aExpires.toGMTString();
  }
  if(aPath==void(0)){
    aPath = '/';
  }
  zCookieValue[zCookieValue.length] = 'path='+ aPath;
  if(aDomain!=void(0)){
    zCookieValue[zCookieValue.length] = 'domain=' + aDomain;
  }
  if(aSecure){
    zCookieValue[zCookieValue.length] = 'secure';
  }
  document.cookie = zCookieValue.join('; ');
  fCookiesLoaded = false;
}
function DeleteCookie(aName,aDomain){
  var zExpires = new Date();
  zExpires.setFullYear(zExpires.getFullYear()-1);
  SetCookie(aName,'',zExpires,void(0),aDomain);
}
function popUpWindow(aURL, aWidth, aHeight, aScroll) {
  var zLeft = (screen.width - aWidth) / 2;
  var zTop = (screen.height - aHeight) / 2;
  var zWinProp = 'width='+aWidth+',height='+aHeight
               + ',left='+zLeft+',top='+zTop+',scrollbars='+aScroll+',resizable';
  zWin = window.open(aURL, '', zWinProp);
  zWin.window.focus();
}
function CloseWin() {
  window.close();
  if(opener) {
    window.opener.window.focus();
  }
}
String.prototype.addClass = function(aClass) {
  if (this != "") {
    if (!this.classExists(aClass)) {
      return this + " " + aClass;
    }
  }
  else {
    return aClass;
  }
  return this;
}
String.prototype.classExists = function(aClass) {
  var zRegExp = new RegExp('(^|\\s)' + aClass + '\\b');
  return zRegExp.test(this);
}
String.prototype.removeClass = function(aClass) {
  var zRegExp = new RegExp('(^|\\s)' + aClass + '\\b');
  return this.replace(zRegExp, '').Trim();
}
String.prototype.replaceClass = function(aOldClass,aNewClass) {
  if(this.classExists(aOldClass)){
    var zRegExp = new RegExp('(^|\\s)' + aOldClass + '\\b');
    return this.replace(zRegExp,'$1'+aNewClass);
  }else{
    return this.addClass(aNewClass);
  }
}
function AddClass(aElement,aClass) {
  aElement.className = aElement.className.addClass(aClass);
  return true;
}
function RemoveClass(aElement,aClass) {
  aElement.className = aElement.className.removeClass(aClass);
  return true;
}
function ReplaceClass(aElement,aOldClass,aNewClass) {
  aElement.className = aElement.className.replaceClass(aOldClass,aNewClass);
  return true;
}
function isClass(object, className) {
  return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
}
function GetElementsWithClassName(elementName,className) {
  var allElements = document.getElementsByTagName(elementName);
  var elemColl = new Array();
  for(var i = 0; i< allElements.length; i++) {
    if(isClass(allElements[i], className)) {
      elemColl[elemColl.length] = allElements[i];
    }
  }
  return elemColl;
}
function getElementsWithAttribute(aAttribute,aValue,aTagName,aElement) {
  var i, zElements = new Array(), zAllElements = (aElement || document).getElementsByTagName(aTagName || "*");
  for(i = 0; i < zAllElements.length; i++) {
    if(!aAttribute||hasAttribute(zAllElements[i],aAttribute,aValue)) {
      zElements.push(zAllElements[i]);
    }
  }
  return zElements;
}
function hasAttribute(aElement,aAttribute,aValue) {
  if(!aAttribute) {
    return false;
  }
  if(aAttribute == "class" || aAttribute == "className") {
    if(!aValue) {
      return !!(aElement.className);
    }
    return isClass(aElement, aValue);
  }
  else if(aAttribute == "for" || aAttribute == "htmlFor") {
    return ((aElement["htmlFor"] && aElement["htmlFor"] == aValue) || (aElement.getAttribute("for") && aElement.getAttribute("for") == aValue));
  }
  else {
    if(!aValue) {
      return !!(aElement.getAttribute(aAttribute));
    }
    return (aElement.getAttribute(aAttribute) == aValue);
  }
  return false;
}
function VarDef(aVar,aValue) {
  return !aVar ? aValue : aVar;
}
function OpenPopUpTreeNavigation(aDisplayElementId, aInputElementId, aItemPath, aOpenToPath, aPopUpUrl, aStartPath) {
  fGlobalPointer.DisplayElement = document.getElementById(aDisplayElementId);
  fGlobalPointer.InputElement = document.getElementById(aInputElementId);
  var zDefaultPopUpUrl = '/LiveKnowledgeBasev4_PopUpFramework?aItemPath='+aItemPath+'&aStartPath='+ VarDef(aStartPath,fGlobalPointer.StartPath) +'&aOpenToPath='+aOpenToPath+'&LSAccessID='+fGlobalPointer.LSAccessID;
  if(!fPopUpWindow||fPopUpWindow.closed) {
    fPopUpWindow = window.open(VarDef(aPopUpUrl,zDefaultPopUpUrl), '', 'toolbar,menubar,status,width=280,height=550,resizable');
  } else {
    fPopUpWindow.location.href = VarDef(aPopUpUrl,zDefaultPopUpUrl);
  }
  fPopUpWindow.focus();
}
function isTrue(aValue,aDefaultValue) {
  aDefaultValue = (typeof(aDefaultValue)=='undefined' ? false:aDefaultValue);
  if(typeof(aValue)=='undefined'||aValue==null) { return aDefaultValue; }
  var zVal = aValue.toString().toLowerCase();
  return ((zVal=='y'||zVal=='true'||zVal=='1') ? true:((zVal=='n'||zVal=='false'||zVal=='0') ? false:aDefaultValue));
}
function SystemNotification(aRecipients,aFrom,aMessage,aSubject,aType,aPriority,aIncludeDeveloperEmailAddress,aIncludeDefaultRecipients) {
  var zURL = '/JavaScript.SystemNotificationJS';
  if(aRecipients!='') {
    zURL = setURLVariable('aRecipients',escape(aRecipients),zURL,true);
  }
  if(aFrom!='') {
    zURL = setURLVariable('aFrom',escape(aFrom),zURL,true);
  }
  if(aMessage!='') {
    zURL = setURLVariable('aMessage',escape(aMessage),zURL,true);
  }
  if(aSubject!='') {
    zURL = setURLVariable('aSubject',escape(aSubject),zURL,true);
  }
  if(aType!='') {
    zURL = setURLVariable('aType',escape(aType),zURL,true);
  }
  if(aPriority!='') {
    zURL = setURLVariable('aPriority',escape(aPriority),zURL,true);
  }
  if(isTrue(aIncludeDeveloperEmailAddress)){
    zURL = setURLVariable('aIncludeDeveloperEmailAddress','Y',zURL,true);
  }
  if(isTrue(aIncludeDefaultRecipients)){
    zURL = setURLVariable('aIncludeDefaultRecipients','Y',zURL,true);
  }
  if(!window.fSystemNotificationLoadingFrame) {
    window.fSystemNotificationLoadingFrame = new LoadingFrame('fSystemNotificationLoadingFrame',true);
  }
  window.fSystemNotificationLoadingFrame.LoadURL(zURL);
  return;
}
function appendEventHandler(aElement, aEvent, aFunction,aParamObject){
  var zElementFunctions = aEvent +'Functions';
  if(fGlobalPointer.Browser.isSafari&&aElement==window){
    if(window.name==''){
      window.name = 'win_'+ UniqueVar();
    }
    zElementFunctions = window.name+'_'+aEvent+'_Functions';
  }
  if (aElement[zElementFunctions]){
    aElement[zElementFunctions][aElement[zElementFunctions].length] = {Function:aFunction,Params:aParamObject};
  } else {
    aElement[zElementFunctions] = [];
    if (aElement[aEvent]){
      aElement[aEvent + 'OriginalFunction'] = aElement[aEvent];
    }
    aElement[zElementFunctions][aElement[zElementFunctions].length] = {Function:aFunction,Params:aParamObject};
    aElement[aEvent] = (
      function() {
        return function(e){
          e = (e ? e:window.event);
          var x;
          for (x=0;x<this[zElementFunctions].length;x++){
            aElement.TempFunc = this[zElementFunctions][x].Function;
            if(!aElement.TempFunc(e,this[zElementFunctions][x].Params)){
              return false;
            }
          }
          if(aElement[aEvent +'OriginalFunction']){
            aElement.TempFunc = aElement[aEvent + 'OriginalFunction'];
            if(!aElement.TempFunc(e)){
              return false;
            }
          }
          return true;
        }
      }
    )();
  }
}
function removeEventHandler(aElement, aEvent, aFunction,aParamObject){
  if(aElement[aEvent+'Functions']){
    for(var i=aElement[aEvent+'Functions'].length-1;i>=0;i--){
      if(!aFunction||aElement[aEvent+'Functions'][i].Function==aFunction){
        if(!aParamObject||aParamObject==aElement[aEvent+'Functions'][i].Params){
          aElement[aEvent+'Functions'].splice(i,1);
        }
      }
    }
  }
}
function onDOMLoad(aFunction,aParamObject) {
  if (!window.__load_events) {
    var init = function () {
      if (arguments.callee.done) return true;
      arguments.callee.done = true;
      if (window.__load_timer) {
        clearInterval(window.__load_timer);
        window.__load_timer = null;
      }
      for (var i=0;i < window.__load_events.length;i++) {
        window.__load_events[i].Function(window.__load_events[i].Params);
      }
      window.__load_events = null;
      return true;
    };
    if (document.addEventListener) {
      document.addEventListener("DOMContentLoaded", init, false);
    }
    if(/KHTML|WebKit/i.test(navigator.userAgent)) {
      window.__load_timer = setInterval(function() {
        if (/loaded|complete/.test(document.readyState)) {
          init();
        }
      }, 10);
    }
    /*@cc_on @*/
    /*@if (@_win32)
      document.write('<scr'+'ipt id="__ie_onload" defer s'+'rc="/home.blankjs"><\/scr'+'ipt>');
      var script = document.getElementById('__ie_onload');
      script.onreadystatechange = function() {
        if (this.readyState == 'complete') {
          init();
        }
      };
    /*@end @*/
    appendEventHandler(window, "onload", init, aParamObject);
    window.__load_events = [];
  }
  window.__load_events.push({Function:aFunction,Params:aParamObject});
}
function PlaceElementInView(aElement, aContainerElement, aLeft, aTop) {
  if(!aContainerElement) {
    aContainerElement = document.body
  }
  var zViewableAreaHeight,zViewableAreaWidth,zElementHeight,zElementWidth,zAdjustHeight,zUseLeft,zUseTop,zScrollTop;
  zScrollTop = getScrollTop(aContainerElement);
  zUseLeft = aLeft + aContainerElement.scrollLeft;
  zUseTop = aTop + zScrollTop;
  zElementHeight = (aElement.style.pixelHeight) ? aElement.style.pixelHeight : aElement.scrollHeight;
  zElementWidth = (aElement.style.pixelWidth) ? aElement.style.pixelWidth : aElement.scrollWidth;
  if(aContainerElement == document.body) {
    var zTrueBodyHeight;
    if(aContainerElement.style.pixelHeight) {
      zTrueBodyHeight = aContainerElement.style.pixelHeight;
    }
    else {
      zTrueBodyHeight = aContainerElement.scrollHeight;
    }
    var zTempContainer = document.createElement('div');
    zTempContainer.setAttribute("width", "100%");
    zTempContainer.setAttribute("height", "100%");
    zTempContainer.style.position = "absolute";
    zTempContainer.style.top = "0px";
    zTempContainer.style.left = "0px";
    zTempContainer.style.width = "100%";
    if(fGlobalPointer && fGlobalPointer.Browser) {
      if(!(fGlobalPointer.Browser.isIE && fGlobalPointer.Browser.isMac)) {
        zTempContainer.style.height = "100%";
      }
    }
    else {
        zTempContainer.style.height = "100%";
    }
    var zActiveTempContainer = document.body.appendChild(zTempContainer);
    var zTempContainerHeight;
    if(zActiveTempContainer.style.pixelHeight && typeof(zActiveTempContainer.style.pixelHeight) == 'number') {
      zTempContainerHeight = zActiveTempContainer.style.pixelHeight;
    }
    else {
      zTempContainerHeight = zActiveTempContainer.scrollHeight;
    }
    zViewableAreaHeight = Math.max(zTempContainerHeight,zTrueBodyHeight);
    document.body.removeChild(zActiveTempContainer);
  }
  else {
    if(aContainerElement.style.pixelHeight) {
      zViewableAreaHeight = aContainerElement.style.pixelHeight;
    }
    else {
      zViewableAreaHeight = aContainerElement.scrollHeight;
    }
  }
  zViewableAreaHeight -= zScrollTop;
  zViewableAreaWidth = aContainerElement.scrollWidth - aContainerElement.scrollLeft;
  aElement.style.top = Math.max(0,Math.min((zUseTop),(zViewableAreaHeight-zElementHeight+zScrollTop-20))) + 'px';
  aElement.style.left = Math.max(0,Math.min((zUseLeft),(zViewableAreaWidth-zElementWidth+aContainerElement.scrollLeft-20)))  + 'px';
}
function AppendToUrl(aUrl,aExtraParams) {
  if(!aExtraParams) {
    return aUrl;
  }
  if(aUrl.split('?').length>1){
    return aUrl+"&"+aExtraParams;
  }
  else {
    return aUrl+"?"+aExtraParams;
  }
}
function DisableInputRecurse(aStartElement,aDisable){
  aDisable = isTrue(aDisable);
  var x;
  switch (aStartElement.type) {
    case "text":
    case "hidden":
    case "button":
    case "submit":
    case "textarea":
    case "radio":
    case "select-one":
    case "select-multiple":
    case "checkbox":
      aStartElement.disabled = aDisable;
      break;
    default: 
      for(x=0;x<aStartElement.childNodes.length;x++){
        DisableInputRecurse(aStartElement.childNodes[x],aDisable)
      }
      break;
  }
}
Math.RandomNumber = function(aMin,aMax) {
  return ( Math.floor( Math.random() * ( aMax+1 - aMin ) ) + aMin );
}
function isFunction(a) {
    return typeof a == 'function';
}
function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}
function Function_Apply(o, a) {
  var r, x = '____apply';
  if (!isObject(o)) {
    o = {};
  }
  o[x] = this;
  switch ((a && a.length) || 0) {
    case 0:
        r = o[x]();
        break;
    case 1:
        r = o[x](a[0]);
        break;
    case 2:
        r = o[x](a[0], a[1]);
        break;
    case 3:
        r = o[x](a[0], a[1], a[2]);
        break;
    case 4:
        r = o[x](a[0], a[1], a[2], a[3]);
        break;
    case 5:
        r = o[x](a[0], a[1], a[2], a[3], a[4]);
        break;
    case 6:
        r = o[x](a[0], a[1], a[2], a[3], a[4], a[5]);
        break;
    default:
        r = o[x]();
  }
  delete o[x];
  return r;
}
Function.prototype.SetMethod = function (name, func) {
  this.prototype[name] = func;
  return this;
};
if (!isFunction(Function.apply)) {
  Function.SetMethod("apply", Function_Apply);
}
function SugarMethod_Inherits(parent) {
    var d = 0, p = (this.prototype = new parent());
    var zUberFunction = function(name) {
        var f, r, t = d, v = parent.prototype;
        if (t) {
            while (t) {
                v = v.constructor.prototype;
                t -= 1;
            }
            f = v[name];
        } else {
            f = p[name];
            if (f == this[name]) {
                f = v[name];
            }
        }
        d += 1;
        r = f.apply(this, Array.prototype.slice.apply(arguments, [1]));
        d -= 1;
        return r;
    }
    this.SetMethod("CallInheritedMethod", zUberFunction);
    return this;
}
Function.SetMethod("InheritsFrom", SugarMethod_Inherits);
function SugarMethod_Swiss(parent) {
    for (var i = 1; i < arguments.length; i += 1) {
        var name = arguments[i];
        this.prototype[name] = parent.prototype[name];
    }
    return this;
}
Function.SetMethod("SetPartialInheritance", SugarMethod_Swiss);
String.prototype.HTMLEncode = function(){
  var x,zOutput = new Array(this.length);
  for(x=0;x<this.length;x++){
    zOutput[x] = '&#'+ this.charCodeAt(x) +';';
  }
  return zOutput.join('');
}
String.prototype.HTMLDecode = function() {
  var zMatches = this.match(/&#\d+;/g), zOutput = this.toString();
  if(zMatches) {
    for(var i = 0; i < zMatches.length; i++){
      zOutput = zOutput.replace(/&#\d+;/,String.fromCharCode((zMatches[i]).replace(/\D/g,'')));
    }
  }
  return zOutput;
}
String.prototype.Trim = function(){
  return this.replace(/^\s*|\s*$/g,'');
}
function getAbsolutePosition(aElement){
  var zReturn = { x:aElement.offsetLeft, y:aElement.offsetTop };
  if(aElement.offsetParent) {
    var tmp = getAbsolutePosition(aElement.offsetParent);
    zReturn.x += tmp.x;
    zReturn.y += tmp.y;
  }
  return zReturn;
}
function getEventCoordinates(e,aElement) {
  var zResults, zCoords;
  if(aElement) {
    zCoords = getAbsolutePosition(aElement);
    if(fGlobalPointer&&fGlobalPointer.Browser&&fGlobalPointer.Browser.isIE) {
      zResults = {x: e.offsetX, y: e.offsetY};
    }
    else {
      zResults = {x: (e.clientX-zCoords.x), y: (e.clientY-zCoords.y)};
    }
  }
  else {
    zResults = {x: (e.clientX), y: (e.clientY)};
  }
  return zResults;
}
function CreateBasicElement(aTagName,aId,aClassName,aStyle) {
  var zElement = document.createElement(aTagName);
  if(aId) {
    zElement.setAttribute("name",aId);
    zElement.setAttribute("id",aId);
  }
  if(aClassName) {
    zElement.setAttribute("class", aClassName);
    zElement.setAttribute("className", aClassName);
  }
  if(aStyle) {
    zElement.setAttribute("style",aStyle);
  }
  return zElement;
}
String.prototype.toPagePath = function(){
  return '/'+ this.replace(/\\/g,'/');
}
String.prototype.toAliasString = function(){
  return this.replace(/[^a-z0-9_]/gi,'');
}
function UniqueVar() {
  return ((new Date().valueOf()) + Math.round(Math.random()*1000000));
}
var fDebugAlertContainer = null;
DebugAlert.Enabled = false;
DebugAlert.ThrowError = false;
function DebugAlert(aText) {
  if(DebugAlert.Enabled){
    if(!fDebugAlertContainer&&!DebugAlert.ThrowError) {
      fDebugAlertContainer = CreateBasicElement("textarea","DebugAlertArea","","font-size: 11px; line-height: 12px; display: block; border: 1px solid red; width: 90%; height: 100px;");
      fDebugAlertContainer.style.height = "100px";
      fDebugAlertContainer.style.width = "90%";
      document.body.insertBefore(fDebugAlertContainer,document.body.childNodes[0]);
    }
    if(fDebugAlertContainer||DebugAlert.ThrowError) {
      if(DebugAlert.ThrowError){
        setTimeout(function() {
          throw new Error("[debug] " + aText);
        },0);
      }else{
        fDebugAlertContainer.value += aText + "\n";
        fDebugAlertContainer.scrollTop = fDebugAlertContainer.scrollHeight;
      }
    }
  }
  return false;
}
function ValidateEmail(aEmail){
  var x = aEmail;
  var zTest  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  return zTest.test(x);
}
function CopyObject(aObject){
  return CopyProperties(aObject,new Object());
}
function CopyProperties(aFromObject,aToObject,aOverwrite){
  aOverwrite = isTrue(aOverwrite);
  for(var zProp in aFromObject){
    if(!aToObject[zProp]||aOverwrite){
      aToObject[zProp] = aFromObject[zProp];
    }
  }
  return aToObject;
}
function getIframeDocument(aIframe) {
  return aIframe.contentDocument || aIframe.contentWindow || aIframe.document;
}
if (window.Node && Node.prototype && !Node.prototype.contains) {
  Node.prototype.contains = function (arg) {
    return !!(this.compareDocumentPosition(arg) & 16)
  }
}
function fixEvent(aEvent){
  aEvent = (aEvent ? aEvent:window.event);
  if(typeof(aEvent.layerX)=='undefined'){
    aEvent.layerX = aEvent.offsetX;
  }
  if(typeof(aEvent.layerY)=='undefined'){
    aEvent.layerY = aEvent.offsetY;
  }
  if(typeof(aEvent.target)=='undefined'){
    aEvent.target = aEvent.srcElement;
  }
  return aEvent;
}
function show(aElement,aDisplayType){
  aElement.style.display = aDisplayType||'block';
}
function hide(aElement){
  aElement.style.display = 'none';
}
function showhide(aElement,aDisplayType){
  if(aElement.style.display=='none'){
    show(aElement,aDisplayType);
  }else{
    hide(aElement);
  }
}
function $(){
  if (arguments.length == 1){ return get$(arguments[0]); }
  var i,zElements = [];
  for(i=0;i<arguments.length;i++){
    zElements.push(get$(arguments[i]));
  }
  function get$(el){
    return (typeof el == 'string' ? document.getElementById(el):el);
  }
  return zElements;
}
function setMaxHeight (aElements) {
  var zHeight = 0;
  aElements.forEach(function(aElement) {
    zHeight = Math.max(zHeight,aElement.offsetHeight);
  });
  aElements.forEach(function(aElement) {
    aElement.style.height = zHeight + "px";
  });
}
function setMaxWidth(aElements) {
  var zWidth = 0;
  aElements.forEach(function(aElement) {
    zWidth = Math.max(zWidth,aElement.offsetWidth);
  });
  aElements.forEach(function(aElement) {
    aElement.style.width = zWidth + "px";
  });
}
function setMaxDimensions(aElements) {
  setMaxHeight(aElements);
  setMaxWidth(aElements);
}
function getScrollTop(aElement) {
  var zTop = 0;
  if(aElement && aElement != document.body) {
    zTop = aElement.scrollTop;
  }
  else if (window.innerHeight) {
    zTop = window.pageYOffset;
  }
  else if (document.documentElement && document.documentElement.scrollTop) {
    zTop = document.documentElement.scrollTop;
  }
  else if (document.body) {
    zTop = document.body.scrollTop;
  }
  return zTop;
}
var ScrollingInterface = {
  ScrollerList: {},
  ScrollerArray: [],
  ElementInit: function(aElement) {
    zScrollerContentElement = document.createElement('div');
    var zTotalWidth = 0;
    zChildNodeArray = new Array();
    for (i = 0; i < aElement.childNodes.length; i++) {
      node = aElement.childNodes[i];
      if (node.nodeName=="DIV") {
        zChildNodeArray[zChildNodeArray.length] = node;
      }
    }
    for (j = 0; j < zChildNodeArray.length; j++) {
      node = zChildNodeArray[j];
      zTotalWidth = (node.offsetWidth + zTotalWidth);
      zScrollerContentElement.appendChild(node);
    }
    zScrollerContentElement.style.position   = 'relative';
    zScrollerContentElement.style.width      = zTotalWidth + 'px';
    zScrollerContentElement.style.whiteSpace = 'nowrap';
    aElement.style.overflow = 'hidden';
    aElement.appendChild(zScrollerContentElement);
    var zLeftTrigger    = null;
    var zRightTrigger   = null;
    var zScrollDistance = aElement.clientWidth;
    var zTriggerType    = 'onmouseover';
    if(hasAttribute(aElement,'TriggerType')) {
      zTriggerType = aElement.getAttribute('TriggerType');
    }
    if(hasAttribute(aElement,'ScrollDistance')) {
      zScrollDistance = aElement.getAttribute('ScrollDistance');
    }
    if(hasAttribute(aElement,'LeftTrigger')) {
      zLeftTrigger = $(aElement.getAttribute('LeftTrigger'));
    }
    if(hasAttribute(aElement,'RightTrigger')) {
      zRightTrigger = $(aElement.getAttribute('RightTrigger'));
    }
    var zScroller = {
      ScrollerContainerElement: aElement,
      ScrollerContentElement:   zScrollerContentElement,
      ScrollDistance:           parseInt(zScrollDistance),
      LeftTrigger:              zLeftTrigger,
      RightTrigger:             zRightTrigger,
      TriggerType:              zTriggerType
    }
    ScrollingInterface.ScrollerList[aElement.id] = zScroller;
    ScrollingInterface.ScrollerArray.push(zScroller);
    if (zScroller.LeftTrigger!=null) {
      appendEventHandler(zScroller.LeftTrigger, zScroller.TriggerType, ScrollingInterface.ScrollLeft, zScroller);
    }
    if (zScroller.RightTrigger!=null) {
      appendEventHandler(zScroller.RightTrigger, zScroller.TriggerType, ScrollingInterface.ScrollRight, zScroller);
    }
    return true;
  },
  ScrollLeft: function(e,aScroller){
    ScrollingInterface.Scroll(aScroller,'LEFT');
    return true;
  },
  ScrollRight: function(e,aScroller){
    ScrollingInterface.Scroll(aScroller,'RIGHT');
    return true;
  },
  Scroll:function(aScroller,aDirection) {
    if (aDirection == 'LEFT') {
      zEndValue = (aScroller.ScrollerContentElement.offsetLeft - aScroller.ScrollDistance);
      if ((aScroller.ScrollerContentElement.offsetWidth + zEndValue) < aScroller.ScrollerContainerElement.clientWidth) {
        zEndValue = (-(aScroller.ScrollerContentElement.offsetWidth) + aScroller.ScrollerContainerElement.clientWidth);
      }
    } else {
      zEndValue = (aScroller.ScrollerContentElement.offsetLeft + aScroller.ScrollDistance);
      if ((aScroller.ScrollerContentElement.offsetLeft + zEndValue) > 0) {
        zEndValue = 0;
      }
    }
    Tween.Run({
      Element: aScroller.ScrollerContentElement,
      Function: function(aParams){
        aParams.Element.style.left = aParams.CurrentValue +'px';
      },
      StartValue: aScroller.ScrollerContentElement.offsetLeft,
      EndValue: zEndValue,
      Duration: 300
    });
  }
}  
Widgets.Add({
  Id: "Scroller",
  Attribute: "Scroller",
  TagName: "div",
  ElementInitFunction: ScrollingInterface.ElementInit
});
function DisableCalendar(aCalendarFunctionName,aDisable){
  aDisable = isTrue(aDisable,true);
  var zContainer = $('Calender-Container-'+ aCalendarFunctionName);
  var zInputs = getElementsWithAttribute(null,null,'INPUT',zContainer);
  var zAnchors = getElementsWithAttribute(null,null,'A',zContainer);
  (aDisable ? AddClass:RemoveClass)(zContainer,'CalendarReadOnly');
  zInputs.forEach(function(aInput){
    (aDisable ? AddClass:RemoveClass)(aInput,'ReadOnly');
    aInput.readOnly = aDisable;
  });
  zAnchors.forEach(function(aAnchor){
    if(aDisable){
      if(aAnchor.onclick){
        aAnchor._onclick = aAnchor.onclick;
        aAnchor.onclick = null;
      }
    }else{
      if(aAnchor._onclick){
        aAnchor.onclick = aAnchor._onclick;
        aAnchor._onclick = null;
      }
    }
  });
}
Function.prototype.bind = function() {
  var zMethod = this;
  var zArgs = Array.Copy(arguments);
  var zObject = zArgs.shift();
  return function() {
    return zMethod.apply(zObject, zArgs);
  };
}
String.prototype.CrToBr = function(){
  return this.replace(/\r{0,1}\n/gi,'<br />');
}
function getInnerText(aWhatToParse,aInsertBreaks){
  var zNode,zOutput = [];
  if(typeof aWhatToParse == 'string'){
    zNode = document.createElement('div');
    zNode.innerHTML = aWhatToParse;
  }else{
    zNode = aWhatToParse;
  }
  GetText(zNode);
  function GetText(aElement){
    var zInsertBreak = false;
    if(aElement.nodeType==3){
      zOutput.push(aElement.nodeValue);
      return;
    }else if(aInsertBreaks && aElement.nodeType==1){
      switch(aElement.tagName.toLowerCase()){
        case 'br':
          zOutput.push('<br />');
          break;
        case 'p':
        case 'div':
          zInsertBreak = true;
          break;
      }
    }
    if(aElement.childNodes){
      for(var i=0;i<aElement.childNodes.length;i++){
        GetText(aElement.childNodes[i]);
      }
    }
    if(zInsertBreak){
      zOutput.push('<br />');
    }
    return;
  }
  return zOutput.join(' ');
}
// End JSIncludeFile:Action_JSIncludeUtilities
// Start JSIncludeFile:Action_JSIncludeDOMUtilities
function getLeft(aElement) {
  return aElement.offsetLeft;
}
function getTop(aElement) {
  return aElement.offsetTop;
}
function moveTo(aElement,aCoords){
  if(aCoords.x||aCoords.x===0){
    aElement.style.left = aCoords.x + 'px';
  }
  if(aCoords.y||aCoords.y===0){
    aElement.style.top = aCoords.y + 'px';
  }
}
function moveBy(aElement,aCoords){
  if(aCoords.x){
    aElement.style.left = (getLeft(aElement)+aCoords.x) + 'px';
  }
  if(aCoords.y){
    aElement.style.top = (getTop(aElement)+aCoords.y) + 'px';
  }
}
function resizeTo(aElement,aCoords){
  if(aCoords.width||aCoords.width===0){
    aElement.style.width = aCoords.width + 'px';
  }
  if(aCoords.height||aCoords.height===0){
    aElement.style.height = aCoords.height + 'px';
  }
}
function EnableDrag(aParamObject){
  if(typeof(aParamObject)=='string'){
    aParamObject = {Element:document.getElementById(aParamObject)};
  }else if(!aParamObject.Element){
    aParamObject = {Element:aParamObject};
  }
  Drag.init(
    (aParamObject.TriggerElement ? aParamObject.TriggerElement:aParamObject.Element),
    (aParamObject.TriggerElement ? aParamObject.Element:aParamObject.TriggerElement),
    aParamObject.MinX,
    aParamObject.MaxX,
    aParamObject.MinY,
    aParamObject.MaxY,
    aParamObject.StartFunction,
    aParamObject.DragFunction,
    aParamObject.EndFunction
  );
}
function DisableDrag(aElement){
  if(typeof(aElement)=='string'){
    aElement = document.getElementById(aElement);
  }
  if(aElement.TriggerArray){
    for(var i=0;i<aElement.TriggerArray.length;i++){
      Drag.disable(aElement.TriggerArray[i]);
    }
  }else{
    Drag.disable(aElement);
  }
}
var Drag = {
  obj : null,
  DoNothing : function(){},
  init : function(o, oRoot, minX, maxX, minY, maxY, aStartFunc,aDragFunc,aEndFunc){
    appendEventHandler(o, "onmousedown", Drag.start);
    o.root = oRoot && oRoot != null ? oRoot : o ;
    if(!o.root.TriggerArray){
      o.root.TriggerArray = new Array();
    }
    o.root.TriggerArray.push(o);
    if (isNaN(parseInt(o.root.style.left  ))) o.root.style.left   = "0px";
    if (isNaN(parseInt(o.root.style.top   ))) o.root.style.top    = "0px";
    o.minX  = typeof minX != 'undefined' ? minX : null;
    o.minY  = typeof minY != 'undefined' ? minY : null;
    o.maxX  = typeof maxX != 'undefined' ? maxX : null;
    o.maxY  = typeof maxY != 'undefined' ? maxY : null;
    o.root.onDragStart  = aStartFunc || Drag.DoNothing;
    o.root.onDragEnd    = aEndFunc   || Drag.DoNothing;
    o.root.onDrag       = aDragFunc  || Drag.DoNothing;
  },
  start : function(e){
    var o = Drag.obj = this;
    e = fixEvent(e);
    var y = parseInt(o.root.style.top);
    var x = parseInt(o.root.style.left);
    o.root.onDragStart(x, y);
    o.lastMouseX  = e.clientX;
    o.lastMouseY  = e.clientY;
    if (o.minX != null)  o.minMouseX  = e.clientX - x + o.minX;
    if (o.maxX != null)  o.maxMouseX  = o.minMouseX + o.maxX - o.minX;
    if (o.minY != null)  o.minMouseY  = e.clientY - y + o.minY;
    if (o.maxY != null)  o.maxMouseY  = o.minMouseY + o.maxY - o.minY;
    appendEventHandler(document, "onmousemove", Drag.drag, Drag.obj);
    appendEventHandler(document, "onmouseup", Drag.end, Drag.obj);
    return false;
  },
  drag : function(e){
    e = fixEvent(e);
    var o = Drag.obj;
    var ey  = e.clientY;
    var ex  = e.clientX;
    var y = parseInt(o.root.style.top);
    var x = parseInt(o.root.style.left);
    var nx, ny;
    if (o.minX != null) ex = Math.max(ex, o.minMouseX);
    if (o.maxX != null) ex = Math.min(ex, o.maxMouseX);
    if (o.minY != null) ey = Math.max(ey, o.minMouseY);
    if (o.maxY != null) ey = Math.min(ey, o.maxMouseY);
    nx = x + (ex - o.lastMouseX);
    ny = y + (ey - o.lastMouseY);
    Drag.obj.root.style.left = nx + "px";
    Drag.obj.root.style.top = ny + "px";
    Drag.obj.lastMouseX  = ex;
    Drag.obj.lastMouseY  = ey;
    Drag.obj.root.onDrag(nx, ny);
    return false;
  },
  end : function(){
    removeEventHandler(document, "onmousemove", Drag.drag, Drag.obj);
    removeEventHandler(document, "onmouseup", Drag.end, Drag.obj);
    Drag.obj.root.onDragEnd(  parseInt(Drag.obj.root.style.left),parseInt(Drag.obj.root.style.top));
    Drag.obj = null;
  },
  disable : function(o){
    removeEventHandler(o, "onmousedown", Drag.start);
  }
};
var Tween = {
  Run:function(aParams){
    aParams.Duration           = (typeof aParams.Duration != 'undefined' ? aParams.Duration:400);
    aParams.StartValue         = (typeof aParams.StartValue != 'undefined' ? aParams.StartValue:0);
    aParams.Increment          = (typeof aParams.Increment != 'undefined' ? aParams.Increment:16);
    aParams.EndValue           = (typeof aParams.EndValue != 'undefined' ? aParams.EndValue:1);
    aParams.Method             = aParams.Method || "linear";
    aParams.OnCompleteFunction = aParams.OnCompleteFunction || null;
    aParams.CurrentValue       = aParams.StartValue;
    aParams.StartTime          = new Date().getTime();
    aParams.EndTime            = aParams.StartTime + aParams.Duration;
    aParams.Transition         = Tween.Transition[aParams.Method];
    aParams.PercentComplete    = 0;
    aParams.Timer = setInterval(function(){
      Tween.Step(aParams);
    },aParams.Increment);
    return aParams;
  },
  Step:function(aParams){
    var zNow  = new Date().getTime();
    if (zNow >= aParams.StartTime+aParams.Duration) {
      clearInterval (aParams.Timer);
      aParams.Timer = null;
      aParams.CurrentValue = aParams.EndValue;
      aParams.PercentComplete = 1;
      if (aParams.OnCompleteFunction) {
        aParams.OnCompleteFunction(aParams);
      }
    } else {
      aParams.PercentComplete = (zNow - aParams.StartTime) / (aParams.Duration);
      aParams.CurrentValue = aParams.Transition(aParams.PercentComplete) * (aParams.EndValue - aParams.StartValue) + aParams.StartValue;
    }
    aParams.Function(aParams);
  },
  To:function(aElement,aCoords){
  },
  FadeIn:function(aElement,aParams){
    aParams = aParams || {};
    aParams.StartValue = (typeof(aParams.StartValue)=='undefined' ? 0:aParams.StartValue);
    aParams.EndValue = (typeof(aParams.EndValue)=='undefined' ? 1:aParams.EndValue);
    Tween.Common.SetTween(aElement,aParams);
  },
  FadeOut:function(aElement,aParams){
    aParams = aParams || {};
    aParams.StartValue = (typeof(aParams.StartValue)=='undefined' ? 1:aParams.StartValue);
    aParams.EndValue = (typeof(aParams.EndValue)=='undefined' ? 0:aParams.EndValue);
    Tween.Common.SetTween(aElement,aParams);
  },
  Common:{
    SetOpacity:function(aElement,aValue){
    	aElement.style.opacity = aValue;
    	aElement.style.filter = 'alpha(opacity=' + aValue*100 + ')';
    },
    SetTween:function(aElement,aParams){
      aParams.Element  = $(aElement);
      aParams.Function = function(aParams){
        Tween.Common.SetOpacity(aParams.Element,aParams.CurrentValue);
      }
      Tween.Common.SetOpacity(aParams.Element,aParams.StartValue);
      Tween.Run(aParams);
    }
  },
  Transition:{
    sinoidal:function(pos){
      return ((-Math.cos(pos*Math.PI)/2) + 0.5);
    },
    linear:function(pos){
      return pos;
    },
    cubic:function(pos){
      return Math.pow(pos, 3);
    },
    circ:function(pos){
      return Math.sqrt(pos);
    },
    expoIn:function(pos){
      return Math.pow(2, 10 * (pos - 1));
    },
    expoOut:function(pos){
      return (-Math.pow(2, -10 * pos) + 1);
    },
    quadIn:function(pos){
      return Math.pow(pos, 2);
    },
    quadOut:function(pos){
      return -(pos)*(pos-2);
    },
    circOut:function(pos){
      return Math.sqrt(1 - Math.pow(pos-1,2));
    },
    circIn:function(pos){
      return -(Math.sqrt(1 - Math.pow(pos, 2)) - 1);
    },
    backIn:function(pos){
      return (pos)*pos*((2.7)*pos - 1.7);
    },
    backOut:function(pos){
      return ((pos-1)*(pos-1)*((2.7)*(pos-1) + 1.7) + 1);
    },
    sineOut:function(pos){
      return Math.sin(pos * (Math.PI/2));
    },
    sineIn:function(pos){
      return -Math.cos(pos * (Math.PI/2)) + 1;
    },
    sineInOut:function(pos){
      return -(Math.cos(Math.PI*pos) - 1)/2;
    }
  }
};
function getPageSize(){
  var xScroll,yScroll,windowWidth,windowHeight,pageWidth,pageHeight;
  var zSize;
  if (window.innerHeight && window.scrollMaxY) {
    xScroll = document.body.scrollWidth;
    yScroll = window.innerHeight + window.scrollMaxY;
  } else if (document.body.scrollHeight > document.body.offsetHeight){ 
    xScroll = document.body.scrollWidth;
    yScroll = document.body.scrollHeight;
  } else { 
    xScroll = document.body.offsetWidth;
    yScroll = document.body.offsetHeight;
  }
  if (self.innerHeight) {  
    windowWidth = self.innerWidth;
    windowHeight = self.innerHeight;
  } else if (document.documentElement && document.documentElement.clientHeight) { 
    windowWidth = document.documentElement.clientWidth;
    windowHeight = document.documentElement.clientHeight;
  } else if (document.body) { 
    windowWidth = document.body.clientWidth;
    windowHeight = document.body.clientHeight;
  }
  if(yScroll < windowHeight){
    pageHeight = windowHeight;
  } else {
    pageHeight = yScroll;
  }
  if(xScroll < windowWidth){
    pageWidth = windowWidth;
  } else {
    pageWidth = xScroll;
  }
  zSize = {
    pageWidth:pageWidth,
    pageHeight:pageHeight,
    windowWidth:windowWidth,
    windowHeight:windowHeight,
    xScroll:xScroll,
    yScroll:yScroll
  };
  return zSize;
}
var Modal = {
  Current:{
    Element:null,
    Parent:null
  },
  Overlay:null,
  Show:function(aElement, aXPos, aYPos){
    var zPageSize = getPageSize();
    if(!Modal.Overlay){
      Modal.Body = document.getElementsByTagName('BODY')[0];
      Modal.Overlay = CreateBasicElement('DIV','ModalOverlay');
      Modal.Body.appendChild(Modal.Overlay);
    }
    if(aElement){
      Modal.Current.Element = $(aElement);
      Modal.Current.Parent = Modal.Current.Element.parentNode;
      AddClass(Modal.Current.Element,'Modal');
      var zCoords = {
        x: aXPos || (zPageSize.pageWidth-(Modal.Current.Element.clientWidth ? Modal.Current.Element.clientWidth:0))/2,
        y: aYPos || (zPageSize.pageHeight-(Modal.Current.Element.clientHeight ? Modal.Current.Element.clientHeight:0))/2
      };
      Modal.Current.Element.style.left = zCoords.x + 'px';
      Modal.Current.Element.style.top = zCoords.y + 'px';
      Modal.Body.appendChild(Modal.Current.Element);
    }
    Modal.Overlay.style.height = zPageSize.pageHeight +'px';
    AddClass(Modal.Overlay,'Show');
  },
  Hide:function(){
    if(Modal.Current.Element){
      RemoveClass(Modal.Current.Element,'Modal');
      Modal.Current.Parent.appendChild(Modal.Current.Element);
      Modal.Current.Element = null;
      Modal.Current.ElementParent = null;
    }
    if(Modal.Overlay){
      RemoveClass(Modal.Overlay,'Show');
    }
  }
};
(function(){
  var zImage = new Image();
  zImage.src = '/l.c.bin/I/578/ModalBackground.png';
})();
var TrackMouse = {
  Coords: {x: 0, y: 0},
  GetMouseX: function(e){if (!e) e = window.event; if (e.pageX) return e.pageX; else if (e.clientX)return e.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;},
  GetMouseY: function(e) {if (!e) e = window.event; if (e.pageY) return e.pageY; else if (e.clientY)return e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;},
  UpdateCoords: function(e){
    if(!e) e = window.event;
    TrackMouse.Coords.x = TrackMouse.GetMouseX(e);
    TrackMouse.Coords.y = TrackMouse.GetMouseY(e);
    if(TrackMouse.Settings) {
      if(TrackMouse.Settings.Element) {
        TrackMouse.Settings.Element.style.left = TrackMouse.Coords.x + (TrackMouse.Settings.OffsetLeft || 0) + "px";
        TrackMouse.Settings.Element.style.top = TrackMouse.Coords.y + (TrackMouse.Settings.OffsetTop || 0) + "px";
      }
      if(TrackMouse.Settings.OnMoveFunction) {
        TrackMouse.Settings.OnMoveFunction(e,TrackMouse.Coords);
      }
    }
  },
  Start: function(aSettings){
    if(aSettings) {
      TrackMouse.Settings = aSettings;
      if(TrackMouse.Settings.Element) {
      }
    }
    appendEventHandler(document, "onmousemove", TrackMouse.UpdateCoords);
  },
  Stop: function(){
    removeEventHandler(document, "onmousemove", TrackMouse.UpdateCoords);
  }
}
// End JSIncludeFile:Action_JSIncludeDOMUtilities
// Start JSIncludeFile:Action_JSIncludeBaseTarget
function SetBaseTarget(aBaseTarget) {
  var zGetBaseTarget;
  if(aBaseTarget && aBaseTarget != '') {
  } else {
    zGetBaseTarget = GetBaseTarget();
    if(zGetBaseTarget) {
      aBaseTarget = zGetBaseTarget.name;
    }
  }
  if(aBaseTarget && aBaseTarget != '') {
    document.write('<base target="'+aBaseTarget+'" />');
  }
  return aBaseTarget;
}
function GetBaseTarget() {
  if (self.name != '' && (self.name == 'KBContentFrame' || self.name == 'CONTENTFRAME')) {
    return self;
  }
  try {
    if (parent && parent.name != '' && (parent.name == 'KBContentFrame' || parent.name == 'CONTENTFRAME')) {
      return parent;
    }
  } catch(e) {
    return null
  }
  try {
    if (parent.parent && parent.parent.name != '' && (parent.parent.name == 'KBContentFrame' || parent.parent.name == 'CONTENTFRAME')) {
      return parent.parent;
    }
  } catch(e) {
    return null
  }
  return null;
}
function LoadUrlUsingBaseTarget(aUrl) {
  var zBaseTarget = GetBaseTarget();
  var zTarget = document;
  if(zBaseTarget) {
    zTarget = zBaseTarget.document;
  }
  zTarget.location.href = aUrl;
  return true;
}
// End JSIncludeFile:Action_JSIncludeBaseTarget
// Start JSIncludeFile:Action_JSIncludeLoadingFrame
function LoadingFrame(aName,aUseMultipleFrames,aURL) {
  this.Name              = aName;
  this.UseMultipleFrames = isTrue(aUseMultipleFrames);
  this.LoadingFrames     = new Array();
  if(typeof(aURL)!='undefined'&&aURL!='') {
    this.LoadURL(aURL);
  }
  return;
}
LoadingFrame.prototype.LoadURL = function(aURL) {
  if(this.UseMultipleFrames) {
    return this.Load_Asynchronous(aURL);
  } else {
    return this.Load_Serial(aURL,0);
  }
}
LoadingFrame.prototype.CreateIframe = function(aFrameIndex) {
  var zOwner = null;
  if(document.getElementById('GlobalHiddenDiv')){
    zOwner = document.getElementById('GlobalHiddenDiv');
  }else if(document.getElementsByTagName('BODY')[0]){
    zOwner = document.getElementsByTagName('BODY')[0];
  }
  if(!zOwner){ return false; }
  var zNewFrame              = document.createElement('IFRAME');
  zNewFrame.name             = this.Name +'_Iframe_'+ aFrameIndex;
  zNewFrame.id               = this.Name +'_Iframe_'+ aFrameIndex;
  zNewFrame.style.visibility = 'hidden';
  zNewFrame.style.position   = 'absolute';
  zNewFrame.style.top        = '0px';
  zNewFrame.style.left       = '0px';
  zNewFrame.style.width      = '1px';
  zNewFrame.style.hieght     = '1px';
  zNewFrame.src              = '/lsglobal/blank.htm';
  zOwner.appendChild(zNewFrame);
  return zNewFrame;
}
LoadingFrame.prototype.Load_Serial = function(aURL,aFrameIndex) {
  if(!this.LoadingFrames[aFrameIndex]) {
    var zNewFrame = this.CreateIframe(aFrameIndex);
    if(zNewFrame){
      this.LoadingFrames[aFrameIndex] = zNewFrame;
    }else{
      return false;
    }
  }
  if(this.LoadingFrames[aFrameIndex].src == aURL) {
    aURL = setURLVariable('aLocalCacheBuster', new Date().valueOf(), aURL,false)
  }
  this.LoadingFrames[aFrameIndex].src = aURL;
  return this.LoadingFrames[aFrameIndex];
}
LoadingFrame.prototype.Load_Asynchronous = function(aURL) {
  var x,zFrame=null;
  var zLoaded = false;
  for(x=0;x<this.LoadingFrames.length;x++) {
    if(window[this.Name +'_Iframe_'+ x]&&window[this.Name +'_Iframe_'+ x].fFrameLoaded) {
      window[this.Name +'_Iframe_'+ x].fFrameLoaded = false;
      return this.Load_Serial(aURL,x);
    }
  }
  if(!zLoaded) {
    zFrame = this.Load_Serial(aURL,this.LoadingFrames.length);
  }
  return zFrame;
}
// End JSIncludeFile:Action_JSIncludeLoadingFrame
// Start JSIncludeFile:Action_JSIncludeLiveRequest
function LiveRequestObject(aCompleteFunction,aCompleteParamObject) {
  this.URLArray = new Array();
  this.LoadedURLArray = new Array();
  this.LoadFunctionArray = new Array();
  this.CompleteFunction = aCompleteFunction;
  this.CompleteParamObject = aCompleteParamObject;
  this.Method = 'GET';
  this.PostValues = null;
  this.Asynchronous = true;
  this.TextOnly = false;
  this.Id = "RequestObject_"+UniqueVar();
  LiveRequestObject.RequestObjectList[this.Id] = this;
  this.RequestList = new Object();
}
LiveRequestObject.RequestObjectList = new Object();
LiveRequestObject.prototype.AddRequest = function(aURL,aOnLoadFunction,aOnLoadParamObject) {
  this.URLArray[this.URLArray.length] = aURL;
  this.LoadFunctionArray[this.LoadFunctionArray.length] = {Function: aOnLoadFunction, Params: aOnLoadParamObject, Loaded: false};
}
LiveRequestObject.prototype.LoadRequests = function() {
  for(var x = 0; x < this.URLArray.length; x++) {
    if(!this.LoadFunctionArray[x].Loaded) {
      this.MakeRequest(this.URLArray[x],this.LoadFunctionArray[x].Function,this.LoadFunctionArray[x].Params,this.LoadFunctionArray[x]);
    }
  }
}
LiveRequestObject.prototype.UpdateStatus = function(aLoadObject) {
  if(aLoadObject) {
    aLoadObject.Loaded = true;
    var zDone = true;
    if(this.CompleteFunction) {
      for(var x = 0; x < this.URLArray.length; x++) {
        if(!this.LoadFunctionArray[x].Loaded) {
          zDone = false;
        }
      }
      if(zDone) {
        this.CompleteFunction(this.CompleteParamObject);
      }
    }
  }
  return true;
}
LiveRequestObject.prototype.MakeRequest = function(aURL,aOnLoadFunction,aOnLoadParamObject, aLoadObject) {
  var zRequestId = "Request_"+UniqueVar();
  var zReq = false;
  if(window.XMLHttpRequest) {
    try {
      zReq = new XMLHttpRequest();
    }
    catch(e) {
      zReq = false;
    }
  } else if(window.ActiveXObject) {
    try {
      zReq = new ActiveXObject('Msxml2.XMLHTTP');
    }
    catch(e) {
      try {
        zReq = new ActiveXObject('Microsoft.XMLHTTP');
      }
      catch(e) {
        zReq = false;
      }
    }
  }
  if(zReq) {
    if(fGlobalPointer&&fGlobalPointer.Browser&&fGlobalPointer.Browser.isSafari){
      aURL = setURLVariable('aCacheBust',UniqueVar(),aURL,false);
    }
    var zSendContent = null;
    zReq.open(this.Method, aURL, true);
    if(this.Method=='POST'){
      zReq.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    }
    if(this.PostValues){
      var zPostVars = [];
      for(var zKey in this.PostValues){
        zPostVars.push(zKey +'='+ escape(this.PostValues[zKey]));
      }
      zSendContent = zPostVars.join('&').replace(/\+/g,'%2B');
    }
    var zLiveRequestObject = this;
    var zLoadObject = aLoadObject;
    zReq.onreadystatechange = function () {
      var zRequestObject = zLiveRequestObject;
      var zRequest = zReq;
      var zFunc = aOnLoadFunction;
      var zParamObject = aOnLoadParamObject;
      var zUseLoadObject = zLoadObject;
      if(zRequest.readyState==4) {
        try {
          if(zRequestObject.TextOnly) {
            var zObject = zRequest.responseText.Trim();
          } else {
            eval("var zObject = "+zRequest.responseText);
          }
        }
        catch(e) {
        }
        zFunc(zObject,zParamObject);
        zRequestObject.UpdateStatus(zUseLoadObject);
      }
    }
    zReq.send(zSendContent);
  } else {
    if(!LiveRequestObject.LoadingFrame) {
      LiveRequestObject.LoadingFrame = new LoadingFrame(this.Id+'_Loader', true,'',true);
    }
    var zFrame = LiveRequestObject.LoadingFrame.LoadURL(aURL);
    this.RequestList[zRequestId] = {
      LoadingFrame: zFrame,
      LoadFunction: aOnLoadFunction,
      LoadParamObject: aOnLoadParamObject,
      LoadObject: aLoadObject
    };
    setTimeout('LiveRequestCheckIframe(\''+ this.Id +'\',\''+ zRequestId +'\')',50);
  }
}
function LiveRequestCheckIframe(aRequestObjectId,aRequestId) {
  var zRequest = LiveRequestObject.RequestObjectList[aRequestObjectId].RequestList[aRequestId];
  var zFrameId = zRequest.LoadingFrame.id;
  var zFrame;
  var zTryAgain = false;
  if(fGlobalPointer.Browser.isSafari) {
    zFrame = document.getElementById(zFrameId);
  }
  else {
    zFrame = document.frames[zFrameId];
  }
  if(zFrame) {
    if(typeof(zFrame.document) != 'undefined') {
      if(typeof(zFrame.document.documentElement) != 'undefined' && typeof(zFrame.document.documentElement.innerText) != 'undefined' && zFrame.document.documentElement.innerText != '') {
        try {
          if(LiveRequestObject.RequestObjectList[aRequestObjectId].TextOnly) {
            var zObject = zFrame.document.documentElement.innerText.Trim();
          }
          else {
            eval("var zObject = "+zFrame.document.documentElement.innerText);
          }
        }
        catch(e) {
          zTryAgain = true;
        }
        if(!zTryAgain) {
          zRequest.LoadFunction(zObject,zRequest.LoadParamObject);
          LiveRequestObject.RequestObjectList[aRequestObjectId].UpdateStatus(zRequest.LoadObject);
        }
      }
      else{
        zTryAgain = true;
      }
    }
    else {
      zTryAgain = true;
    }
    if(zTryAgain) {
      setTimeout('LiveRequestCheckIframe(\''+ aRequestObjectId +'\',\''+ aRequestId +'\')',100);
    }
  }
}
function LiveRequest_MakeRequest(aURL,aOnLoadFunction,aOnLoadParamObject) {
  var zRequestObject =  new LiveRequestObject();
  zRequestObject.MakeRequest(aURL,aOnLoadFunction,aOnLoadParamObject);
  return zRequestObject;
}
function LiveRequest_MakeTextRequest(aURL,aOnLoadFunction,aOnLoadParamObject) {
  var zRequestObject =  new LiveRequestObject();
  zRequestObject.TextOnly = true;
  zRequestObject.MakeRequest(aURL,aOnLoadFunction,aOnLoadParamObject);
  return zRequestObject;
}
function LiveRequest_PostRequest(aURL,aPostValues,aOnLoadFunction,aOnLoadParamObject) {
  var zRequestObject =  new LiveRequestObject();
  zRequestObject.Method = 'POST';
  zRequestObject.PostValues = aPostValues;
  zRequestObject.MakeRequest(aURL,aOnLoadFunction,aOnLoadParamObject);
  return zRequestObject;
}
function LiveRequest_PostTextRequest(aURL,aPostValues,aOnLoadFunction,aOnLoadParamObject) {
  var zRequestObject =  new LiveRequestObject();
  zRequestObject.TextOnly = true;
  zRequestObject.Method = 'POST';
  zRequestObject.PostValues = aPostValues;
  zRequestObject.MakeRequest(aURL,aOnLoadFunction,aOnLoadParamObject);
  return zRequestObject;
}
function makeRequest(aParams) {
  var zParams = aParams.Params || aParams;
  var zCompleteParams = aParams.CompleteParams || zParams;
  var zCompleteFunction = aParams.CompleteFunction || null;
  var zRequestObject =  new LiveRequestObject(zCompleteFunction, zCompleteParams);
  if(aParams.TextOnly) {
    zRequestObject.TextOnly = isTrue(aParams.TextOnly);
  }
  if(aParams.PostValues) {
    zRequestObject.PostValues = aParams.PostValues;
  }
  if(aParams.Method) {
    zRequestObject.Method = aParams.Method;
  }
  zRequestObject.MakeRequest(aParams.URL,aParams.Function,zParams,aParams);
  return zRequestObject;
}
function LiveRequest_ThreadHandler (aQueuedItems, aMaxThreads, aThreadInterval, aFinishFunction, aFinishParams) {
  this.Id = UniqueVar();
  this.MaxThreads = 3;
  this.ThreadInterval = 0;
  this.Total = 0;
  this.Completed = 0;
  this.Active = 0;
  this.Waiting = 0;
  this.QueuedItems = (aQueuedItems) ? aQueuedItems : new Array();
  this.ActiveList = new Array();
  this.CompletedList = new Array();
  this.Paused = false;
  this.Canceled = false;
  this.Finished = false;
  this.Total = this.QueuedItems.length;
  this.ThreadInterval = (!isNaN(aThreadInterval)&&aThreadInterval>=0) ? aThreadInterval : 500;
  this.MaxThreads = (aMaxThreads) ? aMaxThreads : this.MaxThreads;
  this.FinishFunction = (aFinishFunction) ? aFinishFunction : null;
  this.FinishParams = (aFinishParams) ? aFinishParams : null;
}
LiveRequest_ThreadHandler.prototype.UpdateTotal = function () {
  this.Total++;
}
LiveRequest_ThreadHandler.prototype.Requeue = function(aQueuedItem) {
  this.QueuedItems.push(aQueuedItem);
}
LiveRequest_ThreadHandler.prototype.Queue = function (aQueuedItem) {
  if(!this.Canceled) {
    this.QueuedItems.push(aQueuedItem);
    this.UpdateTotal();
    if(this.Finished) {
      this.Finished = false;
      this.Start();
    }
    return true;
  }
  return false;
}
LiveRequest_ThreadHandler.prototype.Start = function() {
  if(!this.Canceled&&!this.Paused) {
    if(this.QueuedItems.length>0) {
      if(this.ActiveList.length<this.MaxThreads) {
        var zQueuedItem = this.QueuedItems.shift();
        if(zQueuedItem&&!zQueuedItem.RequestSetTimeout) {
          if(this.ActiveList.length<this.MaxThreads) {
            this.Run(zQueuedItem);
          }
        }
        this.Start();
      }
      else {
        var zThisLiveRequest_ThreadHandler = this;
        setTimeout(function(){zThisLiveRequest_ThreadHandler.Start();},zThisLiveRequest_ThreadHandler.ThreadInterval);
      }
    }
    else if(this.ActiveList.length<=0&&!this.Finished) {
      this.Finish();
      return true;
    }
    return true;
  }
}
LiveRequest_ThreadHandler.prototype.Run = function (aQueuedItem) {
  this.ActiveList.push(aQueuedItem);
  this.Active = this.ActiveList.length;
  var zThisLiveRequest_ThreadHandler = this;
  aQueuedItem.RequestTimeout = setTimeout(function(){zThisLiveRequest_ThreadHandler.Execute(aQueuedItem);},zThisLiveRequest_ThreadHandler.ThreadInterval);
}
LiveRequest_ThreadHandler.prototype.Execute = function (aQueuedItem) {
  var zThisLiveRequest_ThreadHandler = this;
  if(!this.Canceled&&!this.Paused) {
    var zRequestParams = {
      URL: aQueuedItem.URL,
      Function: aQueuedItem.Function,
      Params: aQueuedItem.Params,
      CompleteFunction: function(){zThisLiveRequest_ThreadHandler.Complete({QueuedItem: aQueuedItem, QueuedItemCompleteFunction: aQueuedItem.CompleteFunction, QueuedItemCompleteParams: aQueuedItem.CompleteParams});},
      CompleteParams: {QueuedItem: aQueuedItem, QueuedItemCompleteFunction: aQueuedItem.CompleteFunction, QueuedItemCompleteParams: aQueuedItem.CompleteParams},
      TextOnly: aQueuedItem.TextOnly,
      PostValues: aQueuedItem.PostValues,
      Method: aQueuedItem.Method
    };
    makeRequest(zRequestParams);
  }
}
LiveRequest_ThreadHandler.prototype.Cancel = function () {
  this.Canceled = true;
}
LiveRequest_ThreadHandler.prototype.Pause = function () {
  this.Paused = true;
}
LiveRequest_ThreadHandler.prototype.Resume = function () {
  this.Paused = false;
  this.Start();
}
LiveRequest_ThreadHandler.prototype.Complete = function (aCompletedParams) {
  this.CompletedList.push(aCompletedParams.QueuedItem);
  this.Completed++;
  var zQueuedItemActiveIndex = this.ActiveList.indexOf(aCompletedParams.QueuedItem);
  this.ActiveList.splice(zQueuedItemActiveIndex,1);
  this.Active = this.ActiveList.length;
  this.Start();
  if(aCompletedParams.QueuedItemCompleteFunction) {
    aCompletedParams.QueuedItemCompleteFunction(aCompletedParams.QueuedItemCompleteParams);
  }
}
LiveRequest_ThreadHandler.prototype.Finish = function () {
  this.Finished = true;
  if(this.FinishFunction) {
   this.FinishFunction(this.FinishParams);
  }
}
LiveRequest_ThreadHandler.prototype.GetStats = function () {
  return {Total: this.Total, Active: this.Active, Completed: this.Completed, PercentComplete: ((this.Completed/this.Total)*100), Paused: this.Paused, Canceled: this.Canceled, Finished: this.Finished};
}
// End JSIncludeFile:Action_JSIncludeLiveRequest
// Start JSIncludeFile:Action_JSIncludeActivityOptions
function ActivityOptionsContainerObject(aId) {
  this.Id = aId
  this.ActiveLink = null;
  this.ActiveOptionType = null;
  this.ActivePagePath = null;
  this.OptionTypeList = {};
  var zContainer = document.createElement('div');
  zContainer.setAttribute('name',this.Id+'_Container');
  zContainer.setAttribute('id',this.Id+'_Container');
  zContainer.setAttribute("class", "ActivityOptionContainer");
  zContainer.setAttribute("className", "ActivityOptionContainer");
  this.Container = zContainer;
  return this;
}
ActivityOptionsContainerObject.prototype.DisplayOptionArray = function(e,aLink,aOptionArray, aExtraParams, aWindowOptions, aLoadOptionLinkInPopup) {
  this.TemporaryOptions = this.AddActivityOptionType(this.Id+".TemporaryOptions", "", aExtraParams, aWindowOptions, aLoadOptionLinkInPopup);
  for(var i = 0; i < aOptionArray.length; i++) {
    this.TemporaryOptions.AddOption(aOptionArray[i][0],'','',aOptionArray[i][1]);
  }
  this.TemporaryOptions.DisplayOptions(e,aLink);
}
ActivityOptionsContainerObject.prototype.CloseOptions = function() {
  if(this.ActiveLink) {
    document.body.removeChild(this.Container);
  }
  this.ActiveOptionType = null;
  this.ActivePagePath = null;
  this.ActiveLink = null;
  return true;
}
ActivityOptionsContainerObject.prototype.AddActivityOptionType = function(aId,aName, aExtraParams, aWindowOptions, aLoadOptionLinkInPopup) {
  var zNewOptionType = new ActivityOptionTypeObject(aId,aName, aExtraParams, aWindowOptions, aLoadOptionLinkInPopup)
  this.OptionTypeList[aId] = zNewOptionType;
  zNewOptionType.Owner = this;
  return zNewOptionType;
}
function ActivityOptionTypeObject(aId, aName, aExtraParams, aWindowOptions, aLoadOptionLinkInPopup) {
  this.Id = aId;
  this.Name = aName || '';
  this.ExtraParams = aExtraParams || '';
  this.WindowOptions = aWindowOptions || '';
  this.LoadOptionLinkInPopup = isTrue(aLoadOptionLinkInPopup,true);
  this.OptionList = new Array();
}
ActivityOptionTypeObject.prototype.DisplayOptions = function(e,aLink,aPagePath) {
  try {
    aLink.blur();
  } catch(e) {
  }
  if(this.Owner.ActiveLink && this.Owner.ActiveLink == aLink) {
    this.Owner.CloseOptions();
    return true;
  }
  this.Owner.ActiveOptionType = this;
  this.Owner.ActivePagePath = aPagePath;
  if(this.OptionList.length == 1) {
    this.LoadOption(0);
    return true;
  }
  this.Owner.ActiveLink = aLink;
  var zOptionHtmlArray = new Array();
  zOptionHtmlArray[zOptionHtmlArray.length] = '<span><span class="ActivityOptionClose" onclick="'+this.Id+'.Owner.CloseOptions()" target="_self">X</span><div class="ActivityOptionTitle">'+this.Name+'&nbsp;</div>';
  for(var i = 0; i < this.OptionList.length; i++) {
    zOptionHtmlArray[zOptionHtmlArray.length] = '<a href="javascript: void(0);" class="ActivityOptionLink" onclick="'+this.Id+'.LoadOption('+i+'); return false" target="_self">'+this.OptionList[i].DisplayHtml+'</a>'
  }
  zOptionHtmlArray[zOptionHtmlArray.length] = '</span>';
  var zHtmlContainer = this.Owner.Container;
  var zActiveContainer = document.body.appendChild(this.Owner.Container);
  zActiveContainer.innerHTML = zOptionHtmlArray.join('');
  PlaceElementInView(zActiveContainer,'',e.clientX+5,e.clientY+22);
  return true;
}
ActivityOptionTypeObject.prototype.LoadOption = function(aOptionIndex) {
  var zOption, zUrl, zURLParts;
  zOption = this.OptionList[aOptionIndex];
  if(zOption.FullUrl) {
    zUrl = AppendToUrl(AppendToUrl(zOption.FullUrl,this.ExtraParams),zOption.ExtraParams);
  }
  else {
    zUrl = AppendToUrl(AppendToUrl(this.Owner.ActivePagePath+zOption.PathSuffix+'.'+zOption.Action,this.ExtraParams),zOption.ExtraParams);
  }
  if(this.LoadOptionLinkInPopup || zOption.LoadOptionLinkInPopup) {
    zUrl = AppendToUrl(zUrl,'aIsPopup=Y');
    var zNewWindow = window.open(zUrl, '', this.WindowOptions)
  }
  else {
    LoadUrlUsingBaseTarget(zUrl);
  }
  this.Owner.CloseOptions();
  return true;
}
ActivityOptionTypeObject.prototype.AddOption = function(aDisplayHtml, aAction, aExtraParams, aFullUrl, aPathSuffix, aLoadOptionLinkInPopup) {
  var zNewOption = new ActivityOptionObject(aDisplayHtml, aAction, aExtraParams, aFullUrl, aPathSuffix, isTrue(aLoadOptionLinkInPopup,this.LoadOptionLinkInPopup));
  this.OptionList[this.OptionList.length] = zNewOption;
  return zNewOption;
}
function ActivityOptionObject(aDisplayHtml, aAction, aExtraParams, aFullUrl, aPathSuffix, aLoadOptionLinkInPopup) {
  this.DisplayHtml = aDisplayHtml;
  this.Action = aAction;
  this.ExtraParams = aExtraParams;
  this.FullUrl = aFullUrl;
  this.PathSuffix = (typeof(aPathSuffix) == 'undefined') ? '' : aPathSuffix;
  this.LoadOptionLinkInPopup = aLoadOptionLinkInPopup;
}
var fActivityOptions = new ActivityOptionsContainerObject("fActivityOptions");
var ActivityOptions = {
  Show: function(e,aParams) {
    fixEvent(e);
    try {
      e.target.blur();
    } catch(e) {
    }
    if(fActivityOptions.ActiveLink && fActivityOptions.ActiveLink == e.target) {
      ActivityOptions.Hide(e);
      return true;
    }
    if(typeof aParams.length == 'number') {
      aOptionsArray = aParams;
      zTitle = "";
    }
    else {
      zTitle = aParams.Title || "";
      aOptionsArray = aParams.Options;
    }
    fActivityOptions.ActiveOptionType = aOptionsArray;
    fActivityOptions.ActiveLink = e.target;
    document.body.appendChild(fActivityOptions.Container);
    fActivityOptions.Container.innerHTML = '<span><span class="ActivityOptionClose" onclick="fActivityOptions.CloseOptions()" target="_self">X</span><div class="ActivityOptionTitle">'+zTitle+'&nbsp;</div></span>';
    aOptionsArray.forEach(function(aOption) {
      var zSpan = CreateBasicElement("span",null,"ActivityOptionLink");
      fActivityOptions.Container.childNodes[0].appendChild(zSpan);
      zSpan.innerHTML = aOption.DisplayName;
      if(aOption.Class) {
        AddClass(zSpan,aOption.Class);
      }
      appendEventHandler(zSpan, "onclick", ActivityOptions.Hide);
      appendEventHandler(zSpan, "onclick", aOption.Function, aOption.Params);
      MakeHoverable(zSpan);
    });
    PlaceElementInView(fActivityOptions.Container,'',e.clientX+5,e.clientY+22);
    return true;
  },
  Hide: function(e) {
    fActivityOptions.CloseOptions();
    return true;
  },
  AddParams: function(aOptionsArray,aParamObject) {
    var zOptions = [];
    aOptionsArray.forEach(function(aOption) {
      var zOption = CopyObject(aOption);
      zOptions.push(zOption);
      if(!zOption.Params) {
        zOption.Params = CopyObject(aParamObject);
      }
      else {
        CopyProperties(aParamObject,zOption.Params,true);
      }
    });
    return zOptions;
  },
  Append: function(aElement,aOptionsArray,aParamObject) {
    appendEventHandler(aElement, "onclick", ActivityOptions.Show, ActivityOptions.AddParams(aOptionsArray,aParamObject));
    return true;
  }
};
  var fLiveJournal_ActivityOptions = fActivityOptions.AddActivityOptionType("fLiveJournal_ActivityOptions","Create Journal Entry","","width=320,height=370,status=1,resizable=1,scrollbars=1");
  var zLiveJournal_ImageArray = new Array();
// End JSIncludeFile:Action_JSIncludeActivityOptions
// Start JSIncludeFile:Action_JSIncludeSpellCheck
var popupUrl = "/Home.SpellCheckPopup?LSAccessID=";
var hidePreviewPanel=false;
var directMode=false;
var ww;
var spellCheckField=null;
var previewPanelWidth=450;
var previewPanelHeight=200;
var defaultWidth=240;
var defaultHeight=200;
function spellcheck(formField) {
  spellCheckField = formField;
 	var width = previewPanelWidth;
  var height = previewPanelHeight;
 	if (navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.toLowerCase().indexOf("opera")==-1 && hidePreviewPanel==false) {
 		 directmode = true;
    width = defaultWidth;
 	}
 	if(hidePreviewPanel==true) {
 		 width = defaultWidth;
	 }
 	var w = 1024, h = 768;
 	if (document.all || document.layers) {
 		 w = screen.availWidth;
    h = screen.availHeight;
 	}
 	var leftPos = (w/2-width/2);
  var topPos = (h/2-height/2);
 	ww = window.open(popupUrl, "", "width="+width+",height="+height+",top="+topPos+",left="+leftPos+",toolbar=no,status=no,menubar=yes,directories=no,resizable=yes");
 	ww.focus();
 	return true;
}
function getSpellCheckItem(jspell_n) {
 	var fieldsToCheck=getSpellCheckArray();
 	return fieldsToCheck[jspell_n];
}
function getSpellCheckArray() {
 	var fieldsToCheck=new Array();
 	fieldsToCheck[fieldsToCheck.length] = document.getElementById(spellCheckField);
 	return fieldsToCheck;
}
function updateForm(jspell_m,newvalue) {
  getSpellCheckItem(jspell_m).value = newvalue;
  if(getSpellCheckItem(jspell_m).getAttribute("onspellcheckupdate")) {
    eval(getSpellCheckItem(jspell_m).getAttribute("onspellcheckupdate"));
  }
}
function getSpellCheckItemValueValue(jspell_k) {
  return getSpellCheckItem(jspell_k).value;
}
var SpellChecker = {
  InitializeInput: function(aElement) {
    var zSpellCheckDiv = CreateBasicElement('DIV','SpellChecker_'+aElement.id,'SpellChecker')
    var zSpellCheckImg = CreateBasicElement('IMG','SpellCheckerImage_'+aElement.id,'SpellCheckerImage');
    zSpellCheckImage = new Image();
    zSpellCheckImage.src = '/l.c.bin/I/2798071/spellcheck2.gif';
    zSpellCheckImg.src = zSpellCheckImage.src;
    zSpellCheckDiv.appendChild(zSpellCheckImg);
    appendEventHandler(zSpellCheckDiv,'onclick',SpellChecker.SpellCheck,aElement);
    aElement.parentNode.insertBefore(zSpellCheckDiv,aElement.nextSibling);
    return true;
  },
  InitializeMultiple: function(aElementsIdArray) {
    aElementsIdArray.forEach(function(aElement) {
      SpellChecker.InitializeInput($(aElement.Id));
    });
  },
  SpellCheck: function(e,aElement) {
    spellcheck(aElement.id);
    return true;
  }
};
Widgets.Add({
  Id: "SpellChecker",
  Attribute: "spellcheck",
  Value: "Y",
  ElementInitFunction: SpellChecker.InitializeInput
});
// End JSIncludeFile:Action_JSIncludeSpellCheck
// Start JSIncludeFile:Action_JSIncludeFormControls
var fStylizedSelectIcon = new Image();
fStylizedSelectIcon.src = '/l.c.bin/I/565/DownArrow_16x16.gif';
var fLoadSelectIcon = new Image();
fLoadSelectIcon.src = '/l.c.bin/I/568/loading_15x15_anim.gif';
var fStylizedSelects = new StylizedSelectController("fStylizedSelects");
var fPageUsesStyledSelects = false;
var fDisableStylizedSelects = false;
var fLoadSelectController;
var fAlertDiv = null;
var fLabelElements = null;
appendEventHandler(window,'onload',InitializeFormControls);
function InitializeFormControls(){
  InitializeSelects();
  InitializeTextareaMaxLength();
  return true;
}
function MyAlert(aText) {
  return false;
}
function InitializeSelects() {
  fLoadSelectController = new LoadSelectControllerObject("fLoadSelectController");
  var zSelects = document.getElementsByTagName("SELECT");
  var zForms = document.getElementsByTagName("FORM");
  for(var h = 0; h < zForms.length; h++) {
    if(zForms[h].getAttribute("StylizedSelects") == "Y") {
      fPageUsesStyledSelects = true;
    }
  }
  for(var i = 0; i < zSelects.length; i++) {
    if(zSelects[i].getAttribute("src")) {
      fLoadSelectController.AddSelect(zSelects[i]);
    }
    if(IsStylizedSelect(zSelects[i])) {
      fPageUsesStyledSelects = true;
    }
  }
  if(fGlobalPointer.Browser.isMac && fGlobalPointer.Browser.isIE4up) {
    fDisableStylizedSelects = false;
  }
  if(fPageUsesStyledSelects && !fDisableStylizedSelects) {
    fLabelElements = document.getElementsByTagName("LABEL");
    for(var j = 0; j < zSelects.length; j++) {
      if(!zSelects[j].getAttribute("src") && zSelects[j].getAttribute("StylizedSelect") != "N") {
        fStylizedSelects.AddStylizedSelect(zSelects[j]);
      }
    }
    appendEventHandler(window,'onresize',UpdateStylizedSelectDropDownPositions);
  }
  else {
  }
  return true;
}
function LoadSelectControllerObject(aId) {
  this.Id = aId;
  this.LoadSelectList = new Object();
  this.LoadSelectArray = new Array();
  return this;
}
LoadSelectControllerObject.prototype.AddSelect = function(aSelect) {
  var zNewSelect = new LoadSelectObject(aSelect);
  zNewSelect.Index = this.LoadSelectArray.length;
  this.LoadSelectArray[this.LoadSelectArray.length] = zNewSelect;
  this.LoadSelectList[zNewSelect.Id] = zNewSelect;
  AddClass(zNewSelect.Select,"AbsolutelyHidden");
  zNewSelect.Select.parentNode.insertBefore(zNewSelect.LoadingImage,zNewSelect.Select);
  zNewSelect.Request = LiveRequest_MakeRequest(zNewSelect.Src,LoadSelectObject_ReceiveData,zNewSelect);
  return zNewSelect;
}
LoadSelectControllerObject.prototype.GetSelect = function(aId) {
  return this.LoadSelectList[aId];
}
function LoadSelectObject(aSelect) {
  this.Select = aSelect;
  this.Id = aSelect.id;
  this.Src = aSelect.getAttribute("src");
  this.SelectedValue = aSelect.getAttribute("SelectedValue");
  this.SelectedValueDelimiter = aSelect.getAttribute("SelectedValueDelimiter");
  this.Done = false;
  this.LoadingImage = CreateBasicElement("span",this.Id+"_LoadingImage","SelectLoadingImage");
  this.LoadingImage.innerHTML = '<im'+'g s'+'rc="'+fLoadSelectIcon.src+'" width="15" height="15" border="0" />';
  return this;
}
LoadSelectObject.prototype.AddOption = function(aText,aValue,aClass) {
  var zIndex = this.Select.length;
  this.Select[zIndex] = new Option(unescape(aText).HTMLDecode(),unescape(aValue));
  if (aClass){
    this.Select[zIndex].className = aClass;
  }
  return true;
}
LoadSelectObject.prototype.Loaded = function() {
  this.Done = true;
  this.Select.parentNode.removeChild(this.LoadingImage);
  RemoveClass(this.Select,"AbsolutelyHidden");
  if(!this.SelectedValueDelimiter) {
    this.Select.value = this.SelectedValue;
  }
  else if(this.SelectedValue != '') {
    var zSelectedValuesArray = this.SelectedValue.split(this.SelectedValueDelimiter);
    for (var zSelectedValueCount = 0; zSelectedValueCount < zSelectedValuesArray.length; zSelectedValueCount++) {
      for(var zSelectOptionCount = 0; zSelectOptionCount < this.Select.options.length; zSelectOptionCount++) {
        if(this.Select.options[zSelectOptionCount].value == zSelectedValuesArray[zSelectedValueCount]) {
          this.Select.options[zSelectOptionCount].selected = true;
          break;
        }
      }
    }
  }
  if(fPageUsesStyledSelects && !fDisableStylizedSelects && this.Select.getAttribute("StylizedSelect") != "N") {
    if(fStylizedSelects && fStylizedSelects.AddStylizedSelect && UpdateStylizedSelectDropDownPositions) {
      setTimeout("fStylizedSelects.AddStylizedSelect(document.getElementById('"+this.Select.id+"'));UpdateStylizedSelectDropDownPositions();",0);
    }
  }
  return true;
}
function LoadSelectObject_ReceiveData(aDataObject,aLoadSelect) {
  if(aDataObject) {
    for(var i = 0; i < aDataObject.length; i++) {
      aLoadSelect.AddOption(aDataObject[i].DisplayName,aDataObject[i].ItemPath,aDataObject[i].Class);
    }
  }
  aLoadSelect.Loaded();
  return true;
}
function IsStylizedSelect(aSelect) {
  if(aSelect.getAttribute("SmartSelect") == "Y") {
    aSelect.setAttribute("StylizedSelect","Y");
  }
  if(aSelect.getAttribute("StylizedSelect") == "Y") {
    return true;
  }
  else {
    return false;
  }
}
function StylizedSelectController(aId) {
  this.Id = aId;
  this.StylizedSelectList = new Object();
  this.StylizedSelectArray = new Array();
  this.ActiveStylizedSelect = null;
  return this;
}
StylizedSelectController.prototype.AddStylizedSelect = function (aSelect){
  var zNewSelect = CreateStylizedSelect(aSelect);
  zNewSelect.Index = this.StylizedSelectArray.length;
  zNewSelect.StylizedSelectController = this;
  this.StylizedSelectArray[this.StylizedSelectArray.length] = zNewSelect;
  this.StylizedSelectList[zNewSelect.Id] = zNewSelect;
  zNewSelect.Draw();
  return zNewSelect;
}
StylizedSelectController.prototype.GetSelect = function (aId){
  return this.StylizedSelectList[aId];
}
function CreateStylizedSelect(aSelect) {
  var zSize = aSelect.getAttribute("size") || 0;
  if(zSize == "1") {
    zSize = 0;
  }
  var zSmartSelect = isTrue(aSelect.getAttribute("SmartSelect"));
  var zStylizedSelectClass = StylizedSelectObject;
  if(zSize) {
    if(zSmartSelect) {
      zStylizedSelectClass = SmartMultiLineSelect;
    }
    else {
      zStylizedSelectClass = MultiLineSelect;
    }
  }
  else {
    if(zSmartSelect) {
      zStylizedSelectClass = SmartDropDownSelect;
    }
    else {
      zStylizedSelectClass = DropDownSelect;
    }
  }
  return new zStylizedSelectClass(aSelect);
}
function StylizedSelectOption(aText,aValue,aClass,aOptGroupLabel) {
  this.Value = aValue;
  this.Text = aText;
  this.Class = aClass;
  this.OptGroupLabel = aOptGroupLabel;
  return this;
}
function StylizedSelectObject(aSelect) {
  if(arguments.length == 0) {return false};
  this.Select = aSelect;
  this.Id = this.Select.id;
  this.Multiple = this.Select.multiple;
  this.Size = this.Select.getAttribute("size") || 0;
  if(this.Size == "1") {
    this.Size = 0;
  }
  this.OnChange = (this.Select.onchange != null && this.Select.onchange != 'undefined') ? this.Select.onchange : null ;
  this.SelectWidth = this.Select.offsetWidth || this.Select.getAttribute("SelectWidth") || 200;
  this.OptionElementArray = new Array();
  if(!this.Size) {
    this.SelectHeight = this.Select.getAttribute("SelectHeight") || document.body.offsetHeight;
  }
  else {
    this.SelectHeight = this.Select.offsetHeight;
  }
  this.InputWidth = this.Select.getAttribute("InputWidth") || this.SelectWidth;
  this.OriginalSelectedIndex = this.Select.selectedIndex;
  this.OriginalSelectedOptionArray = new Array();
  this.SelectedOptionIndex = this.OriginalSelectedIndex;
  this.SelectedOptionArray = new Array();
  this.FocusedElement = null;
  this.OriginalOptionArray = new Array();
  this.ActiveOptionArray = new Array();
  for(var i = 0; i < this.Select.options.length; i++) {
    this.OriginalOptionArray[i] = new StylizedSelectOption(this.Select.options[i].text,this.Select.options[i].value,this.Select.options[i].className,(this.Select.options[i].parentNode.tagName=='OPTGROUP' ? this.Select.options[i].parentNode.label:null));
    this.OriginalOptionArray[i].OriginalArrayIndex = i;
  }
  this.OptGroups = new Object();
  return this;
}
function DropDownSelect(aSelect) {
  this.HasTextInput = true;
  this.IsDropDown = true;
  this.inherited = StylizedSelectObject;
  this.inherited(aSelect);
}
DropDownSelect.prototype = new StylizedSelectObject;
function SmartDropDownSelect(aSelect) {
  this.HasTextInput = true;
  this.IsDropDown = true;
  this.IsSmartSelect = true;
  this.inherited = StylizedSelectObject;
  this.inherited(aSelect);
}
SmartDropDownSelect.prototype = new StylizedSelectObject;
function MultiLineSelect(aSelect) {
  this.HasTextInput = false;
  this.IsDropDown = false;
  this.inherited = StylizedSelectObject;
  this.inherited(aSelect);
}
MultiLineSelect.prototype = new StylizedSelectObject;
function SmartMultiLineSelect(aSelect) {
  this.HasTextInput = true;
  this.IsDropDown = false;
  this.inherited = StylizedSelectObject;
  this.inherited(aSelect);
}
SmartMultiLineSelect.prototype = new StylizedSelectObject;
StylizedSelectObject.prototype.Draw = function() {
  this.IsDrawing = true;
  var zInlineHtml = new Array();
  var zStylizedSelectHtml;
  var zContainerPositionObject;
  var zSelectContainer;
  var zStyledSelectPosition = "absolute";
  var zInputReadOnly = "";
  var zInputCursor = "";
  if(!this.IsDropDown) {
    zStyledSelectPosition = "relative";
  }
  this.Container = CreateBasicElement("span",this.Id+"_Container","StylizedSelectContainer","width: "+this.InputWidth+"px; position: relative; top: 0px; left: 0px;");
  this.Container.style.width = this.InputWidth + "px";
  this.Container.style.position = "relative";
  this.Container.style.top = "0px";
  this.Container.style.left = "0px";
  this.Select.parentNode.insertBefore(this.Container,this.Select);
  zStylizedSelectHtml = '<span class="StylizedSelect" name="'+this.Id+'_StylizedSelect" id="'+this.Id+'_StylizedSelect" '
                      +   'style="width: '+this.SelectWidth+'px; height: '+this.SelectHeight+'px; z-index: 500; visibility: hidden;" '
+   'onmousedown="fStylizedSelects.GetSelect(\''+this.Id+'\').ResetFocusFromSelect();"'
                      +   'onscroll="fStylizedSelects.GetSelect(\''+this.Id+'\').ResetFocusFromSelect();"'
                      + '>'
                      +   this.GetOptionsHtml(this.OriginalOptionArray)
                      + '</span>';
  if(this.HasTextInput) {
    if(!this.IsSmartSelect) {
      zInputReadOnly = "readonly";
      zInputCursor = " cursor: default;"
    }
    zInlineHtml[zInlineHtml.length] = '<span name="'+this.Id+'_InputContainer" id="'+this.Id+'_InputContainer" class="StylizedSelectInputContainer" style="width: '+this.InputWidth+'px; white-space: nowrap;">'
                                    +   '<input type="text" name="'+this.Id+'_Text" id="'+this.Id+'_Text" value="" class="StylizedSelectTextInput" style="height: 18px; width: '+Math.max((this.InputWidth-20),6)+'px;'+zInputCursor+'" autocomplete="off" '
                                    +     'onkeydown="fStylizedSelects.GetSelect(\''+this.Id+'\').ClearMatchOptionsTimeout();" '
                                    +     'onkeyup="fStylizedSelects.GetSelect(\''+this.Id+'\').SetKeyValue(event);" '
                                    +     'onkeypress="return fStylizedSelects.GetSelect(\''+this.Id+'\').HandleEnterKey(event);" '
                                    +     'onclick="fStylizedSelects.GetSelect(\''+this.Id+'\').OpenSelectFromInput();" '
                                    +     'onblur="fStylizedSelects.GetSelect(\''+this.Id+'\').SetBlur();" '
                                    +     zInputReadOnly
                                    +   ' />'
                                    +   '<im'+'g name="'+this.Id+'_Icon" id="'+this.Id+'_Icon" s'+'rc="'+fStylizedSelectIcon.src+'" width="16" height="16" border="0" class="StylizedSelectIcon" style="cursor: pointer; cursor: hand;" onclick="fStylizedSelects.GetSelect(\''+this.Id+'\').FocusInput();" />'
                                    + '</span>';
  }
  else {
    zInlineHtml[zInlineHtml.length] = '<a h'+'ref="javascript: void(0);" id="'+this.Id+'_StylizedSelect_Focus" style="position: absolute; top 0px; left: 0px;" '
                                    +   'onkeyup="fStylizedSelects.GetSelect(\''+this.Id+'\').SetKeyValue(event);" '
                                    +   'onkeypress="return fStylizedSelects.GetSelect(\''+this.Id+'\').HandleEnterKey(event);" '
                                    +   'onblur="fStylizedSelects.GetSelect(\''+this.Id+'\').SetBlur();" '
                                    + '></a>';
  }
  if(this.IsDropDown) {
    zSelectContainer = CreateBasicElement("span",this.Id+"_SelectContainer","","width: "+this.SelectWidth+"px; position: absolute; top: 0px; left: 0px;");
    zSelectContainer.style.position = "absolute";
    zSelectContainer.style.top = "0px";
    zSelectContainer.style.left = "0px";
    document.body.appendChild(zSelectContainer);
    zSelectContainer.innerHTML = zStylizedSelectHtml;
  }
  else {
    zInlineHtml[zInlineHtml.length] = '<span name="'+this.Id+'_SelectContainer" id="'+this.Id+'_SelectContainer" style="position: relative; top: 0px; left: 0px; width: '+this.SelectWidth+'px;">'
                                    +   zStylizedSelectHtml
                                    + '</span>';
  }
  this.Container.innerHTML = zInlineHtml.join('');
  this.SelectContainer = document.getElementById(this.Id+'_SelectContainer');
  this.StylizedSelect = document.getElementById(this.Id+'_StylizedSelect');
  this.NoMatch = document.getElementById(this.Id+'_StylizedSelectNoMatch');
  this.Select.className = "AbsolutelyHidden";
  for(var j = 0; j < this.Select.options.length; j++) {
    this.OptionElementArray[j] = document.getElementById(this.Id+'_StylizedSelect_Option'+j);
    this.ActiveOptionArray[j] = this.OriginalOptionArray[j];
  }
  if(this.HasTextInput) {
    this.InputContainer = document.getElementById(this.Id+'_InputContainer');
    this.TextInput = document.getElementById(this.Id+'_Text');
    this.Icon = document.getElementById(this.Id+'_Icon');
    if(this.IsDropDown) {
      this.UpdateDropDownPosition();
    }
    this.FocusElement = this.TextInput;
  }
  else {
    this.FocusHandler = document.getElementById(this.Id+'_StylizedSelect_Focus');
    this.FocusElement = this.FocusHandler;
  }
  if(fLabelElements) {
    for(var l = 0; l < fLabelElements.length; l++) {
      if(fLabelElements[l] && fLabelElements[l]["htmlFor"] && fLabelElements[l]["htmlFor"] == this.Id) {
        if(this.HasTextInput) {
          try {
            fLabelElements[l].setAttribute("for",this.FocusElement.id);
            fLabelElements[l].setAttribute("htmlFor",this.FocusElement.id);
          }
          catch(e) {
          }
        }
      }
    }
  }
  this.InitializeSelectedOption();
  this.ResizeSelect();
  this.HideSelect();
  this.StylizedSelect.style.visibility = "visible";
  this.IsDrawing = false;
  return this;
}
StylizedSelectObject.prototype.GetOptionsHtml = function(aOptionArray) {
  var zOptions = new Array();
  var zCurrentGroupLabel = null,zLastGroupLabel = null,zSubItemClass='';
  var zLastGroupIndex = null;
  for(var i = 0; i < aOptionArray.length; i++) {
    zCurrentGroupLabel = aOptionArray[i].OptGroupLabel;
    if(zCurrentGroupLabel){
      zSubItemClass = ' SubOption';
      if(zCurrentGroupLabel!=zLastGroupLabel){
        zLastGroupIndex = i;
        this.OptGroups['Group'+ zLastGroupIndex] = {Options:{}};
        zOptions[zOptions.length] = '<span class="StylizedSelectOption OptGroup" id="'+this.Id+'_StylizedSelect_Option'+i+'Group" value="" '
                              +   'onmouseover="AddClass(this,\'Hover\');" '
                              +   'onmouseout="RemoveClass(this,\'Hover\');" '
     +   'onmousedown="fStylizedSelects.GetSelect(\''+this.Id+'\').ToggleOptGroup('+i+');"'
                              +   '>'+(aOptionArray[i].OptGroupLabel || '&nbsp;')+'</span>';
      }
      this.OptGroups['Group'+ zLastGroupIndex].Options['Option'+ i] = i;
    }
    zOptions[zOptions.length] = '<span class="StylizedSelectOption'+ zSubItemClass +'" id="'+this.Id+'_StylizedSelect_Option'+i+'" value="'+aOptionArray[i].Value+'" '
                              +   'onmouseover="fStylizedSelects.GetSelect(\''+this.Id+'\').HoverOption('+i+',true);" '
                              +   'onmouseout="fStylizedSelects.GetSelect(\''+this.Id+'\').HoverOption('+i+',false);" '
         +   'onmousedown="fStylizedSelects.GetSelect(\''+this.Id+'\').ToggleOption('+i+');"'
                              +   '>'+(aOptionArray[i].Text || '&nbsp;')+'</span>';
    zLastGroupLabel = zCurrentGroupLabel;
    zSubItemClass = '';
  }
  zOptions[zOptions.length] = '<span class="StylizedSelectNoMatch" id="'+this.Id+'_StylizedSelectNoMatch" style="display: none;">No Matches Found.</span>';
  return zOptions.join('\n');
}
StylizedSelectObject.prototype.UpdateOptionElementArray = function() {
  this.OptionElementArray = new Array();
  for(var j = 0; j < this.Select.options.length; j++) {
    this.OptionElementArray[j] = document.getElementById(this.Id+'_StylizedSelect_Option'+j);
  }
}
function UpdateStylizedSelectDropDownPositions() {
  for(var i = 0; i < fStylizedSelects.StylizedSelectArray.length; i++) {
    if(fStylizedSelects.StylizedSelectArray[i].IsDropDown) {
      fStylizedSelects.StylizedSelectArray[i].UpdateDropDownPosition();
    }
  }
  return true;
}
StylizedSelectObject.prototype.UpdateDropDownPosition = function() {
  var zAddTop = 0;
  var zContainerPositionObject = getAbsolutePosition(this.Container);
  if(fGlobalPointer.Browser.isSafari) {
    zAddTop = 6;
  }
  this.SelectContainer.style.left = zContainerPositionObject.x+"px";
  this.SelectContainer.style.top = (zContainerPositionObject.y+Math.min(this.InputContainer.offsetHeight,this.TextInput.offsetHeight)+zAddTop)+"px";
}
StylizedSelectObject.prototype.HoverOption = function(aIndex,aToggle) {
  var zOption = this.OptionElementArray[aIndex];
  if (aToggle) {
    AddClass(zOption,"Hover");
  }
  else {
    RemoveClass(zOption,"Hover");
  }
  return zOption;
}
StylizedSelectObject.prototype.ToggleOptGroup = function(aIndex) {
  if(this.Multiple){
    var x,zGroup = this.OptGroups['Group'+ aIndex];
    var zAllSelected = true;
    for(x in zGroup.Options){
      if(this.SelectedOptionArray[zGroup.Options[x]]!='selected'){
        zAllSelected = false;
      }
    }
  }
  for(x in zGroup.Options){
    if(zAllSelected){
      this.DeSelectOption(zGroup.Options[x]);
    }else{
      this.SelectOption(zGroup.Options[x]);
    }
  }
}
StylizedSelectObject.prototype.ToggleOption = function(aIndex) {
  if(this.SelectedOptionArray[aIndex] == "selected" && this.Multiple) {
    this.DeSelectOption(aIndex);
  }
  else {
    if(!this.Multiple && this.SelectedOptionIndex != null) {
      this.DeSelectOption(this.SelectedOptionIndex);
    }
    this.SelectOption(aIndex);
  }
  if(this.IsDropDown) {
    this.HideSelect();
  }
  this.CallOnChange();
}
StylizedSelectObject.prototype.SelectOption = function(aIndex) {
  if(aIndex<0 || aIndex == null) {
    return false;
  }
  if(this.OptionElementArray[aIndex]) {
    AddClass(this.OptionElementArray[aIndex],"Selected");
  }
  this.SelectedOptionIndex = aIndex;
  this.SelectedOptionText = this.OriginalOptionArray[aIndex].Text;
  this.SelectedOptionValue = this.OriginalOptionArray[aIndex].Value;
  this.SelectedOptionArray[aIndex] = "selected";
  this.Select.options[aIndex].selected = true;
  if(this.TextInput) {
    this.TextInput.value = this.SelectedOptionText.HTMLDecode();
  }
  this.TurnOffHovers();
  if(!this.IsDrawing) {
    this.ScrollOptionIntoView(aIndex);
  }
  return true;
}
StylizedSelectObject.prototype.DeSelectOption = function(aIndex) {
  if(aIndex<0 || aIndex == null) {
    return false;
  }
  if(this.OptionElementArray[aIndex]) {
    RemoveClass(this.OptionElementArray[aIndex],"Selected");
  }
  this.SelectedOptionArray[aIndex] = "";
  this.Select.options[aIndex].selected = false;
  if(this.SelectedOptionIndex == aIndex) {
    if(this.TextInput && this.TextInput.value == this.SelectedOptionValue) {
     this.TextInput.value = "";
    }
    this.SelectedOptionIndex = null;
    this.SelectedOptionText = "";
    this.SelectedOptionValue = "";
  }
  return true;
}
StylizedSelectObject.prototype.CallOnChange = function() {
  if(this.OnChange) {
    this.OnChange();
  }
  this.SelectedOptionUponOpen = this.SelectedOptionIndex;
  return true;
}
StylizedSelectObject.prototype.ScrollOptionIntoView = function(aIndex) {
  if(aIndex < 0 || aIndex == null) {
    return false;
  }
  var zSelectTop = this.StylizedSelect.scrollTop;
  var zSelectHeight = this.StylizedSelect.offsetHeight;
  var zSelectBottom = zSelectTop + zSelectHeight;
  var zOptionTop = this.OptionElementArray[aIndex].offsetTop;
  var zOptionHeight = this.OptionElementArray[aIndex].offsetHeight;
  var zOptionBottom = zOptionTop + zOptionHeight;
  if(zOptionTop < zSelectTop) {
    this.StylizedSelect.scrollTop = zOptionTop;
  }
  else if(zOptionBottom > zSelectBottom) {
    this.StylizedSelect.scrollTop = (zOptionTop + zOptionHeight) - zSelectHeight;
  }
  return true;
}
StylizedSelectObject.prototype.InitializeSelectedOption = function() {
  var zIndex = this.OriginalSelectedIndex;
  if(zIndex >= 0) {
    this.SelectedOptionArray[zIndex] = "selected";
    this.SelectOption(zIndex);
  }
  else {
    this.SelectedOptionIndex = null;
    this.SelectedOptionText = "";
    this.SelectedOptionValue = "";
  }
}
MultiLineSelect.prototype.InitializeSelectedOption = function() {
  var zScrolled = false;
  for(var i = 0; i < this.Select.options.length; i++) {
    if(this.Select.options[i].selected) {
      this.OriginalSelectedOptionArray[i] = "selected";
      this.SelectedOptionArray[i] = "selected";
      this.SelectOption(i);
    }
    else {
      this.OriginalSelectedOptionArray[i] = "";
      this.SelectedOptionArray[i] = "";
    }
  }
}
StylizedSelectObject.prototype.SetFocusElement = function() {
  if(this.HasTextInput) {
    if(!this.TextInput) {
      this.TextInput = document.getElementById(this.Id+'_Text');
    }
    this.FocusElement = this.TextInput;
  }
  else {
    if(!this.FocusHandler) {
      this.FocusHandler = document.getElementById(this.Id+'_StylizedSelect_Focus');
    }
    this.FocusElement = this.FocusHandler;
  }
}
StylizedSelectObject.prototype.ResetFocusFromSelect = function() {
  return true;
}
StylizedSelectObject.prototype.Focus = function() {
  if(!this.FocusElement) {
    this.SetFocusElement();
  }
  if(this.FocusElement) {
    this.FocusElement.focus();
    this.FocusedElement = this.FocusElement;
  }
  else {
    this.FocusedElement = null;
  }
}
StylizedSelectObject.prototype.Blur = function() {
  this.FocusElement.blur();
}
StylizedSelectObject.prototype.SetKeyValue = function(e) {
  var zKey = e.keyCode;
  if(zKey == 9) {
    return false;
  }
  else {
    this.ShowSelect();
    if(zKey == 40 || zKey == 39) {
      this.SelectNextOption();
      this.Focus();
    }
    else if(zKey == 38 || zKey == 37) {
      this.SelectPreviousOption();
      this.Focus();
    }
    else if(zKey == 27 || zKey == 13) {
      this.HideSelect();
      this.CallOnChange();
    }
    else {
      if(this.TextInput && this.TextInput.value == '' && this.IsSmartSelect) {
        this.Reset(this.Select);
      }
      else {
        this.SetMatchingOptions(zKey);
      }
    }
  }
  this.Focus();
  return true;
}
StylizedSelectObject.prototype.HandleEnterKey = function(e) {
  if(e.keyCode == 13) {
    return false;
  }
  return true;
}
StylizedSelectObject.prototype.SetMatchingOptions = function() {
  this.MatchOptionsTimeout = setTimeout('fStylizedSelects.GetSelect(\''+this.Id+'\').MatchOptions()',300);
}
StylizedSelectObject.prototype.ClearMatchOptionsTimeout = function() {
  if(this.MatchOptionsTimeout) {
    clearTimeout(this.MatchOptionsTimeout);
    this.MatchOptionsTimeout = false;
  }
}
StylizedSelectObject.prototype.MatchOptions = function() {
  var zMatches = new Array();
  zMatches = this.FindExact(zMatches,this.TextInput.value.toUpperCase(),true);
  zMatches = this.FindExact(zMatches,this.TextInput.value.toUpperCase(),true,true);
  zMatches = this.FindExact(zMatches,this.TextInput.value.toUpperCase());
  this.SetActiveOptions(zMatches);
}
StylizedSelectObject.prototype.SortDisplayOptions = function(aArray) {
  var x,y,zNode;
  var zBeforeNode = document.getElementById(this.Id+'_StylizedSelectNoMatch');
  var zParentNode = zBeforeNode.parentNode;
  for(x=0;x<aArray.length;x++){
    for(y=0;y<this.OriginalOptionArray.length;y++){
      if(aArray[x].Value==this.OriginalOptionArray[y].Value){
        zNode = document.getElementById(this.Id+'_StylizedSelect_Option'+y);
        zParentNode.insertBefore(zNode,zBeforeNode);
        break;
      }
    }
  }
}
function PlainSelect_SetMatchingOptions(aKey) {
  var zMatches = new Array();
  this.SelectNextOption(this.FindExact(zMatches,String.fromCharCode(aKey).toUpperCase(),true))
}
DropDownSelect.prototype.SetMatchingOptions = PlainSelect_SetMatchingOptions;
MultiLineSelect.prototype.SetMatchingOptions = PlainSelect_SetMatchingOptions;
StylizedSelectObject.prototype.SelectNextOption = function(aArray) {
  var zArray = (aArray) ? aArray : this.ActiveOptionArray;
  var zIndex = 0;
  for(var i = 0; i < zArray.length; i++) {
    if(zArray[i].OriginalArrayIndex == this.SelectedOptionIndex) {
      zIndex = i+1;
    }
  }
  this.DeSelectOption(this.SelectedOptionIndex);
  if(!zArray.length) {
    return false;
  }
  if(zIndex == zArray.length) {
    zIndex = 0;
  }
  this.SelectOption(zArray[zIndex].OriginalArrayIndex);
  if(!this.IsDropDown) {
    this.CallOnChange();
  }
  return true;
}
StylizedSelectObject.prototype.SelectPreviousOption = function(aArray) {
  var zArray = (aArray) ? aArray : this.ActiveOptionArray;
  var zIndex = 0;
  for(var i = 0; i < zArray.length; i++) {
    if(zArray[i].OriginalArrayIndex == this.SelectedOptionIndex) {
      zIndex = i-1;
    }
  }
  this.DeSelectOption(this.SelectedOptionIndex);
  if(!zArray.length) {
    return false;
  }
  if(zIndex < 0) {
    zIndex = zArray.length-1;
  }
  this.SelectOption(zArray[zIndex].OriginalArrayIndex);
  if(!this.IsDropDown) {
    this.CallOnChange();
  }
  return true;
}
StylizedSelectObject.prototype.ShowSelect = function() {
  if(this.IsDropDown) {
    if(!this.DropDownIsOpen) {
      this.SelectedOptionUponOpen = this.SelectedOptionIndex;
    }
    this.DropDownIsOpen = true;
    this.UpdateDropDownPosition()
    this.SelectContainer.style.display = 'block';
    this.ScrollOptionIntoView(this.SelectedOptionIndex);
  }
  fStylizedSelects.ActiveStylizedSelect = this;
  return true;
}
StylizedSelectObject.prototype.HideSelect = function(aIsFromFocus) {
  if(this.IsDropDown) {
    this.SelectContainer.style.display = 'none';
    if(aIsFromFocus && (this.SelectedOptionUponOpen != this.SelectedOptionIndex)) {
      this.CallOnChange();
    }
    this.DropDownIsOpen = false;
  }
  this.TurnOffHovers();
  fStylizedSelects.ActiveStylizedSelect = null;
  return true;
}
StylizedSelectObject.prototype.TurnOffHovers = function() {
  for(var i = 0; i < this.OriginalOptionArray.length; i++) {
    this.HoverOption(i,false);
  }
}
StylizedSelectObject.prototype.ToggleSelect = function() {
  if(this.SelectContainer.style.display == 'block'){
    this.HideSelect();
    this.CallOnChange();
  }
  else {
    this.ShowSelect();
    this.Focus();
  }
  return true;
}
StylizedSelectObject.prototype.PopulateTextInput = function(aIndex) {
  this.TextInput.value = this.Select[aIndex].text;
  return true;
}
StylizedSelectObject.prototype.Reset = function() {
  this.NoMatch.style.display = "none";
  this.SetActiveOptions(this.OriginalOptionArray);
  return true;
}
StylizedSelectObject.prototype.FindExact = function(aArray,aString,aBeginning,aBeginningOfWord) {
  var zIsMatch,zRegExp = new RegExp('(^|\\s)'+ escape(aString),'i');
  var zFound = false;
  for(var x = 0; x < this.OriginalOptionArray.length; x++) {
    if(aBeginningOfWord){
      zIsMatch = (this.OriginalOptionArray[x].Text.search(zRegExp) != -1);
    }else if(aBeginning) {
      zIsMatch = (this.OriginalOptionArray[x].Text.toUpperCase().indexOf(aString) == 0);
    }
    else {
      zIsMatch = (this.OriginalOptionArray[x].Text.toUpperCase().indexOf(aString) > 0);
    }
    if(zIsMatch) {
      zFound = false;
      for(var y = 0; y < aArray.length; y++) {
        if(aArray[y].Value == this.OriginalOptionArray[x].Value) {
          zFound = true;
          break;
        }
      }
      if(!zFound) {
        aArray[aArray.length] = this.OriginalOptionArray[x];
      }
    }
  }
  return aArray;
}
StylizedSelectObject.prototype.OpenSelectFromInput = function() {
  this.ShowSelect();
  return true;
}
StylizedSelectObject.prototype.FocusInput = function() {
  this.Focus();
  this.ToggleSelect();
  return true;
}
StylizedSelectObject.prototype.SetBlur = function() {
  this.FocusedElement = null;
  setTimeout('fStylizedSelects.GetSelect("'+this.Id+'").CheckFocus()',100);
  return true;
}
StylizedSelectObject.prototype.CheckFocus = function() {
  if(!this.FocusedElement) {
    this.HideSelect(true);
  }
  this.FocusedElement = null;
  return true;
}
StylizedSelectObject.prototype.SetActiveOptions = function(aArray) {
  this.SortDisplayOptions(aArray);
  this.ActiveOptionArray = aArray;
  var zDisplayOption;
  for(var i = 0; i < this.OriginalOptionArray.length; i++) {
    this.DeSelectOption(i);
    zDisplayOption = false;
    for(var j = 0; j < this.ActiveOptionArray.length; j++) {
      if(this.OriginalOptionArray[i] == this.ActiveOptionArray[j]) {
        zDisplayOption = true;
      }
    }
    if(zDisplayOption) {
      this.ShowOption(i);
    }
    else {
      this.HideOption(i);
    }
  }
  this.ResizeSelect();
  return true;
}
StylizedSelectObject.prototype.HideOption = function(aIndex) {
  this.OptionElementArray[aIndex].style.display = "none";
}
StylizedSelectObject.prototype.ShowOption = function(aIndex) {
  this.OptionElementArray[aIndex].style.display = "block";
}
StylizedSelectObject.prototype.ResizeSelect = function() {
  var zInnerHeight = 0;
  var zHide = false;
  if(this.SelectContainer.style.display=='none'){
    this.SelectContainer.style.display = 'block';
    zHide = true;
  }
  var zScrollHeight = this.StylizedSelect.scrollHeight;
  if(zScrollHeight == 'undefined') {
    zScrollHeight = this.SelectHeight;
  }
  var zMaxHeight = Math.min(zScrollHeight,this.SelectHeight);
  var zUseHeight;
  if(!this.ActiveOptionArray.length) {
    this.NoMatch.style.display = "block";
  }
  else {
    this.NoMatch.style.display = "none";
  }
  for(var i = 0; i < this.StylizedSelect.childNodes.length; i++) {
    if(typeof(this.StylizedSelect.childNodes[i].offsetHeight) != 'undefined' && this.StylizedSelect.childNodes[i].offsetHeight != 0) {
      zInnerHeight = zInnerHeight + Math.max(this.StylizedSelect.childNodes[i].offsetHeight,12);
    }
  }
  zInnerHeight = Math.min(zInnerHeight,zScrollHeight);
  zUseHeight = Math.min(zMaxHeight,zInnerHeight);
  if(fGlobalPointer && fGlobalPointer.Browser && fGlobalPointer.Browser.isIE) {
    zUseHeight = zUseHeight + 2;
  }
  this.StylizedSelect.style.height = zUseHeight + "px";
  if(zHide){
    this.SelectContainer.style.display = 'none';
  }
}
StylizedSelectObject.prototype.SelectValue = function(aValue) {
  for(var i = 0; i < this.OriginalOptionArray.length; i++) {
    if(this.OriginalOptionArray[i].Value == aValue) {
      this.SelectOption(i);
      this.CallOnChange();
      return true;
    }
  }
  return false;
}
StylizedSelectObject.prototype.SetInputValue = function(aString,aSelectFirst) {
  if(this.IsSmartSelect) {
    this.TextInput.value = aString;
    this.SetMatchingOptions();
    if(this.ActiveOptionArray.length && isTrue(aSelectFirst)) {
      this.SelectOption(this.ActiveOptionArray[0].OriginalArrayIndex);
      this.CallOnChange();
    }
  }
  return false;
}
StylizedSelectObject.prototype.AddOption = function(aText,aValue,aClass) {
  var zIndex = this.OriginalOptionArray.length;
  var zActiveIndex = this.ActiveOptionArray.length;
  this.Select.options[this.Select.options.length] = new Option(aText,aValue);
  this.OriginalOptionArray[zIndex] = new StylizedSelectOption(aText,aValue,aClass);
  this.OriginalOptionArray[zIndex].OriginalArrayIndex = zIndex;
  this.StylizedSelect.innerHTML = this.GetOptionsHtml(this.OriginalOptionArray);
  this.UpdateOptionElementArray();
  this.ActiveOptionArray[zActiveIndex] = this.OriginalOptionArray[zIndex];
  this.ShowOption(zActiveIndex);
  this.ShowSelect();
  this.ResizeSelect();
  this.HideSelect();
  for(var j = 0; j < this.Select.options.length; j++) {
    if(this.Select.options[j].selected) {
      this.SelectOption(j);
    }
  }
  return true;
}
StylizedSelectObject.prototype.SelectOptionByValue = function(aValue) {
  var zSelectedIndex = null;
  for(var i = 0; i < this.OriginalOptionArray.length; i++) {
    if(this.OriginalOptionArray[i].Value == aValue) {
      if(this.SelectedOptionArray[i] == "selected" && !this.Multiple) {
        return false;
      }
      if(zSelectedIndex == null) {
        zSelectedIndex = i;
      }
    }
  }
  if(zSelectedIndex == null) {
    return false;
  }
  for(var j = 0; j < this.OriginalOptionArray.length; j++) {
    if(j != zSelectedIndex && this.SelectedOptionArray[j] == "selected") {
      this.DeSelectOption(j);
    }
  }
  this.SelectOption(zSelectedIndex);
  return false;
}
function SetSelectValue(aSelectObject, aValue) {
  var zStylizedSelect = fStylizedSelects.GetSelect(aSelectObject.id);
  if(zStylizedSelect) {
    zStylizedSelect.SelectOptionByValue(aValue);
  }
  else {
    aSelectObject.value = aValue;
  }
  return;
}
function setMaxLength(aEvent){
  aEvent = (aEvent ? aEvent:window.event);
  var zElement = (aEvent.target ? aEvent.target:aEvent.srcElement)
  var zMaxLength = parseInt(zElement.getAttribute('maxlength'));
  if(zElement.value.length>zMaxLength){
    zElement.value = zElement.value.substr(0,zMaxLength);
  }
  return true;
}
function InitializeTextareaMaxLength(){
  var x,zMaxLength;
  var zTextareas = document.getElementsByTagName('TEXTAREA');
  for(x=0;x<zTextareas.length;x++){
    zMaxLength = zTextareas[x].getAttribute('maxlength');
    if(zMaxLength){
      appendEventHandler(zTextareas[x],'onkeyup',setMaxLength);
    }
  }
  return true;
}
var CsvInput = {
  Set:function(aParams){
    var zCsv = [];
    var zTitleList = {};
    var zItem,zColumn;
    var zDataArray = [];
    var zTitleArray = [];
    var zInput = $(aParams.Input);
    if(!aParams.Data){
      try{
        eval("aParams.Data = "+ zInput.getAttribute('csvdata'));
      }catch(e){
      }
    }
    if(aParams.Data){
      if(aParams.Data.length>=0){
        zDataArray = aParams.Data;
      }else{
        zDataArray = [];
        for(zItem in aParams.Data){
          zDataArray.push(aParams.Data[zItem]);
        }
      }
    }
    if(aParams.TitleArray && aParams.TitleArray.length > 0 ){
      zTitleArray = aParams.TitleArray;
    }else if(zInput.getAttribute('csvtitlearray')){
      zTitleArray = zInput.getAttribute('csvtitlearray').split(',');
    }
    if(!zTitleArray || zTitleArray.length == 0){
      zDataArray.forEach(function(aItem){
        for(zColumn in aItem){
          if(!zTitleList[zColumn] && (typeof aItem[zColumn] == 'number' || typeof aItem[zColumn] == 'string')){
            zTitleArray.push(zColumn);
            zTitleList[zColumn] = zColumn;
          }
        }
      });
    }else{
      zTitleArray.forEach(function(aColumn){
        zTitleList[aColumn] = aColumn;
      });
    }
    zCsv.push(zTitleArray.join(','));
    zDataArray.forEach(function(aItem){
      zCsv.push(EncodeItem(aItem));
    });
    zInput.value = zCsv.join('\n');
    function EncodeItem(aItem){
      var zReturn = [];
      zTitleArray.forEach(function(aColumn){
        if(typeof aItem[aColumn] == 'number' || typeof aItem[aColumn] == 'string'){
          zReturn.push(encodeURIComponent(aItem[aColumn]));
        }else{
          zReturn.push('');
        }
      });
      return zReturn.join(',');
    };
  },
  SetSubmit:function(aParams){
    appendEventHandler($(aParams.Input).form,'onsubmit',function(e,aParams){ CsvInput.Set(aParams); return true; },aParams);
  },
  GetElements:function(aStartElement){
    var zResults = [].concat(
      getElementsWithAttribute('csvdata',null,'input',aStartElement),
      getElementsWithAttribute('csvdata',null,'textarea',aStartElement)
    );
    return zResults;
  },
  InitializeInput:function(aElement){
    CsvInput.SetSubmit({
      Input:aElement
    });
  }
};
Widgets.Add({
  Id: "CsvInput",
  GetElementsFunction:CsvInput.GetElements,
  ElementInitFunction:CsvInput.InitializeInput
});
// End JSIncludeFile:Action_JSIncludeFormControls
// Start JSIncludeFile:Action_JS
var aTrapJSErrors = (GetQueryValue('ATRAPJSERRORS')!='' ? GetQueryValue('ATRAPJSERRORS'):null);
if(isTrue(VarDef(aTrapJSErrors,(isTrue('N')? 'N':'Y')))){
  var fErrorCount = 0;
  function captureErrors(aDescription,aPage,aLine,aChar){
    fErrorCount++;
    if(!aDescription){aDescription = 'UNKNOWN'}
      var zMode = ' (live)';
    if(fErrorCount<=5 && aDescription!='error loading script'){
      var zMessage = new Array();
      zMessage[zMessage.length] = 'A JavaScript error has occurred in '+ window.location.hostname;
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = 'Error Details:';
      zMessage[zMessage.length] = '  Error Number:'+ fErrorCount;
      if(aDescription){ zMessage[zMessage.length] = '  Description:'+ aDescription; }
      if(aPage){ zMessage[zMessage.length] = '  Page:'+ aPage; }
      if(aLine){ zMessage[zMessage.length] = '  Line:'+ aLine; }
      if(aChar){ zMessage[zMessage.length] = '  Char:'+ aChar; }
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = 'Additional Information:';
      zMessage[zMessage.length] = '  url:'+ window.location.href;
      zMessage[zMessage.length] = '  userAgent:'+ navigator.userAgent;
      zMessage[zMessage.length] = '  platform:'+ navigator.platform;
      zMessage[zMessage.length] = '  referrer:'+ document.referrer;
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = '';
      zMessage[zMessage.length] = 'View System Notification:';
      SystemNotification('','',zMessage.join('\n'),'JS Error: '+aDescription.substring(0, 100)+zMode+' ('+ fErrorCount +')','JSError','High','Y','Y');
    }
    return true;
  }
  window.onerror = captureErrors;
}
// End JSIncludeFile:Action_JS
// Start ModuleJS:Action_ModuleJS
  // DomainInterfaceModule.ModuleJS
  // CompanyManager.ModuleJS
  // UserManager.ModuleJS
  // AccessManager.ModuleJS
  // ClientManager.ModuleJS
  // MediaTypeManager.ModuleJS
function keyPressAdd(aEvent,aMulitpleInputObject,aValueInputId) {
  if(aEvent.keyCode==13) {
    aMulitpleInputObject.Add(UniqueVar(), document.getElementById(aValueInputId).value, 'NEW')
    return false;
  }
  return true;
}
function MediaType_MultipleInput (aConfigObject) {
  this.Config = aConfigObject;
  return this;
}
MediaType_MultipleInput.prototype.Init = function (aDebug) {
  DebugAlert.Enabled=true;
  this.GridInput = new InputGridObject(this.Config.Id,false,false);
  this.GridInput.AddColumn('Id');
  this.GridInput.AddColumn('Value');
  this.GridInput.AddColumn('Status');
  this.InputList = new Array();
  this.CurrentEditIndex = null;
  if (this.Config.Values!= null && this.Config.Values.length > 0) {
    for(var x = 0; x < this.Config.Values.length; x++) {
      this.Add(this.Config.Values[x].Id, this.Config.Values[x].Value, 'EXISTING')
    }
  }
}
MediaType_MultipleInput.prototype.Add = function (aId, aValue, aStatus) {
  if (aValue && aValue != '') {
    if(this.CurrentEditIndex != null && this.CurrentEditPreviousStatus != null) {
      this.InputList[this.CurrentEditIndex].Value = aValue;
      this.InputList[this.CurrentEditIndex].Status = this.CurrentEditPreviousStatus;
      this.GridInput.Rows('NameValue_' + (this.CurrentEditIndex)).Column('Value').Set(aValue);
      this.GridInput.Rows('NameValue_' + (this.CurrentEditIndex)).Column('Status').Set(this.CurrentEditPreviousStatus);
      this.CurrentEditIndex = null;
      this.CurrentEditPreviousStatus = null;
    }
    else {
      aId = (aId) ? aId : UniqueVar();
      this.InputList[this.InputList.length] = {Id: aId, Value: aValue, Status: aStatus};
      this.GridInput.AddRow('NameValue_'+(this.InputList.length-1),this.InputList[this.InputList.length-1]);
    }
    document.getElementById(this.Config.ValueInputId).value = '';
    this.Draw();
    return true;
  }
}
MediaType_MultipleInput.prototype.Edit = function (aIndex) {
  if (aIndex != null && aIndex >= 0) {
    if (this.CurrentEditIndex != null && this.CurrentEditPreviousStatus != null) {
      this.InputList[this.CurrentEditIndex].Id = (this.InputList[this.CurrentEditIndex].Id) ? this.InputList[this.CurrentEditIndex].Id : UniqueVar();
      this.InputList[this.CurrentEditIndex].Value = document.getElementById(this.Config.ValueInputId).value;
      this.InputList[this.CurrentEditIndex].Status = this.CurrentEditPreviousStatus;
    }
    this.CurrentEditIndex = aIndex;
    this.CurrentEditPreviousStatus = this.InputList[aIndex].Status;
    this.InputList[aIndex].Status = 'EDITTING';
    this.GridInput.Rows('NameValue_' + (this.CurrentEditIndex)).Column('Status').Set('EDITTING');
    document.getElementById(this.Config.ValueInputId).value = this.InputList[aIndex].Value;
    this.Draw();
  }
}
MediaType_MultipleInput.prototype.Remove = function (aIndex) {
  if (aIndex != null && aIndex >= 0) {
    this.InputList[aIndex].Status = 'DELETED';
    this.GridInput.Rows('NameValue_' + (aIndex)).Column('Status').Set('DELETED');
    this.Draw();
  }
}
MediaType_MultipleInput.prototype.Draw = function () {
  var zNameValueHTML = '';
  for (var i = 0; i < this.InputList.length; i++) {
    if(this.InputList[i].Status == 'NEW' || this.InputList[i].Status == 'EXISTING') {
      zNameValueHTML += '<div class="MediaTypeManager_MultipleInputContainer">'
                      +  '<div class="MediaTypeManager_MultipleInputNameContainer">'
                      +     this.InputList[i].Value
                      +  '</div>'
                      +  '<div class="MediaTypeManager_MultipleInputLinksContainer">'
                      +   '<div class="MediaTypeManager_MultipleInputEditLinkContainer"><a href="javascript: void(0);" onClick="'+this.Config.Id+'.Edit('+i+')">[Edit]</a></div>'
                      +   '<div class="MediaTypeManager_MultipleInputRemoveLinkContainer"><a href="javascript: void(0);" onClick="'+this.Config.Id+'.Remove('+i+')">[Remove]</a></div>'
                      +  '</div>'
                      + '</div>';
    }
  }
  document.getElementById(this.Config.InputContainerId).innerHTML = zNameValueHTML;
}
function MediaType_PriceMatrix (aConfigObject) {
  this.Config = aConfigObject;
  this.Prices = new Array();
  if(this.Config.PriceMatrix != null) {
    for(var zPriceMatrixCount = 0; zPriceMatrixCount < this.Config.PriceMatrix.length; zPriceMatrixCount++) {
      this.Prices[this.Config.PriceMatrix[zPriceMatrixCount].SizeFormat] = this.Config.PriceMatrix[zPriceMatrixCount].Price;
    }
  }
  return this;
}
MediaType_PriceMatrix.prototype.Init = function (aDebug) {
  this.GridInput = new InputGridObject(this.Config.Id,false,aDebug);
  this.ColumnIds  = new Array();
  this.GridInput.AddColumn('Size');
  this.GridInput.AddColumn('Format');
  this.GridInput.AddColumn('Price');
  if(this.Config.Formats != null && this.Config.Sizes != null){
    for(var zFormatCount = 0; zFormatCount < this.Config.Formats.length; zFormatCount++) {
      for(var zSizeCount = 0; zSizeCount < this.Config.Sizes.length; zSizeCount++) {
        this.GridInput.AddRow('PriceMatrix_'+zFormatCount+'_'+zSizeCount,{Size: this.Config.Sizes[zSizeCount].Value, Format: this.Config.Formats[zFormatCount].Value, Price: ''});
        var zIndex = this.Config.Sizes[zSizeCount].Value+'_'+this.Config.Formats[zFormatCount].Value;
        var zPrice = '';
        if (this.Prices[zIndex] != null) {
          zPrice = this.Prices[zIndex];
        }
        this.AddPrice(zFormatCount,zSizeCount,zPrice);
      }
    }
    this.DrawGrid();
  }
  else {
    document.write('Please add formats and sizes');
    fHideSubmitButton = true;
    return false;
  }
  return true;
}
MediaType_PriceMatrix.prototype.AddPrice = function(aFormatId, aSizeId, aPrice) {
  this.GridInput.Rows('PriceMatrix_' + aFormatId+'_'+aSizeId).Column('Price').Set(aPrice);
}
MediaType_PriceMatrix.prototype.DrawGrid = function() {
  var zGridHtmlArray = new Array();
  var zRowHtmlArray = new Array();
  var zGridRows = this.GridInput.GetValues();
  zGridHtmlArray[zGridHtmlArray.length] = '<table>';
  zRowHtmlArray[zRowHtmlArray.length] = '<tr>';
  zRowHtmlArray[zRowHtmlArray.length] = '<th>&nbsp;</th>';
  for(var zColumnCount = 0; zColumnCount < this.Config.Formats.length; zColumnCount++) {
    zRowHtmlArray[zRowHtmlArray.length] = '<th>'+this.Config.Formats[zColumnCount].Value+'</th>';
  }
  zRowHtmlArray[zRowHtmlArray.length] = '</tr>';
  for(var zRowCount = 0; zRowCount < this.Config.Sizes.length; zRowCount++) {
    zRowHtmlArray[zRowHtmlArray.length] = '<tr><td>'+this.Config.Sizes[zRowCount].Value+'</td>';
    for(var zColumnCount = 0; zColumnCount < this.Config.Formats.length; zColumnCount++) {
      zPriceColumn = zGridRows['PriceMatrix_'+zColumnCount+'_'+zRowCount];
      zRowHtmlArray[zRowHtmlArray.length] = '<td><input type="text" onChange="'+this.Config.Id+'.AddPrice(\''+zColumnCount+'\',\''+zRowCount+'\',this.value);" value="'+zPriceColumn['Price']+'" /></td>';
    }
    zRowHtmlArray[zRowHtmlArray.length] = '</tr>';
  }
  zGridHtmlArray[zGridHtmlArray.length] = zRowHtmlArray.join('');
  zGridHtmlArray[zGridHtmlArray.length] = '</table>';
  document.getElementById(this.Config.MatrixContainerId).innerHTML = zGridHtmlArray.join('');
}
  // IndustryManager.ModuleJS
var SystemLanguage = {
  Init:function(){
    if($('inpSystemLanguage') && $('inpSystemLanguageGo')){
      appendEventHandler($('inpSystemLanguageGo'),'onclick',SystemLanguage.SelectLanguage);
    }
    return true;
  },
  SelectLanguage:function(){
    var zLanguage = $('inpSystemLanguage').value;
    LiveRequest_MakeRequest('/Javascript.SetLanguage?aObjectTypeAlias=UserLink&inpLanguage='+zLanguage,SystemLanguage.ReloadFrames,zLanguage);
  },
  ReloadFrames:function(aItem,inpLanguage){
    var zURL = setURLVariable('aLanguage',inpLanguage,self.top.location.href,true);
    top.location.href = zURL;
  }
}
function Industry_ChangeInputField(aInputField){
  aInputField = unescape(aInputField);
  var inputField = document.getElementById('inp_'+ aInputField);
  var checkbox= document.getElementById('inpEnable_'+ aInputField);
  if (checkbox.checked){
    if (inputField.value==""){
      inputField.value=document.getElementById('inpHidden_'+ aInputField).value;
    }
    inputField.readOnly=false;
  }
  else{
    inputField.readOnly=true;
  }
}
function Industry_keyPressAdd(aEvent,aMulitpleInputObject,aValueInputId) {
  if(aEvent.keyCode==13) {
    aMulitpleInputObject.Add(document.getElementById(aValueInputId).value, 'NEW')
    return false;
  }
  return true;
}
function Industry_MultipleInput (aConfigObject) {
  this.Config = aConfigObject;
  return this;
}
Industry_MultipleInput.prototype.Init = function (aDebug) {
  this.GridInput = new InputGridObject(this.Config.Id,false,aDebug);
  this.GridInput.AddColumn('Value');
  this.GridInput.AddColumn('Status');
  this.InputList = new Array();
  this.CurrentEditIndex = null;
  if (this.Config.Values!= null && this.Config.Values.length > 0) {
    for(var x = 0; x < this.Config.Values.length; x++) {
      this.Add(this.Config.Values[x].Value, 'EXISTING')
    }
  }
}
Industry_MultipleInput.prototype.Add = function (aValue, aStatus) {
  if (aValue && aValue != '') {
    if(this.CurrentEditIndex != null && this.CurrentEditPreviousStatus != null) {
      this.InputList[this.CurrentEditIndex].Value = aValue;
      this.InputList[this.CurrentEditIndex].Status = this.CurrentEditPreviousStatus;
      this.GridInput.Rows('NameValue_' + (this.CurrentEditIndex)).Column('Value').Set(aValue);
      this.GridInput.Rows('NameValue_' + (this.CurrentEditIndex)).Column('Status').Set(this.CurrentEditPreviousStatus);
      this.CurrentEditIndex = null;
      this.CurrentEditPreviousStatus = null;
    }
    else {
      this.InputList[this.InputList.length] = {Value: aValue, Status: aStatus};
      this.GridInput.AddRow('NameValue_'+(this.InputList.length-1),this.InputList[this.InputList.length-1]);
    }
    document.getElementById(this.Config.ValueInputId).value = '';
    this.Draw();
    return true;
  }
}
Industry_MultipleInput.prototype.Edit = function (aIndex) {
  if (aIndex != null && aIndex >= 0) {
    if (this.CurrentEditIndex != null && this.CurrentEditPreviousStatus != null) {
      this.InputList[this.CurrentEditIndex].Value = document.getElementById(this.Config.ValueInputId).value;
      this.InputList[this.CurrentEditIndex].Status = this.CurrentEditPreviousStatus;
    }
    this.CurrentEditIndex = aIndex;
    this.CurrentEditPreviousStatus = this.InputList[aIndex].Status;
    this.InputList[aIndex].Status = 'EDITTING';
    this.GridInput.Rows('NameValue_' + (this.CurrentEditIndex)).Column('Status').Set('EDITTING');
    document.getElementById(this.Config.ValueInputId).value = this.InputList[aIndex].Value;
    this.Draw();
  }
}
Industry_MultipleInput.prototype.Remove = function (aIndex) {
  if (aIndex != null && aIndex >= 0) {
    this.InputList[aIndex].Status = 'DELETED';
    this.GridInput.Rows('NameValue_' + (aIndex)).Column('Status').Set('DELETED');
    this.Draw();
  }
}
Industry_MultipleInput.prototype.Draw = function () {
  var zNameValueHTML = '';
  for (var i = 0; i < this.InputList.length; i++) {
    if(this.InputList[i].Status == 'NEW' || this.InputList[i].Status == 'EXISTING') {
      zNameValueHTML += '<div class="IndustryManager_MultipleInputContainer">'
                      +  '<div class="IndustryManager_MultipleInputNameContainer">'
                      +     this.InputList[i].Value
                      +  '</div>'
                      +  '<div class="IndustryManager_MultipleInputLinksContainer">'
                      +   '<div class="IndustryManager_MultipleInputEditLinkContainer"><a href="javascript: void(0);" onClick="'+this.Config.Id+'.Edit('+i+')">[Edit]</a></div>'
                      +   '<div class="IndustryManager_MultipleInputRemoveLinkContainer"><a href="javascript: void(0);" onClick="'+this.Config.Id+'.Remove('+i+')">[Remove]</a></div>'
                      +  '</div>'
                      + '</div>';
    }
  }
  document.getElementById(this.Config.InputContainerId).innerHTML = zNameValueHTML;
}
  // Search.ModuleJS
  // LiveCreditCardProcessor.ModuleJS
  // FastChannel.ModuleJS
  // ContactManager.ModuleJS
  // LiveAnalysis.ModuleJS
  // LiveContent.ModuleJS
function HighlightButton (aID){
  document.getElementById('NoImageContainer').style.border = 'none';
  document.getElementById('LeftImageContainer').style.border = 'none';
  document.getElementById('RightImageContainer').style.border = 'none';
  document.getElementById('TopImageContainer').style.border = 'none';
  document.getElementById(aID).style.border="3px coral solid";
}
var fAttachList = new AttachmentContainer('fAttachList');
  // LiveBuilder.ModuleJS
  // LiveDigitalAsset.ModuleJS
function LiveDigitalAsset_SelectAllTypes (aIds, aAllCheckBox) {
  var zIdArray = aIds.split(',');
  for(i=0; i < zIdArray.length; i++) {
    zTypeInput = document.getElementById(zIdArray[i]);
    if(aAllCheckBox.checked) {
      zTypeInput.disabled = true;
    }
    else {
      zTypeInput.disabled = false;
    }
  }
  return;
}
function LiveDigitalAsset_CheckCategory() {
  return true;
}
function LiveDigitalAsset_ToggleViewControls (e) {
  var zViewControls = document.getElementById('LiveDigitalAsset_ToggleViewControls');
  if(zViewControls.style.display == 'none' || zViewControls.style.display == ''){
    zViewControls.style.display = 'block';
    var zX = e.clientX+5;
    var zY = e.clientY+10;
    PlaceElementInView(zViewControls, document.body, zX, zY);
  }
  else {
    hide(zViewControls);
  }
}
function LiveDigitalAsset_ChangeInputField(aCheckbox,aDiv){
  var inputField = document.getElementById(aDiv);
  var checkbox= document.getElementById(aCheckbox);
  if (checkbox.checked){
    inputField.style.display='block';
  }
  else{
    inputField.style.display='none';
  }
}
function __lad(a,b,c,d,e,f,g) {
  var s = window.screen;
  document.write('<a href="'+c+'">'
          +'\<im'+'g s'+'rc="'
          +a
          +Math.random()
          +'?tu='+b
          +'&iid='+d
          +'&cid='+e
          +'&u='+location.href
          +'&ru='+document.referrer
          +'&bt=browser_type'
          +'&bv=browser_version'
          +'&sr='+s.width+'x'+s.height
          +'" width="'+f+'" height="'+g+'" border="0" alt="" \/>\<\/a>');
}
function __lflv(a,b,c,d,e) {
  var s = window.screen;
  var flvUrl = a
             +Math.random()
             +'%3Ftu%3D'+b
             +'%26iid%3D'+d
             +'%26cid%3D'+e
             +'%26u%3D'+location.href
             +'%26ru%3D'+document.referrer
             +'%26bt%3Dbrowser_type'
             +'%26bv%3Dbrowser_version'
             +'%26sr%3D'+s.width+'x'+s.height;
  return flvUrl;
}
var RateIt = {
  MaxRating:5,
  Init: function(aElement) {
    aElement.CurrentRating = aElement.getAttribute('AvgRating');
    aElement.PagePath      = aElement.getAttribute('ItemPath').toPagePath();
    if (hasAttribute(aElement,"ReadOnly","Y")) {
      aElement.ReadOnly = 'Y';
    }
    RateIt.Create(aElement);
    RateIt.Display('',aElement);
    return true;
  },
  Create: function(aElement) {
    for (i = 1; i <= RateIt.MaxRating; i++) {
      var zNode = document.createElement('div');
      zNode.Id = i;
      if (aElement.ReadOnly!='Y') {
        appendEventHandler(zNode,'onmouseout',RateIt.Display,aElement);
        appendEventHandler(zNode,'onmouseover',RateIt.Hover,zNode);
        appendEventHandler(zNode,'onclick',RateIt.WriteData,zNode);
        zNode.style.cursor = 'pointer';
      }
      aElement.appendChild(zNode);
    }
    return true;
  },
  Hover: function(e,aChildElement) {
    var zClassName = '';
    var zParent_Object = aChildElement.parentNode;
    for (k = 0; k < zParent_Object.childNodes.length; k++) {
      if (aChildElement.Id >= (k+1)) {
        zClassName = 'Rating_Full';
      } else {
        zClassName = 'Rating_Empty';
      }
      zParent_Object.childNodes[k].className = zClassName;
    }
    return true;
  },
  WriteData: function(e,aChildElement) {
    var zParent_Object = aChildElement.parentNode;
    LiveRequest_MakeRequest( zParent_Object.PagePath + '.RatingComplete?aRatingValue='+ aChildElement.Id +'&aItemId=' + zParent_Object.id, RateIt.Confirm, aChildElement);
    return true;
  },
  Display: function(e,aElement) {
    for (j = 0; j < aElement.childNodes.length; j++) {
      var zRatingCount = (j+1)
      if (aElement.CurrentRating>0) {
        if (zRatingCount <= aElement.CurrentRating) {
          aElement.childNodes[j].className = 'Rating_Full';
        } else {
          if ((zRatingCount - 1) < aElement.CurrentRating) {
            aElement.childNodes[j].className = 'Rating_Half';
          } else {
            aElement.childNodes[j].className = 'Rating_Empty';
          }
        }
      } else {
        aElement.childNodes[j].className = 'Rating_Empty';
      }
    }
    return true;
  },
  Confirm: function(e,aChildElement) {
    var zParent_Object = aChildElement.parentNode;
    zParent_Object.innerHTML = 'Thank you for rating this item.';
  }
}
Widgets.Add({
  Id: "Rating",
  Attribute: "RateIt",
  Value: "Y",
  ElementInitFunction: RateIt.Init
});
  // LiveGroup.ModuleJS
  // LiveAdvert.ModuleJS
  // LiveMediaLocationManager.ModuleJS
// End ModuleJS:Action_ModuleJS
var Layout = {
  ScaleTo:function(aParams){
    aParams.MinWidth = aParams.MinWidth || 1;
    aParams.MinHeight = aParams.MinHeight || 1;
    var zScale = Math.min(aParams.MaxWidth/aParams.Width,aParams.MaxHeight/aParams.Height);
    if(zScale*aParams.Width<aParams.MinWidth || zScale*aParams.Height<aParams.MinHeight ){
      zScale = Math.max(aParams.MinWidth/aParams.Width,aParams.MinHeight/aParams.Height);
    }
    return zScale;
  },
  getDisplayAspectRatio:function(aAspectRatio){
    var zAspectRatio = aAspectRatio.split(":");
    if(zAspectRatio[0] == 1 || zAspectRatio[1] == 1) {
      zAspectRatio[0] *= 2;
      zAspectRatio[1] *= 2;
    }
    return zAspectRatio[0] + ":" + zAspectRatio[1];
  },
  CreateWireframe:function(aParams){
    aParams.MaxWidth = aParams.MaxWidth || 250;
    aParams.MaxHeight = aParams.MaxHeight || 250;
    aParams.MinWidth = aParams.MinWidth || 1;
    aParams.MinHeight = aParams.MinHeight || 1;
    aParams.PageSpacing = aParams.PageSpacing || 10;
    aParams.IdField = aParams.IdField || 'DisplayName';
    aParams.BorderWidth = (typeof aParams.BorderWidth != "undefined" ? aParams.BorderWidth : 1);
    aParams.Layout.PageArray = aParams.Layout.PageArray || [];
    var zPageCount = aParams.Layout.PageCount || 1;
    var i,zPageData,zBackground;
    var zLeftOffset,zTopOffset;
    var zVertical = (aParams.Layout.Width > aParams.Layout.Height);
    var zOutput = {
      Multiplier:1,
      Background:null,
      Container:null,
      EmptyArea:null,
      AreaList:{},
      AreaArray:[],
      PageArray:[]
    };
    zOutput.Multiplier = Layout.ScaleTo({
      Width:aParams.Layout.Width,
      Height:aParams.Layout.Height,
      MaxWidth:aParams.MaxWidth,
      MaxHeight:aParams.MaxHeight,
      MinWidth:aParams.MinWidth,
      MinHeight:aParams.MinHeight
    });
    zOutput.Container = CreateBasicElement("div", null, "LayoutWireframe");
    var zBackgroundWidth = (aParams.UseBackground ? 17:0);
    if(aParams.Layout.PageArray.length<=0) {
      for(i=1; i<=zPageCount; i++) {
        aParams.Layout.PageArray.push({Width: aParams.Layout.Width, Height: aParams.Layout.Height});
      }
    }
    var zMaxPageWidth = 0;
    var zMaxPageHeight = 0;
    var zTotalPageWidth = 0;
    var zTotalPageHeight = 0;
    var zContainerWidth,zContainerHeight;
    aParams.Layout.PageArray.forEach(function(aPage) {
      var zWidth = (zOutput.Multiplier * parseFloat(aPage.Width))-(aParams.BorderWidth*2)+zBackgroundWidth;
      var zHeight = (zOutput.Multiplier * parseFloat(aPage.Height))-(aParams.BorderWidth*2);
      aPage.BasePageWidth = zWidth;
      aPage.BasePageHeight = zHeight;
      if(zWidth>zMaxPageWidth) {
        zMaxPageWidth = zWidth;
      }
      if(zHeight>zMaxPageHeight) {
        zMaxPageHeight = zHeight;
      }
      zTotalPageWidth += zWidth;
      zTotalPageHeight += zHeight;
    });
    if(zVertical){
      var zContainerWidth = zMaxPageWidth;
      var zContainerHeight = zTotalPageHeight + ((zPageCount-1)*aParams.PageSpacing);
    }else{
      var zContainerWidth = zTotalPageWidth + ((zPageCount-1)*aParams.PageSpacing);
      var zContainerHeight = zMaxPageHeight;
    }
    zOutput.Container.style.height = zContainerHeight + "px";
    zOutput.Container.style.width =  zContainerWidth+ "px";
    zOutput.EmptyArea = CreateBasicElement("div", null, "EmptyArea");
    zOutput.EmptyArea.style.height = zContainerHeight + "px";
    zOutput.EmptyArea.style.width = zContainerWidth + "px";
    zOutput.Container.appendChild(zOutput.EmptyArea);
    var zPageSpacingOffsetWidth = 0;
    var zPageSpacingOffsetHeight = 0;
    for(i=1;i<=zPageCount;i++){
      var zBasePageWidth = aParams.Layout.PageArray[i-1].BasePageWidth;
      var zBasePageHeight = aParams.Layout.PageArray[i-1].BasePageHeight;
      zPageData = {
        Width:aParams.Layout.PageArray[i-1].Width,
        Height:aParams.Layout.PageArray[i-1].Height,
        BasePageWidth: zBasePageWidth,
        BasePageHeight: zBasePageHeight,
        PageSpacingOffsetWidth: zPageSpacingOffsetWidth,
        PageSpacingOffsetHeight: zPageSpacingOffsetHeight,
        AspectRatio:aParams.Layout.AspectRatio,
        Duration:aParams.Layout.Duration || 0,
        Number:(aParams.Layout.IsSequence == "Y" ? 1:i),
        Id:"Page"+i,
        Background:null,
        AreaArray:[]
      };
      if(zVertical){
        zTopOffset = zPageSpacingOffsetHeight +((i-1)*aParams.PageSpacing);
        zLeftOffset = zBackgroundWidth;
      }else{
        zTopOffset = 0;
        zLeftOffset = zPageSpacingOffsetWidth +((i-1)*aParams.PageSpacing) +zBackgroundWidth;
      }
      zPageSpacingOffsetWidth += zBasePageWidth;
      zPageSpacingOffsetHeight += zBasePageHeight;
      zPageData.EmptyArea = CreateBasicElement("div", null, "EmptyPageArea");
      zPageData.EmptyArea.style.top = zTopOffset + "px";
      zPageData.EmptyArea.style.left = zLeftOffset + "px";
      zPageData.EmptyArea.style.height = zBasePageHeight + "px";
      zPageData.EmptyArea.style.width = (zBasePageWidth-zBackgroundWidth) + "px";
      zOutput.Container.appendChild(zPageData.EmptyArea);
      zOutput.PageArray.set(zPageData,zPageData.Id);
      zOutput.Container.appendChild(zPageData.EmptyArea);
    }
    if(aParams.UseBackground){
      for(i=1;i<=zPageCount;i++){
        zPageData = zOutput.PageArray.get("Page"+i);
        var zBasePageWidth = zPageData.BasePageWidth;
        var zBasePageHeight = zPageData.BasePageHeight;
        if(zVertical){
          zTopOffset = zPageData.PageSpacingOffsetHeight +((i-1)*aParams.PageSpacing);
          zLeftOffset = 0;
        }else{
          zTopOffset = 0;
          zLeftOffset = zPageData.PageSpacingOffsetWidth +((i-1)*aParams.PageSpacing);
        }
        zBackground = CreateBasicElement("div", null, "Area BackgroundArea");
        zBackground.style.width = "15px";
        zPageData.AspectRatio = aspectRatio(zPageData.Width,zPageData.Height);
        zBackground.style.height = (Math.max((zOutput.Multiplier * zPageData.Height),12)-12) + "px";
        zBackground.style.left = (zLeftOffset) + "px";
        zBackground.style.top = (zTopOffset+6) + "px";
        zBackground.setAttribute('area_aspect','Background'+ i +'_'+ zPageData.AspectRatio);
        zBackground.setAttribute('areaname_aspect','Background'+ zPageData.Number +'_'+ zPageData.AspectRatio);
        zBackground.setAttribute('areaid','Background'+ i);
        zBackground.setAttribute('areaname','Background'+ zPageData.Number);
        zBackground.setAttribute('aspectratio',zPageData.AspectRatio);
        zPageData.Background = zBackground;
        zOutput.Container.appendChild(zBackground);
      }
      zOutput.Background = zOutput.PageArray[0].Background;
    }
    var zAreaArray = aParams.Layout.AreaArray || aParams.Layout.Areas;
    zAreaArray.forEach(function(aArea){
      var zPageNumber = (aArea.PageNumber ? aArea.PageNumber:1);
      var zPageId = "Page" + zPageNumber;
      var zAreaElement = CreateBasicElement("div", null, "Area");
      zPage = zOutput.PageArray.get(zPageId);
      var zBasePageWidth = zPage.BasePageWidth;
      var zBasePageHeight = zPage.BasePageHeight;
      if(zVertical){
        zTopOffset = zPage.PageSpacingOffsetHeight +((zPageNumber-1)*aParams.PageSpacing);
        zLeftOffset = 0;
      }else{
        zTopOffset = 0;
        zLeftOffset = zPage.PageSpacingOffsetWidth +((zPageNumber-1)*aParams.PageSpacing);
      }
      zAreaElement.setAttribute('areaname_aspect',aArea.DisplayName +'_'+ aArea.AspectRatio);
      zAreaElement.setAttribute('area_aspect',aArea[aParams.IdField] +'_'+ aArea.AspectRatio);
      zAreaElement.setAttribute('areaid',aArea[aParams.IdField]);
      zAreaElement.setAttribute('areaname',aArea.DisplayName);
      zAreaElement.setAttribute('aspectratio',aArea.AspectRatio);
      zOutput.AreaList[aArea[aParams.IdField]] = zAreaElement;
      zOutput.AreaArray.push(zAreaElement);
      if(zPage){
        zPage.AreaArray.set(zAreaElement,aArea[aParams.IdField]);
      }
      zAreaElement.style.left = ((aArea.Left * zOutput.Multiplier) + zLeftOffset + zBackgroundWidth) + "px";
      zAreaElement.style.top = ((aArea.Top * zOutput.Multiplier) + zTopOffset )+ "px";
      var zDimension = ((aArea.Width * zOutput.Multiplier)-(aParams.BorderWidth*2));
      if (zDimension < 1) {zDimension = 1;}
      zAreaElement.style.width = zDimension + "px";
      zDimension = ((aArea.Height * zOutput.Multiplier)-(aParams.BorderWidth*2));
      if (zDimension < 1) {zDimension = 1;}
      zAreaElement.style.height = zDimension + "px";
      zOutput.Container.appendChild(zAreaElement);
    });
    return zOutput;
  },
  ShowAssetPreview:function(e,aAsset){
    e = fixEvent(e);
    if(Layout.CurrentAssetPreview){
      Layout.HideAssetPreview(Layout.CurrentAssetPreview);
    }
    Layout.CurrentAssetPreview = aAsset;
    if(aAsset._PreviewElement) {
      aAsset._PreviewElement.style.display = "block";
    } else {
      var zURL = aAsset.ViewFullThumbnailURL;
      var zContainer = CreateBasicElement("div",null,"AssetPreviewContainer");
      var zImg = CreateBasicElement("img");
      var zHeading = CreateBasicElement("div",null,"AssetPreviewHeader");
      zHeading.innerHTML = 'close preview';
      zImg.src    = aAsset.ViewFullThumbnailURL;
      zImg.width  = aAsset.ViewFullThumbnailWidth;
      zImg.height = aAsset.ViewFullThumbnailHeight;
      zContainer.appendChild(zHeading);
      zContainer.appendChild(zImg);
      aAsset._PreviewElement = zContainer;
      document.body.appendChild(zContainer);
      appendEventHandler(aAsset._PreviewElement, "onclick", Layout.HideAssetPreview.bind(Layout,aAsset));
    }
    PlaceElementInView(aAsset._PreviewElement, null, e.clientX + 10, e.clientY + 10);
    return true;
  },
  HideAssetPreview:function(aAsset){
    Layout.CurrentAssetPreview = null;
    aAsset._PreviewElement.style.display = "none";
    return true;
  }
};
Layout.CreateTimeline = function(aParams){
  aParams.Width = aParams.Width || 1000;
  aParams.Height = 20;
  aParams.IdField = aParams.IdField || 'DisplayName';
  aParams.BorderWidth = (typeof aParams.BorderWidth != "undefined" ? aParams.BorderWidth : 1);
  var zOutput = {
    Multiplier:1,
    Background:null,
    Container:null,
    EmptyArea:null,
    AreaList:{},
    AreaArray:[],
    PageArray:[],
    Header:null,            
    Background:null,        
    TrackArray:[],           
    TrackList:[]           
  };
  zOutput.Multiplier = (aParams.Width/aParams.Layout.Duration);
  zOutput.Container = CreateBasicElement("div", null, "LayoutTimeline");
  zOutput.Container.style.width = aParams.Width +'px';
  zOutput.Header = CreateBasicElement("div", null, "LayoutTimelineHeader");
  zOutput.Header.innerHTML = 'header'
  zOutput.Container.appendChild(zOutput.Header);
  aParams.Layout.AreaArray.forEach(function(aArea){
    SetArea(aArea);
  });
  zOutput.Background = CreateBasicElement("div", null, "LayoutTimelineHeader");
  zOutput.Background.innerHTML = 'background'
  zOutput.Container.appendChild(zOutput.Background);
  return zOutput;
  function SetTrack(aArea){
    var zTrack = zOutput.TrackList[aArea.DisplayName];
    if(!zTrack){
      zTrack = CreateBasicElement("div", null, "Track");
      zTrack.id = 'Track_'+ aArea[aParams.IdField];
      zTrack.style.width = aParams.Width;
      zTrack.style.height = aParams.Height + "px";
      zOutput.TrackArray.push(zTrack);
      zOutput.TrackList[aArea.DisplayName] = zTrack;
      zOutput.Container.appendChild(zTrack);
    }
    return zTrack;
  }
  function SetArea(aArea){
    var zTrack = SetTrack(aArea);
    var zAreaElement = CreateBasicElement("div", null, "Area");
    zTrack.appendChild(zAreaElement);
    zAreaElement.innerHTML = aArea.DisplayName +' ('+ (parseInt(aArea.StartTime)/1000) +'-'+ ((parseInt(aArea.StartTime) + parseInt(aArea.Duration))/1000) +')';
    zAreaElement.setAttribute('area_aspect',aArea[aParams.IdField] +'_'+ aArea.AspectRatio);
    zAreaElement.setAttribute('areaname_aspect',aArea.DisplayName +'_'+ aArea.AspectRatio);
    zAreaElement.setAttribute('areaid',aArea[aParams.IdField]);
    zAreaElement.setAttribute('aspectratio',aArea.AspectRatio);
    zAreaElement.setAttribute('areaname',aArea.DisplayName);
    zOutput.AreaArray.push(zAreaElement,aArea[aParams.IdField]);
    zOutput.AreaList[aArea[aParams.IdField]] = zAreaElement;
    zAreaElement.style.left = (aArea.StartTime * zOutput.Multiplier) + "px";
    zAreaElement.style.top = 0;
    zAreaElement.style.width = (aArea.Duration * zOutput.Multiplier)+ "px";
    zAreaElement.style.height = aParams.Height + "px";
    return zAreaElement;
  }
}
function gcd(a, b) {
   if (b == 0) {
     return a
   } else {
     return gcd(b, a % b)
   }
}
function aspectRatio(a, b) {
  var c = gcd(a,b);
  return (a/c)+":"+(b/c);
}
var StopNavigation = {
  IsSubmitting:false,
  Init:function(){
    window.onbeforeunload = StopNavigation.OnBeforeUnload;
    appendEventHandler(document.forms[0],'onsubmit',StopNavigation.OnSubmit);
  },
  OnSubmit:function(){
    StopNavigation.IsSubmitting = true;
    return true;
  },
  OnBeforeUnload:function(aEvent){
    var zIsSubmitting = StopNavigation.IsSubmitting;
    StopNavigation.IsSubmitting = false;
    if(!zIsSubmitting){
      aEvent = (aEvent ? aEvent:window.event);
      zMessage = "If you leave this page, any changes you have made will not be saved.";
      aEvent.returnValue = zMessage;
      return zMessage;
    }
  }
};
