home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Joystick Magazine 2003 November
/
CD1_JOY_153.iso
/
demos
/
NHL2004Demo.exe
/
fe
/
nhl
/
htc
/
tab
/
TabStrip.htc
< prev
next >
Wrap
Text File
|
2003-08-20
|
7KB
|
224 lines
<!-- Copyright (c) 2002 Electronic Arts Inc. All rights reserved. -->
<public:component tagname="TabStrip" lightweight=true >
<public:property name='imgSrc' />
<public:property name='imgHeight' />
<public:property name='imgWidth' />
<public:attach event='onselectstart' handler='cancelcursorselect' />
<public:attach event="ondocumentready" onevent="DoInit()" />
</public:component>
<script language="javascript">
element.style.visibility ='hidden';
var aImgs = new Array();
var pngHeight;
var pngWidth;
function DoInit(){
var oTable = element.document.createElement("TABLE");
var oTBody = element.document.createElement("TBODY");
var oRow = element.document.createElement("TR");
var oBody = element.document.createElement("BODY");
var oHtml = element.document.createElement("HTML");
var oCell ;
var oFirstTab;
imgSrc ? aImgs["normal"] = System.getInstallFolder() + imgSrc : aImgs["normal"] = GetInstallFolder() + "/fe/NHL/htc/tab/tab_nml.png";
aImgs["down"] = aImgs["normal"].toString().replace(/nml/ , "dwn");
pngHeight = imgHeight ? imgHeight : "20px";
pngWidth = imgWidth ? imgWidth : "115px";
setDefaults();
with( oTable.style )
{
fontSize = currentStyle.fontSize;
fontWeight = currentStyle.fontWeight;
visible = 'visible';
position = 'absolute';
left = "0px";
top = "0px";
}
with( oTable )
{
cellSpacing = 0;
cellPadding = 0;
border = 0;
}
with( oBody.style )
{
background = 'transparent';
left = "0px";
top = "0px";
}
for (var tabIndex =0 ; tabIndex < element.children.length ; tabIndex++)
{
if(element.children[tabIndex].tagName.indexOf('Tab') != -1)
{
oCell = window.document.createElement( "TD" );
var sPageAttr = element.children[tabIndex].getAttribute( "page" );
oDiv = createButtonElement( element.children[tabIndex].innerText )
oDiv.setAttribute( "page" , sPageAttr )
oCell.appendChild( oDiv );
oRow.appendChild( oCell );
if(!tabIndex)oFirstTab = oDiv;
}
}
oTBody.appendChild( oRow );
oTable.appendChild( oTBody );
oBody.appendChild( oTable );
oHtml.appendChild( oBody );
defaults.viewLink = oHtml.document;
selectFirstTab( oFirstTab );
element.style.visibility ='visible';
}
function setDefaults()
{
NormalDefault("fontFamily", "Times New Roman", "Arial");
NormalDefault("fontSize", "12pt", "10pt");
NormalDefault("fontWeight", "400", "100");
CustomDefault("nml-text-color", "nmlTextColor", "blue");
CustomDefault("hov-text-color", "hovTextColor", "blue");
CustomDefault("dwn-text-color", "dwnTextColor", "black");
}
function NormalDefault(sCSSName, sIEDefault, sDefault)
{
if (currentStyle[sCSSName] == sIEDefault
&& (style[sCSSName] == "" || style[sCSSName] == null))
{
style[sCSSName] = sDefault;
}
else style[sCSSName] = currentStyle[sCSSName];
}
function CustomDefault(sCSSName, sScriptName, sDefault)
{
if (currentStyle[sCSSName] == null)
{
style[sCSSName] = sDefault;
}
else style[sCSSName] = currentStyle[sCSSName];
style[sScriptName] = style[sCSSName];
}
function selectFirstTab( oSelEl )
{
oSelEl.style.color = element.currentStyle.dwnTextColor;
oSelEl.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + aImgs["down"].toString() + ",sizingMethod=crop)";
oSelEl.document.body.setAttribute( "selected" , oSelEl.id );
showPage( oSelEl )
}
function createButtonElement( sText )
{
oDiv = window.document.createElement( "DIV" );
oDiv.innerText = sText;
with(oDiv)
{
id = sText;
name = sText;
onmousedown = OnButtonDwn;
onmouseup = MoveUp;
onmouseenter = OnButtonHover;
onmouseleave = OnButtonLeave;
}
with(oDiv.style)
{
top = "0px";
left = "0px";
width = pngWidth;
height = pngHeight;
color = element.currentStyle.nmlTextColor;
fontFamily = element.currentStyle.fontFamily;
cursor = 'hand';
zIndex = 100;
textAlign = 'center';
filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + aImgs["normal"].toString() + ",sizingMethod=crop)";
}
return oDiv;
}
function OnButtonDwn()
{
var oSelectedEl = event.srcElement;
var selectedId = oSelectedEl.document.body.getAttribute("selected")
var oPreviousEl = oSelectedEl.document.getElementById(selectedId);
if(oPreviousEl != null && oSelectedEl.id != selectedId) unselect( oPreviousEl );
if(oSelectedEl.id != selectedId) select( oSelectedEl );
}
function MoveUp()
{
event.cancelBubble = true;
return false;
}
function OnButtonHover()
{
var oSelectedEl = event.srcElement;
var selectedId = oSelectedEl.document.body.getAttribute( "selected" );
if(oSelectedEl.id != selectedId) oSelectedEl.style.color = element.currentStyle.hovTextColor;
}
function OnButtonLeave()
{
var oSelectedEl = event.srcElement;
var selectedId = oSelectedEl.document.body.getAttribute( "selected" );
if(oSelectedEl.id != selectedId) oSelectedEl.style.color = element.currentStyle.nmlTextColor;
}
function select(oSelEl)
{
oSelEl.style.color = element.currentStyle.dwnTextColor;
oSelEl.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + aImgs["down"].toString() + ",sizingMethod=crop)";
oSelEl.document.body.setAttribute( "selected" , oSelEl.id );
showPage(oSelEl);
}
function showPage(oSelPage)
{
var sPageAttr = oSelPage.getAttribute( "page" );
var oDivPage = window.document.getElementById( sPageAttr );
oDivPage.style.visibility ='visible';
}
function hidePage(oPreEl)
{
var sPageAttr = oPreEl.getAttribute( "page" );
var oDivPage = window.document.getElementById( sPageAttr );
oDivPage.style.visibility = 'hidden';
}
function unselect(oPreEl)
{
oPreEl.style.color = element.currentStyle.nmlTextColor;
oPreEl.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + aImgs["normal"].toString() + ",sizingMethod=crop)";
hidePage(oPreEl);
}
function CancelCursorSelect()
{
event.cancelBubble = true;
event.returnValue = false;
}
</script>