﻿/*HGET辅助组件*/
new HGET();
function HGET(){HGET.$=function(id){return document.getElementById(id);};HGET.$OBJ=function(sign,sn){return HGET.$(String(sign)+'_'+String(sn));};HGET.$SN=function(sign,id){return String(id).substr((String(sign)+'_').length,String(id).length);};HGET.$FUN_TYPE=function(obj){return typeof obj=='function';};HGET.$OBJ_TYPE=function(obj){return typeof obj=='object';};HGET.$ARR_TYPE=function(obj){return obj instanceof Array;};HGET.$BRO=function(){return -1===window.navigator.userAgent.indexOf("MSIE")?-1===window.navigator.userAgent.indexOf("Firefox")?'other':'Firefox':'IE'}}

/*HEvent总控组件*/
var HEvent=new function(){var browser=HGET.$BRO();var POOL={MAPPING:new Array(),IDX:null,TEMP:null};var EVENT={KEY:0x000000,SOURCE:_INIT_SOURCE()};function _INIT_SOURCE(){var src=[];src['down']=["onmousedown",_IE_MOUSE_DOWN,"mousedown",_FOX_MOUSE_DOWN,0x000001];src['over']=["onmouseover",_IE_MOUSE_OVER,"mouseover",_FOX_MOUSE_OVER,0x100000];return src;};function _IDX_PARENT(O,K){if(null==K) return;while(null!=K){if(O==K) return true;K=K.HANDLE.KIN;}return false;};function _POOL_IDX(tID,key){for(var i in POOL.MAPPING) if(POOL.MAPPING[parseInt(i)][0].soID===tID.substr(0,tID.lastIndexOf('_')) && _IS_INC(POOL.MAPPING[parseInt(i)][1],key)) return POOL.MAPPING[parseInt(i)];return null;};function _STACK(obj,key){for(var i in POOL.MAPPING){if(obj===POOL.MAPPING[parseInt(i)][0]){POOL.MAPPING[parseInt(i)][1]=POOL.MAPPING[parseInt(i)][1]|key;return false;}}POOL.MAPPING.push([obj,key]);};function _DETACH(){if(null===POOL.IDX) return;POOL.IDX[0].end();POOL.IDX=null;};function _IS_INC(O,H){if(0==(O&H)) return false;return true;};function _REMOVE_EVENT(eve){var src=EVENT.SOURCE[eve];if("IE"==browser){document.detachEvent(src[0],src[1]);}else{document.removeEventListener(src[2],src[3],false);}if(!_IS_INC(src[4],EVENT.KEY)) return;EVENT.KEY=EVENT.KEY^src[4];};function _ADD_EVENT(eve){var src=EVENT.SOURCE[eve];if(_IS_INC(src[4],EVENT.KEY)) return;if("IE"==browser){document.attachEvent(src[0],src[1]);}else{document.addEventListener(src[2],src[3],false);}EVENT.KEY=EVENT.KEY|src[4];};function _FOX_MOUSE_OVER(e){var tID=e.target.id;if(''!==tID) _INTERFACE_OVER(tID,e.clientX,e.clientY);return false;};function _IE_MOUSE_OVER(){var tID=window.event.srcElement.id;if(''!==tID) _INTERFACE_OVER(tID,window.event.clientX,window.event.clientY);return false;};function _INTERFACE_OVER(tID,x,y){with(POOL){if(null==(TEMP=_POOL_IDX(tID,0x100000))) return;if(null!=IDX && TEMP[0].event.INFECTION) if(_IDX_PARENT(TEMP[0],IDX[0].HANDLE.KIN)){TEMP[0].end()}else{_DETACH()};if(TEMP[0]._INTERFACE_OVER(tID,x,y)) if(null==IDX) IDX=TEMP;TEMP=null;}};function _FOX_MOUSE_DOWN(e){var tID=e.target.id;if('a'==e.target.tagName.toLowerCase()) return;if(''==tID) return _DETACH();if(0===e.button) _INTERFACE_DOWN(tID,e.clientX,e.clientY);return;};function _IE_MOUSE_DOWN(){var tID=window.event.srcElement.id;if('a'==window.event.srcElement.tagName.toLowerCase()) return;if(''==tID) return _DETACH();if(1===window.event.button) _INTERFACE_DOWN(tID,window.event.clientX,window.event.clientY);return;};function _INTERFACE_DOWN(tID,x,y){with(POOL){if(null==(TEMP=_POOL_IDX(tID,0x000001))) return _DETACH();if(null!=IDX && TEMP[0].event.INFECTION) if(_IDX_PARENT(TEMP[0],IDX[0].HANDLE.KIN)){TEMP[0].end()}else{_DETACH()};if(TEMP[0]._INTERFACE_DOWN(tID,x,y)) if(null==IDX) IDX=TEMP;TEMP=null;}};this._BIND=function(obj,type){var key=0x000000;switch(type.toLowerCase()){case 'down':key=0x000001;break;case 'over':key=0x100000;_ADD_EVENT('over');break;default:return;break;}_STACK(obj,key);};_ADD_EVENT('down');}

