var XMLParser=function(_1){this.version="0.8-2008.3.13";this._xslFile=_1["xslFile"]||"";this._xmlFile=_1["xmlFile"]||"";this._xmlRoot=_1["xmlRoot"]||"<channel/>";this._xmlSorter=_1["xmlSorter"]||{};this._xmlReady=false;this._xslReady=false;this._newsItems=[];this._oXmlDom=null;this._oXslDom=null;this._itemsElements="";this._recordsPerPage=parseInt(_1["recordsPerPage"]);if(this._recordsPerPage<1){this._recordsPerPage=10;}this._currentPage=1;this._firstPage=1;this._totalPages=1;this._totalRecords=0;this._first=_1["firstPageButton"]||"";this._previous=_1["previousPageButton"]||"";this._next=_1["nextPageButton"]||"";this._last=_1["lastPageButton"]||"";this._pageSelect=_1["pageSelect"]||"";this._pageSizeInput=_1["pageSizeInput"]||"";this._tip=_1["tipText"]||"";this._div=_1["resultDiv"]||"";this._afterInitialize=_1["afterInitialize"];if(!_1["initialize"]){Pia.Event.observe(window,"load",this._initialize.bind(this));}else{this._initialize();}};XMLParser.prototype={_initialize:function(){if(this._xmlFile==""){alert("\u627e\u4e0d\u5230XML\u6587\u4ef6\uff01");return;}if(this._xslFile==""){alert("\u627e\u4e0d\u5230XSL\u6587\u4ef6\uff01");return;}var _2=this;var f=function(){if(this.readyState==4){_2._xslReady=true;if(_2._xmlReady){_2._init(_2);}}};if(this._xmlFile instanceof Array){this._initXml(this._xmlFile);}else{this._initXml([this._xmlFile]);}this._oXslDom=Pia.util.xml.createDocument();this._oXslDom.onreadystatechange=f.bind(this._oXslDom);this._oXslDom.load(this._xslFile);},_init:function(_4){try{if(_4._tip!=""){_4._tiptemplate=new Pia.html.Template(_4._tip);}_4._itemsElements=Pia.Array.parse(_4._oXmlDom.documentElement.getElementsByTagName("item"));_4._totalRecords=_4._itemsElements.length;var _5=_4._xmlSorter["child"];var _6="asc"==_4._xmlSorter["order"];if(typeof (_5)!="undefined"){_4._itemsElements.sort(function(_7,_8){try{var _9=Pia.util.xml.selectSingleNode(_7,_5).text>Pia.util.xml.selectSingleNode(_8,_5).text?1:-1;return _6?_9:-_9;}catch(e){}return 0;});}if(_4._totalRecords==0){if(_4._tiptemplate){_4._tiptemplate.translate({"currentPage":0,"totalPages":0,"totalRecords":0});}return;}if(_4._first!=""){_4._first=Pia.$(_4._first);if(_4._first){_4._firstMessage=_4._first.getAttribute("message");Pia.Event.observe(_4._first,"click",_4._getFirstPage.bind(_4));}}if(_4._previous!=""){_4._previous=Pia.$(_4._previous);if(_4._previous){_4._previousMessage=_4._previous.getAttribute("message");Pia.Event.observe(_4._previous,"click",_4._getPreviousPage.bind(_4));}}if(_4._next!=""){_4._next=Pia.$(_4._next);if(_4._next){_4._nextMessage=_4._next.getAttribute("message");Pia.Event.observe(_4._next,"click",_4._getNextPage.bind(_4));}}if(_4._last!=""){_4._last=Pia.$(_4._last);if(_4._last){_4._lastMessage=_4._last.getAttribute("message");Pia.Event.observe(_4._last,"click",_4._getLastPage.bind(_4));}}if(_4._pageSelect!=""){_4._pageSelect=Pia.$(_4._pageSelect);if(_4._pageSelect){Pia.Event.observe(_4._pageSelect,"change",_4._pageSelectChange.bind(_4));}}if(_4._pageSizeInput!=""){_4._pageSizeInput=Pia.$(_4._pageSizeInput);if(_4._pageSizeInput){_4._pageSizeInput.value=_4._recordsPerPage;Pia.Event.observe(_4._pageSizeInput,"change",_4._pageSizeInputChange.bind(_4));}}if(_4._div!=""){_4._div=Pia.$(_4._div);}_4._initPage(_4,_4._totalRecords,_4._recordsPerPage);_4._display(1);}catch(e){alert("\u83b7\u53d6\u4fe1\u606f\u5931\u8d25\uff01");}if(typeof _4._afterInitialize=="function"){_4._afterInitialize(_4._itemsElements);}},_initXml:function(_a){var _b=this;_b._oXmlDom=Pia.util.xml.createDocument();_b._oXmlDom.loadXML(_b._xmlRoot);var _c=_a.length;var f=function(){if(this.readyState==4){--_c;try{var _e=Pia.Array.parse(this.documentElement.getElementsByTagName("item"));var _f=_b._oXmlDom.firstChild;for(var i=0,_count=_e.length;i<_count;i++){_f.appendChild(_e[i].cloneNode(true));}}catch(e){alert(e.description);}if(_c==0){_b._xmlReady=true;}if(_b._xmlReady&&_b._xslReady){_b._init(_b);}}};for(var i=0;i<_a.length;i++){var _12=Pia.util.xml.createDocument();_12.onreadystatechange=f.bind(_12);_12.load(_a[i]);}},_initPage:function(_13,_14,_15){_13._totalPages=parseInt(_14/_15);var _16=_14%_15;if(_16!=0){_13._totalPages+=1;}_13._newsItems=new Array(_13._totalPages+1);if(_13._pageSelect){var _oo=_13._pageSelect.options;for(var i=_13._totalPages;i<_oo.length;){_13._pageSelect.remove(i);}for(var i=_oo.length;i<_13._totalPages;i++){_oo[_oo.length]=new Option(i+1,i+1);}}},_pageSizeInputChange:function(){this._setPageSize(this._pageSizeInput.value);},_pageSelectChange:function(){this._getPage(this._pageSelect.options[this._pageSelect.selectedIndex].value);},_display:function(_19){this._currentPage=parseInt(_19);if(this._pageSelect){this._pageSelect.selectedIndex=_19-1;}var _1a;if(this._newsItems[_19]){_1a=this._newsItems[_19];}else{try{_1a=Pia.util.xml.transform(this._getNewsDom(_19),this._oXslDom);}catch(e){alert(e.message);}this._newsItems[_19]=_1a;}if(this._div){this._div.innerHTML=_1a;}if(this._tiptemplate){this._tiptemplate.translate({"currentPage":_19,"totalPages":this._totalPages,"totalRecords":this._totalRecords});}},_getNewsDom:function(_1b){var _1c=(_1b-1)*this._recordsPerPage;var _1d=(_1b==this._totalPages?this._totalRecords:_1c+this._recordsPerPage);var _1e=Pia.util.xml.createDocument();_1e.loadXML(this._xmlRoot);var _1f=_1e.firstChild;for(var i=_1c;i<_1d;i++){_1f.appendChild(this._itemsElements[i].cloneNode(true));}return _1e;},_getFirstPage:function(){if(this._currentPage==this._firstPage){if(this._firstMessage){alert(this._firstMessage);}return;}this._display(this._firstPage);},_getLastPage:function(){if(this._currentPage==this._totalPages){if(this._lastMessage){alert(this._lastMessage);}return;}this._display(this._totalPages);},_getPreviousPage:function(){if(this._currentPage==this._firstPage){if(this._previousMessage){alert(this._previousMessage);}return;}this._display(this._currentPage-1);},_getNextPage:function(){if(this._currentPage==this._totalPages){if(this._nextMessage){alert(this._nextMessage);}return;}this._display(this._currentPage+1);},_getPage:function(_21){if(_21>=this._firstPage&&_21<=this._totalPages){this._display(_21);}},_setPageSize:function(_22){var _23=parseInt(_22);if(_23>0&&_23!=this._recordsPerPage){this._recordsPerPage=_23;if(this._pageSizeInput){this._pageSizeInput.value=_23;}this._initPage(this,this._totalRecords,_22);this._display(1);}},_commands:function(_24){switch(_24){case "getFirstPage":return this._getFirstPage;case "getLastPage":return this._getLastPage;case "getPreviousPage":return this._getPreviousPage;case "getNextPage":return this._getNextPage;case "getPage":return this._getPage;case "setPageSize":return this._setPageSize;}},exec:function(_25){switch(_25){case "totalPages":return this._totalPages;case "totalRecords":return this._totalRecords;case "currentPage":return this._currentPage;}var _26=Pia.Array.parse(arguments);_26.shift();return (this._commands(_25)||Pia.noop).apply(this,_26);}};