/* jQuery horacc plugin - A horizontal accordion widget.
 * Copyright (c) 2008-2009 Erich Seifert (e DOT seifert AT gmx DOT net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2009-02-02 02:30:01 +0100 (Mo, 02. Feb 2009) $
 * $Rev: 55 $
 * Version: 0.2
 * Requires: jQuery 1.2.6+
 */(function(E){var C=/^mouseover$/i;var G=/^click$/i;var B=function(I){if(I.parent().hasClass("wrapper")){return I}var H={width:I.outerWidth({margin:true}),height:I.outerHeight({margin:true}),"float":I.css("float")};I.wrap('<div class="wrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');var L=I.parent();if(I.css("position")=="static"){L.css({position:"relative"});I.css({position:"relative"})}else{var K=I.css("top");if(isNaN(parseInt(K))){K="auto"}var J=I.css("left");if(isNaN(parseInt(J))){J="auto"}L.css({position:I.css("position"),top:K,left:J,zIndex:I.css("z-index")}).show();I.css({position:"relative",top:0,left:0})}L.css(H);return L};var F=function(H){if(H.parent().hasClass("wrapper")){return H.parent().replaceWith(H)}return H};var D={nav:"a",selected:false,event:"click",duration:"normal",easing:false,delay:0,navClass:"horacc-nav",contentClass:"horacc-content",selectedClass:"selected",load:false,activate:false};var A={};A.activate=function(U,N){if(N===undefined){N=true}var R=E(this),I=R.data("cur");if((U===undefined)||isNaN(U)||(I===U)){return}var S=R.data("options");var W=R.data("navs",W),X=R.data("contents",X),V=W[U],J=X[U];var Y=(I!==undefined),T,Q;if(Y){T=W[I];Q=X[I]}var L=J.data("url");if(L){E.ajax({type:"GET",url:L,dataType:"html",complete:function(a,Z){if(Z=="success"||Z=="notmodified"){J.html(a.responseText.replace(/[\s\S]*?<body[^>]*>([\s\S]*?)<\/body>[\s\S]*/gi,"$1"))}J.removeData("url");A.activate.apply(R[0],[U])}});if(S.load){S.load.apply(this,[U])}}else{var P=(S.selected===0||S.selected);if(N&&(Y||!P)){R.data("animating",true);var O,M="auto";if(Y){T.removeClass(S.selectedClass);O=B(Q).css({overflow:"hidden"});M=O.width()}var K=B(J.show()).css({overflow:"hidden",width:0});var H=J.outerWidth({margin:true});K.animate({width:H},{step:function(Z){if(Y){var a=M-Z;O.width(a)}},easing:S.easing,duration:S.duration,complete:function(){if(Y){F(Q);Q.hide()}F(J);R.data("animating",false)}})}R.data("cur",U);V.addClass(S.selectedClass);if(S.activate){S.activate.apply(R[0],[U])}}};A.init=function(J){var H=E(this),K=[],I=[];H.addClass("horacc");H.data("options",J);H.data("animating",false);E("li",H).each(function(P){var M=E(E(J.nav,this)[0]);M.addClass(J.navClass);K.push(M);var O=M.next();if(O.length){O.addClass(J.contentClass)}else{var N=M.attr("href");if(N&&N.substr(0,1)!="#"){O=E("<div/>").addClass(J.contentClass).data("url",N);M.after(O)}}if(P!==J.selected){O.hide()}I[P]=O;var Q;M.bind(J.event,function(){if(!H.data("animating")){Q=setTimeout(function(){A.activate.apply(H[0],[P])},J.delay)}return false});if(C.test(J.event)){M.mouseout(function(){clearTimeout(Q);return false})}if(M.attr("href")&&!G.test(J.event)){M.click(function(){return false})}});H.data("navs",K);H.data("contents",I);var L=(J.selected===0||J.selected);if(L){A.activate.apply(this,[J.selected,false])}};E.fn.horacc=function(H){var J,I;if(typeof H==="string"){J=H;I=Array.prototype.slice.call(arguments,1)}else{J="init";I=[E.extend(E.extend({},D),H)]}return this.map(function(){var K=A[J].apply(this,I);return(K!==undefined)?K:this})}})(jQuery);
