function ReplaceInnerHtml(id, innerHtml)
{
if(document.getElementById && document.getElementById(id))
{
document.getElementById(id).innerHTML = innerHtml;
}
}

function KeyDownHandler(controlName)
{

if (event.keyCode == 13)
{

event.returnValue=false;
event.cancel = true;

controlName.click();
}
}

function SetFocus(defaultControlID)
{
if(document.getElementById && document.getElementById(defaultControlID))
if(document.getElementById(defaultControlID).disabled==false)
document.getElementById(defaultControlID).focus();
}

function ReplaceImage(id, src)
{
if(document.getElementById && document.getElementById(id))
{
document.getElementById(id).src = src;
}
}

function RedirectTop(url)
{
try
{
window.top.location.replace(url);
}
catch(e)
{}
}

function SaveScrollXY(idScrollX, idScrollY)
{
if(document.getElementById && document.getElementById(idScrollX) && document.getElementById(idScrollY))
{
document.getElementById(idScrollX).value=document.body.scrollLeft;
document.getElementById(idScrollY).value=document.body.scrollTop;
}
}

function ResetScrollPosition(idScrollX, idScrollY)
{
if(document.getElementById && document.getElementById(idScrollX) && document.getElementById(idScrollY))
{
if(document.getElementById(idScrollX).value!=0 || document.getElementById(idScrollY).value!=0)
{
window.scrollTo(document.getElementById(idScrollX).value, document.getElementById(idScrollY).value);
}
}
}

function AddEvent(obj, evType, fn, useCapture)
{
if(obj.addEventListener)
{
obj.addEventListener(evType, fn, useCapture);
return true;
}
else if(obj.attachEvent)
{
var r=obj.attachEvent('on'+evType, fn);
return r;
}
else
{
obj['on'+evType]=fn;
}
}


function DisplayMsgLength(textAreaID, limit, statusID, originalStatusText, buttonID)
{
var charCntPH='{CurrentCharacterCount}';
var msgLen=GetTextAreaLength(textAreaID, limit);

if(msgLen==null)
{
return;
}
DisplayStatus(statusID, originalStatusText, charCntPH, msgLen);
ActionButtonStatusForTextInput(textAreaID, buttonID);
}

function GetTextAreaLength(textAreaID, limit)
{
if(!document.getElementById || !document.getElementById(textAreaID))
{
return null;
}

var m=document.getElementById(textAreaID);
var newlineCntOffset=0;

var mText=m.value.replace(/^\s+/g,'');
if(mText.length>0)
{
var newlineS=mText.replace(/[\r\n]/g,'');
if(mText.length!=newlineS.length)
{
var arrayS=mText.split('\r\n');
if(arrayS.length==1)
{
newlineCntOffset=mText.length-newlineS.length;
limit=limit-newlineCntOffset;
}
}

if(mText.length>limit)
{
mText=mText.substring(0,limit);
}
}

if(m.value.length!=mText.length)
{
m.value=mText;
}

return mText.length+newlineCntOffset;
}

function DisplayStatus(statusID, originalStatusText, oldValue, newValue)
{
if(document.getElementById && document.getElementById(statusID))
{
var mStatus=document.getElementById(statusID);
mStatus.innerHTML=originalStatusText.replace(oldValue, newValue);
}
}


function ActionButtonStatusForTextInput(textID, buttonID)
{
if(document.getElementById && document.getElementById(textID) && document.getElementById(buttonID))
{
var txt=document.getElementById(textID);
var btn=document.getElementById(buttonID);

if(txt.value.length>0)
{
btn.disabled=false;
}
else
{
btn.disabled=true;
}
}
}

function ActionButtonStatusForList(listID, buttonID)
{
if(document.getElementById && document.getElementById(listID) && document.getElementById(buttonID))
{
var list=document.getElementById(listID);
var btn=document.getElementById(buttonID);

if(list.selectedIndex>=0)
{
btn.disabled=false;
}
else
{
btn.disabled=true;
}
}
}



var XbcNavInitialized = false;
var XbcNavmn='XbcNavMain';
var XbcNavmd='XbcNavMainDefault';
var XbcNavms='XbcNavMainSelected';
var XbcNavsh='XbcNavSub';
var XbcNavss='XbcNavSubSelectedUL';
var XbcNavse='XbcNavSubSelected';
var XbcNavsd='XbcNavSubDefault';
var XbcNavrbid='XbcNavRaised';
var XbcNavrbprefix='XbcNavRaised';
var XbcNavSelectedMain,XbcNavSelectedSub,XbcNavPageStateMain,XbcNavPageStateSub;
var XbcNavd,XbcNavULs,XbcNavLIs;
var XbcNavIntervalSpeed = 240;
var XbcNavIntervalPageReset = 3000;
var XbcNavRB;



