function getEl(id)
{
if(typeof id == "object")
return id;
else
return document.getElementById(id);
}

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="' + MENU + '">';
szInnerHTML += '<param name="menu" value="' + SALIGN + '">';
szInnerHTML += '<param name="wmode" value="transparent">';
}

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 = getEl('resubmitHint');
if (hint)
{
hint.style.display = "";
}

if (evt && evt.preventDefault)
{

evt.preventDefault();
}
else
{
event.returnValue=false;
}
}

function ExecuteLiveSearch(button, searchBoxName, formCode)
{
if(button.form)
{
var searchBox = button.form[searchBoxName];
if (searchBox != null)
{

window.open("http://search.live.com/results.aspx?q=" + encodeURI(searchBox.value) + "&FORM=" + formCode);
}
}
}


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)
{
try
{
if (HeaderSearchBoxId != null)
{
var HeaderSearchBox = document.getElementById(HeaderSearchBoxId);
if (HeaderSearchBox != null)
{
HeaderSearchBox.value = searchText;
HeaderSearchBox.onfocus = null;
}
}
}
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 css()
{
css.has = function(element, className)
{
var r = false;
try
{
r = new RegExp("\\b" + className + "\\b", "i").test(element.className);
}
catch( ex ){}
return r
};
css.remove = function(element, className)
{
if( element && element.className )
{
var startClass = element.className;
element.className = element.className.replace(new RegExp("\\b" + className + "\\b", "i"), "");
element.className = element.className.replace(/^\s|\s(\s)|\s$/g, "$1");
}
};
css.add = function(element, className)
{
if( element )
{
if( element.className )
{
if( !css.has(element, className) )
{
element.className += " " + className;
}
}
else
{
element.className = className;
}
}
};
css.toggle = function(element, className)
{
var r = false;
if( element.className && css.has(element, className) )
{
css.remove(element, className);
}
else
{
css.add(element, className)
r = true;
}
return r;
};
}
css();

function Auth() {
}


Auth.isSignedIn = false;
Auth.initTime = new Date();

Auth.validateTicket = function() {
var now = new Date();
if (Auth.signinState && now - Auth.initTime > 600000) {

}

if (!Auth.isSignedIn) {
if (Auth.authUrl) {
window.location = Auth.authUrl;
}
return false;
}

return true;
}
