function NavBarControl(navBtnNode, idx) { super(null, null, idx) this.tabIndex = idx; this.index = idx; this.controlType = "508Navbtn"; this.btnEnabled = false; this.state = "off"; this.objRef = null; this.x = Number(navBtnNode.attributes.x); this.y = Number(navBtnNode.attributes.y); this.w = Number(navBtnNode.attributes.w); this.h = Number(navBtnNode.attributes.h); //this.resumeStateSilent = (navBtnNode.attributes.resumeStateSilent != "false"); this.toggleOffSilent = (navBtnNode.attributes.toggleOffSilent != "false"); this.isNextBtn = (navBtnNode.attributes.nextBtn == "true"); this.isPrevBtn = (navBtnNode.attributes.prevBtn == "true"); for (var i = 0; i < navBtnNode.childNodes.length; i++) { var childNode = navBtnNode.childNodes[i]; if (childNode.nodeType == 1) { var tag = childNode.nodeName; switch (tag) { case "ID": this.name = getNodeValue(childNode); break; case "Label": this.label = getNodeValue(childNode); break; case "RMAText": this.rmaLabel = getNodeValue(childNode); break; case "ClickEventName": this.clickEventName = getNodeValue(childNode); break; } } } } //NavBarControl.prototype = new ComponentProxy(); NavBarControl.prototype = new MCButtonProxy(); NavBarControl.prototype.setEnabled = function(val) { this.enabled = val; this.validateObjRef(); } // Override the default behavior in MCButtonProxy to take // advantage of hide state in these MovieClips. NavBarControl.prototype.setVisible = function(visible) { this.visible = visible; this.validateObjRef(); } NavBarControl.prototype.setVisualState = function(state) { this.state = state; this.validateObjRef(); } NavBarControl.prototype.validateObjRef = function() { if ((this.objRef == null) || (this.objRef == undefined)) { this.objRef = eval("_level" + NAV_LVL + "." + this.name); this.objRef.tabIndex = this.index; if (isNaN(this.x)) { this.x = this.objRef._x; } if (isNaN(this.y)) { this.y = this.objRef._y; } //ComponentProxies use setListener // this.setListener(); //this.setClickListener(); } this.resolveState(); return this.objRef; } NavBarControl.prototype.initialize = function() { this.validateObjRef(); setRMAProperties(this.objRef, this.rmaLabel, this.index, false, this.enabled); } //REVISIT. THIS IS WORTHY OF A COMMENT NavBarControl.prototype.makeRMASilent = function(silent, rmaNavBarIsOn) { var temp = this.rmaLabel; var makeSilent = false; if (silent || (rmaNavBarIsOn == undefined)) { makeSilent = silent; } else { makeSilent = (!rmaNavBarIsOn && this.toggleOffSilent); } if (makeSilent) { this.rmaLabel = ""; } //debugLog("this.rmaLable = " + temp + " make Silent=" + makeSilent); super.makeRMASilent(makeSilent); this.rmaLabel = temp; // if (silent || (rmaNavBarIsOn == undefined)) { // super.makeRMASilent(silent); // } // else { // super.makeRMASilent(!rmaNavBarIsOn && this.toggleOffSilent); // } } NavBarControl.prototype.resolveState = function() { if (this.enabled && this.visible) { this.setClickListener(); this.objRef.enabled = true; this.objRef.tabIndex = this.tabIndex; this.objRef.tabEnabled = true; var st = ((this.state == "blink") || (this.state == "on")) ? this.state : "_up"; this.objRef.gotoAndStop(st); return; } else if (!this.enabled && this.visible) { this.removeClickListener(); this.objRef.enabled = false; this.objRef.tabIndex = -1; this.objRef.tabEnabled = false; this.objRef.gotoAndStop("off"); return; } else if (this.enabled && !this.visible) { // NOT CONSISTENT, ASSUME Not enabled or visible } else { // Not enabled or visible } this.removeClickListener(); this.objRef.enabled = false; this.objRef.tabIndex = -1; this.objRef.tabEnabled = false; this.objRef.gotoAndStop("hide"); } //This method is only usefull when extending ComponentProxy, not MovieClipProxy NavBarControl.prototype.setSkin = function(obj) { var x = this.objRef._x; var y = this.objRef._y; //THIS SHOULD WORK, BUT IT SEEMS TO MAKE THE BUTTON "GROW" // var w = this.objRef._width; // var h = this.objRef._height; //THEREFORE w AND h MUST BE SET IN THE data.xml var w = this.w; var h = this.h; // var d = this.objRef.getDepth(); var d = 1000; var lvlRef = eval("_level" + NAV_LVL); var temp = lvlRef.attachMovie("Button", this.name, d, {falseUpSkin:obj.falseUpSkin, falseDownSkin:obj.falseDownSkin, falseOverSkin: obj.falseOverSkin, falseDisabledSkin:obj.falseDisabledSkin, trueUpSkin:obj.falseUpSkin, trueDownSkin:obj.falseDownSkin, trueOverSkin: obj.falseOverSkin, trueDisabledSkin:obj.falseDisabledSkin, _width:w, _height:h, _x:x, _y:y}); this.objRef.unloadMovie(); this.objRef = temp; this.setListener(); // SEEMS LIKE THIS SHOULD WORK BUT I THINK IT'S PICKING UP // A REF TO THE objRef WE JUST REMOVED. CAUSES THE setListener() // WITHIN validateObjRef() TO NOT WORK. // this.validateObjRef(); setRMAProperties(this.objRef, this.rmaLabel, this.index, false, this.enabled); }