/*HMenu菜单组件*/
function HMenu(sID,dID){this.soID='';this.doID='';this.HANDLE={SO:null,DO:null,KIN:null};this.style={dc:null,cc:null,mode:null};this.event={down:null,over:null,change:null,INFECTION:true};HMenu.prototype._INTERFACE_DOWN=function(tID,x,y){var tSN=HGET.$SN(this.soID,tID);if(HGET.$FUN_TYPE(this.event.down)) if(!this.event.down(tSN,this.soID,this.doID,x,y)) return false;return this.start(tSN);};HMenu.prototype._INTERFACE_OVER=function(tID,x,y){var tSN=HGET.$SN(this.soID,tID);if(HGET.$FUN_TYPE(this.event.over)) if(!this.event.over(tSN,this.soID,this.doID,x,y)) return false;return this.start(tSN);};HMenu.prototype._DETACH=function(){this.HANDLE.SO=null;this.HANDLE.DO=null;return false;};HMenu.prototype.start=function(sn){var tSO,tDO;if(null===(tSO=HGET.$OBJ(this.soID,sn)) || null===(tDO=HGET.$OBJ(this.doID,sn))) return false;tDO.style.display="block";with(this.style){if(null!==mode && null!==cc) tSO.className=mode?cc:cc+sn;}this.HANDLE.DO=tDO;this.HANDLE.SO=tSO;if(HGET.$FUN_TYPE(this.event.change)) this.event.change(sn,this.soID,this.doID);return true;};HMenu.prototype.end=function(){var tSN;if(null===this.HANDLE.DO || null===this.HANDLE.SO) return this._DETACH();if(null!==this.HANDLE.KIN) if(this.HANDLE.KIN.event.INFECTION) this.HANDLE.KIN.end();tSN=HGET.$SN(this.soID,this.HANDLE.SO.id);with(this.style){if(null!==mode && null!==dc) this.HANDLE.SO.className=mode?dc:dc+tSN;}this.HANDLE.DO.style.display="none";this._DETACH();};HMenu.prototype.value=function(){var val;if(null===this.HANDLE.SO) return null;switch(arguments.length){case 0:return this.HANDLE.SO.innerHTML;break;case 1:val=this.HANDLE.SO.innerHTML;this.HANDLE.SO.innerHTML=arguments[0];return val;break;case 2:val=HGET.$(arguments[1]).value;this.HANDLE.SO.innerHTML=arguments[0];HGET.$(arguments[1]).value=arguments[0];return val;break;case 3:val=HGET.$(arguments[1]).value;this.HANDLE.SO.innerHTML=arguments[0];HGET.$(arguments[1]).value=arguments[2];return val;break;}};HMenu.prototype.addChild=function(idx){this.HANDLE.KIN=idx};HMenu.prototype.addEvent=function(et){HEvent._BIND(this,et)};HMenu.prototype._INIT=function(sID,dID){this.soID=String(sID);this.doID=String(dID);};this._INIT(sID,dID);}