                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                if(!window.__td){window.__MT=100;window.__ti=0;window.__td=[];window.__td.length=__MT;window.__noTrace=false;

}




if(typeof vp=="undefined"){
var vp={};
}





vp.ui=function ui(){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}};






vp.ui.expand=function ui_expand(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.expand");


vElement.style.display="";
};








vp.ui.expandToBlock=function ui_expandToBlock(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.expandToBlock");


vElement.style.display="block";
};






vp.ui.collapse=function ui_collapse(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.collapse");


vElement.style.display="none";
};






vp.ui.toggleDisplay=function ui_toggleDisplay(vElement,bDisplayBlock)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var objElem=vp.core.getElement(vElement,"vp.ui.toggleDisplay");
if(objElem)
{
if(objElem.style.display=="none")
{
if(bDisplayBlock)
{
objElem.style.display="block";
}
else
{
objElem.style.display="";
}
}
else
{
objElem.style.display="none";
}
}
};







vp.ui.expandAndCollapse=function ui_expandAndCollapse(vElementToExpand,vElementToCollapse)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui.collapse(vElementToCollapse);
vp.ui.expand(vElementToExpand);
};







vp.ui.expandToBlockAndCollapse=function ui_expandToBlockAndCollapse(vElementToExpand,vElementToCollapse)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui.collapse(vElementToCollapse);
vp.ui.expandToBlock(vElementToExpand);
};






vp.ui.show=function ui_show(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"show");


vElement.style.visibility="visible";
vElement.style.display="";
};






vp.ui.hide=function ui_hide(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


vElement=vp.core.getElement(vElement,"vp.ui.hide");


vElement.style.visibility="hidden";
};







vp.ui.isVisible=function ui_isVisible(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.isVisible");


return vp.ui.getCurrentStyle(vElement,"visibility")!="hidden";
};







vp.ui.isCollapsed=function ui_isCollapsed(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.isCollapsed");


return vp.ui.getCurrentStyle(vElement,"display")=="none";
};








vp.ui.get=function ui_get(sId)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(typeof sId!="string")
{
throw new Error("Call to vp.ui.get() with a non-string identifier.");
}


var oElem=document.getElementById?document.getElementById(sId):document.all[sId];


if(!oElem&&sId.indexOf(".")===0)
{
var aItems=vp.ui.getChildrenBySelector(document,sId);
if(aItems.length>0)
{
oElem=aItems[0];
}
}

return oElem;
};








vp.ui.getChildrenBySelector=function ui_getChildrenBySelector(vElement,sSelector)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getChildrenBySelector");

var aFound=[];
var iFoundCount=0;


var aTokens=sSelector.split(' ');
var aCurrentContext=new Array(vElement);
var iCurrentContextIndex=0;
for(var i=0;i<aTokens.length;i++)
{
var oToken=aTokens[i].replace(/^\s+/,'').replace(/\s+$/,'');;
if(oToken.indexOf('#')>-1)
{

var aIdBits=oToken.split('#');
var sTagName=aIdBits[0];
var sId=aIdBits[1];
var oElement=vp.ui.get(sId);
if(sTagName&&oElement.nodeName.toLowerCase()!=sTagName)
{

return[];
}

aCurrentContext=new Array(oElement);
continue;
}
if(oToken.indexOf('.')>-1)
{

var aClassBits=oToken.split('.');
var sClassTagName=aClassBits[0];
var sClassName=aClassBits[1];
if(!sClassTagName)
{
sClassTagName='*';
}

aFound=[];
iFoundCount=0;
for(var h=0;h<aCurrentContext.length;h++)
{
var aTagElements;
if(sClassTagName=='*')
{
aTagElements=vp.ui.getAllChildren(aCurrentContext[h]);
}
else
{
aTagElements=aCurrentContext[h].getElementsByTagName(sClassTagName);
}
for(var j=0;j<aTagElements.length;j++)
{
aFound[iFoundCount]=aTagElements[j];
iFoundCount++;
}
}
aCurrentContext=[];
iCurrentContextIndex=0;
for(var k=0;k<aFound.length;k++)
{

if(aFound[k].className&&aFound[k].className.match(new RegExp('(?:^|\\s)'+sClassName+'(?:\\s|$)')))
{
aCurrentContext[iCurrentContextIndex]=aFound[k];
iCurrentContextIndex++;
}
}
continue;
}

if(oToken.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/))
{
var sAttrSelectorTagName=RegExp.$1;
var sAttrName=RegExp.$2;
var sAttrOperator=RegExp.$3;
var sAttrValue=RegExp.$4;
if(!sAttrSelectorTagName)
{
sAttrSelectorTagName='*';
}

aFound=[];
iFoundCount=0;
for(var q=0;q<aCurrentContext.length;q++)
{
var aElements;
if(sAttrSelectorTagName=='*')
{
aElements=vp.ui.getAllChildren(aCurrentContext[q]);
}
else
{
aElements=aCurrentContext[q].getElementsByTagName(sAttrSelectorTagName);
}
for(var p=0;p<aElements.length;p++)
{
aFound[iFoundCount]=aElements[p];
iFoundCount++;
}
}
aCurrentContext=[];
iCurrentContextIndex=0;
var fCheckFunction;
switch(sAttrOperator)
{
case'=':
fCheckFunction=function(e){return(e.getAttribute(sAttrName)==sAttrValue);};
break;
case'~':
fCheckFunction=function(e){return(e.getAttribute(sAttrName).match(new RegExp('\\b'+sAttrValue+'\\b')));};
break;
case'|':
fCheckFunction=function(e){return(e.getAttribute(sAttrName).match(new RegExp('^'+sAttrValue+'-?')));};
break;
case'^':
fCheckFunction=function(e){return(e.getAttribute(sAttrName).indexOf(sAttrValue)===0);};
break;
case'$':
fCheckFunction=function(e){return(e.getAttribute(sAttrName).lastIndexOf(sAttrValue)===e.getAttribute(sAttrName).length-sAttrValue.length);};
break;
case'*':
fCheckFunction=function(e){return(e.getAttribute(sAttrName).indexOf(sAttrValue)>-1);};
break;
default:

fCheckFunction=function(e){return e.getAttribute(sAttrName);};
break;
}
aCurrentContext=[];
iCurrentContextIndex=0;
for(var l=0;l<aFound.length;l++)
{
if(fCheckFunction(aFound[l]))
{
aCurrentContext[iCurrentContextIndex]=aFound[l];
iCurrentContextIndex++;
}
}
continue;
}

if(!aCurrentContext[0])
{
return[];
}


sTagName=oToken;
aFound=[];
iFoundCount=0;
for(var m=0;m<aCurrentContext.length;m++)
{
var aTagOnlyElements=aCurrentContext[m].getElementsByTagName(sTagName);
for(var n=0;n<aTagOnlyElements.length;n++)
{
aFound[iFoundCount]=aTagOnlyElements[n];
iFoundCount++;
}
}
aCurrentContext=aFound;
}
return aCurrentContext;
};






vp.ui.getBySelector=function ui_getBySelector(sSelector)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(document.querySelectorAll)
{
return document.querySelectorAll(sSelector);
}


if(!document.getElementsByTagName)
{
return[];
}

return vp.ui.getChildrenBySelector(document,sSelector);
};










vp.ui.createElement=function ui_createElement(sTagName,oAttributes,vCssStringOrPropertyMap,oDocument)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oDocument=oDocument||document;

var oElem=oDocument.createElement(sTagName);

if(oAttributes)
{
for(var sAttr in oAttributes)
{



if(typeof(oElem[sAttr])=="undefined")
{
oElem.setAttribute(sAttr,oAttributes[sAttr]);
}
else if(sAttr=="style"&&!vCssStringOrPropertyMap)
{
vCssStringOrPropertyMap=oAttributes[sAttr];
}
else if(sAttr=="class")
{
oElem.className=oAttributes[sAttr];
}
else
{
oElem[sAttr]=oAttributes[sAttr];
}
}
}

if(vCssStringOrPropertyMap)
{
vp.ui.setStyle(oElem,vCssStringOrPropertyMap);
}

return oElem;
};