function XbcNav_init() {

if (XbcNavInitialized == true) {return true;}

if(!document.getElementById && !document.createTextNode)
{
XbcNavInitialized = false;
}
else
{
XbcNavd=document.getElementById('XbcNavMainUL');

if (!XbcNavd)
{
XbcNavInitialized = false;
}
else
{
XbcNavRB=document.getElementById(XbcNavrbid);
XbcNavULs=XbcNavd.getElementsByTagName('ul');
for (i=0;i<XbcNavULs.length;i++) {
if(XbcNav_checkCurrent(XbcNavULs[i])) {
XbcNavSelectedMain = XbcNavULs[i];
XbcNavPageStateMain = XbcNavULs[i];
XbcNavLIs=XbcNavULs[i].getElementsByTagName('li');
for(j=0;j<XbcNavLIs.length;j++) {
if(XbcNav_checkCurrentSub(XbcNavLIs[j])) {
XbcNavSelectedSub = XbcNavLIs[j];
XbcNavPageStateSub = XbcNavLIs[j];
}
}
}
}

XbcNavInitialized = true;
}
}
return XbcNavInitialized;
}


function XbcNav_reset()
{
if(XbcNavPageStateMain) {
XbcNav_changeCurrentMain(XbcNavPageStateMain);
if(XbcNav_checkChildren(XbcNavPageStateMain)) {
if(XbcNavPageStateSub) { XbcNav_changeCurrentSub(XbcNavPageStateSub); }
XbcNavLIs=XbcNavPageStateMain.getElementsByTagName('li');
for(j=0;j<XbcNavLIs.length;j++) {
if(XbcNav_checkCurrentSub(XbcNavLIs[j])) {
XbcNavSelectedSub = XbcNavLIs[j];
}
}
}
} else {
XbcNav_hideCurrentMain();
XbcNavSelectedMain=null;
XbcNavSelectedSub=null;
if(XbcNavRB)
{
XbcNavRB.className = XbcNavrbprefix+(0);
}
}
}

function XbcNav_changeCurrentMain(o)
{
if(XbcNavSelectedMain) { XbcNav_hideCurrentMain(); }
XbcNav_showCurrentMain(o);
}

function XbcNav_changeCurrentSub(o)
{
if(XbcNavSelectedSub) { XbcNav_swapclass(XbcNavSelectedSub,XbcNavse,XbcNavsd); }
XbcNav_swapclass(o,XbcNavse,XbcNavsd);
}

function XbcNav_hideCurrentMain()
{
if(XbcNavSelectedMain) {
XbcNav_swapclass(XbcNavSelectedMain.parentNode,XbcNavms,XbcNavmd);
if(XbcNav_checkChildren(XbcNavSelectedMain)) { XbcNav_swapclass(XbcNavSelectedMain,XbcNavsh,XbcNavss); }
if(XbcNavSelectedSub) XbcNav_swapclass(XbcNavSelectedSub,XbcNavse,XbcNavsd);
}
}

function XbcNav_showCurrentMain(o) {
XbcNav_swapclass(o.parentNode,XbcNavmd,XbcNavms);
if(XbcNav_checkChildren(o)) { XbcNav_swapclass(o,XbcNavss,XbcNavsh); }
XbcNavSelectedMain = o;
XbcNavSelectedSub = null;
if(XbcNavULs)
{
for(i=0;i<XbcNavULs.length;i++) {
if(XbcNavULs[i]==o) {
XbcNavRB.className = XbcNavrbprefix+(i+1);
}
}
}
}


function XbcNav_checkChildren(o)
{
childLis = o.getElementsByTagName('li');
if(childLis.length>0) {    return true; } else { return false; }
}


function XbcNav_checkCurrent(o)
{
if(XbcNav_check(o.parentNode,XbcNavms)){return true;} else { return false; }
}


function XbcNav_checkCurrentSub(o){
if(XbcNav_check(o,XbcNavse)){return true;} else { return false; }
}


function XbcNav_swapclass(o,c1,c2)
{
var cn=o.className
o.className=!XbcNav_check(o,c1)?cn.replace(c2,c1):cn.replace(c1,c2);
}


function XbcNav_addclass(o,c)
{
if(!XbcNav_check(o,c)){o.className+=o.className==''?c:' '+c;}
}


