﻿/* All code in this file is 
* Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
* and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
*/
/* Metadata - jQuery plugin for parsing metadata from elements (used by jquery.validate.js)
 * Revision: $Id: jquery.metadata.js 4187 2007-12-16 17:15:27Z joern.zaefferer $
 * Copyright (c) 2006 John Resig, Yehuda Katz, J?orn Zaefferer, Paul McLanahan */
;(function($){$.extend({metadata:{defaults:{type:'class',name:'metadata',cre:/({.*})/,single:'metadata'},setType:function(b,d){this.defaults.type=b;this.defaults.name=d},get:function(b,d){var c=$.extend({},this.defaults,d);if(!c.single.length)c.single='metadata';var a=$.data(b,c.single);if(a)return a;a="{}";if(c.type=="class"){var e=c.cre.exec(b.className);if(e)a=e[1]}else if(c.type=="elem"){if(!b.getElementsByTagName)return undefined;var f=b.getElementsByTagName(c.name);if(f.length)a=$.trim(f[0].innerHTML)}else if(b.getAttribute!=undefined){var g=b.getAttribute(c.name);if(g)a=g}if(a.indexOf('{')<0)a="{"+a+"}";a=eval("("+a+")");$.data(b,c.single,a);return a}}});
/* Returns the metadata object for the first member of the jQuery object.
 * @name metadata  */
$.fn.metadata=function(a){return $.metadata.get(this[0],a)}})(jQuery);
/* [jquery.getUrlParam] - Version 2.1 current as of 23 Feb 2010
 * http://www.mathias-bank.de/jQuery/jquery.getUrlParam.js
 * Copyright (c) 2006-2007 Mathias Bank (http://www.mathias-bank.de)  */
;jQuery.fn.extend({getUrlParam:function(d){d=escape(unescape(d));var c=new Array();var a=null;if($(this).attr("nodeName")=="#document"){if(window.location.search.search(d)>-1){a=window.location.search.substr(1,window.location.search.length).split("&")}}else if($(this).attr("src")!="undefined"){var b=$(this).attr("src");if(b.indexOf("?")>-1){var f=b.substr(b.indexOf("?")+1);a=f.split("&")}}else if($(this).attr("href")!="undefined"){var b=$(this).attr("href");if(b.indexOf("?")>-1){var f=b.substr(b.indexOf("?")+1);a=f.split("&")}}else{return null}if(a==null)return null;for(var e=0;e<a.length;e++){if(escape(unescape(a[e].split("=")[0]))==d){c.push(a[e].split("=")[1])}}if(c.length==0)return null;else if(c.length==1)return c[0];else return c}});
/* Copyright (c) 2006-2008 Sam Collett (http://www.texotela.co.uk)
 * Demo:  http://www.texotela.co.uk/code/jquery/checkboxes/
 * Dload: http://code.webmonkey.uk.com/plugins/
 * LastChangedDate: V 2.1 (Sat, 07 Feb 2009) rev: 6184 $ */
;(function(d){d.fn.toggleCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=!this.checked}).filter(":checked");c=e});if(!b){c=this}return c};d.fn.checkCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=true}).filter(":checked");c=e});if(!b){c=this}return c};d.fn.unCheckCheckboxes=function(a,b){a=a||"*";b=b||false;var c=d([]);this.each(function(){var e=d("input[type=checkbox]",this).filter(a).each(function(){this.checked=false}).filter(":not(:checked)");c=e});if(!b){c=this}return c};d.radioCheckboxGroup=function(e,a){a=a||"*";var b="input[type=checkbox]";if(e){b+="[name="+e+"]"}var c=d(b).filter(a);c.click(function(){c.not(this).each(function(){this.checked=false}).end()})}})(jQuery);
/* Supersubs v0.2b - jQuery plugin current as of 23 Feb 2010
 * Copyright (c) 2008 Joel Birch
 * http://code.google.com/p/joomla-themes/source/browse/joomla-1.5/telomiova_v2/javascript/supersubs.js?spec=svn69&r=69  */
;(function(a){a.fn.supersubs=function(i){var g=a.extend({},a.fn.supersubs.defaults,i);return this.each(function(){var e=a(this);var c=a.meta?a.extend({},g,e.data()):g;var j=a('<li id="menu-fontsize">&#8212;</li>').css({'padding':0,'position':'absolute','top':'-999em','width':'auto'}).appendTo(e).width();a('#menu-fontsize').remove();$ULs=e.find('ul');$ULs.each(function(k){var f=$ULs.eq(k);var d=f.children();var l=d.children('a');var m=d.css('white-space','nowrap').css('float');var b=f.add(d).add(l).css({'float':'none','width':'auto'}).end().end()[0].clientWidth/j;b+=c.extraWidth;if(b>c.maxWidth){b=c.maxWidth}else if(b<c.minWidth){b=c.minWidth}b+='em';f.css('width',b);d.css({'float':m,'width':'100%','white-space':'normal'}).each(function(){var h=a('>ul',this);var n=h.css('left')!==undefined?'left':'right';h.css(n,b)})})})};a.fn.supersubs.defaults={minWidth:9,maxWidth:25,extraWidth:0}})(jQuery);
/* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+ by Brian Cherne 
 * current as of 23 Feb 2010
 * http://cherne.net/brian/resources/jquery.hoverIntent.html  */
