From 072d8a5aa00a4147a5ec9d669a5673a84247adb7 Mon Sep 17 00:00:00 2001 From: bp-sawyers Date: Thu, 23 Oct 2008 23:28:09 +0000 Subject: [PATCH] Fixed default page for web interface, since groups page doesn't work with authentication right now. git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@2385 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-web/index.php | 2 +- xCAT-web/jq/jsTree/css.js | 33 + xCAT-web/jq/jsTree/flat.xsl | 70 ++ xCAT-web/jq/jsTree/images/dot.gif | Bin 0 -> 43 bytes xCAT-web/jq/jsTree/images/fminus.gif | Bin 0 -> 60 bytes xCAT-web/jq/jsTree/images/fminus_rtl.gif | Bin 0 -> 59 bytes xCAT-web/jq/jsTree/images/fplus.gif | Bin 0 -> 108 bytes xCAT-web/jq/jsTree/images/fplus_rtl.gif | Bin 0 -> 108 bytes xCAT-web/jq/jsTree/images/lastli.gif | Bin 0 -> 55 bytes xCAT-web/jq/jsTree/images/lastli_rtl.gif | Bin 0 -> 54 bytes xCAT-web/jq/jsTree/images/li.gif | Bin 0 -> 47 bytes xCAT-web/jq/jsTree/images/marker.gif | Bin 0 -> 61 bytes xCAT-web/jq/jsTree/images/marker_rtl.gif | Bin 0 -> 62 bytes xCAT-web/jq/jsTree/images/plus.gif | Bin 0 -> 52 bytes xCAT-web/jq/jsTree/images/remove.png | Bin 0 -> 720 bytes xCAT-web/jq/jsTree/jquery.cookie.js | 96 ++ xCAT-web/jq/jsTree/jquery.js | 32 + xCAT-web/jq/jsTree/jquery.listen.js | 9 + xCAT-web/jq/jsTree/jquery.metadata.js | 122 ++ xCAT-web/jq/jsTree/jquery.xslt.js | 350 ++++++ xCAT-web/jq/jsTree/nested.xsl | 67 ++ xCAT-web/jq/jsTree/sarissa.js | 110 ++ xCAT-web/jq/jsTree/sarissa_ieemu_xpath.js | 34 + xCAT-web/jq/jsTree/tree_component.css | 224 ++++ xCAT-web/jq/jsTree/tree_component.js | 1248 +++++++++++++++++++++ xCAT-web/jq/jstreecustomizations.patch | 232 ++++ xCAT-web/machines/noderangetree.js | 30 + xCAT-web/xCAT-web.spec | 3 +- 28 files changed, 2660 insertions(+), 2 deletions(-) create mode 100644 xCAT-web/jq/jsTree/css.js create mode 100644 xCAT-web/jq/jsTree/flat.xsl create mode 100644 xCAT-web/jq/jsTree/images/dot.gif create mode 100644 xCAT-web/jq/jsTree/images/fminus.gif create mode 100644 xCAT-web/jq/jsTree/images/fminus_rtl.gif create mode 100644 xCAT-web/jq/jsTree/images/fplus.gif create mode 100644 xCAT-web/jq/jsTree/images/fplus_rtl.gif create mode 100644 xCAT-web/jq/jsTree/images/lastli.gif create mode 100644 xCAT-web/jq/jsTree/images/lastli_rtl.gif create mode 100644 xCAT-web/jq/jsTree/images/li.gif create mode 100644 xCAT-web/jq/jsTree/images/marker.gif create mode 100644 xCAT-web/jq/jsTree/images/marker_rtl.gif create mode 100644 xCAT-web/jq/jsTree/images/plus.gif create mode 100644 xCAT-web/jq/jsTree/images/remove.png create mode 100644 xCAT-web/jq/jsTree/jquery.cookie.js create mode 100644 xCAT-web/jq/jsTree/jquery.js create mode 100644 xCAT-web/jq/jsTree/jquery.listen.js create mode 100644 xCAT-web/jq/jsTree/jquery.metadata.js create mode 100644 xCAT-web/jq/jsTree/jquery.xslt.js create mode 100644 xCAT-web/jq/jsTree/nested.xsl create mode 100644 xCAT-web/jq/jsTree/sarissa.js create mode 100644 xCAT-web/jq/jsTree/sarissa_ieemu_xpath.js create mode 100644 xCAT-web/jq/jsTree/tree_component.css create mode 100644 xCAT-web/jq/jsTree/tree_component.js create mode 100644 xCAT-web/jq/jstreecustomizations.patch create mode 100644 xCAT-web/machines/noderangetree.js diff --git a/xCAT-web/index.php b/xCAT-web/index.php index 63cf1051f..41013205f 100644 --- a/xCAT-web/index.php +++ b/xCAT-web/index.php @@ -12,7 +12,7 @@ if (isset($_COOKIE['currentpage'])) { $m = $MENU[$keys[0]]; // this gets us to the menu choice for the top menu in the data structure $url = $m['list'][$keys[1]]['url']; // get to the list of submenu choices, choose the proper one, and get its url //echo "