vp.ui.createNamedElement=function ui_createNamedElement(sTagName,sName)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement;
try{

oElement=document.createElement('<'+sTagName+' name="'+sName+'"/>');

if(!oElement||oElement.tagName!=sTagName.toUpperCase()||oElement.name!=sName)
{
throw new Error("not IE, bomb out and use W3C standard");
}
}
catch(ex)
{

oElement=document.createElement(sTagName);
oElement.name=sName;
}

return oElement;
};






vp.ui.createElementFromHTML=function ui_createElementFromHTML(sHTML)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oTemp=document.createElement("DIV");
oTemp.innerHTML=sHTML;
var oInner=oTemp.firstChild;
vp.ui.removeFromDOM(oInner);
return oInner;
};









vp.ui.getElementByAttribute=function ui_getElementByAttribute(sAttribute,sValue,oRootNode)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oRootNode)
{
oRootNode=vp.ui.getRootElement();
}

if(oRootNode.nodeType==1)
{
if(oRootNode.getAttribute(sAttribute)==sValue)
{
return oRootNode;
}

for(var i=0;i<oRootNode.childNodes.length;i++)
{
var oRet=vp.ui.getElementByAttribute(sAttribute,sValue,oRootNode.childNodes[i]);
if(oRet)
{
return oRet;
}
}
}

return null;
};









vp.ui.collectElementsByAttribute=function ui_collectElementsByAttribute(oRootElement,sAttribute)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oCollection={};

var fnRecurse=function pv_fnRecurse(oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oElement.nodeType==1)
{
var sAttrVal=oElement.getAttribute(sAttribute);
if(sAttrVal)
{
oCollection[sAttrVal]=oElement;
}

for(var i=0;i<oElement.childNodes.length;i++)
{
fnRecurse(oElement.childNodes[i]);
}
}
};

fnRecurse(oRootElement);

return oCollection;
};






vp.ui.getSpecifiedAttributes=function ui_getSpecifiedAttributes(oNode)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var aAttributes=[];
for(var i=0;i<oNode.attributes.length;i++)
{
if(oNode.attributes[i].specified)
{
aAttributes.add(oNode.attributes[i]);
}
}

return aAttributes;
};






vp.ui.addClass=function ui_addClass(vElement,sClass){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


vElement=vp.core.getElement(vElement,"addClass");


if(!vp.ui.hasClass(vElement,sClass))
{

var aClasses=vElement.className.split(/\s+/g);


aClasses[aClasses.length]=sClass;


vElement.className=aClasses.join(" ");
}
};







vp.ui.hasClass=function ui_hasClass(vElement,sClass){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


vElement=vp.core.getElement(vElement,"vp.ui.hasClass");


if(!vElement.className)
{
return false;
}


var aClasses=vElement.className.split(/\s+/g);;


for(var i=0;i<aClasses.length;i++)
{
if(aClasses[i]==sClass)
{
return true;
}
}


return false;
};






vp.ui.removeClass=function ui_removeClass(vElement,sClass)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.removeClass");


var aClasses=vElement.className.split(/\s+/g);;


for(var i=0;i<aClasses.length;i++)
{
if(aClasses[i]==sClass)
{
aClasses[i]="";
}
}


vElement.className=aClasses.join(" ");
};








vp.ui.setStyle=function ui_setStyle(vElement,vCssStringOrPropertyMap,bClearExistingStyles)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oElement=vp.core.getElement(vElement,"vp.ui.setStyle");

if(!vCssStringOrPropertyMap)
{
vElement.cssText="";
return;
}

var oPropertyMap;

if(typeof(vCssStringOrPropertyMap)=="string")
{
var oCss=new vp.web.CssString(vCssStringOrPropertyMap);
oPropertyMap=oCss.items;
}
else if(typeof(vCssStringOrPropertyMap)=="object")
{
oPropertyMap=vCssStringOrPropertyMap;
}

if(bClearExistingStyles)
{
oElement.cssText="";
}

for(var sProp in oPropertyMap)
{
vp.ui.setStyleValue(oElement,sProp,oPropertyMap[sProp]);
}
};










vp.ui.setStyleValue=function ui_setStyleValue(vElement,sProperty,sValue)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.setStyleValue");

sProperty=vp.ui.convertCssPropertyToCssFormat(sProperty);

switch(sProperty.toLowerCase())
{
case"float":
case"cssfloat":
case"stylefloat":
vElement.style.cssFloat=sValue;
vElement.style.styleFloat=sValue;
break;
case"opacity":
vp.ui.setOpacity(vElement,sValue);
break;
case"cursor":
var sParsedValue=sValue?sValue.toLowerCase():"";
if(sParsedValue=="pointer"||sParsedValue=="hand")
{
vElement.style.cursor=document.all?"hand":"pointer";
}
else
{
vElement.style.cursor=sValue;
}
break;
case"width":
case"height":
case"left":
case"top":
case"right":
case"bottom":
if(/^[-]*[\d\.]+$/.test(sValue))
{
sValue+="px";
}
vElement.style[sProperty]=sValue;
break;
default:
vElement.style[sProperty]=sValue;
break;
}
};







vp.ui.removeStyle=function ui_removeStyle(vElement,vStyles)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement=vp.core.getElement(vElement,"vp.ui.removeStyle");

if(vp.core.isArray(vStyles))
{
for(var i=0;i<vStyles.length;i++)
{
vp.ui.removeStyleValue(oElement,vStyles[i]);
}
}
else
{
vp.ui.removeStyleValue(oElement,vStyles);
}
};





vp.ui.clearStyle=function ui_clearStyle(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement=vp.core.getElement(vElement,"vp.ui.removeStyle");
oElement.cssText="";
};







vp.ui.removeStyleValue=function ui_removeStyleValue(vElement,sStyle)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement=vp.core.getElement(vElement,"vp.ui.removeStyle");

var oCss=new vp.web.CssString(oElement.style.cssText);

var sCssStyle=vp.ui.convertCssPropertyToStringFormat(sStyle);

oCss.removeItem(sCssStyle);
oCss.removeItem(sCssStyle.toUpperCase());

var sVal=oCss.toString();

if(sVal.length===0)
{
oElement.removeAttribute("style");
}
else
{
oElement.style.cssText=oCss.toString();
}
};






vp.ui.removeStyleRecursive=function ui_removeStyleRecursive(oNode,sStyle)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oNode.nodeType==1)
{
vp.ui.removeStyleValue(oNode,sStyle);

var oChildren=oNode.childNodes;
var iLen=oChildren.length;
for(var i=0;i<iLen;i++)
{
vp.ui.removeStyleRecursive(oChildren[i],sStyle);
}
}
};










vp.ui.getCurrentStyle=function ui_getCurrentStyle(vElement,sProperty)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getCurrentStyle");

var oDocument=vElement.ownerDocument;

var value=null;

if(document.all&&sProperty=="opacity"&&vElement.filters)
{
value=1;
try
{
value=vElement.filters.item("DXImageTransform.Microsoft.Alpha").opacity/100;
}
catch(e)
{
try
{
value=vElement.filters.item("alpha").opacity/100;
}
catch(e){}
}
}
else if(vElement.style[sProperty])
{
value=vElement.style[sProperty];
}
else if(vElement.currentStyle&&vElement.currentStyle[sProperty])
{
value=vElement.currentStyle[sProperty];
}
else if(oDocument.defaultView&&oDocument.defaultView.getComputedStyle)
{

var oComputedStyle=oDocument.defaultView.getComputedStyle(vElement,"");
if(oComputedStyle)
{

value=oComputedStyle.getPropertyValue(vp.ui.convertCssPropertyToStringFormat(sProperty))||null;
}
}


if(sProperty=="fontWeight")
{
if(value==400)
{
value="normal";
}
else if(value==700)
{
value="bold";
}
}

if(!document.all&&sProperty=="textAlign")
{
value=value.replace("-moz-","");
}

return value;
};


vp.ui._styleObjToCSSMap={};






vp.ui.convertCssPropertyToStringFormat=function ui_convertCssPropertyToStringFormat(sProperty)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(!vp.ui._styleObjToCSSMap[sProperty])
{

var sOut="";
for(var i=0,len=sProperty.length;i<len;++i)
{
if(sProperty.charAt(i)==sProperty.charAt(i).toUpperCase())
{
sOut=sOut+'-'+sProperty.charAt(i).toLowerCase();
}
else
{
sOut=sOut+sProperty.charAt(i);
}
}

vp.ui._styleObjToCSSMap[sProperty]=sOut;
}