;(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev])};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode}catch(e){p=this}}if(p==this){return false}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t)}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob)},cfg.timeout)}}};return this.mouseover(handleHover).mouseout(handleHover)}})(jQuery);
/* Superfish v1.4.8 - jQuery menu widget current as of 23 Feb 2010
 * Copyright (c) 2008 Joel Birch
 * http://users.tpg.com.au/j_birch/plugins/superfish/#download  */
;(function(b){b.fn.superfish=function(m){var f=b.fn.superfish,h=f.c,n=b(['<span class="',h.arrowClass,'"> &#187;</span>'].join('')),i=function(){var a=b(this),d=k(a);clearTimeout(d.sfTimer);a.showSuperfishUl().siblings().hideSuperfishUl()},l=function(){var a=b(this),d=k(a),c=f.op;clearTimeout(d.sfTimer);d.sfTimer=setTimeout(function(){c.retainPath=(b.inArray(a[0],c.$path)>-1);a.hideSuperfishUl();if(c.$path.length&&a.parents(['li.',c.hoverClass].join('')).length<1){i.call(c.$path)}},c.delay)},k=function(a){var d=a.parents(['ul.',h.menuClass,':first'].join(''))[0];f.op=f.o[d.serial];return d},o=function(a){a.addClass(h.anchorClass).append(n.clone())};return this.each(function(){var c=this.serial=f.o.length;var g=b.extend({},f.defaults,m);g.$path=b('li.'+g.pathClass,this).slice(0,g.pathLevels).each(function(){b(this).addClass([g.hoverClass,h.bcClass].join(' ')).filter('li:has(ul)').removeClass(g.pathClass)});f.o[c]=f.op=g;b('li:has(ul)',this)[(b.fn.hoverIntent&&!g.disableHI)?'hoverIntent':'hover'](i,l).each(function(){if(g.autoArrows)o(b('>a:first-child',this))}).not('.'+h.bcClass).hideSuperfishUl();var j=b('a',this);j.each(function(a){var d=j.eq(a).parents('li');j.eq(a).focus(function(){i.call(d)}).blur(function(){l.call(d)})});g.onInit.call(this)}).each(function(){menuClasses=[h.menuClass];if(f.op.dropShadows&&!(b.browser.msie&&b.browser.version<7))menuClasses.push(h.shadowClass);b(this).addClass(menuClasses.join(' '))})};var e=b.fn.superfish;e.o=[];e.op={};e.IE7fix=function(){var a=e.op;if(b.browser.msie&&b.browser.version>6&&a.dropShadows&&a.animation.opacity!=undefined)this.toggleClass(e.c.shadowClass+'-off')};e.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};e.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};b.fn.extend({hideSuperfishUl:function(){var a=e.op,d=(a.retainPath===true)?a.$path:'';a.retainPath=false;var c=b(['li.',a.hoverClass].join(''),this).add(this).not(d).removeClass(a.hoverClass).find('>ul').hide().css('visibility','hidden');a.onHide.call(c);return this},showSuperfishUl:function(){var a=e.op,d=e.c.shadowClass+'-off',c=this.addClass(a.hoverClass).find('>ul:hidden').css('visibility','visible');e.IE7fix.call(c);a.onBeforeShow.call(c);c.animate(a.animation,a.speed,function(){e.IE7fix.call(c);a.onShow.call(c)});return this}})})(jQuery);
/* jquery.bgiframe
 * Copyright (c) 2006 Brandon Aaron (http://brandonaaron.net)
 * http://github.com/brandonaaron/bgiframe/downloads
 * http://brandonaaron.net/code
 * Version 2.1.2  2010-02-11   */
