﻿(function($){var x='3.09';$.taconite=function(a){processDoc(a)};$.taconite.debug=0;$.taconite.defaults={cdataWrap:'div'};if(typeof $.fn.replace=='undefined')$.fn.replace=function(a){return this.after(a).remove()};if(typeof $.fn.replaceContent=='undefined')$.fn.replaceContent=function(a){return this.empty().append(a)};$.expr[':'].taconiteTag=function(a){return a.taconiteTag===1};var y=$.httpData;$.httpData=$.taconite.detect=function(a,b){var c=a.getResponseHeader('content-type');if($.taconite.debug){log('[AJAX response] content-type: ',c,';  status: ',a.status,' ',a.statusText,';  has responseXML: ',a.responseXML!=null);log('type arg: '+b);log('responseXML: '+a.responseXML)}var d=y(a,b);if(d&&d.documentElement){$.taconite(d)}else{log('jQuery core httpData returned: '+d);log('httpData: response is not XML (or not "valid" XML)')}return d};$.taconite.enableAutoDetection=function(b){$.httpData=b?$.taconite.detect:y};var z=0;function log(){if(!$.taconite.debug||!window.console||!window.console.log)return;if(!z++)log('Plugin Version: '+x);window.console.log('[taconite] '+[].join.call(arguments,''))};function processDoc(a){var b=true,ex;try{if(typeof a=='string')a=convert(a);if(!a){log('$.taconite invoked without valid document; nothing to process');return false}var c=a.documentElement.tagName;log('XML document root: ',c);var d=$('taconite',a)[0];if(!d){log('document does not contain <taconite> element; nothing to process');return false}$.event.trigger('taconite-begin-notify',[d]);b=go(d)}catch(e){b=ex=e}$.event.trigger('taconite-complete-notify',[a,!!b,b===true?null:b]);if(ex)throw ex;};function convert(s){var a;log('attempting string to document conversion');try{if(window.DOMParser){var b=new DOMParser();a=b.parseFromString(s,'text/xml')}else{a=$("<xml>")[0];a.async='false';a.loadXML(s)}}catch(e){if(window.console&&window.console.error)window.console.error('[taconite] ERROR parsing XML string for conversion: '+e);throw e;}var c=a&&a.documentElement&&a.documentElement.tagName!='parsererror';log('conversion ',c?'successful!':'FAILED');return a};function go(u){var w={wrap:1};try{var t=new Date().getTime();process(u.childNodes);$.taconite.lastTime=(new Date().getTime())-t;log('time to process response: '+$.taconite.lastTime+'ms')}catch(e){if(window.console&&window.console.error)window.console.error('[taconite] ERROR processing document: '+e);throw e;}return true;function process(f){var g=0;for(var i=0;i<f.length;i++){if(f[i].nodeType!=1)continue;var h=f[i],cmd=h.tagName;if(cmd=='eval'){var l=(h.firstChild?h.firstChild.nodeValue:null);log('invoking "eval" command: ',l);if(l)$.globalEval(l);continue}var q=h.getAttribute('select');var m=$(q);if(!m[0]){log('No matching targets for selector: ',q);continue}var o=h.getAttribute('cdataWrap')||$.taconite.defaults.cdataWrap;var a=[];if(h.childNodes.length>0){g=1;for(var j=0,els=[];j<h.childNodes.length;j++)els[j]=createNode(h.childNodes[j]);a.push(w[cmd]?cleanse(els):els)}var n=h.getAttribute('name');var v=h.getAttribute('value');if(n!==null)a.push(n);if(v!==null)a.push(v);for(var j=1;true;j++){v=h.getAttribute('arg'+j);if(v===null)break;var n=Number(v);if(v==n)v=n;a.push(v)}if($.taconite.debug){var p='';if(els)p='...';else{for(var k=0;k<a.length;k++){if(k>0)p+=',';var r=a[k];var t=typeof r=='string';if(t)p+='\'';p+=r;if(t)p+='\''}}log("invoking command: $('",q,"').",cmd,'('+p+')')}m[cmd].apply(m,a)}if(g)postProcess();function postProcess(){if($.browser.mozilla)return;$('select:taconiteTag').each(function(){var b=this;$('option:taconiteTag',this).each(function(){this.setAttribute('selected','selected');this.taconiteTag=null;if(b.type=='select-one'){var a=$('option',b).index(this);b.selectedIndex=a}});this.taconiteTag=null})};function cleanse(b){for(var i=0,a=[];i<b.length;i++)if(b[i].nodeType==1)a.push(b[i]);return a};function createNode(a){var b=a.nodeType;if(b==1)return createElement(a);if(b==3)return fixTextNode(a.nodeValue);if(b==4)return handleCDATA(a.nodeValue);return null};function handleCDATA(s){var a=document.createElement(o);a.innerHTML=s;var b=$(a),$ch=b.children();if($ch.size()==1)return $ch[0];return a};function fixTextNode(s){if($.browser.msie)s=s.replace(/\n/g,'\r').replace(/\s+/g,' ');return document.createTextNode(s)};function createElement(a){var e,tag=a.tagName.toLowerCase();if($.browser.msie){var b=a.getAttribute('type');if(tag=='table'||b=='radio'||b=='checkbox'||tag=='button'||(tag=='select'&&a.getAttribute('multiple'))){e=document.createElement('<'+tag+' '+copyAttrs(null,a,true)+'>')}}if(!e){e=document.createElement(tag);copyAttrs(e,a)}if($.browser.msie&&tag=='td'){var c=a.getAttribute('colspan');if(c)e.colSpan=parseInt(c)}if($.browser.msie&&!e.canHaveChildren){if(a.childNodes.length>0)e.text=a.text}else{for(var i=0,max=a.childNodes.length;i<max;i++){var d=createNode(a.childNodes[i]);if(d)e.appendChild(d)}}if(!$.browser.mozilla){if(tag=='select'||(tag=='option'&&a.getAttribute('selected')))e.taconiteTag=1}return e};function copyAttrs(b,c,d){for(var i=0,attr='';i<c.attributes.length;i++){var a=c.attributes[i],n=$.trim(a.name),v=$.trim(a.value);if(d)attr+=(n+'="'+v+'" ');else if(n=='style'){b.style.cssText=v;b.setAttribute(n,v)}else $.attr(b,n,v)}return attr}}}})(jQuery);