url: $url, m[label]: " . $m['label'] . "

\n"; -} else { $url = 'machines/groups.php'; } +} else { $url = 'config/db.php'; /*'machines/groups.php';*/ } header("Location: $url"); diff --git a/xCAT-web/jq/jsTree/css.js b/xCAT-web/jq/jsTree/css.js new file mode 100644 index 000000000..ab7a4f883 --- /dev/null +++ b/xCAT-web/jq/jsTree/css.js @@ -0,0 +1,33 @@ +function get_css(rule_name, stylesheet, delete_flag) { + if (!document.styleSheets) return false; + rule_name = rule_name.toLowerCase(); stylesheet = stylesheet || 0; + for (var i = stylesheet; i < document.styleSheets.length; i++) { + var styleSheet = document.styleSheets[i]; css_rules = document.styleSheets[i].cssRules || document.styleSheets[i].rules; + if(!css_rules) continue; + var j = 0; + do { + if(css_rules[j].selectorText.toLowerCase() == rule_name) { + if(delete_flag == true) { + if(document.styleSheets[i].removeRule) document.styleSheets[i].removeRule(j); + if(document.styleSheets[i].deleteRule) document.styleSheets[i].deleteRule(j); + return true; + } + else return css_rules[j]; + } + } + while (css_rules[++j]); + } + return false; +} +function add_css(rule_name, stylesheet) { + if (!document.styleSheets || get_css(rule_name)) return false; + rule_name = rule_name.toLowerCase(); stylesheet = stylesheet || 0; + (document.styleSheets[stylesheet].addRule) ? document.styleSheets[stylesheet].addRule(rule_name, null, 0) : document.styleSheets[stylesheet].insertRule(rule_name+' { }', 0); + return get_css(rule_name); +} +function get_sheet_num (href_name) { + if (!document.styleSheets) return false; + for (var i = 0; i < document.styleSheets.length; i++) { if(document.styleSheets[i].href && document.styleSheets[i].href.toString().match(href_name)) return i; } + return false; +} +function remove_css(rule_name, stylesheet) { return get_css(rule_name, stylesheet, true); } \ No newline at end of file diff --git a/xCAT-web/jq/jsTree/flat.xsl b/xCAT-web/jq/jsTree/flat.xsl new file mode 100644 index 000000000..75af02410 --- /dev/null +++ b/xCAT-web/jq/jsTree/flat.xsl @@ -0,0 +1,70 @@ + + + + + +
    + + + + + +