;(function(a){a.fn.bgiframe=(a.browser.msie&&/msie 6\.0/i.test(navigator.userAgent)?function(d){d=a.extend({top:"auto",left:"auto",width:"auto",height:"auto",opacity:true,src:"javascript:false;"},d);var c='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+d.src+'"style="display:block;position:absolute;z-index:-1;'+(d.opacity!==false?"filter:Alpha(Opacity='0');":"")+"top:"+(d.top=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+'px')":b(d.top))+";left:"+(d.left=="auto"?"expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+'px')":b(d.left))+";width:"+(d.width=="auto"?"expression(this.parentNode.offsetWidth+'px')":b(d.width))+";height:"+(d.height=="auto"?"expression(this.parentNode.offsetHeight+'px')":b(d.height))+';"/>';return this.each(function(){if(a(this).children("iframe.bgiframe").length===0){this.insertBefore(document.createElement(c),this.firstChild)}})}:function(){return this});a.fn.bgIframe=a.fn.bgiframe;function b(c){return c&&c.constructor===Number?c+"px":c}})(jQuery);
/* jquery.purr.js - @version 0.1.0 
 * @author R.A. Ray
 * Copyright (c) 2008 Net Perspective (net-perspective.com)
 * Modified for Soop Phoenix by Siegert Naber a.k.a. Kokopelli  */
;(function(e){e.purr=function(b,c){b=e(b);if(!c.isSticky){b.addClass('not-sticky')};if(c.isNewPm){var d=document.getElementById('purr-containerNewPM');if(!d){d='<div id="purr-containerNewPM"></div>'}}else{var d=document.getElementById('purr-container');if(!d){d='<div id="purr-container"></div>'}};d=e(d);if(!c.isNewPm){d.addClass(c.screenPosition)};e('body').append(d);g();function g(){var a=document.createElement('a');e(a).attr({className:'close',href:'#close',title:'Close',innerHTML:'Close'}).appendTo(b).click(function(){f();return false});b.appendTo(d).hide();if(jQuery.browser.msie&&c.usingTransparentPNG){b.show()}else{b.fadeIn(c.fadeInSpeed)}if(!c.isSticky){var h=setInterval(function(){if(b.prevAll('.not-sticky').length==0){clearInterval(h);setTimeout(function(){f()},c.removeTimer)}},200)}}function f(){if(jQuery.browser.msie&&c.usingTransparentPNG){b.css({opacity:0}).animate({height:'0px'},{duration:c.fadeOutSpeed,complete:function(){b.remove()}})}else{b.animate({opacity:'0'},{duration:c.fadeOutSpeed,complete:function(){b.animate({height:'0px'},{duration:c.fadeOutSpeed,complete:function(){b.remove()}})}})}}};e.fn.purr=function(a){a=a||{};a.fadeInSpeed=a.fadeInSpeed||500;a.fadeOutSpeed=a.fadeOutSpeed||500;a.removeTimer=a.removeTimer||4000;a.isSticky=a.isSticky||false;a.usingTransparentPNG=a.usingTransparentPNG||false;a.screenPosition=a.screenPosition||"top-right";a.isNewPm=a.isNewPm||false;this.each(function(){new e.purr(this,a)});return this}})(jQuery);
/* dimScreen overlay by Brandon Goldman
 * http://docs.jquery.com/Plugins/dimScreen
 * Modified for Soop Phoenix by Siegert Naber a.k.a. Kokopelli  */
;jQuery.extend({dimScreen:function(speed,opacity,callback){if(jQuery('#__overLay').size()>0)return;if(typeof speed=='function'){callback=speed;speed=null}if(typeof opacity=='function'){callback=opacity;opacity=null}if(speed<1){var placeholder=opacity;opacity=speed;speed=placeholder}if(opacity>=1){var placeholder=speed;speed=opacity;opacity=placeholder}speed=(speed>0)?speed:500;opacity=(opacity>0)?opacity:0.5;return jQuery('<div></div>').attr({id:'__overLay',fade_opacity:opacity,speed:speed}).css({height:$(document).height()+'px',left:'0px',opacity:0,position:'absolute',top:'0px',width:$(document).width()+'px',zIndex:2000}).appendTo(document.body).fadeTo(speed,opacity,callback)},dimScreenStop:function(callback){var x=jQuery('#__overLay');var opacity=x.attr('fade_opacity');var speed=x.attr('speed');x.fadeOut(speed,function(){x.remove();if(typeof callback=='function')callback()})}});
/* akModal
 * Copyright (c) 2006-2007 Mathias Bank (http://www.mathias-bank.de)
 * Version 2.1
 * http://plugins.jquery.com/project/akModal
 * Modified for Soop Phoenix by Siegert Naber a.k.a. Kokopelli   */
;jQuery.extend({showAkModal:function(navurl,title,box_width,box_height){var options={margin:1,border:1,padding:1,scroll:0};var win_width=$(window).width();var win_height=$(window).height();if($.browser.opera&&$.browser.version>=9.50){win_width=window.innerWidth;win_height=window.innerHeight}if(box_width>Math.round(win_width*0.75)){box_width=Math.round(win_width*0.75)}if(box_height>Math.round(win_height*0.75)){box_height=Math.round(win_height*0.75)}$('body').append('<div id="modal_div" style="width:'+box_width+'px;"><div id="modal_title_bar"><div id="modal_title">'+title+'</div><div id="modal_closeX"></div></div><iframe style="display:none;" name="modalIframe" width="'+box_width+'" scrolling="auto" height="'+(box_height-24)+'" frameborder="0" src="" marginheight="0" marginwidth="0"></iframe></div>');var $modalPos;if($.browser.msie&&parseInt($.browser.version)<7){$modalPos='absolute'}else{$modalPos='fixed'}$('#modal_div').css({position:$modalPos,width:box_width,height:'24px',left:'50%',marginLeft:'-'+Math.round(box_width/2)+'px',top:(Math.round((win_height-box_height)/2))+'px',display:'none'});$.dimScreen(500,0.75,function(){var $modalIframe=$('iframe[name="modalIframe"]');$('#modal_div').fadeIn(500);$($modalIframe).attr({src:navurl});$($modalIframe).load(function(){$('#modal_div').animate({height:box_height},500);$($modalIframe).show();$('#modal_title').html($($modalIframe).contents().find('title').html())})});$('#modal_closeX').click(function(){if($('iframe[name="modalIframe"]').getUrlParam('rst')=='1'){$.akModalHideAndReload()}else{$.akModalRemove()}})},akModalRemove:function(){$('#modal_div').slideUp(500,function(){$("#modal_div").remove();$.dimScreenStop()})},akModalHideAndRedirect:function(redirect_url){$('#modal_div').slideUp(500,function(){$.dimScreenStop();window.location=redirect_url})},akModalHideAndReload:function(){$('#modal_div').slideUp(500,function(){$.dimScreenStop();top.window.location.reload(true)})}});
/* Treeview 1.4 2008-02-07 - jQuery plugin to hide and show branches of a tree
 * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/
 * http://docs.jquery.com/Plugins/Treeview
 * Copyright (c) 2007 Jörn Zaefferer
 * Revision:  4684   current as of 23 Feb 2010   */
 ;(function($){$.extend($.fn,{swapClass:function(c1,c2){var c1Elements=this.filter('.'+c1);this.filter('.'+c2).removeClass(c2).addClass(c1);c1Elements.removeClass(c1).addClass(c2);return this;},replaceClass:function(c1,c2){return this.filter('.'+c1).removeClass(c1).addClass(c2).end();},hoverClass:function(className){className=className||"hover";return this.hover(function(){$(this).addClass(className);},function(){$(this).removeClass(className);});},heightToggle:function(animated,callback){animated?this.animate({height:"toggle"},animated,callback):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();if(callback)callback.apply(this,arguments);});},heightHide:function(animated,callback){if(animated){this.animate({height:"hide"},animated,callback);}else{this.hide();if(callback)this.each(callback);}},prepareBranches:function(settings){if(!settings.prerendered){this.filter(":last-child:not(ul)").addClass(CLASSES.last);this.filter((settings.collapsed?"":"."+CLASSES.closed)+":not(."+CLASSES.open+")").find(">ul").hide();}return this.filter(":has(>ul)");},applyClasses:function(settings,toggler){this.filter(":has(>ul):not(:has(>a))").find(">span").click(function(event){toggler.apply($(this).next());}).add($("a",this)).hoverClass();if(!settings.prerendered){this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last,CLASSES.lastExpandable);this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last,CLASSES.lastCollapsable);this.prepend("<div class=\""+CLASSES.hitarea+"\"/>").find("div."+CLASSES.hitarea).each(function(){var classes="";$.each($(this).parent().attr("class").split(" "),function(){classes+=this+"-hitarea ";});$(this).addClass(classes);});}this.find("div."+CLASSES.hitarea).click(toggler);},treeview:function(settings){settings=$.extend({cookieId:"treeview"},settings);if(settings.add){return this.trigger("add",[settings.add]);}if(settings.toggle){var callback=settings.toggle;settings.toggle=function(){return callback.apply($(this).parent()[0],arguments);};}function treeController(tree,control){function handler(filter){return function(){toggler.apply($("div."+CLASSES.hitarea,tree).filter(function(){return filter?$(this).parent("."+filter).length:true;}));return false;};}$("a:eq(0)",control).click(handler(CLASSES.collapsable));$("a:eq(1)",control).click(handler(CLASSES.expandable));$("a:eq(2)",control).click(handler());}function toggler(){$(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable,CLASSES.expandable).swapClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated,settings.toggle);if(settings.unique){$(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea,CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea,CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable,CLASSES.expandable).replaceClass(CLASSES.lastCollapsable,CLASSES.lastExpandable).find(">ul").heightHide(settings.animated,settings.toggle);}}function serialize(){function binary(arg){return arg?1:0;}var data=[];branches.each(function(i,e){data[i]=$(e).is(":has(>ul:visible)")?1:0;});$.cookie(settings.cookieId,data.join(""));}function deserialize(){var stored=$.cookie(settings.cookieId);if(stored){var data=stored.split("");branches.each(function(i,e){$(e).find(">ul")[parseInt(data[i])?"show":"hide"]();});}}this.addClass("treeview");var branches=this.find("li").prepareBranches(settings);switch(settings.persist){case"cookie":var toggleCallback=settings.toggle;settings.toggle=function(){serialize();if(toggleCallback){toggleCallback.apply(this,arguments);}};deserialize();break;case"location":var current=this.find("a").filter(function(){return this.href.toLowerCase()==location.href.toLowerCase();});if(current.length){current.addClass("selected").parents("ul, li").add(current.next()).show();}break;}branches.applyClasses(settings,toggler);if(settings.control){treeController(this,settings.control);$(settings.control).show();}return this.bind("add",function(event,branches){$(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);$(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings,toggler);});}});var CLASSES=$.fn.treeview.classes={open:"open",closed:"closed",expandable:"expandable",expandableHitarea:"expandable-hitarea",lastExpandableHitarea:"lastExpandable-hitarea",collapsable:"collapsable",collapsableHitarea:"collapsable-hitarea",lastCollapsableHitarea:"lastCollapsable-hitarea",lastCollapsable:"lastCollapsable",lastExpandable:"lastExpandable",last:"last",hitarea:"hitarea"};$.fn.Treeview=$.fn.treeview;})(jQuery);