function getCookie(name) {
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1) {
begin = dc.indexOf(prefix);
if (begin != 0) return null;
} else
begin += 2;
var end = document.cookie.indexOf(";", begin);
if (end == -1)
end = dc.length;
return unescape(dc.substring(begin + prefix.length, end));
}


function XbcNav_check(o,c)
{
return new RegExp('\\b'+c+'\\b').test(o.className);
}


function XbcNav_mainOver(o)
{
if (!XbcNav_init()) {return;}

if(typeof(pageResetTimeout) != 'undefined') { clearTimeout(pageResetTimeout); }
thisUL = o.parentNode.getElementsByTagName('ul')[0];
if (thisUL!=XbcNavSelectedMain) {
if(typeof(mainSelectTimeout) != 'undefined') { clearTimeout(mainSelectTimeout); }
mainSelectTimeout = setTimeout( function(){ XbcNav_changeCurrentMain(thisUL); }, XbcNavIntervalSpeed);
}
return false;
}

function XbcNav_mainOut(o)
{
if (!XbcNav_init()) {return;}

if(typeof(mainSelectTimeout) != 'undefined') { clearTimeout(mainSelectTimeout);
pageResetTimeout = setTimeout( function(){ XbcNav_reset(); }, XbcNavIntervalPageReset); }
return false;
}

function XbcNav_subOver(o)
{
if (!XbcNav_init()) {return;}

if(typeof(pageResetTimeout) != 'undefined') { clearTimeout(pageResetTimeout); }
return false;
}
function XbcNav_subOut(o)
{
if (!XbcNav_init()) {return;}

pageResetTimeout = setTimeout( function(){ XbcNav_reset(); }, XbcNavIntervalPageReset);
return false;
}


function wpMenu_keydown(element, event)
{
if (!document.getElementById) return;
if ((event.keyCode == 13) || (event.keyCode == 32))
{
wpMenu_toggleMenu(element);
}
}
function wpMenu_toggleMenu(element)
{
if ((!document.getElementById) || (!element)) return;
var liElement = element.parentNode;
var ulElement = liElement.parentNode;
var curClass = liElement.className;
for (var i = 0; i < ulElement.childNodes.length; i++)
{
var curNode = ulElement.childNodes[i];
if ((curNode.nodeType == 1) && (curNode.className == 'XbcExpandoMenuOpen'))
{
curNode.className = 'XbcExpandoMenuClosed';
}
}
liElement.className = 'XbcExpandoMenuOpen';
}
function XbcOpenFriendsLinkFromFirstChildHref(element, bWebPart)
{
if (arguments.length < 2)
{
bWebPart = false;
}

if ((!document.getElementsByTagName) || (!element)) return;
As = element.getElementsByTagName('a');

if (bWebPart)
{
window.top.location = As[0].href;
}
else
{
OpenWithAuth(As[0].href);
}

if (window.event) window.event.returnValue = false;
}

function XbcGetFirstChildHref(element)
{
if ((!document.getElementsByTagName) || (!element)) return;
As = element.getElementsByTagName('a');

window.location = As[0].href;
}


function XbcCreateIEFlashControl(DivID, CODEBASE,
WIDTH, HEIGHT, MOVIE, QUALITY, BGCOLOR,
MENU, SALIGN, ALTLINK, OPENINNEWWINDOW,
ALTIMAGE, ALTIMAGEWIDTH, ALTIMAGEHEIGHT, ALTTEXT)
{
var szInnerHTML = '';
var d = document.getElementById(DivID);

if (MOVIE != '')
{
szInnerHTML =
'<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="' + WIDTH + '" height="' + HEIGHT +'" codebase="' + CODEBASE + '">';

szInnerHTML += '<param name="movie" value="' + MOVIE + '">';
szInnerHTML += '<param name="quality" value="' + QUALITY + '">';

if (BGCOLOR != '')
{
szInnerHTML += '<param name="bgcolor" value="' + BGCOLOR + '">';
}

szInnerHTML += '<param name="salign" value="' + SALIGN + '">';
szInnerHTML += '<param name="menu" value="' + MENU + '">';
szInnerHTML += '<param name="wmode" value="transparent">';
szInnerHTML += '<param name="allowScriptAccess" value="always">';

}

if (ALTLINK != '')
{
szInnerHTML += '<a href="' + ALTLINK + '"';
if (OPENINNEWWINDOW)
{
szInnerHTML += ' target="_blank"';
}
szInnerHTML += '>';
}

if (ALTIMAGE != '')
{
szInnerHTML += '<img src="' + ALTIMAGE + '" alttext="' + ALTTEXT + '"';

if (ALTIMAGEWIDTH != '')
{
szInnerHTML += ' WIDTH="' + ALTIMAGEWIDTH + '"';
}

if (ALTIMAGEHEIGHT != '')
{
szInnerHTML += ' HEIGHT="' + ALTIMAGEHEIGHT + '"';
}

szInnerHTML += '></img>';
}
else
{
szInnerHTML += '<span>' + ALTTEXT + '</span>';
}

if (ALTLINK != '')
{
szInnerHTML += '</a>';
}

if (MOVIE != '')
{
szInnerHTML += '</object>';
}

d.innerHTML = szInnerHTML;
}

