
function getXML(item,opt){if(item.getElementsByTagName(opt)[0].firstChild){if(item.getElementsByTagName(opt)[0].firstChild.data!==''){return item.getElementsByTagName(opt)[0].firstChild.data;}else{return false;}}else{return false;}}
function validate_xml(t){if(t.responseText.length>0){if(t.responseXML){var xmlDoc=t.responseXML;var response=xmlDoc.getElementsByTagName('response')[0];if(response.getElementsByTagName('error')){if(getXML(response,'error')){var error=getXML(response,'error');if($('add_comment_status')){new Effect.Fade('add_comment_status',{duration:0.5,afterFinish:function(effect){Element.remove('add_comment_status');}});}
NOTIFICATIONS.error(error);return false;}else{return true;}}else if(response.getElementsByTagName('redirect')){redirect(getXML(response,'redirect'));return false;}}}else{return true;}}
function show_xml_error(t){if(t.responseText.length>0){var xmlDoc=t.responseXML;var response=xmlDoc.getElementsByTagName('response')[0];return getXML(response,'error');}}
function runOnce(func){if(!runedOnce){func();runedOnce=true;}else{return;}}
var XML=Class.create();XML.prototype={initialize:function(file,method,url,params,afterFinish,onError){runedOnce=false;if(file=='empty'){file='text';}
eval('_XML.'+file+'(method, url, params, afterFinish, onError);');}};var _XML={response:'response',addTag:'&xhr=1',_get:function(response,j,returner){if(response.childNodes[j].nodeName.charAt(0)!="#"){if(response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild){if(response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild.data!==''){if(/^[0-9]+$/.exec(response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild.data)){if(returner){returner[response.childNodes[j].nodeName]=parseInt(response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild.data);return returner;}else{return parseInt(response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild.data);}}else{if(returner){returner[response.childNodes[j].nodeName]=response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild.data;return returner;}else{return response.getElementsByTagName(response.childNodes[j].nodeName)[0].firstChild.data;}}}else{if(returner){returner[response.childNodes[j].nodeName]=false;return returner;}else{return false;}}}else{if(returner){returner[response.childNodes[j].nodeName]=false;return returner;}else{return false;}}}else{return returner;}},_validate:function(t,full){if(t.responseText.length>0){if(t.responseXML){var xmlDoc=t.responseXML;var response=xmlDoc.getElementsByTagName(_XML.response)[0];if(response.getElementsByTagName('error')){if(getXML(response,'error')){var error=getXML(response,'error');NOTIFICATIONS.error(error);return false;}else{return true;}}else if(response.getElementsByTagName('redirect')){redirect(getXML(response,'redirect'));return false;}}}else{return true;}},comment:function(method,url,params,afterFinish){var opt={method:method,parameters:params+_XML.addTag,onSuccess:function(t){if(t.responseText.length>0){xmlDoc=t.responseXML;response=xmlDoc.getElementsByTagName(_XML.response)[0];var returner={};for(j=0;j<response.childNodes.length;j++){returner=_XML._get(response,j,returner);}
afterFinish(returner);}}}
new Ajax.Request(url,opt);},comment_new:function(method,url,params,afterFinish,onError){var opt={method:method,parameters:params+_XML.addTag,onSuccess:function(t){if(validate_xml(t)){xmlDoc=t.responseXML;response=xmlDoc.getElementsByTagName(_XML.response)[0];var returner={};for(j=0;j<response.childNodes.length;j++){returner=_XML._get(response,j,returner);}
afterFinish(returner);}else{if(typeof onError=='function'){onError();}}}}
new Ajax.Request(url,opt);},load_items:function(method,url,params,afterFinish){var opt={method:method,parameters:params+_XML.addTag,onSuccess:function(t){if(t.responseText.length>0){xmlDoc=t.responseXML;response0=xmlDoc.getElementsByTagName(_XML.response)[0];response1=response0.getElementsByTagName('items')[0];for(i=0;i<response1.childNodes.length;i++){if(response1.childNodes[i].nodeName=='item'){response=response1.childNodes[i];}else{continue;}
var returner={};returner.max_pages=getXML(response0,'max_pages');returner.max_items=getXML(response0,'max_items');returner.pagination_page=getXML(response0,'pagination_page');for(j=0;j<response.childNodes.length;j++){returner=_XML._get(response,j,returner);}
afterFinish(returner);}}}}
new Ajax.Request(url,opt);},users:function(method,url,params,afterFinish){var opt={method:method,parameters:params+_XML.addTag,onSuccess:function(t){if(t.responseText.length>0){xmlDoc=t.responseXML;response0=xmlDoc.getElementsByTagName(_XML.response)[0];response1=response0.getElementsByTagName('users')[0];for(i=0;i<response1.childNodes.length;i++){if(response1.childNodes[i].nodeName=='user'){response=response1.childNodes[i];}else{continue;}
var returner={};returner.count=getXML(response0,'count');for(j=0;j<response.childNodes.length;j++){returner=_XML._get(response,j,returner);}
afterFinish(returner);}}}}
new Ajax.Request(url,opt);},contacts:function(method,url,params,afterFinish){var opt={method:method,parameters:params+_XML.addTag,onSuccess:function(t){if(t.responseText.length>0){xmlDoc=t.responseXML;response0=xmlDoc.getElementsByTagName(_XML.response)[0];response1=response0.getElementsByTagName('contacts')[0];for(i=0;i<response1.childNodes.length;i++){if(response1.childNodes[i].nodeName=='contact'){response=response1.childNodes[i];}else{continue;}
var returner={};for(j=0;j<response.childNodes.length;j++){returner=_XML._get(response,j,returner);}
afterFinish(returner);}}}}
new Ajax.Request(url,opt);},text:function(method,url,params,afterFinish){var opt={method:method,parameters:params+_XML.addTag,onSuccess:function(t){if(t.responseText.length>0){xmlDoc=t.responseXML;response=xmlDoc.getElementsByTagName(_XML.response)[0];var returner={};for(j=0;j<response.childNodes.length;j++){returner=_XML._get(response,j,returner);}
afterFinish(returner);}}}
new Ajax.Request(url,opt);}}