/*
 * jParse (Beta) v0.2.1
 * jparse.kylerush.net
 *
 * Copyright (c) 2009 Kyle Rush
 * Licensed under the MIT license.
 * http://creativecommons.org/licenses/MIT/
 *
 * Date: Monday, 16 Nov 2009 21:00 (GMT - 5:00)
 */
(function($){$.fn.extend({jParse: function(options){var defaults={ajaxOpts:{dataType:($.browser.msie)?"text" : "xml",contentType: 'text/xml'},parentElement: 'item',elementTag:['title','link','description'],output: '<div><h2><a href="jpet1">jpet0</a></h2><p>jpet2</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);