(function($){$.fn.extend({jParse:function(options){var defaults={ajaxOpts:{dataType:($.browser.msie)?"text":"xml",contentType:'text/xml'},parentElement:'wiadomosc',elementTag:['tytul','tresc'],output:'<div class="xml"><h2>jpet0</h2><p>jpet1</p></div>'};settings=$.extend(true,defaults,options);if(settings.precallback!==undefined){settings.precallback();}
var selected=$(this);var colon=/\:/;settings.ajaxOpts.success=function(data){var xml;if(typeof data=="string"){xml=new ActiveXObject("Microsoft.XMLDOM");xml.async=false;xml.loadXML(data);}else{xml=data;}
var o=settings;var parentElementArray=$(xml).find(o.parentElement);var container='';var numberIncluded=0;function nodeChecker(node){if(colon.test(node)===true){elemTagName='[nodeName='+node+']';}else{elemTagName=node;}}
function processElementValue(elementValue,elementParent){if(o.elementTag[n].elem===undefined){nodeChecker(elementValue);elemTagValue=$(elementParent).find(elemTagName).text();elemTagValue=elemTagValue.replace(/^\[CDATA\[/,'').replace(/\]\]$/,'');}else{nodeChecker(elementValue);if(o.elementTag[n].attr===undefined){elemTagValue=$(elementParent).find(elemTagName).text();}else{elemTagValue=$(elementParent).find(elemTagName).attr(o.elementTag[n].attr);}
if(o.elementTag[n].exclude!==undefined){var excluder=new RegExp(o.elementTag[n].exclude);if(excluder.test(elemTagValue)===true){excludeFound=true;}}}}
if(o.count!==undefined){jQuery(o.count).append(parentElementArray.length);}
for(var i=0;i<parentElementArray.length;i++){if(numberIncluded>=settings.limit){$(selected).append(container);if(settings.callback!==undefined){settings.callback();}
return false;}
var outputVar=o.output;var excludeFound=false;for(var n=0;n<o.elementTag.length;n++){var position=new RegExp('jpet'+[n]);if(o.elementTag[n].constructor==String){processElementValue(o.elementTag[n],parentElementArray[i]);}else if(o.elementTag[n].constructor==Object){processElementValue(o.elementTag[n].elem,parentElementArray[i]);}
outputVar=outputVar.replace(position,elemTagValue);}
if(excludeFound!==true){container+=outputVar;numberIncluded++;}}
$(selected).append(container);if(settings.callback!==undefined){settings.callback();}};return this.each(function(){$.ajax(settings.ajaxOpts);});}});})(jQuery);