+
+ + + + + +
  • + + + + last + + open + closed + leaf + + + + + + + + + + + + + + background-image:url(); + + + + + +
      + + + + + +
    +
    +
  • +
    +
    \ No newline at end of file diff --git a/xCAT-web/jq/jsTree/images/dot.gif b/xCAT-web/jq/jsTree/images/dot.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0cc5fda7cfb9539720de442a3caca9c9a3fc4cb GIT binary patch literal 43 vcmZ?wbhEHbWMW`qXkcKFla>7c|G(l-7DfgJMg|=QAOOiQFfqBrF<1it%E1S( literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/fminus.gif b/xCAT-web/jq/jsTree/images/fminus.gif new file mode 100644 index 0000000000000000000000000000000000000000..06518742e34e823ba74e45e629a3896c284d7969 GIT binary patch literal 60 zcmZ?wbhEHbWMg1sn8?5o85yajrlzW@`v3ob#h)yU3=GT+It)Mnl4oGzog-_mC_X`~ Mp@^+4pOL{D0FYb^e*gdg literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/fminus_rtl.gif b/xCAT-web/jq/jsTree/images/fminus_rtl.gif new file mode 100644 index 0000000000000000000000000000000000000000..3f223fa38a168b8601232f5a5e6b3c8076935ea0 GIT binary patch literal 59 zcmZ?wbhEHbWMg1sn8?5o85yajrlzW@`v3ob#h)yU3=GT+It)Mnl4oGzIa8M;vElNa LPNN$OxEQPfo(vB% literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/fplus.gif b/xCAT-web/jq/jsTree/images/fplus.gif new file mode 100644 index 0000000000000000000000000000000000000000..39c5b369b832ce464a46bbf4a53190dc4969b8ff GIT binary patch literal 108 zcmZ?wbhEHbWMklD*v!E2=g*(tzkk1a_3Guzm(QL(TfThx(xpq6ELk#t{`_gvrcIqX zwWX!y|Ns9CFrfI8g^_`Qhd~D<05XGtMe@Q1OW%cOI9z-MyjU5IOse%XEx24*Dk03s GU=0A((JKJ} literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/fplus_rtl.gif b/xCAT-web/jq/jsTree/images/fplus_rtl.gif new file mode 100644 index 0000000000000000000000000000000000000000..a15ed542fd6a61ad729182ed7b8533687cf7c931 GIT binary patch literal 108 zcmZ?wbhEHbWMklD*v!E2=g*(tzkk1a_3Guzm(QL(TfThx(xpq6ELk#t{`_gvrcIqX zwWX!y|Ns9CFrfI8g^_`Qhd~D<05XGtMRI~?rkZxB(!{A8SDhFfrqxI`^SmsL=n-UO Gum%9biYko& literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/lastli.gif b/xCAT-web/jq/jsTree/images/lastli.gif new file mode 100644 index 0000000000000000000000000000000000000000..bfd45a04cbb5027e96648e808a12f89d048f117a GIT binary patch literal 55 zcmZ?wbhEHbF2lFH^( HRt9STW-JaM literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/lastli_rtl.gif b/xCAT-web/jq/jsTree/images/lastli_rtl.gif new file mode 100644 index 0000000000000000000000000000000000000000..c34cdfe874692cd78704896723ba5c33b10fc6b3 GIT binary patch literal 54 zcmZ?wbhEHbEOD^brBh!<0s&%av GgEatCm<_%F literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/li.gif b/xCAT-web/jq/jsTree/images/li.gif new file mode 100644 index 0000000000000000000000000000000000000000..b0839e18d0a0bc2eb4d896c4457c8578edf7bae8 GIT binary patch literal 47 zcmZ?wbhEHbWM^PzXkcKFm6iVg|G(l-7DfgJMg|=QAOOiQFtPRI3#_VOWv~VS@^=YP literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/marker.gif b/xCAT-web/jq/jsTree/images/marker.gif new file mode 100644 index 0000000000000000000000000000000000000000..03c48f4109b7cea9a8ce05b6db776720fe34f89f GIT binary patch literal 61 zcmZ?wbhEHb)L>v`XkcJa$tnN;|G(l-7DfgJMg|=QAOOiQFp0SItvubEFlP>rRQKk4 OHkbdqKDZ&mU=0BF2omrB literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/marker_rtl.gif b/xCAT-web/jq/jsTree/images/marker_rtl.gif new file mode 100644 index 0000000000000000000000000000000000000000..36ab05d481c0f7d82bdf6b3a8ab415d9f14e26e7 GIT binary patch literal 62 zcmZ?wbhEHb)L>v`XkcJa$tnN;|G(l-7DfgJMg|=QAOOiQFp2i`uRP7ptIWLRR`=#* O3s3zod~gFOVGRHTl@j;> literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/plus.gif b/xCAT-web/jq/jsTree/images/plus.gif new file mode 100644 index 0000000000000000000000000000000000000000..fcfe0f53fc3d5f44e692e6a71f24f64af700e7ca GIT binary patch literal 52 zcmZ?wbhEHb6%&Is E07=ITf&c&j literal 0 HcmV?d00001 diff --git a/xCAT-web/jq/jsTree/images/remove.png b/xCAT-web/jq/jsTree/images/remove.png new file mode 100644 index 0000000000000000000000000000000000000000..083d3f3164e338b0b2842adee70415365ba8ef0f GIT binary patch literal 720 zcmV;>0x$iEP)i+)F(At7wwEk86s-U1}tG8Fm z$w`?U88K(e%e!3mx}u^h9gUhY9+&A@?07!UL;y^{!#Y)cQ4$E?tFI@}+|04ZV=WC1 zK2U*%{{D!+rbfqcprV2w>+7kdo}SKI+uJi5fDPA7+a`B#KxTd(mX|4NYttM1`l5+bAkpRCRvRQn^#f622(ZKfhj0%VjSlNNl1*j_oWIBzryo@iM##2@XsT3lU0o%rL z9NrHPPpz-54aVS51&F~>2Q2MCbrID1Prv4DY#{dc5#{A5mW65C^4-|jRAP1YNjrS| zqmfaloYAzEO(EoWkozDHL1w~XDZ9Jn$Cj24QK-zR`HH_=tY?h1=Y``R@`B=c*7E~2L zogX;TbykzfNP2hoSqzTPHgX)QN4?(2v|-3Gn3{l)3nw5n3R4Rpr-g`&L$$lbBCnxh z0xnx{Q-`M4ILKSVcli<2Iuecf7nm#JPK(0gG^BX0000] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
    ","
    "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&¬xml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&¬xml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&¬xml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else +while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
    ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else +xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})(); \ No newline at end of file diff --git a/xCAT-web/jq/jsTree/jquery.listen.js b/xCAT-web/jq/jsTree/jquery.listen.js new file mode 100644 index 000000000..a3a55199c --- /dev/null +++ b/xCAT-web/jq/jsTree/jquery.listen.js @@ -0,0 +1,9 @@ +/** + * jQuery.Listen - Light and fast event handling, using event delegation. + * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com + * Dual licensed under MIT and GPL. + * Date: 3/7/2008 + * http://flesler.blogspot.com/2007/10/jquerylisten.html + * @version 1.0.3 + */ +;(function($){var a='indexer',h=$.event,j=h.special,k=$.listen=function(c,d,e,f){if(typeof d!='object'){f=e;e=d;d=document}o(c.split(/\s+/),function(a){a=k.fixes[a]||a;var b=m(d,a)||m(d,a,new n(a,d));b.append(e,f);b.start()})},m=function(b,c,d){return $.data(b,c+'.'+a,d)};$.fn[a]=function(a){return this[0]&&m(this[0],a)||null};$[a]=function(a){return m(document,a)};$.extend(k,{regex:/^((?:\w*?|\*))(?:([#.])([\w-]+))?$/,fixes:{focus:'focusin',blur:'focusout'},cache:function(a){this.caching=a}});$.each(k.fixes,function(a,b){j[b]={setup:function(){if($.browser.msie)return!1;this.addEventListener(a,j[b].handler,!0)},teardown:function(){if($.browser.msie)return!1;this.removeEventListener(a,j[b].handler,!0)},handler:function(e){arguments[0]=e=h.fix(e);e.type=b;return h.handle.apply(this,arguments)}}});$.fn.listen=function(a,b,c){return this.each(function(){k(a,this,b,c)})};function n(a,b){$.extend(this,{ids:{},tags:{},listener:b,event:a});this.id=n.instances.push(this)};n.instances=[];n.prototype={constructor:n,handle:function(e){var a=e.stopPropagation;e.stopPropagation=function(){e.stopped=1;a.apply(this,arguments)};m(this,e.type).parse(e);e.stopPropagation=a;a=e.data=null},on:0,bubbles:0,start:function(){var a=this;if(!a.on){h.add(a.listener,a.event,a.handle);a.on=1}},stop:function(){var a=this;if(a.on){h.remove(a.listener,a.event,a.handle);a.on=0}},cache:function(a,b){return $.data(a,'listenCache_'+this.id,b)},parse:function(e){var z=this,c=e.data||e.target,d=arguments,f;if(!k.caching||!(f=z.cache(c))){f=[];if(c.id&&z.ids[c.id])p(f,z.ids[c.id]);o([c.nodeName,'*'],function(a){var b=z.tags[a];if(b)o((c.className+' *').split(' '),function(a){if(a&&b[a])p(f,b[a])})});if(k.caching)z.cache(c,f)}if(f[0]){o(f,function(a){if(a.apply(c,d)===!1){e.preventDefault();e.stopPropagation()}})}if(!e.stopped&&(c=c.parentNode)&&(c.nodeName=='A'||z.bubbles&&c!=z.listener)){e.data=c;z.parse(e)}f=d=c=null},append:function(f,g){var z=this;o(f.split(/\s*,\s*/),function(a){var b=k.regex.exec(a);if(!b)throw'$.listen > "'+a+'" is not a supported selector.';var c=b[2]=='#'&&b[3],d=b[1].toUpperCase()||'*',e=b[3]||'*';if(c)(z.ids[c]||(z.ids[c]=[])).push(g);else if(d){d=z.tags[d]=z.tags[d]||{};(d[e]||(d[e]=[])).push(g)}})}};function o(a,b,c){for(var i=0,l=a.length;iThis is a p

    + * @before $.metadata.setType("class") + * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label" + * @desc Reads metadata from the class attribute + * + * @example

    This is a p

    + * @before $.metadata.setType("attr", "data") + * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label" + * @desc Reads metadata from a "data" attribute + * + * @example

    This is a p

    + * @before $.metadata.setType("elem", "script") + * @after $("#one").metadata().item_id == 1; $("#one").metadata().item_label == "Label" + * @desc Reads metadata from a nested script element + * + * @param String type The encoding type + * @param String name The name of the attribute to be used to get metadata (optional) + * @cat Plugins/Metadata + * @descr Sets the type of encoding to be used when loading metadata for the first time + * @type undefined + * @see metadata() + */ + +(function($) { + +$.extend({ + metadata : { + defaults : { + type: 'class', + name: 'metadata', + cre: /({.*})/, + single: 'metadata' + }, + setType: function( type, name ){ + this.defaults.type = type; + this.defaults.name = name; + }, + get: function( elem, opts ){ + var settings = $.extend({},this.defaults,opts); + // check for empty string in single property + if ( !settings.single.length ) settings.single = 'metadata'; + + var data = $.data(elem, settings.single); + // returned cached data if it already exists + if ( data ) return data; + + data = "{}"; + + if ( settings.type == "class" ) { + var m = settings.cre.exec( elem.className ); + if ( m ) + data = m[1]; + } else if ( settings.type == "elem" ) { + if( !elem.getElementsByTagName ) + return undefined; + var e = elem.getElementsByTagName(settings.name); + if ( e.length ) + data = $.trim(e[0].innerHTML); + } else if ( elem.getAttribute != undefined ) { + var attr = elem.getAttribute( settings.name ); + if ( attr ) + data = attr; + } + + if ( data.indexOf( '{' ) <0 ) + data = "{" + data + "}"; + + data = eval("(" + data + ")"); + + $.data( elem, settings.single, data ); + return data; + } + } +}); + +/** + * Returns the metadata object for the first member of the jQuery object. + * + * @name metadata + * @descr Returns element's metadata object + * @param Object opts An object contianing settings to override the defaults + * @type jQuery + * @cat Plugins/Metadata + */ +$.fn.metadata = function( opts ){ + return $.metadata.get( this[0], opts ); +}; + +})(jQuery); \ No newline at end of file diff --git a/xCAT-web/jq/jsTree/jquery.xslt.js b/xCAT-web/jq/jsTree/jquery.xslt.js new file mode 100644 index 000000000..c551a4dfb --- /dev/null +++ b/xCAT-web/jq/jsTree/jquery.xslt.js @@ -0,0 +1,350 @@ +/** + * xslTransform + * Tools for XSLT transformations; jQuery wrapper for Sarissa . + * See jQuery.fn.log below for documentation on $.log(). + * See jQuery.fn.getTransform below for documention on the $.getTransform(). + * See var DEBUG below for turning debugging/logging on and off. + * + * @version 20071203 + * @since 2006-07-05 + * @copyright Copyright (c) 2006 Glyphix Studio, Inc. http://www.glyphix.com + * @author Brad Brizendine , Matt Antone + * @license MIT http://www.opensource.org/licenses/mit-license.php + * @requires >= jQuery 1.0.3 http://jquery.com/ + * @requires jquery.debug.js http://jquery.glyphix.com/ + * @requires >= sarissa.js 0.9.7.6 http://sarissa.sourceforge.net/ + * + * @example + * var r = xslTransform.transform('path-to-xsl.xsl','path-to-xml.xml'); + * @desc Perform a transformation and place the results in var r + * + * @example + * var r = xslTransform.transform('path-to-xsl.xsl','path-to-xml.xml'); + * var str = xslTransform.serialize( r ); + * @desc Perform a transformation, then turn the result into a string + * + * @example + * var doc = xslTransform.load('path-to-xml.xml'); + * @desc Load an xml file and return a parsed xml object + * + * @example + * var xml = 'bar'; + * var doc = xslTransform.load(xml); + * @desc Load an xml string and return a parsed xml object + */ +var xslTransform = { + + version: 20071203, + debug: false, + + // init ... test for requirements + init: function(){ + // check for v1.0.4 / v1.1 or later of jQuery + try{ + parseFloat(jQuery.fn.jquery) >= 1; + }catch(e){ + alert('xslTransform requires jQuery 1.0.4 or greater ... please load it prior to xslTransform'); + } + // check for Sarissa + try{ + Sarissa; + }catch(e){ + alert('Missing Sarissa ... please load it prior to xslTransform'); + } + // if no log function, create a blank one + if( !jQuery.log ){ + jQuery.log = function(){}; + jQuery.fn.debug = function(){}; + } + // log the version + if(this.debug) jQuery.log( 'xslTransform:init(): version ' + xslTransform.version ); + }, + + // initialize Sarissa's serializer + XMLSerializer: new XMLSerializer(), + + /* + * serialize + * Turns the provided object into a string and returns it. + * + * @param data Mixed + * @returns String + */ + serialize: function( data ){ + if(this.debug) jQuery.log( 'serialize(): received ' + typeof(data) ); + // if it's already a string, no further processing required + if( typeof(data) == 'string' ){ + return data; + } + + return this.XMLSerializer.serializeToString( data ); + }, + + /* + * load + * Attempts to load xml data by automatically sensing the type of the provided data. + * + * @param xml Mixed the xml data + * @returns Object + */ + load: function( xml ){ + if(this.debug) jQuery.log( 'load(): received ' + typeof(xml) ); + // the result + var r; + + // if it's an object, assume it's already an XML object, so just return it + if( typeof(xml) == 'object' ){ + return xml; + } + + // if it's a string, determine if it's xml data or a path + // assume that the first character is an opening caret if it's XML data + if( xml.substring(0,1) == '<' ){ + r = this.loadString( xml ); + }else{ + r = this.loadFile( xml ); + } + + if( r ){ + // the following two lines are needed to get IE (msxml3) to run xpath ... set it on all xml data + r.setProperty( 'SelectionNamespaces', 'xmlns:xsl="http://www.w3.org/1999/XSL/Transform"' ); + r.setProperty( 'SelectionLanguage', 'XPath' ); + return r; + }else{ + if(this.debug) $.log( 'Unable to load ' + xml ); + return false; + } + }, + + /* + * loadString + * Parses an XML string and returns the result. + * + * @param str String the xml string to turn into a parsed XML object + * @returns Object + */ + loadString: function( str ){ + if(this.debug) jQuery.log( 'loadString(): ' + str + '::' + typeof(str) ); + + // use Sarissa to generate an XML doc + var p = new DOMParser(); + var xml = p.parseFromString( str, 'text/xml' ); + if( !xml ){ + if(this.debug) jQuery.log( 'loadString(): parseFromString() failed' ); + return false; + } + return xml; + }, + + /* + * loadFile + * Attempts to retrieve the requested path, specified by url. + * If url is an object, it's assumed it's already loaded, and just returns it. + * + * @param url Mixed + * @returns Object + */ + loadFile: function( url ){ + if(this.debug) jQuery.log( 'loadFile(): ' + url + '::' + typeof(url) ); + + if( !url ){ + if(this.debug) jQuery.log( 'ERROR: loadFile() missing url' ); + return false; + } + + // variable to hold ajax results + var doc; + // function to receive data on successful download ... semicolon after brace is necessary for packing + this.xhrsuccess = function(data,str){ + if(this.debug) jQuery.log( 'loadFile() completed successfully (' + str + ')' ); + doc = data; + return true; + }; + // function to handle downloading error ... semicolon after brace is necessary for packing + this.xhrerror = function(xhr,err){ + // set debugging to true in order to force the display of this error + window.DEBUG = true; + if(this.debug) jQuery.log( 'loadFile() failed to load the requested file: (' + err + ') - xml: ' + xhr.responseXML + ' - text: ' + xhr.responseText ); + doc = null; + return false; + }; + + // make asynchronous ajax call and call functions defined above on success/error + $.ajax({ + type: 'GET', + url: url, + async: false, + success: this.xhrsuccess, + error: this.xhrerror + }); + + // check for total failure + if( !doc ){ + if(this.debug) jQuery.log( 'ERROR: document ' + url + ' not found (404), or unable to load' ); + return false; + } + // check for success but no data + if( doc.length == 0 ){ + if(this.debug) jQuery.log( 'ERROR: document ' + url + ' loaded in loadFile() has no data' ); + return false; + } + return doc; + }, + + /* + * transform + * Central transformation function: takes an xml doc and an xsl doc. + * + * @param xsl Mixed the xsl transformation document + * @param xml Mixed the xml document to be transformed + * @param options Object various switches you can send to this function + * + params: an object of key/value pairs to be sent to xsl as parameters + * + xpath: defines the root node within the provided xml file + * @returns Object the results of the transformation + * + xsl: the raw xsl doc + * + doc: the raw results of the transform + * + string: the serialized doc + */ + transform: function( xsl, xml, options ){ + var log = { 'xsl':xsl, 'xml':xml, 'options':options }; + if(this.debug) jQuery.log( 'transform(): ' + xsl + '::' + xml + '::' + options.toString() ); + + // initialize options hash + options = options || {}; + + // initialize the xml object and store it in xml.doc + var xml = { 'request':xml, 'doc':this.load(xml) }; + // if we have an xpath, replace xml.doc with the results of running it + // as of 2007-12-03, IE throws a "msxml6: the parameter is incorrect" error, so removing this + if( options.xpath && xml.doc && !jQuery.browser.msie ){ + // run the xpath + xml.doc = xml.doc.selectSingleNode( options.xpath.toString() ); + if(this.debug) $.log( 'transform(): xpath has been run...resulting doc: ' + (this.serialize(xml.doc)) ); + } + + // initialize the result object ... store the primary steps of the transform in result + var result = { 'xsl':this.load(xsl) }; + + result.json = false; + if( options.json && xml.doc ) { + result.json = xml.doc.selectSingleNode( options.json.toString() ); + } + + var processor = new XSLTProcessor(); + // stylesheet must be imported before parameters can be added + processor.importStylesheet( result.xsl ); + // add parameters to the processor + if( options.params && processor ){ + if(this.debug) jQuery.log( 'transform(): received xsl params: ' + options.params.toString() ); + for( key in options.params ){ + // name and value must be strings + // first parameter is namespace + processor.setParameter( null, key.toString(), options.params[key].toString() ); + } + } + + // perform the transformation + result.doc = processor.transformToDocument( xml.doc ); + // handle transform error + var errorTxt = Sarissa.getParseErrorText(result.doc); + if(this.debug) jQuery.log( 'transform(): Sarissa parse text: ' + errorTxt ); + if( errorTxt != Sarissa.PARSED_OK ){ + // return the error text as the string + result.string = Sarissa.getParseErrorText(result.doc) + ' :: using ' + xsl + ' => ' + xml.request; + if(this.debug) jQuery.log( 'transform(): error in transformation: ' + Sarissa.getParseErrorText(result.doc) ); + return result; + } + + // if we made it this far, the transformation was successful + result.string = this.serialize( result.doc ); + // store reference to all scripts found in the doc (not result.string) + result.scripts = jQuery('script',result.doc).text(); + + return result; + } + +}; + +// create the xslTransform object +// this creates a single object for the page, allowing re-use of the XSL processor +xslTransform.init(); + +/* + * JQuery XSLT transformation plugin. + * Replaces all matched elements with the results of an XSLT transformation. + * See xslTransform above for more documentation. + * + * @example + * @desc See the xslTransform-example/index.html + * + * @param xsl String the url to the xsl file + * @param xml String the url to the xml file + * @param options Object various switches you can send to this function + * + params: an object of key/value pairs to be sent to xsl as parameters + * + xpath: defines the root node within the provided xml file + * + eval: if true, will attempt to eval javascript found in the transformed result + * + callback: if a Function, evaluate it when transformation is complete + * @returns + */ +jQuery.fn.getTransform = function( xsl, xml, options ){ + var settings = { + append: false, + params: {}, // object of key/value pairs ... parameters to send to the XSL stylesheet + xpath: '', // xpath, used to send only a portion of the XML file to the XSL stylesheet + eval: true, // evaluate