function OpenWithAuth(Gh,Hh,Ih,Jh)
{
Hh=Hh||0;
var we=window.external;
if(we&&we.MsgrHost)
{
we.MsgrHost.OpenWithAuth(Gh,Hh);
}
else
{
Gh=unescape(Gh);var w=window.open(Gh);w.opener=null;w=null;
}
}

function DisableButtons(tagName)
{
if (document.body.getElementsByTagName)
{
var list = document.body.getElementsByTagName('input');
var i;
for (i=0; i<list.length; i++)
{
if (list[i].type == 'submit')
{
list[i].style.color = '#A1A1A1';
list[i].onclick = BypassSubmit;
}
}
}
}

function BypassSubmit(evt)
{
var hint = document.getElementById('resubmitHint');
if (hint)
{
hint.style.display = "";
}

if (evt && evt.preventDefault)
{

evt.preventDefault();
}
else
{
event.returnValue=false;
}
}

function ExecuteLiveSearch(searchBoxId, baseurl, formCode)
{
var searchBox = document.getElementById(searchBoxId);
if (searchBox != null)
{
if (baseurl != "")
{

window.open(baseurl + "?q=" + encodeURI(searchBox.value) + "&FORM=" + formCode);
}
else
{

if (searchBox.form != null)
{
searchBox.form.submit();
}
}
}
}


var SavedSkinClassName = "";
var SavedSkinCheck = false;
function ApplyStandardSkinOverride()
{
if (!SavedSkinCheck)
{
SavedSkinClassName = document.body.className;
document.body.className += " forceNormalStyle";
SavedSkinCheck = true;
}
}

function RemoveStandardSkinOverride()
{
if (SavedSkinCheck)
{
document.body.className = SavedSkinClassName;
SavedSkinCheck = false;
}
}

function PopulateTopSearchBox(searchText)
{
if (searchText == "")
{
return;
}
try
{
ClearSearchWatermark();
if (HeaderSearchBoxId != null)
{
var HeaderSearchBox = document.getElementById(HeaderSearchBoxId);
if (HeaderSearchBox != null)
{
HeaderSearchBox.value = searchText;
HeaderSearchBox.onfocus = null;
}
}
}
catch(e)
{

}
}

function ClearSearchWatermark()
{
try
{
if (HeaderSearchBoxId != null)
{
var HeaderSearchBox = document.getElementById(HeaderSearchBoxId);
if (HeaderSearchBox != null)
{

var attrib = HeaderSearchBox.getAttribute("watermarkCleared");
if (attrib != "true")
{
HeaderSearchBox.setAttribute("watermarkCleared", "true");
HeaderSearchBox.value = "";
}
}
}
}
catch (e)
{

}
}

function SetSearchWatermark(watermarkText)
{
try
{
if (HeaderSearchBoxId != null)
{
var HeaderSearchBox = document.getElementById(HeaderSearchBoxId);
if (HeaderSearchBox != null)
{

var attrib = HeaderSearchBox.getAttribute("watermarkCleared");
if (attrib == "true")
{

if (HeaderSearchBox.value == "")
{
HeaderSearchBox.value = watermarkText;
HeaderSearchBox.setAttribute("watermarkCleared", "");
HeaderSearchBox.onfocus = ClearSearchWatermark;
}
}
else
{

HeaderSearchBox.value = watermarkText;
}
}
}
}
catch (e)
{

}
}

function PopulateTopSearchType(searchType)
{
try
{
if (HeaderSearchTypeBoxId != null)
{
var HeaderSearchTypeBox = document.getElementById(HeaderSearchTypeBoxId);
if (HeaderSearchTypeBox != null)
{
HeaderSearchTypeBox.value = searchType;
HeaderSearchTypeBox.onfocus = null;
}
}
}
catch (e)
{

}
}

function SubmitSearchIfAble()
{
var HeaderSearchBox = document.getElementById(HeaderSearchBoxId);
if (HeaderSearchBox != null)
{
var attrib = HeaderSearchBox.getAttribute("watermarkCleared");
if ((HeaderSearchBox.value != "") && (attrib == "true"))
{
HeaderSearchBox.form.submit();
return true;
}
}
return false;
}