return vp.ui._styleObjToCSSMap[sProperty];
};

vp.ui._styleCSSToObjMap={};






vp.ui.convertCssPropertyToCssFormat=function ui_convertCssPropertyToCssFormat(sProperty)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(!vp.ui._styleCSSToObjMap[sProperty])
{
if(sProperty.indexOf("-")!=-1)
{

var aOut=[];
for(var i=0,len=sProperty.length;i<len;++i)
{
var sChar=sProperty.charAt(i);
if(sChar=="-")
{
i++;
sChar=sProperty.charAt(i).toUpperCase();
aOut.push(sChar);
}
else
{
aOut.push(sChar);
}
}

vp.ui._styleCSSToObjMap[sProperty]=aOut.join("");
}
else
{
vp.ui._styleCSSToObjMap[sProperty]=sProperty;
}
}

return vp.ui._styleCSSToObjMap[sProperty];
};






vp.ui.getCssRule=function ui_getCssRule(sSelectorText,oDocument)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oDocument)
{
oDocument=document;
}

if(!oDocument.styleSheets)
{
return null;
}

sSelectorText=sSelectorText.toLowerCase();

for(var i=0;i<oDocument.styleSheets.length;i++)
{
var aRules=document.all?oDocument.styleSheets[i].rules:oDocument.styleSheets[i].cssRules;
for(var j=0;j<aRules.length;j++)
{
if(aRules[j].selectorText.toLowerCase()==sSelectorText)
{
return aRules[j];
}
}
}

return null;
};









vp.ui.getRect=function ui_getRect(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getRect");

if(vElement.nodeType!=1)
{
throw new Error("vp.ui.getRect doesn't support nodes with type "+vElement.nodeType);
}

var oDocument=vElement.ownerDocument;

var oRect={};
oRect.top=0;
oRect.left=0;
oRect.bottom=0;
oRect.right=0;

var oBox;

if(vElement.getBoundingClientRect)
{
try
{
oBox=vElement.getBoundingClientRect();
}
catch(ex)
{


if(ex.number==-2147467259)
{
throw new Error("vp.ui.getRect cannot get a rectangle for the specified element because it has not been rendered.");
}

throw ex;
}


var iScrollTop=Math.max(oDocument.documentElement.scrollTop,oDocument.body.scrollTop);
var iScrollLeft=Math.max(oDocument.documentElement.scrollLeft,oDocument.body.scrollLeft);


var iIEHack=document.all?2:0;
oRect.top=(oBox.top+iScrollTop)-iIEHack;
oRect.left=(oBox.left+iScrollLeft)-iIEHack;

oRect.bottom=oRect.top-(oBox.top-oBox.bottom);
oRect.right=oRect.left+(oBox.right-oBox.left);
}
else if(oDocument.getBoxObjectFor)
{
oBox=oDocument.getBoxObjectFor(vElement);

var iBorderLeft=parseInt(vp.ui.getCurrentStyle(vElement,'borderLeftWidth'));
var iBorderTop=parseInt(vp.ui.getCurrentStyle(vElement,'borderTopWidth'));

oRect.left=oBox.x-iBorderLeft;
oRect.top=oBox.y-iBorderTop;



var oParent=vElement.offsetParent;
while(oParent&&oParent.tagName!="BODY")
{
var sOverflowY=vp.ui.getCurrentStyle(oParent,"overflowY");
if(sOverflowY=="auto"||sOverflowY=="scroll")
{
oRect.top-=oParent.scrollTop;
}

var sOverflowX=vp.ui.getCurrentStyle(oParent,"overflowX");
if(sOverflowX=="auto"||sOverflowX=="scroll")
{
oRect.left-=oParent.scrollLeft;
}

oParent=oParent.parentNode;
}

oRect.bottom=oRect.top+oBox.height;
oRect.right=oRect.left+oBox.width;
}
else
{
var oTemp=vElement;
var fZoom;


while(oTemp!==null)
{
fZoom=vp.ui._getZoom(oTemp);
oRect.top*=fZoom;
oRect.left*=fZoom;

oRect.top+=oTemp.offsetTop;
oRect.left+=oTemp.offsetLeft;

if(oTemp.tagName!="BODY"&&
oTemp!=vElement)
{
oRect.top-=oTemp.scrollTop;
oRect.left-=oTemp.scrollLeft;
}

oTemp=oTemp.offsetParent;
}

fZoom=vp.ui._getZoom(vElement);

oRect.right=Math.round(vElement.offsetWidth*fZoom)+oRect.left;
oRect.bottom=Math.round(vElement.offsetHeight*fZoom)+oRect.top;
}

oRect.width=oRect.right-oRect.left;
oRect.height=oRect.bottom-oRect.top;

return oRect;
};

vp.ui._getZoom=function ui__getZoom(oObj)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var val=parseFloat(oObj.style.zoom);
return isNaN(val)?1:val;
};







vp.ui.getTop=function ui_getTop(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getTop");

return vp.ui.getRect(vElement).top;
};







vp.ui.getLeft=function ui_getLeft(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getLeft");

return vp.ui.getRect(vElement).left;
};







vp.ui.getHeight=function ui_getHeight(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getHeight");


return vElement.offsetHeight;
};







vp.ui.getWidth=function ui_getWidth(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getWidth");


return vElement.offsetWidth;
};







vp.ui.getScrollRect=function ui_getScrollRect(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vElement=vp.core.getElement(vElement,"vp.ui.getScrollRect");

var oRet=vp.ui.getRect(vElement);
var oScrollOffset=vp.ui.getScrollOffset();
oRet.width+=oScrollOffset.width;
oRet.height+=oScrollOffset.height;

return oRet;
};









vp.ui.isPointInRect=function ui_isPointInRect(iX,iY,oRect)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(typeof iX!="number")
{
throw new Error("vp.ui.isPointInRect(): The x-coordinate must be a number.");
}
else if(typeof iY!="number")
{
throw new Error("vp.ui.isPointInRect(): The y-coordinate must be a number.");
}
else if(!oRect||typeof oRect.left!="number"||typeof oRect.top!="number")
{
throw new Error("vp.ui.isPointInRect(): Invalid rectangle passed in.");
}


return((iX>=oRect.left)&&(iX<=oRect.left+oRect.width)&&(iY>=oRect.top)&&(iY<=oRect.top+oRect.height));
};








vp.ui.expandRect=function ui_expandRect(oRect,iExpandBy)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oNewRect={
left:oRect.left-iExpandBy,
top:oRect.top-iExpandBy,
width:oRect.width+(iExpandBy*2),
height:oRect.height+(iExpandBy*2)
};

oNewRect.right=oNewRect.left+oNewRect.width;
oNewRect.bottom=oNewRect.top+oNewRect.height;

return oNewRect;
};








vp.ui.moveTo=function ui_moveTo(vElement,iLeft,iTop)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.moveTo");


if(typeof iLeft!="number")
{
throw new Error("Call to vp.ui.moveTo() with an invalid X coordinate.");
}
else if(typeof iTop!="number")
{
throw new Error("Call to vp.ui.moveTo() with an invalid Y coordinate.");
}


if(vp.ui.getCurrentStyle(vElement,"position")!="absolute"){
throw new Error("vp.ui.moveTo(): Can't move an element that isn't absolutely positioned.");
}


vElement.style.top=iTop+"px";
vElement.style.left=iLeft+"px";
};








vp.ui.resizeTo=function ui_resizeTo(vElement,iWidth,iHeight)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.resizeTo");


if(typeof iWidth!="number")
{
throw new Error("Call to vp.ui.resizeTo() with an invalid width.");
}
else if(typeof iHeight!="number")
{
throw new Error("Call to vp.ui.resizeTo() with an invalid height/");
}


vElement.style.width=iWidth+"px";
vElement.style.height=iHeight+"px";
};







vp.ui.setHeight=function ui_setHeight(vElement,iHeight)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.setHeight");


if(typeof iHeight!="number")
{
throw new Error("Call to vp.ui.setHeight() with an invalid height parameter.");
}


vElement.style.height=iHeight+"px";
};







vp.ui.setMinHeight=function ui_setMinHeight(vElement,iHeight)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.setMinHeight");


