/* jQuery URL parser */ jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}(); /* * Accordion 1.3 - jQuery menu widget * * Copyright (c) 2006 Jörn Zaefferer, Frank Marcia * * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * * Revision: $Id: jquery.accordion.js 1524 2007-03-13 20:09:19Z joern $ * */ /** * Make the selected elements Accordion widgets. * * Semantic requirements: * * If the structure of your container is flat with unique * tags for header and content elements, eg. a definition list * (dl > dt + dd), you don't have to specify any options at * all. * * If your structure uses the same elements for header and * content or uses some kind of nested structure, you have to * specify the header elements, eg. via class, see the second example. * * Use activate(Number) to change the active content programmatically. * * A change event is triggered everytime the accordion changes. Apart from * the event object, all arguments are jQuery objects. * Arguments: event, newHeader, oldHeader, newContent, oldContent * * @example jQuery('#nav').Accordion(); * @before * @desc Creates an Accordion from the given definition list * * @example jQuery('#nav').Accordion({ * header: 'div.title' * }); * @before * @desc Creates an Accordion from the given div structure * * @example jQuery('#nav').Accordion({ * header: 'a.head' * }); * @before * @desc Creates an Accordion from the given navigation list * * @example jQuery('#accordion').Accordion().change(function(event, newHeader, oldHeader, newContent, oldContent) { * jQuery('#status').html(newHeader.text()); * }); * @desc Updates the element with id status with the text of the selected header every time the accordion changes * * @param Map options key/value pairs of optional settings. * @option String|Element|jQuery|Boolean active Selector for the active element, default is the first child, set to false to display none at start * @option String|Element|jQuery header Selector for the header element, eg. div.title, a.head, default is the first child's tagname * @option String|Number showSpeed Speed for the slideIn, default is 'slow' (for numbers: smaller = faster) * @option String|Number hideSpeed Speed for the slideOut, default is 'fast' (for numbers: smaller = faster) * @option String selectedClass Class for active header elements, default is 'selected' * @option Boolean alwaysOpen Whether there must be one content element open, default is true. * @option Boolean animated Set to false to disable animations. Default: true * @option String event The event on which to trigger the accordion, eg. "mouseover". Default: "click" * * @type jQuery * @see activate(Number) * @name Accordion * @cat Plugins/Accordion */ /** * Activate a content part of the Accordion programmatically at the given zero-based index. * * If the index is not specified, it defaults to zero, if it is an invalid index, eg. a string, * nothing happens. * * @example jQuery('#accordion').activate(1); * @desc Activate the second content of the Accordion contained in
. * * @example jQuery('#nav').activate(); * @desc Activate the first content of the Accordion contained in