function onSearchTypeMenuClick(sender, eventArgs)
{
var item = eventArgs.Item;
if (item.Level == 1)
{

return;
}
if (item != undefined)
{
var value = item.Value;
if (value != undefined)
{
PopulateTopSearchType(value);
}
else
{
PopulateTopSearchType("");
}
}

var bSubmitting = SubmitSearchIfAble();


if (!bSubmitting)
{
var watermarkText = item.GetAttribute("watermarkText");
if (watermarkText != undefined)
{
SetSearchWatermark(watermarkText);
}
else
{
SetSearchWatermark("");
}
}



try{
if (item != undefined)
{
item.Blur();




}
} catch (e) { }
}

function ClearTopSearchBox(searchBox)
{
searchBox.value = "";
searchBox.onfocus = null;
}

function WindowRefresh()
{
window.location.href = unescape(window.location.pathname);
}

function SetWindowRefreshTime(time)
{
window.setTimeout("WindowRefresh()", time);
}




function CreateAjaxObject()
{
var xmlHttp = null;
try
{

xmlHttp=new XMLHttpRequest();
}
catch (e)
{

try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{

}
}
}
return xmlHttp;
}

function SwitchTab(tabId, tabPanelId, selectedTabHiddenId, selectedTabPanelHiddenId, unselectedTabCss, selectedTabCss, selectedIndexHiddenId, selectedIndex, onSelectedTabChanged, tabCount)
{
var tabControl = document.getElementById(tabId);
var tabPanelControl = document.getElementById(tabPanelId);
var selectedTabHidden = document.getElementById(selectedTabHiddenId);
var selectedTabPanelHidden = document.getElementById(selectedTabPanelHiddenId);
var selectedTabControl = document.getElementById(selectedTabHidden.value);
var selectedTabPanelControl = document.getElementById(selectedTabPanelHidden.value);
var selectedIndexHidden = document.getElementById(selectedIndexHiddenId);

selectedTabControl.className = unselectedTabCss;
selectedTabPanelControl.style.display = 'none';
tabControl.className = selectedTabCss;
tabPanelControl.style.display = 'block';
selectedTabHidden.value = tabId;
selectedTabPanelHidden.value = tabPanelId;
selectedIndexHidden.value = selectedIndex;

if ((onSelectedTabChanged != null) && (typeof(onSelectedTabChanged) == "function"))
{
onSelectedTabChanged(selectedIndex, tabCount);
}
}

function Tab_OnKeyPress(e, tabId, tabPanelId, selectedTabHiddenId, selectedTabPanelHiddenId, unselectedTabCss, selectedTabCss, onSelectedTabChanged, tabCount)
{
var keyCode;
if (window.event)
{
keyCode = window.event.keyCode;
}
else if (e.which)
{
keyCode = e.which;
}

if (keyCode == 32)
{
SwitchTab(tabId, tabPanelId, selectedTabHiddenId, selectedTabPanelHiddenId, unselectedTabCss, selectedTabCss, onSelectedTabChanged, tabCount);
return false;
}

return true;
}

function OpenPopup(url, name, width, height)
{
window.open(url, name, "height=" + height + ",width=" + width + ",status=no,toolbar=no,menubar=no,location=no,resizable=yes,scrollbars=yes");
}

function expSendClickObservation(trackingBlock, linkTitle, linkUrl)
{
var parameters = expClickParameters + "&cid=" + trackingBlock + "&lt=" + linkTitle + "&lu=" + linkUrl;
expSendObservation("xboxcom_click", parameters);
}

function expSendObservation(name, parameters)
{
if (expEnabled.toLowerCase() == "true")
{
var expBeaconImage = document.createElement("img");
expBeaconImage.name = "expBeaconImage";
expBeaconImage.src = expBeaconImageUrl + name + "?" + parameters;
document.getElementsByTagName("body").item(0).appendChild(expBeaconImage);
}
}

function expClick(e)
{
e = window.event || e;
target = e.srcElement || e.target;

if (target.tagName.toLowerCase() == "a")
{
p = target.parentNode;
while (p != null)
{
if (p.className)
if (p.className == "XbcTrackingBlock")
break;

p = p.parentNode;
}

if (p)
trackingBlock = p.id;
else
trackingBlock = "";
expSendClickObservation(trackingBlock, target.innerText, target.href);
}
}

function spinWait(millis)
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); }
while (curDate - date < millis)
}