if(typeof iHeight!="number")
{
throw new Error("Call to vp.ui.setHeight() with an invalid height parameter.");
}


vElement.style.minHeight=iHeight+"px";
};







vp.ui.setWidth=function ui_setWidth(vElement,iWidth)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"setWidth");


if(typeof iWidth!="number")
{
throw new Error("Call to vp.ui.setWidth() with an invalid width parameter.");
}


vElement.style.width=iWidth+"px";
};






vp.ui.insertFirstElement=function ui_insertFirstElement(oTarget,oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oFirstElement=oTarget.childNodes.length>=1?oTarget.childNodes[0]:null;
oTarget.insertBefore(oElement,oFirstElement);
};






vp.ui.insertAfter=function ui_insertAfter(oNode,oTarget)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oTarget.nextSibling)
{
oTarget.parentNode.insertBefore(oNode,oTarget.nextSibling);
}
else
{
oTarget.parentNode.appendChild(oNode);
}
};









vp.ui.moveToRoot=function ui_moveToRoot(vElement,bAddToDocumentStart)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.moveToRoot");

if(vElement.parentNode!=document.body)
{
var oParent=vElement.parentNode;
oParent.removeChild(vElement);

if(bAddToDocumentStart)
{
vp.ui.insertFirstElement(top.document.body,vElement);
}
else
{
document.body.appendChild(vElement);
}
}
};






vp.ui.scrollTo=function ui_scrollTo(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.scrollTo");

var oRec=vp.ui.getRect(vElement);

var iTopDif=oRec.top-document.body.scrollTop;
if(iTopDif<0)
{
if(window.scrollBy)
{
window.scrollBy(0,iTopDif);
}
else
{
vElement.scrollIntoView();
}
}

var iBottomDif=oRec.bottom-(document.body.scrollTop+vp.ui.getClientHeight());

if(iBottomDif>0)
{
if(window.scrollBy)
{
window.scrollBy(0,iBottomDif);
}
else
{
vElement.scrollIntoView();
}
}
};





vp.ui.scrollToCenterElement=function ui_scrollToCenterElement(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vElement=vp.core.getElement(vElement,"vp.ui.scrollToCenterElement");

var oRect=vp.ui.getRect(vElement);
var viewport=vp.ui.getViewportSize();
var scroll=vp.ui.getScrollOffset();

var dy=oRect.top+((oRect.height-viewport.height)/2)-scroll.top;
var dx=oRect.left+((oRect.width-viewport.width)/2)-scroll.left;

window.scrollBy(dx,dy);
};





































vp.ui.setCoord=function ui_setCoord(oObj,sCoord,iValue)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oObj=oObj.style?oObj.style:oObj;

if(sCoord=="top"||sCoord=="left"||sCoord=="width"||sCoord=="height")
{
oObj[sCoord]=iValue;
}
else if(sCoord=="right")
{
oObj.left=oObj.left+oObj.width+iValue;
}
else if(sCoord=="bottom")
{
oObj.top=oObj.top+oObj.height+iValue;
}
};








vp.ui.getCoord=function ui_getCoord(oObj,sCoord)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oObj=oObj.style?oObj.style:oObj;

if(sCoord=="top"||sCoord=="left")
{
return parseInt(oObj[sCoord]);
}
else if(sCoord=="right")
{
return parseInt(oObj.left)+parseInt(oObj.width);
}
else if(sCoord=="bottom")
{
return parseInt(oObj.top)+parseInt(oObj.height);
}
};






vp.ui.getLocalRect=function ui_getLocalRect(oObj)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oRect={};
vp.ui.applyPosition(oObj,oRect);
oRect.right=oRect.left+oRect.width;
oRect.bottom=oRect.top+oRect.height;

return oRect;
};







vp.ui.setPositionGlobal=function ui_setPositionGlobal(oElement,oPosition)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oElement.style.top=oPosition.top+"px";
oElement.style.left=oPosition.left+"px";


var oRect=vp.ui.getRect(oElement);



if(oRect.top!=oPosition.top||oRect.left!=oPosition.left)
{
oElement.style.top=(oPosition.top-(oRect.top-oPosition.top))+"px";
oElement.style.left=(oPosition.left-(oRect.left-oPosition.left))+"px";
}
};







vp.ui.applyPosition=function ui_applyPosition(oObj1,oObj2)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oObj1=oObj1.style?oObj1.style:oObj1;
oObj2=oObj2.style?oObj2.style:oObj2;

oObj2.top=parseInt(oObj1.top);
oObj2.left=parseInt(oObj1.left);
oObj2.width=parseInt(oObj1.width);
oObj2.height=parseInt(oObj1.height);
};







vp.ui.getStyleRect=function ui_getStyleRect(oObj)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var rect={};
rect.top=(oObj.style)?parseInt(oObj.style.top):oObj.top;
rect.left=(oObj.style)?parseInt(oObj.style.left):oObj.left;
rect.width=(oObj.style)?parseInt(oObj.style.width):oObj.width;
rect.height=(oObj.style)?parseInt(oObj.style.height):oObj.height;
rect.right=rect.left+rect.width;
rect.bottom=rect.top+rect.height;
return rect;
};







vp.ui.applyStyleRect=function ui_applyStyleRect(oObj1,oObj2)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var styleRect=vp.ui.getStyleRect(oObj1);
vp.ui.setStyleValue(oObj2,"top",styleRect.top);
vp.ui.setStyleValue(oObj2,"left",styleRect.left);
vp.ui.setStyleValue(oObj2,"width",styleRect.width);
vp.ui.setStyleValue(oObj2,"height",styleRect.height);
};





vp.ui.disableTextButton=function ui_disableTextButton(vButton)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui._enableTextButton(vButton,false,"vp.ui.disableTextButton");
};





vp.ui.enableTextButton=function ui_enableTextButton(vButton)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui._enableTextButton(vButton,true,"vp.ui.enableTextButton");
};




vp.ui._enableTextButton=function ui__enableTextButton(vButton,bEnable,sMethodName)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oButton=vp.core.getElement(vButton,sMethodName);
var sLinkId=oButton.id+"_link";
var sDisabledId=oButton.id+"_disabled";

document.getElementById(sLinkId).style.display=bEnable?"":"none";
document.getElementById(sDisabledId).style.display=bEnable?"none":"";
};






vp.ui.setOpacity=function ui_setOpacity(vElement,fOpacity)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oObj=vp.core.getElement(vElement,"vp.ui.setOpacity");

if(typeof oObj.style.opacity!="undefined")
{
if(fOpacity==1)
{
oObj.style.opacity="";
return;
}
oObj.style.opacity=fOpacity;
}
else
{
var oFilter=new vp.ui._IEFilterString(oObj.style.filter);

if(fOpacity==1)
{
oFilter.removeItem("Alpha");
}
else
{
try
{


if(!oObj.currentStyle.hasLayout)
{
if(!oObj.style.zoom)
{
oObj.style.zoom=1;
}
}
}catch(e){}

var iOpacity=fOpacity*100;

oFilter.setItem("Alpha",{enabled:1,opacity:iOpacity});
}

oObj.style.filter=oFilter.toString();
}
};

vp.ui._IEFilterString=function ui__IEFilterString(sFilters)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var _oFilters={};

var init=function pv_init()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
sFilters=sFilters.replace(/\s/gi,"");
var aFilters=sFilters.split("progid:DXImageTransform.Microsoft.");

for(var i=0;i<aFilters.length;i++)
{
if(aFilters[i].length>1)
{
var iParamListStart=aFilters[i].indexOf("(");
var sFilterName=aFilters[i].substring(0,iParamListStart);
var sSubParams=aFilters[i].substring(iParamListStart+1,aFilters[i].indexOf(")"));
var aSubParams=sSubParams.split(",");
var oFilterObj={};
for(var j=0;j<aSubParams.length;j++)
{
var iEqualsPos=aSubParams[j].indexOf("=");
var aPair=[];
aPair.add(aSubParams[j].substr(0,iEqualsPos));
aPair.add(aSubParams[j].substr(iEqualsPos+1));

oFilterObj[aPair[0]]=aPair[1];
}

_oFilters[sFilterName]=oFilterObj;
}
}
};

this.setItem=function pb_this_setItem(sFilterName,oParams)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
_oFilters[sFilterName]=oParams;
};