/* jQuery Form Plugin
 * version: 2.39 (19-FEB-2010)
 * Examples and documentation at: http://malsup.com/jquery/form/  */
;(function($){$.fn.ajaxSubmit = function(options){if(!this.length){log('ajaxSubmit: skipping submit process - no element selected'); return this;}if(typeof options == 'function')options ={success: options}; var url = $.trim(this.attr('action')); if(url){url =(url.match(/^([^#]+)/)||[])[1];}url = url || window.location.href || ''; options = $.extend({url: url, type: this.attr('method')|| 'GET', iframeSrc: /^https/i.test(window.location.href || '')? 'javascript:false' : 'about:blank'}, options ||{}); var veto ={}; this.trigger('form-pre-serialize', [this, options, veto]); if(veto.veto){log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); return this;}if(options.beforeSerialize && options.beforeSerialize(this, options)=== false){log('ajaxSubmit: submit aborted via beforeSerialize callback'); return this;}var a = this.formToArray(options.semantic); if(options.data){options.extraData = options.data; for(var n in options.data){if(options.data[n] instanceof Array){for(var k in options.data[n])a.push({name: n, value: options.data[n][k]});}else a.push({name: n, value: options.data[n]});}}if(options.beforeSubmit && options.beforeSubmit(a, this, options)=== false){log('ajaxSubmit: submit aborted via beforeSubmit callback'); return this;}this.trigger('form-submit-validate', [a, this, options, veto]); if(veto.veto){log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); return this;}var q = $.param(a); if(options.type.toUpperCase()== 'GET'){options.url +=(options.url.indexOf('?')>= 0 ? '&' : '?')+ q; options.data = null;}else options.data = q; var $form = this, callbacks = []; if(options.resetForm)callbacks.push(function(){$form.resetForm();}); if(options.clearForm)callbacks.push(function(){$form.clearForm();}); if(!options.dataType && options.target){var oldSuccess = options.success || function(){}; callbacks.push(function(data){$(options.target).html(data).each(oldSuccess, arguments);});}else if(options.success)callbacks.push(options.success); options.success = function(data, status, xhr){for(var i=0, max=callbacks.length; i < max; i++)callbacks[i].apply(options, [data, status, xhr || $form, $form]);}; var files = $('input:file', this).fieldValue(); var found = false; for(var j=0; j < files.length; j++)if(files[j])found = true; var multipart = false; if((files.length && options.iframe !== false)|| options.iframe || found || multipart){if(options.closeKeepAlive)$.get(options.closeKeepAlive, fileUpload); else fileUpload();}else $.ajax(options); this.trigger('form-submit-notify', [this, options]); return this; function fileUpload(){var form = $form[0]; if($(':input[name=submit]', form).length){alert('Error: Form elements must not be named "submit".'); return;}var opts = $.extend({}, $.ajaxSettings, options); var s = $.extend(true,{}, $.extend(true,{}, $.ajaxSettings), opts); var id = 'jqFormIO' +(new Date().getTime()); var $io = $('<iframe id="' + id + '" name="' + id + '" src="'+ opts.iframeSrc +'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'); var io = $io[0]; $io.css({position: 'absolute', top: '-1000px', left: '-1000px'}); var xhr ={aborted: 0, responseText: null, responseXML: null, status: 0, statusText: 'n/a', getAllResponseHeaders: function(){}, getResponseHeader: function(){}, setRequestHeader: function(){}, abort: function(){this.aborted = 1; $io.attr('src', opts.iframeSrc);}}; var g = opts.global; if(g && ! $.active++)$.event.trigger("ajaxStart"); if(g)$.event.trigger("ajaxSend", [xhr, opts]); if(s.beforeSend && s.beforeSend(xhr, s)=== false){s.global && $.active--; return;}if(xhr.aborted)return; var cbInvoked = 0; var timedOut = 0; var sub = form.clk; if(sub){var n = sub.name; if(n && !sub.disabled){opts.extraData = opts.extraData ||{}; opts.extraData[n] = sub.value; if(sub.type == "image"){opts.extraData[name+'.x'] = form.clk_x; opts.extraData[name+'.y'] = form.clk_y;}}}function doSubmit(){var t = $form.attr('target'), a = $form.attr('action'); form.setAttribute('target',id); if(form.getAttribute('method')!= 'POST')form.setAttribute('method', 'POST'); if(form.getAttribute('action')!= opts.url)form.setAttribute('action', opts.url); if(! opts.skipEncodingOverride){$form.attr({encoding: 'multipart/form-data', enctype: 'multipart/form-data'});}if(opts.timeout)setTimeout(function(){timedOut = true; cb();}, opts.timeout); var extraInputs = []; try{if(opts.extraData)for(var n in opts.extraData)extraInputs.push($('<input type="hidden" name="'+n+'" value="'+opts.extraData[n]+'" />').appendTo(form)[0]); $io.appendTo('body'); $io.data('form-plugin-onload', cb); form.submit();}finally{form.setAttribute('action',a); t ? form.setAttribute('target', t): $form.removeAttr('target'); $(extraInputs).remove();}}; if(opts.forceSync)doSubmit(); else setTimeout(doSubmit, 10); var domCheckCount = 50; function cb(){if(cbInvoked++)return; $io.removeData('form-plugin-onload'); var ok = true; try{if(timedOut)throw 'timeout'; var data, doc; doc = io.contentWindow ? io.contentWindow.document : io.contentDocument ? io.contentDocument : io.document; var isXml = opts.dataType == 'xml' || doc.XMLDocument || $.isXMLDoc(doc); log('isXml='+isXml); if(!isXml &&(doc.body == null || doc.body.innerHTML == '')){if(--domCheckCount){cbInvoked = 0; setTimeout(cb, 100); return;}log('Could not access iframe DOM after 50 tries.'); return;}xhr.responseText = doc.body ? doc.body.innerHTML : null; xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc; xhr.getResponseHeader = function(header){var headers ={'content-type': opts.dataType}; return headers[header];}; if(opts.dataType == 'json' || opts.dataType == 'script'){var ta = doc.getElementsByTagName('textarea')[0]; if(ta)xhr.responseText = ta.value; else{var pre = doc.getElementsByTagName('pre')[0]; if(pre)xhr.responseText = pre.innerHTML;}}else if(opts.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null){xhr.responseXML = toXml(xhr.responseText);}data = $.httpData(xhr, opts.dataType);}catch(e){ok = false; $.handleError(opts, xhr, 'error', e);}if(ok){opts.success(data, 'success'); if(g)$.event.trigger("ajaxSuccess", [xhr, opts]);}if(g)$.event.trigger("ajaxComplete", [xhr, opts]); if(g && ! --$.active)$.event.trigger("ajaxStop"); if(opts.complete)opts.complete(xhr, ok ? 'success' : 'error'); setTimeout(function(){$io.remove(); xhr.responseXML = null;}, 100);}; function toXml(s, doc){if(window.ActiveXObject){doc = new ActiveXObject('Microsoft.XMLDOM'); doc.async = 'false'; doc.loadXML(s);}else doc =(new DOMParser()).parseFromString(s, 'text/xml'); return(doc && doc.documentElement && doc.documentElement.tagName != 'parsererror')? doc : null;};};}; $.fn.ajaxForm = function(options){return this.ajaxFormUnbind().bind('submit.form-plugin', function(){$(this).ajaxSubmit(options); return false;}).bind('click.form-plugin', function(e){var target = e.target; var $el = $(target); if(!($el.is(":submit,input:image"))){var t = $el.closest(':submit'); if(t.length == 0)return; target = t[0];}var form = this; form.clk = target; if(target.type == 'image'){if(e.offsetX != undefined){form.clk_x = e.offsetX; form.clk_y = e.offsetY;}else if(typeof $.fn.offset == 'function'){var offset = $el.offset(); form.clk_x = e.pageX - offset.left; form.clk_y = e.pageY - offset.top;}else{form.clk_x = e.pageX - target.offsetLeft; form.clk_y = e.pageY - target.offsetTop;}}setTimeout(function(){form.clk = form.clk_x = form.clk_y = null;}, 100);});}; $.fn.ajaxFormUnbind = function(){return this.unbind('submit.form-plugin click.form-plugin');}; $.fn.formToArray = function(semantic){var a = []; if(this.length == 0)return a; var form = this[0]; var els = semantic ? form.getElementsByTagName('*'): form.elements; if(!els)return a; for(var i=0, max=els.length; i < max; i++){var el = els[i]; var n = el.name; if(!n)continue; if(semantic && form.clk && el.type == "image"){if(!el.disabled && form.clk == el){a.push({name: n, value: $(el).val()}); a.push({name: n+'.x', value: form.clk_x},{name: n+'.y', value: form.clk_y});}continue;}var v = $.fieldValue(el, true); if(v && v.constructor == Array){for(var j=0, jmax=v.length; j < jmax; j++)a.push({name: n, value: v[j]});}else if(v !== null && typeof v != 'undefined')a.push({name: n, value: v});}if(!semantic && form.clk){var $input = $(form.clk), input = $input[0], n = input.name; if(n && !input.disabled && input.type == 'image'){a.push({name: n, value: $input.val()}); a.push({name: n+'.x', value: form.clk_x},{name: n+'.y', value: form.clk_y});}}return a;}; $.fn.formSerialize = function(semantic){return $.param(this.formToArray(semantic));}; $.fn.fieldSerialize = function(successful){var a = []; this.each(function(){var n = this.name; if(!n)return; var v = $.fieldValue(this, successful); if(v && v.constructor == Array){for(var i=0,max=v.length; i < max; i++)a.push({name: n, value: v[i]});}else if(v !== null && typeof v != 'undefined')a.push({name: this.name, value: v});}); return $.param(a);}; $.fn.fieldValue = function(successful){for(var val=[], i=0, max=this.length; i < max; i++){var el = this[i]; var v = $.fieldValue(el, successful); if(v === null || typeof v == 'undefined' ||(v.constructor == Array && !v.length))continue; v.constructor == Array ? $.merge(val, v): val.push(v);}return val;}; $.fieldValue = function(el, successful){var n = el.name, t = el.type, tag = el.tagName.toLowerCase(); if(typeof successful == 'undefined')successful = true; if(successful &&(!n || el.disabled || t == 'reset' || t == 'button' ||(t == 'checkbox' || t == 'radio')&& !el.checked ||(t == 'submit' || t == 'image')&& el.form && el.form.clk != el || tag == 'select' && el.selectedIndex == -1))return null; if(tag == 'select'){var index = el.selectedIndex; if(index < 0)return null; var a = [], ops = el.options; var one =(t == 'select-one'); var max =(one ? index+1 : ops.length); for(var i=(one ? index : 0); i < max; i++){var op = ops[i]; if(op.selected){var v = op.value; if(!v)v =(op.attributes && op.attributes['value'] && !(op.attributes['value'].specified))? op.text : op.value; if(one)return v; a.push(v);}}return a;}return el.value;}; $.fn.clearForm = function(){return this.each(function(){$('input,select,textarea', this).clearFields();});}; $.fn.clearFields = $.fn.clearInputs = function(){return this.each(function(){var t = this.type, tag = this.tagName.toLowerCase(); if(t == 'text' || t == 'password' || tag == 'textarea')this.value = ''; else if(t == 'checkbox' || t == 'radio')this.checked = false; else if(tag == 'select')this.selectedIndex = -1;});}; $.fn.resetForm = function(){return this.each(function(){if(typeof this.reset == 'function' ||(typeof this.reset == 'object' && !this.reset.nodeType))this.reset();});}; $.fn.enable = function(b){if(b == undefined)b = true; return this.each(function(){this.disabled = !b;});}; $.fn.selected = function(select){if(select == undefined)select = true; return this.each(function(){var t = this.type; if(t == 'checkbox' || t == 'radio')this.checked = select; else if(this.tagName.toLowerCase()== 'option'){var $sel = $(this).parent('select'); if(select && $sel[0] && $sel[0].type == 'select-one'){$sel.find('option').selected(false);}this.selected = select;}});}; function log(){if($.fn.ajaxSubmit.debug && window.console && window.console.log)window.console.log('[jquery.form] ' + Array.prototype.join.call(arguments,''));};})(jQuery);
/*  flashSound 1.1 - jQuery 1.3.2 plugin by bootleq@gmail.com 2009-02-24
 *  http://translate.google.com/translate?hl=en&sl=zh-TW&u=http://bootleq.blogspot.com/2008/03/javascript-jquery-flashsound-plugin.html&ei=c_-DS4DmG4yvngflx8HZAQ&sa=X&oi=translate&ct=result&resnum=3&ved=0CBIQ7gEwAg&prev=/search%3Fq%3Djquery%2Bflash%2Bsound%2Bbootleq%2540gmail.com%26hl%3Den%26safe%3Doff%26client%3Dfirefox-a%26hs%3D4zx%26rls%3Dorg.mozilla:en-US:official
 *  current as of 23 Feb 2010 ?  */
(function($){var tracks={};var enabled=true;nextId=function(){var r=0;while($('#sound_'+r).length){r++;}return'sound_'+r;};template=function(id,swf,url){return'<object sap-type="object" sap="object" id="'+id+'" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/" height="0" width="0">'+'<param name="movie" value="'+swf+'" /><param name="FlashVars" value="url='+url+'" /><param name="allowScriptAccess" value="always" /><param name="loop" value="false" /><param name="quality" value="low" />'+'<embed name="'+id+'" src="'+swf+'" FlashVars="url='+url+'" type="application/x-shockwave-flash" allowScriptAccess="always" quality="low" loop="false" pluginspage="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" height="0" width="0" /></object>';};play=function(mono){if(mono&&typeof(this.swf_stop)=='function'){this.swf_stop();}if(enabled&&typeof(this.swf_play)=='function'){this.swf_play();}};stop=function(){if(typeof(this.swf_stop)=='function'){this.swf_stop();}};remove=function(id){$('#'+id).remove();tracks[id]=null;};$.extend({flashSound:function(url){options=$.extend({},$.flashSound.defaults,arguments[1]);if(url.constructor!=String){return;}var id=options.id?options.id:nextId();if(tracks[id]){remove.call(tracks[id].obj);}var obj=document.createElement('div');document.body.appendChild(obj);obj.innerHTML=template(id,options.swf,url);if(navigator.appName.indexOf("Microsoft")!=-1){obj=obj.firstChild;}else{obj=$(obj).find('embed').get(0);}tracks[id]={obj:obj,play:function(mono){play.call(obj,mono);},stop:function(){stop.call(obj);},remove:function(){remove.call(null,id);}};return tracks[id];}});$.flashSound.play=function(id,mono){if(tracks[id])return play.call(tracks[id].obj,mono);};$.flashSound.stop=function(id){if(tracks[id])return stop.call(tracks[id].obj);};$.flashSound.remove=function(id){if(tracks[id])return remove.call(null,id);};$.flashSound.enable=function(){enabled=true;};$.flashSound.disable=function(){enabled=false;for(i in tracks){if(tracks[i]&&tracks[i].stop)tracks[i].stop();}};$.flashSound.toggle=function(){if(enabled){$.flashSound.disable();}else{$.flashSound.enable();}};$.flashSound.defaults={id:null,swf:'flashSound.swf'};})(jQuery);
/* jQuery XML to JSON Plugin v1.0 - 2008-07-01 ###
 * http://www.fyneworks.com/ - diego@fyneworks.com
 * current as of 23 Feb 2010
 * Website: http://www.fyneworks.com/jquery/xml-to-json/   */
;if(window.jQuery)(function($){$.extend({xml2json:function(xml,extended){if(!xml)return{};function parseXML(node,simple){if(!node)return null;var txt='',obj=null,att=null;var nt=node.nodeType,nn=jsVar(node.localName||node.nodeName);var nv=node.text||node.nodeValue||'';if(node.childNodes){if(node.childNodes.length>0){$.each(node.childNodes,function(n,cn){var cnt=cn.nodeType,cnn=jsVar(cn.localName||cn.nodeName);var cnv=cn.text||cn.nodeValue||'';if(cnt==8){return;}
else if(cnt==3||cnt==4||!cnn){if(cnv.match(/^\s+$/)){return;};txt+=cnv.replace(/^\s+/,'').replace(/\s+$/,'');}
else{obj=obj||{};if(obj[cnn]){if(!obj[cnn].length)obj[cnn]=myArr(obj[cnn]);obj[cnn][obj[cnn].length]=parseXML(cn,true);obj[cnn].length=obj[cnn].length;}
else{obj[cnn]=parseXML(cn);};};});};};if(node.attributes){if(node.attributes.length>0){att={};obj=obj||{};$.each(node.attributes,function(a,at){var atn=jsVar(at.name),atv=at.value;att[atn]=atv;if(obj[atn]){if(!obj[atn].length)obj[atn]=myArr(obj[atn]);obj[atn][obj[atn].length]=atv;obj[atn].length=obj[atn].length;}
else{obj[atn]=atv;};});};};if(obj){obj=$.extend((txt!=''?new String(txt):{}),obj||{});txt=(obj.text)?(typeof(obj.text)=='object'?obj.text:[obj.text||'']).concat([txt]):txt;if(txt)obj.text=txt;txt='';};var out=obj||txt;if(extended){if(txt)out={};txt=out.text||txt||'';if(txt)out.text=txt;if(!simple)out=myArr(out);};return out;};var jsVar=function(s){return String(s||'').replace(/-/g,"_");};var isNum=function(s){return(typeof s=="number")||String((s&&typeof s=="string")?s:'').test(/^((-)?([0-9]*)((\.{0,1})([0-9]+))?$)/);};var myArr=function(o){if(!o.length)o=[o];o.length=o.length;return o;};if(typeof xml=='string')xml=$.text2xml(xml);if(!xml.nodeType)return;if(xml.nodeType==3||xml.nodeType==4)return xml.nodeValue;var root=(xml.nodeType==9)?xml.documentElement:xml;var out=parseXML(root,true);xml=null;root=null;return out;},text2xml:function(str){var out;try{var xml=($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();xml.async=false;}catch(e){throw new Error("XML Parser could not be instantiated")};try{if($.browser.msie)out=(xml.loadXML(str))?xml:false;else out=xml.parseFromString(str,"text/xml");}catch(e){throw new Error("Error parsing XML string")};return out;}});})(jQuery);
