var Parser=function(){this.objectToString=function(o){var parse=function(_o){var a=[],t;for(var p in _o){if(_o.hasOwnProperty(p)){t=_o[p];if(t&&typeof t=="object"){a[a.length]=p+":{ "+arguments.callee(t).join(", ")+"}"}else{if(typeof t=="string"){a[a.length]=[p+': "'+t.toString()+'"']}else{a[a.length]=[p+": "+t.toString()]}}}}return a};return"{"+parse(o).join(", ")+"}"};this.cursorPosition=function(event){var x=y=0;if(document.attachEvent!=null){x=window.event.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);y=window.event.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)}else{if(!document.attachEvent&&document.addEventListener){x=event.clientX+window.scrollX;y=event.clientY+window.scrollY}else{}}return{x:x,y:y}};this.rpX=function(XML){var value="";var browser=navigator.appName;if(browser=="Netscape"){value=(new XMLSerializer()).serializeToString(XML)}else{if(browser=="Opera"){var xmlSerializer=document.implementation.createLSSerializer();value=xmlSerializer.writeToString(XML)}else{value=XML.xml}}return value};this.rpS=function(string){var value;var browser=navigator.appName;if(browser=="Netscape"){value=new DOMParser().parseFromString(string,"text/xml")}else{if(browser=="Opera"){value=new DOMParser().parseFromString(string,"text/xml")}else{value=new ActiveXObject("Microsoft.XMLDOM");value.async="false";value.loadXML(string)}}return value};this.replaceAll=function(str,regex,replacements){str=str.split(regex).join(replacements);return str};this.replaceAll1=function(str,regex,replacements){var idx=0;var cursor=0;idx=str.indexOf(regex);while(idx>-1){str=str.substring(0,cursor)+str.substring(cursor,str.length).replace(regex,replacements);cursor=idx+replacements.length;idx=str.substring(0,cursor).length+str.substring(cursor,str.length).indexOf(regex);if(idx>-1&&idx>=cursor){cursor=idx}else{idx=-1}}return str};this.strEncode=function(value){value=this.replaceAll(value,"&","[and]");value=this.replaceAll(value,"0","[0]");value=this.replaceAll(value,"1","[1]");value=this.replaceAll(value,"2","[2]");value=this.replaceAll(value,"3","[3]");value=this.replaceAll(value,"4","[4]");value=this.replaceAll(value,"5","[5]");value=this.replaceAll(value,"6","[6]");value=this.replaceAll(value,"7","[7]");value=this.replaceAll(value,"8","[8]");value=this.replaceAll(value,"9","[9]");value=this.replaceAll(value,"'","&#96");value=this.replaceAll(value," ","&#32");value=this.replaceAll(value,"!","&#33");value=this.replaceAll(value,'"',"&#34");value=this.replaceAll(value,"$","&#36");value=this.replaceAll(value,"%","&#37");value=this.replaceAll(value,"`","&#39");value=this.replaceAll(value,"(","&#40");value=this.replaceAll(value,")","&#41");value=this.replaceAll(value,"*","&#42");value=this.replaceAll(value,"+","&#43");value=this.replaceAll(value,",","&#44");value=this.replaceAll(value,"-","&#45");value=this.replaceAll(value,".","&#46");value=this.replaceAll(value,"/","&#47");value=this.replaceAll(value,":","&#58");value=this.replaceAll(value,";","&#59");value=this.replaceAll(value,"<","&#60");value=this.replaceAll(value,"=","&#61");value=this.replaceAll(value,">","&#62");value=this.replaceAll(value,"?","&#63");value=this.replaceAll(value,"@","&#64");value=this.replaceAll(value,"[0]","&#48");value=this.replaceAll(value,"[1]","&#49");value=this.replaceAll(value,"[2]","&#50");value=this.replaceAll(value,"[3]","&#51");value=this.replaceAll(value,"[4]","&#52");value=this.replaceAll(value,"[5]","&#53");value=this.replaceAll(value,"[6]","&#54");value=this.replaceAll(value,"[7]","&#55");value=this.replaceAll(value,"[8]","&#56");value=this.replaceAll(value,"[9]","&#57");value=this.replaceAll(value,"[and]","&#38");value=this.replaceAll(value,"&","^");return value};this.readerPool=function(XML){var string=this.strDecode(this.rpX(XML));string=this.replaceAll(string,"&","^");var x=this.rpS(string);return x};this.strDecode=function(value){value=this.replaceAll(value,"^","&");value=this.replaceAll(value,"[9]","9");value=this.replaceAll(value,"[8]","8");value=this.replaceAll(value,"[7]","7");value=this.replaceAll(value,"[6]","6");value=this.replaceAll(value,"[5]","5");value=this.replaceAll(value,"[4]","4");value=this.replaceAll(value,"[3]","3");value=this.replaceAll(value,"[2]","2");value=this.replaceAll(value,"[1]","1");value=this.replaceAll(value,"[0]","0");value=this.replaceAll(value,"&#96","'");value=this.replaceAll(value,"&#64","@");value=this.replaceAll(value,"&#63","?");value=this.replaceAll(value,"&#62",">");value=this.replaceAll(value,"&#61","=");value=this.replaceAll(value,"&#60","<");value=this.replaceAll(value,"&#59",";");value=this.replaceAll(value,"&#58",":");value=this.replaceAll(value,"&#47","/");value=this.replaceAll(value,"&#46",".");value=this.replaceAll(value,"&#45","-");value=this.replaceAll(value,"&#44",",");value=this.replaceAll(value,"&#43","+");value=this.replaceAll(value,"&#42","*");value=this.replaceAll(value,"&#41",")");value=this.replaceAll(value,"&#40","(");value=this.replaceAll(value,"&#39","");value=this.replaceAll(value,"&#38","&");value=this.replaceAll(value,"&#37","%");value=this.replaceAll(value,"&#36","$");value=this.replaceAll(value,"&#34",'"');value=this.replaceAll(value,"&#33","!");value=this.replaceAll(value,"&#32"," ");value=this.replaceAll(value,"&#48","0");value=this.replaceAll(value,"&#49","1");value=this.replaceAll(value,"&#50","2");value=this.replaceAll(value,"&#51","3");value=this.replaceAll(value,"&#52","4");value=this.replaceAll(value,"&#53","5");value=this.replaceAll(value,"&#54","6");value=this.replaceAll(value,"&#55","7");value=this.replaceAll(value,"&#56","8");value=this.replaceAll(value,"&#57","9");value=this.replaceAll(value,"&#38","&");return value};this.loadJsSrc=function(src,init){var objTransaction=YAHOO.util.Get.script(src,{onSuccess:function(){eval(init)}})};this.openInNewWindow=function(url){var newWindow=window.open(unescape(url),"_blank");newWindow.focus();return false};this.getTagValues=function(id,nodeName){var tags=new Array();var error=new Array();var childNode=document.getElementById(id);getTagValueParser(tags,error,childNode,nodeName);function getTagValueParser(tags,error,childNode,nodeName){var count=childNode.childNodes.length;for(var i=0;i<count;i++){if(childNode.childNodes[i].nodeType==1){if(childNode.childNodes[i].nodeName.toLowerCase()==nodeName.toLowerCase()){var verify=0;var verifyMessage="";var value=new Array();var w8xName="";for(var x=0;x<childNode.childNodes[i].attributes.length;x++){if(childNode.childNodes[i].attributes[x].nodeName.toLowerCase()=="verify"){verify=1;verifyMessage=childNode.childNodes[i].attributes[x].nodeValue}if(childNode.childNodes[i].attributes[x].nodeName.toLowerCase()=="w8xname"){w8xName=childNode.childNodes[i].attributes[x].nodeValue}}if(w8xName==""){error[error.length]="Системная ошибка не найдено название поля"}else{value[0]=w8xName}if(nodeName.toLowerCase()=="input"||nodeName.toLowerCase()=="textarea"){value[1]=childNode.childNodes[i].value}else{value[1]=childNode.childNodes[i].innerHTML}if(value[1]==""){if(verify==1){error[error.length]=verifyMessage}value[1]="-"}tags[tags.length]=value}else{getTagValueParser(tags,error,childNode.childNodes[i],nodeName)}}}}function getTagValuesXML(tags,error){if(error.length>0){var message="";for(var i=0;i<error.length;i++){message=message+error[i]+"\n"}alert(message);return"null"}else{var xml="<sections>\n";for(var i=0;i<tags.length;i++){var value=tags[i];xml=xml+"   <function><name>"+value[0]+"</name><value>"+value[1]+"</value></function>\n"}return xml+"</sections>\n"}}return getTagValuesXML(tags,error)}};var parser=new Parser();