this.removeItem=function pb_this_removeItem(sFilterName)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(_oFilters[sFilterName])
{
delete _oFilters[sFilterName];
}
};

this.toString=function pb_this_toString()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var aOut=[];
var sSpace="";
for(var sProp in _oFilters)
{
aOut.add(sSpace+"progid:DXImageTransform.Microsoft."+sProp);
aOut.add("(");

var sComma="";
for(var sSubProp in _oFilters[sProp])
{
aOut.add(sComma+sSubProp+"="+_oFilters[sProp][sSubProp]);
sComma=",";
}
aOut.add(")");

sSpace=" ";
}

return aOut.join("");
};

init();
};





vp.ui.reactivateClickableButton=function ui_reactivateClickableButton(sElementNamespaceId){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui.expandAndCollapse('imgEnabledButton'+sElementNamespaceId,'imgDisabledButton'+sElementNamespaceId);
};





vp.ui.getClientHeight=function ui_getClientHeight(){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


if(typeof window.innerHeight!="undefined"){
return window.innerHeight;


}else if(document.documentElement&&
typeof document.documentElement.clientHeight!="undefined"&&
document.documentElement.clientHeight>0){

return document.documentElement.clientHeight;


}else if(document.body&&typeof document.body.clientHeight!="undefined"){
return document.body.clientHeight;
}else{
return-1;
}
};





vp.ui.getClientWidth=function ui_getClientWidth(){if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


if(typeof window.innerWidth!="undefined"){
return window.innerWidth;


}else if(document.documentElement&&typeof document.documentElement.clientWidth!="undefined"&&document.documentElement.clientWidth!==0){
return document.documentElement.clientWidth;


}else if(document.body&&typeof document.body.clientWidth!="undefined"){
return document.body.clientWidth;
}else{
return-1;
}
};






vp.ui.getViewportSize=function ui_getViewportSize(oWindow)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oSize={};
oWindow=oWindow||window;

if(self.innerHeight)
{
oSize.width=oWindow.innerWidth;
oSize.height=oWindow.innerHeight;
}
else if(oWindow.document.documentElement&&oWindow.document.documentElement.clientHeight)

{
oSize.width=oWindow.document.documentElement.clientWidth;
oSize.height=oWindow.document.documentElement.clientHeight;
}
else
{
oSize.width=oWindow.document.body.clientWidth;
oSize.height=oWindow.document.body.clientHeight;
}

return oSize;
};





vp.ui.getScrollOffset=function ui_getScrollOffset(oWindow)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oPos={};
oWindow=oWindow||window;

if(oWindow.pageYOffset)
{
oPos.left=oWindow.pageXOffset;
oPos.top=oWindow.pageYOffset;
}
else if(oWindow.document.documentElement&&oWindow.document.documentElement.scrollTop)

{
oPos.left=oWindow.document.documentElement.scrollLeft;
oPos.top=oWindow.document.documentElement.scrollTop;
}
else
{
oPos.left=oWindow.document.body.scrollLeft;
oPos.top=oWindow.document.body.scrollTop;
}

return oPos;
};





vp.ui.getPageSize=function ui_getPageSize(oWindow)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oWindow=oWindow||window;
var oRootElement=vp.ui.getRootElement(oWindow.document);

if(!oRootElement||oRootElement.scrollHeight<oWindow.document.body.scrollHeight)
{
oRootElement=oWindow.document.body;
}

var oRet={width:oRootElement.scrollWidth,height:oRootElement.scrollHeight};

if(oRootElement.clientWidth>oRootElement.scrollWidth)
{
oRet.width=oRootElement.clientWidth;
}

if(oRootElement.clientHeight>oRootElement.scrollHeight)
{
oRet.height=oRootElement.clientHeight;
}

return oRet;
};





vp.ui.centerElement=function ui_centerElement(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vElement=vp.core.getElement(vElement,"vp.ui.centerElement");

var viewport=vp.ui.getViewportSize();
var scroll=vp.ui.getScrollOffset();

vp.ui.moveTo(vElement,
(viewport.width-vp.ui.getWidth(vElement))/2+scroll.left,
(viewport.height-vp.ui.getHeight(vElement))/2+scroll.top);
};





vp.ui.preloadImages=function ui_preloadImages(aImages)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
try
{
var iLen=aImages.length;
for(var i=0;i<iLen;i++)
{
var oImg=document.createElement("IMG");

if(window.isDebug)
{
var sSrc=aImages[i];
oImg.onerror=function(){throw new Error("Debug only error: An attempt to preload "+sSrc+" was made, but the image couldn't be found.");};
}

oImg.src=aImages[i];
}
}
catch(ex)
{
if(window.isDebug)
{
throw ex;
}
}
};








vp.ui.preloadImageAndGetSize=function ui_preloadImageAndGetSize(sImageSrc,fnCallback,fnErrorHandler)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oImg=document.createElement("IMG");
oImg.style.visibility="hidden";
oImg.style.zIndex=-1;
document.body.appendChild(oImg);

vp.ui._traceImageSrc(sImageSrc,"vp.ui.preloadImageAndGetSize");

var fnPreloadHandler=function pv_fnPreloadHandler(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}





var fnWrapper=function pv_fnWrapper()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oSize={width:oImg.offsetWidth,height:oImg.offsetHeight};

vp.events.remove(oImg,"load",fnPreloadHandler);
document.body.removeChild(oImg);
oImg=null;
fnCallback(oSize);
};

window.setTimeout(fnWrapper,0);
};

vp.events.add(oImg,"load",fnPreloadHandler);

if(fnErrorHandler)
{
vp.events.add(oImg,"error",function(e){fnErrorHandler(e,sImageSrc);});
}

oImg.src=sImageSrc;
};











vp.ui.showAnimated=function ui_showAnimated(oElement,iStartWidth,iStartHeight,iEndWidth,iEndHeight,bIgnoreOverflow,bBottomUp)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oElement._isBeingAnimated)
{
return;
}

oElement._isBeingAnimated=true;

var sInitialWidthStyle=oElement.style.width;
var sInitialHeightStyle=oElement.style.height;

oElement.style.width=iStartWidth;
oElement.style.height=iStartHeight;
oElement.style.visibility="visible";

if(!bIgnoreOverflow)
{
var sOldOverflow=oElement.style.overflow;
oElement.style.overflow="hidden";
}

var dPercent=0;
var iMaxPercent=100;
var iDelay=10;

if(!vp.browser.isIE)
{
iDelay=20;
}

var iDuration=80;
var dStep=iMaxPercent*iDelay/iDuration;
var initialTop=parseInt(oElement.style.top);

var fnShowAni=function pv_fnShowAni()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var newHeight=iStartHeight+(iEndHeight-iStartHeight)*dPercent/iMaxPercent;
var newWidth=iStartWidth+(iEndWidth-iStartWidth)*dPercent/iMaxPercent;
if(dPercent<=iMaxPercent)
{
oElement.style.height=newHeight+"px";
oElement.style.width=newWidth+"px";
if(bBottomUp)
{
oElement.style.top=(initialTop+iEndHeight-newHeight)+"px";
}
dPercent+=dStep;
setTimeout(fnShowAni,iDelay);
}
else
{
oElement.style.height=iEndHeight+"px";
oElement.style.width=iEndWidth+"px";
if(!bIgnoreOverflow)
{
oElement.style.overflow=sOldOverflow;
}

oElement.style.width=sInitialWidthStyle;
oElement.style.height=sInitialHeightStyle;

oElement._isBeingAnimated=false;
}
};
fnShowAni();
};





vp.ui.getRootElement=function ui_getRootElement(oDoc)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oDoc)
{
oDoc=document;
}

return oDoc.documentElement?oDoc.documentElement:oDoc.body;
};




vp.ui.getAllChildren=function ui_getAllChildren(oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oElement)
{
return[];
}
return oElement.all?oElement.all:oElement.getElementsByTagName('*');
};





vp.ui.isScrollBarClickEvent=function ui_isScrollBarClickEvent(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
e=vp.events.getEvent(e);

if(e.target&&(e.target.tagName.toLowerCase()=="body"||e.target.tagName.toLowerCase()=="html"))
{
var oViewRect=vp.ui.getViewportSize();
var oScrollRect=vp.ui.getPageSize();


if(oScrollRect.height>oViewRect.height)
{

if(e.pageX+20>oViewRect.width)
{
return true;
}
}


if(oScrollRect.width>oViewRect.width)
{

if(e.pageY+20>oViewRect.height)
{
return true;
}
}
}

return false;
};

vp.ui.isVerticalScrollbarVisible=function ui_isVerticalScrollbarVisible(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement=vElement?vp.core.getElement(vElement,"vp.ui.isVerticalScrollbarVisible"):vp.ui.getRootElement();
return oElement.scrollHeight>oElement.offsetHeight;
};

vp.ui.isHorizontalScrollbarVisible=function ui_isHorizontalScrollbarVisible(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement=vElement?vp.core.getElement(vElement,"vp.ui.isHorizontalScrollbarVisible"):vp.ui.getRootElement();
return oElement.scrollWidth>oElement.offsetWidth;
};







vp.ui.getMaxProperty=function ui_getMaxProperty(objs,propertyString)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var propertyArray=propertyString.split('.');

var maxValue=0;
for(var i=0;i<objs.length;i++)
{
var iArray=0;
var value=objs[i];
while(value&&propertyArray[iArray])
{
value=value[propertyArray[iArray]];
iArray=iArray+1;
}
value=parseInt(value);
if(value>maxValue)
{
maxValue=value;
}
}
return maxValue;
};

vp.ui._mouseTrackingHandler=function ui__mouseTrackingHandler(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
e=vp.events.getEvent(e);
window.__mouseTrackingTarget=e.target;
};






vp.ui.startTrackMouseTarget=function ui_startTrackMouseTarget(oWindow)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oWindow)
{
oWindow=window;
}

vp.events.add(vp.ui.getRootElement(oWindow.document),"mouseover",vp.ui._mouseTrackingHandler);

for(var i=0;i<oWindow.frames.length;i++)
{
vp.ui.startTrackMouseTarget(oWindow.frames[i]);
}
};





vp.ui.stopTrackMouseTarget=function ui_stopTrackMouseTarget(oWindow)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oWindow)
{
oWindow=window;
}

vp.events.remove(vp.ui.getRootElement(oWindow.document),"mouseover",vp.ui._mouseTrackingHandler);

for(var i=0;i<oWindow.frames.length;i++)
{
vp.ui.stopTrackMouseTarget(oWindow.frames[i]);
}
};






vp.ui.getMouseTarget=function ui_getMouseTarget()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return window.__mouseTrackingTarget?window.__mouseTrackingTarget:null;
};








vp.ui.makeUnselectable=function ui_makeUnselectable(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElement=vp.core.getElement(vElement);

if(oElement.nodeType==1)
{
oElement.setAttribute("unselectable","on");
vp.ui.preventDragging(oElement);

for(var i=0;i<oElement.childNodes.length;i++)
{
vp.ui.makeUnselectable(oElement.childNodes[i]);
}
}
};






vp.ui.preventDragging=function ui_preventDragging(oNode,bRecurse)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oNode.nodeType==1)
{
if(oNode.tagName=="IMG")
{
if(document.all)
{
vp.events.add(oNode,"drag",vp.events.cancelEvent);
}
else
{
vp.events.add(oNode,"mousedown",vp.events.cancelEvent);
}
}

if(bRecurse)
{
for(var i=0;i<oNode.childNodes.length;i++)
{
vp.ui.preventDragging(oNode.childNodes[i],bRecurse);
}
}
}
};





vp.ui.browserSupportsPNG=function ui_browserSupportsPNG()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return!vp.browser.isIE||vp.browser.ver>=7;
};

vp.ui.imageUrl=function ui_imageUrl(sUrl)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!window.imageHost)
{
return sUrl;
}

if(sUrl.indexOf("http")===0)
{
return sUrl;
}

return window.imageHost+sUrl;
};

var VP_UI_BLANK_IMAGE=vp.ui.imageUrl("/vp/JS-Lib/common/spacer.gif");








vp.ui.setSrcPNG=function ui_setSrcPNG(oImg,sSrc,fnCallback)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(vp.core.getBoolean(vp.web.getQueryString("admin")))
{
var oAdminURL=new vp.web.URL(sSrc,"vp.ui.setSrcPNG");
oAdminURL.setItem("admin",1);
sSrc=oAdminURL.toString();
}

vp.ui._traceImageSrc(sSrc);

if(!vp.ui.browserSupportsPNG())
{




var oLoader=vp.core.getObjectReference(oImg,"PNGloader");

if(!oLoader)
{
oLoader=document.createElement("IMG");
oLoader.id=oImg.id+"_PNGLoader";
oLoader.style.visibility="hidden";
oLoader.style.display="none";
oLoader.style.position="absolute";
oLoader.style.top=0;
oLoader.style.left=0;

vp.core.setObjectReference(oImg,oLoader,"PNGloader");

var fnOnLoadTempImg=function pv_fnOnLoadTempImg(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(this.img.src.indexOf(VP_UI_BLANK_IMAGE)==-1)
{
this.img.src=VP_UI_BLANK_IMAGE;
}

this.img.style.width="";
this.img.style.height="";

this.loader.style.display="block";
this.img.width=this.loader.width;
this.img.height=this.loader.height;
this.loader.style.display="none";

this.img.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+vp.web.urlEncode(this.loader.newSrc)+"',sizingMethod='scale')";

if(this.callback)
{
this.callback(e);
}

}.getClosure(
{
img:oImg,
loader:oLoader,
callback:fnCallback
}
);


var fnTimerWrapper=function pv_fnTimerWrapper()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
window.setTimeout(this.innerFunction,10);
}
.getClosure(
{
innerFunction:fnOnLoadTempImg
}
);

vp.events.add(oLoader,"load",fnTimerWrapper);

var fnLoadLoader=function pv_fnLoadLoader()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
document.body.appendChild(oLoader);
};




if(document.readyState!="complete")
{
vp.events.add(window,"load",fnLoadLoader);
}
else
{
fnLoadLoader();
}
}


oLoader.removeAttribute("width");
oLoader.removeAttribute("height");
oLoader.style.width="";
oLoader.style.height="";


var sRelativePath=vp.ui.getRelativeURL(sSrc);
oLoader.newSrc=sRelativePath;
oLoader.src=sRelativePath;
oImg.pngSrc=sSrc;

}
else
{

var fnOnLoadHandler=function pv_fnOnLoadHandler()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oImg.removeAttribute("width");
oImg.removeAttribute("height");
oImg.style.width="";
oImg.style.height="";

if(fnCallback)
{


window.setTimeout(fnCallback,0);
}

vp.events.remove(oImg,"load",fnOnLoadHandler);
};



if(vp.browser.isWebKit)
{
var fnSafariHack=function pv_fnSafariHack(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.events.remove(oImg,"load",fnSafariHack);

var fnInnerHack=function pv_fnInnerHack()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.events.add(oImg,"load",fnOnLoadHandler);

oImg.removeAttribute("width");
oImg.removeAttribute("height");
oImg.style.width="";
oImg.style.height="";

oImg.src=sSrc;
oImg.pngSrc=sSrc;
};

window.setTimeout(fnInnerHack,10);
};

vp.events.add(oImg,"load",fnSafariHack);
oImg.src=VP_UI_BLANK_IMAGE;
}
else
{
vp.events.add(oImg,"load",fnOnLoadHandler);
oImg.src=sSrc;
oImg.pngSrc=sSrc;
}
}
};








vp.ui.setSrcPNGSimple=function ui_setSrcPNGSimple(oImg,sSrc)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.ui._traceImageSrc(sSrc,"vp.ui.setSrcPNGSimple");

if(vp.ui.browserSupportsPNG())
{
oImg.src=sSrc;
}
else
{
oImg.src=VP_UI_BLANK_IMAGE;
oImg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+vp.web.urlEncode(vp.ui.getRelativeURL(sSrc))+"',sizingMethod='scale')";
oImg.pngSrc=sSrc;
}
};

vp.ui._traceImageSrc=function ui__traceImageSrc(sSrc,sMessage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

if(vp.core.getBoolean(vp.web.getQueryString("debugimg")))
{
if(sMessage)
{
sMessage="<font color=red>"+sMessage+"</font>: ";
}

var oDebugURL=new vp.web.URL(sSrc);
oDebugURL.setItem("showerr",1);
var sDebugSrc=oDebugURL.toString();
vp.debug.trace("<a href=../testweb/Matrix Computers - Home_files//""+vp.web.htmlAttributeEncode(sDebugSrc)+"/" target='png_preview'><IMG border=0 src=../testweb/Matrix Computers - Home_files//""+vp.web.htmlAttributeEncode(sSrc)+"/"></a>");
sMessage=sMessage||"";
vp.debug.trace(sMessage+sSrc);
vp.debug.trace("");
}
};







vp.ui.pngHackTrackMouseEvents=function ui_pngHackTrackMouseEvents()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!vp.ui.browserSupportsPNG()&&!document._pngHackMouseEventsAdded)
{
vp.events.add(document.body,"mousemove",vp.ui._pngHackMouseMoveHandler);
document._pngHackMouseEventsAdded=true;
}
};






vp.ui._pngHackMouseMoveHandler=function ui__pngHackMouseMoveHandler(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oElem=document.elementFromPoint(e.clientX,e.clientY);


if(document._pngHackCurrentMouseOverElement&&oElem!=document._pngHackCurrentMouseOverElement)
{
try
{
vp.events.fireEvent(document._pngHackCurrentMouseOverElement,"mouseout");
}
catch(ex){}
}


if(oElem&&oElem.pngSrc&&oElem!=document._pngHackCurrentMouseOverElement)
{
try
{
vp.events.fireEvent(oElem,"mouseover");
}
catch(ex){}

vp.events.add(oElem,"mouseout",vp.ui._pngHackMouseOutHandler);
document._pngHackCurrentMouseOverElement=oElem;
}
};






vp.ui._pngHackMouseOutHandler=function ui__pngHackMouseOutHandler(e)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(e.srcElement==document._pngHackCurrentMouseOverElement)
{
vp.events.remove(document._pngHackCurrentMouseOverElement,"mouseout",vp.ui._pngHackMouseOutHandler);
document._pngHackCurrentMouseOverElement=null;
}
};






vp.ui.getRelativeURL=function ui_getRelativeURL(sURL)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(sURL.indexOf("http://")===0||
sURL.indexOf("https://")===0)
{
sURL=sURL.substr(8);
sURL=sURL.substr(sURL.indexOf("/"));
}


if(sURL.substr(0,1)!="/")
{
return sURL;
}

var sCurrentURL=document.location.pathname;
var aCurrent=sCurrentURL.substr(1).split("/");

var aTarget=sURL.substr(1).split("/");
var aNew=[];


while(aCurrent.length>0&&aTarget.length>0)
{
if(aCurrent[0].toLowerCase()==aTarget[0].toLowerCase())
{
aCurrent.remove(0);
aTarget.remove(0);
}
else
{
break;
}
}


for(var i=0;i<aCurrent.length-1;i++)
{
aNew.add("..");
}


for(i=0;i<aTarget.length;i++)
{
aNew.add(aTarget[i]);
}

return aNew.join("/");
};







vp.ui.isElementInDOM=function ui_isElementInDOM(oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return oElement.parentNode&&
oElement.parentNode!=oElement.ownerDocument&&
oElement.parentNode.nodeType==1;
};





vp.ui.removeFromDOM=function ui_removeFromDOM(oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
oElement.parentNode.removeChild(oElement);
};





vp.ui.removeChildren=function ui_removeChildren(oContainer)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oContainer&&oContainer.hasChildNodes())
{
while(oContainer.childNodes.length>=1)
{
oContainer.removeChild(oContainer.firstChild);
}
}
};





vp.ui.replaceNodeWithContents=function ui_replaceNodeWithContents(oNode)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oParent=oNode.parentNode;
var iLen=oNode.childNodes.length;
for(var i=0;i<iLen;i++)
{
var oChild=oNode.childNodes[i];
oChild.parentNode.removeChild(oChild);
oParent.insertBefore(oChild,oNode);
}

oParent.removeChild(oNode);
oParent.normalize();
};








vp.ui.getFirstElementChild=function ui_getFirstElementChild(oElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
for(var i=0;i<oElement.childNodes.length;i++)
{
if(oElement.childNodes[i].nodeType==1)
{
return oElement.childNodes[i];
}
}

return null;
};






vp.ui.getParentByTagName=function ui_getParentByTagName(vElement,tagName)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vElement=vp.core.getElement(vElement).parentNode;

while(vElement&&vElement.tagName!=tagName)
{
vElement=vElement.parentNode;
}

return vElement;
};







vp.ui.isChildOf=function ui_isChildOf(oChild,oParent)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oTemp;
if(typeof(oChild.parentNode)!="undefined")
{
oTemp=oChild.parentNode;
}
else if(oChild.parentElement)
{
oTemp=oChild.parentElement();
}
else if(oChild.length)
{
oTemp=oChild[0];
}

while(oTemp)
{
if(oTemp==oParent)
{
return true;
}

if(oTemp.tagName&&oTemp.tagName.toLowerCase()=="body")
{
return false;
}
oTemp=oTemp.parentNode;
}

return false;
};








vp.ui.getRectWithAspectRatio=function ui_getRectWithAspectRatio(oContainerRect,fAspectRatio)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oRect={
top:0,
left:0,
width:oContainerRect.width,
height:oContainerRect.height
};

var fContainerAspectRatio=oContainerRect.width/oContainerRect.height;

if(fContainerAspectRatio<fAspectRatio)
{
oRect.height=Math.round(oRect.width/fAspectRatio);
}
else
{
oRect.width=Math.round(oRect.height*fAspectRatio);
}

oRect.left=(oContainerRect.width-oRect.width)/2;
oRect.top=(oContainerRect.height-oRect.height)/2;
oRect.right=oRect.left+oRect.width;
oRect.bottom=oRect.top+oRect.height;

return oRect;
};







vp.ui.doRectsIntersect=function ui_doRectsIntersect(oRect1,oRect2)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
return!(oRect1.left>(oRect2.left+oRect2.width)||
(oRect1.left+oRect1.width)<oRect2.left||
oRect1.top>(oRect2.top+oRect2.height)||
(oRect1.top+oRect1.height)<oRect2.top);
};







vp.ui.isPointInsideRect=function ui_isPointInsideRect(oPoint,oRect)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(oPoint.top>=oRect.top&&oPoint.top<=oRect.top+oRect.height)
{
if(oPoint.left>=oRect.left&&oPoint.left<=oRect.left+oRect.width)
{
return true;
}
}

return false;
};







vp.ui.getDistance=function ui_getDistance(oPoint1,oPoint2)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

return Math.sqrt(Math.pow(oPoint1.top-oPoint2.top,2)+Math.pow(oPoint1.left-oPoint2.left,2));
};









vp.ui.makeElementOpaqueInIE6=function ui_makeElementOpaqueInIE6(oElement,bEnable,oTarget)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(vp.browser.isIE&&vp.browser.ver<7)
{
var sID=oElement.id+"_iframe_block";
var oIFrameLayer=oElement.ownerDocument.getElementById(sID);

if(!oIFrameLayer)
{
oIFrameLayer=oElement.ownerDocument.createElement("IFRAME");


vp.ui.ensureIFrameSrc(oIFrameLayer);
oIFrameLayer.style.position="absolute";
if(!oTarget)
{
oElement.appendChild(oIFrameLayer);
}
else
{
oTarget.appendChild(oIFrameLayer);
oIFrameLayer.style.left=0;
oIFrameLayer.style.top=0;
}
}

oIFrameLayer.style.width="100%";
oIFrameLayer.style.height="100%";

oIFrameLayer.style.display=bEnable?"block":"none";

oIFrameLayer.style.filter="mask()";


}
};

vp.ui.dummyIFrames={};








vp.ui.showIE6IFrame=function ui_showIE6IFrame(oElement,bShow)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!vp.browser.isIE||vp.browser.ver>=7)
{

return;
}
var dummyIFrame=vp.ui.dummyIFrames[oElement.id];
if(!dummyIFrame)
{
dummyIFrame=document.createElement("IFRAME");
dummyIFrame.setAttribute("src","");


vp.ui.ensureIFrameSrc(dummyIFrame);
vp.ui.dummyIFrames[oElement.id]=dummyIFrame;
}

if(!bShow)
{
try
{
oElement.parentElement.removeChild(dummyIFrame);
}
catch(e){}
return;
}


dummyIFrame.style.zIndex=oElement.style.zIndex;
oElement.style.zIndex=oElement.style.zIndex+1;


dummyIFrame.style.position="absolute";
dummyIFrame.style.left=oElement.offsetLeft+"px";
dummyIFrame.style.top=oElement.offsetTop+"px";
dummyIFrame.style.width=oElement.offsetWidth+"px";
dummyIFrame.style.height=oElement.offsetHeight+"px";

oElement.parentElement.appendChild(dummyIFrame);
};






vp.ui.loadScript=function ui_loadScript(sUrl,fnCallback)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}


var oScript=document.createElement("script");
oScript.type="text/javascript";

if(fnCallback)
{
if(oScript.readyState)
{
oScript.onreadystatechange=function()
{
if(oScript.readyState=="loaded"||oScript.readyState=="complete")
{
oScript.onreadystatechange=null;
fnCallback();
}
};
}
else
{
oScript.onload=function()
{
fnCallback();
};
}
}

oScript.src=sUrl;
document.body.appendChild(oScript);
};






vp.ui.loadScriptAfterPageLoad=function ui_loadScriptAfterPageLoad(sUrl,fnCallback)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
vp.events.runAfterLoadComplete(function(){vp.ui.loadScript(sUrl,fnCallback);});
};






vp.ui.loadImageAfterPageLoad=function ui_loadImageAfterPageLoad(sUrl)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var fnLoader=function pv_fnLoader()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oImg=document.createElement("IMG");
oImg.src=sUrl;
document.body.appendChild(oImg);
};

vp.events.runAfterLoadComplete(fnLoader);
};






vp.ui.loadIFrameAfterPageLoad=function ui_loadIFrameAfterPageLoad(sUrl)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var fnLoader=function pv_fnLoader()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oIframe=document.createElement("IFRAME");
oIframe.src=sUrl;
oIframe.style.display="none";
document.body.appendChild(oIframe);
};

vp.events.runAfterLoadComplete(fnLoader);
};






vp.ui.isQuirksMode=function ui_isQuirksMode()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!document.all)
{
return false;
}

return document.compatMode!="CSS1Compat";
};






vp.ui.includeCssQuirksMode=function ui_includeCssQuirksMode(sPath)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(vp.ui.isQuirksMode())
{
if(!window._quirksModeCssFiles)
{
window._quirksModeCssFiles={};
}

if(!window._quirksModeCssFiles[sPath])
{
vp.events.runAfterDOMLoadComplete(function()
{
var oLink=document.createElement("LINK");
oLink.href=sPath;
oLink.rel="stylesheet";
oLink.type="text/css";
var documentElement=document.documentElement?document.documentElement:document.body;
documentElement.appendChild(oLink);
});
}

window._quirksModeCssFiles[sPath]=true;
}
};






vp.ui.getIFrameForDocument=function ui_getIFrameForDocument(oIFrameDocument)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oWin=oIFrameDocument.defaultView?oIFrameDocument.defaultView:oIFrameDocument.parentWindow;
try
{
if(oWin&&oWin.frameElement)
{
return oWin.frameElement;
}
}
catch(e)
{

}

return null;
};









vp.ui.getRootRect=function ui_getRootRect(vElement)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

vElement=vp.core.getElement(vElement,"vp.ui.getRootRect");


var oRect=vp.ui.getRect(vElement);


do
{

vElement=vp.ui.getIFrameForDocument(vElement.ownerDocument);


if(vElement)
{
var oFrameRect=vp.ui.getRect(vElement);


oRect.top+=oFrameRect.top;
oRect.left+=oFrameRect.left;
oRect.right+=oFrameRect.left;
oRect.bottom+=oFrameRect.top;
}
}
while(vElement);

return oRect;
};









vp.ui.ensureIFrameSrc=function ui_ensureIFrameSrc(oIFrame)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(!oIFrame.src&&
vp.browser.isIE&&
window.location.protocol=="https:")
{
oIFrame.src=VP_UI_BLANK_IMAGE;
}
};






vp.ui.ensureLanguageIdParameter=function ui_ensureLanguageIdParameter(sSrc)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(sSrc.indexOf("langid")<=0)
{
var iLangId=typeof(window.languageId)=="undefined"?1:window.languageId;
var oURL=new vp.web.URL(sSrc);
oURL.setItem("langid",iLangId);
return oURL.toString();
}

return sSrc;
};







vp.ui.stripEmbeddedImageParameters=function ui_stripEmbeddedImageParameters(sSrc)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
if(sSrc.indexOf("http")===0)
{
var iRelPathStart=sSrc.indexOf("/")+2+document.location.hostname.length;

sSrc=sSrc.substr(iRelPathStart);
}

if(sSrc.indexOf("/sf/")===0)
{
sSrc=sSrc.replace(/\/sf\/\_langid\-\d+\/\_/,"");
sSrc=sSrc.replace(/hc\-[\-\d]+\/\_/,"");
}

return sSrc;
};









vp.ui.setImageSrcSprite=function ui_setImageSrcSprite(vImage,sSrc,bFailoverToNonSprite)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}
var oImage=vp.core.getElement(vImage,"vp.ui.setImageSrcSprite");

if(!sSrc)
{
throw new Error("The specified image source was null or empty");
}

var fnFallback=function pv_fnFallback()
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

oImage.src=vp.ui.ensureLanguageIdParameter(sSrc);
oImage.style.backgroundImage="";
};


if(window.cssSpritesDisabled)
{
fnFallback();
return;
}


var oSpriteImage;
var sSpriteSrc;

try
{
if(!window._cssSprites)
{
throw new Error("No sprite data loaded");
}




var oUrl=new vp.web.URL(sSrc.toLowerCase());
var sSpriteKey=oUrl.pathname;


var oSpriteData=window._cssSprites[sSpriteKey];
if(!oSpriteData)
{
throw new Error("Sprite data not found for image: "+sSrc);
}





oSpriteImage=window._cssSpriteImages[oSpriteData[4]];
sSpriteSrc=oSpriteImage.src;
}
catch(ex)
{
if(!bFailoverToNonSprite&&window.isDebug)
{
throw ex;
}

fnFallback();
return;
}


if(!vp.ui.browserSupportsPNG())
{
if(oSpriteImage.isSemiTransparent)
{

fnFallback();
return;
}
else if(oSpriteImage.hasGif)
{

sSpriteSrc=sSpriteSrc.replace(".png",".gif");
}
}

oImage.src=vp.ui.imageUrl("/vp/images/clearpixel.gif");
oImage.style.backgroundImage="url("+sSpriteSrc+")";
oImage.style.backgroundPosition="-"+oSpriteData[0]+"px "+"-"+oSpriteData[1]+"px";
oImage.style.width=oSpriteData[2]+"px";
oImage.style.height=oSpriteData[3]+"px";
};









vp.ui.scaleImageToFit=function ui_scaleImageToFit(vImage,iMaxWidth,iMaxHeight)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oImage=vp.core.getElement(vImage,"vp.ui.scaleResizeImage");


var oNaturalSize=vp.ui.getNaturalSize(oImage);
var iWidth=oNaturalSize.width;
var iHeight=oNaturalSize.height;


if(iWidth>iMaxWidth)
{
iHeight=parseInt(iHeight*iMaxWidth/iWidth);
iWidth=iMaxWidth;
}


if(iHeight>iMaxHeight)
{
iWidth=parseInt(iWidth*iMaxHeight/iHeight);
iHeight=iMaxHeight;
}


oImage.style.width=iWidth+"px";
oImage.style.height=iHeight+"px";
};








vp.ui.getNaturalSize=function ui_getNaturalSize(vImage)
{if(!window.__noTrace){__td[__ti]=arguments;__ti=__ti>=__MT?0:__ti+1;}

var oImage=vp.core.getElement(vImage,"vp.ui.getNaturalSize");


var iWidth=oImage.naturalWidth;
var iHeight=oImage.naturalHeight;


if(!iWidth||!iHeight)
{
var cachedImage=new Image();
cachedImage.src=oImage.src;
iWidth=cachedImage.width;
iHeight=cachedImage.height;
}

return{width:iWidth,height:iHeight};
};