function send_msg()
{
     dat=new Object;
        dat.email = $('#email_msg').val();
        dat.text = $('#text_msg').val();
        $.ajax({
            url: 'http://'+window.location.hostname+"/email/send",
            timeout: 3000,
            type: "POST",
            data:dat,
            complete : function(response){
                alert(response.responseText);
                $('#email_msg').val('');
                $('#text_msg').val('');
            }});
        return false;

}

function login()
{
   showBW('login_form_out')
}

function close_form()
{
   hideBW('login_form_out')
}

function getRss() {
 //alert ($('#rss_link').val())
 $('#rssdata').trigger('change') ;
 window.location.href=$('#rss_link').val();
 return false;
}

$(document).ready(function() {

addurl = $("#rssdata").html()+"/";
if (addurl !='null/')
{
    $('#rssdata').change (function () {
        out=''
        $ ('#rssdata input:checkbox:checked').each(function () {
                    out+= "/"+$(this).attr('name');
         });
            nurl='http://'+window.location.hostname+'/'+$('#flang').val () +"/rss/feed"+out;
        $('#rss_link').val(nurl);
    });


}



addurl = $("#photo_main").html()+"/";
if (addurl !='null/')
{
    $('#photo_main').cycle({
        speed:    1700,
        timeout:  7000
    });
}

if (($("#teamecat1").html()+"/") !='null/')
     $('#teamecat1').jcarousel({
         vertical:false,
         scroll: 1,
         buttonNextHTML:'<div class="larr">&nbsp;</div>',
         buttonPrevHTML:'<div class="rarr">&nbsp;</div>'
       });

if (($("#teamecat2").html()+"/") !='null/')
     $('#teamecat2').jcarousel({
         vertical:false,
         scroll: 1,
         buttonNextHTML:'<div class="larr">&nbsp;</div>',
         buttonPrevHTML:'<div class="rarr">&nbsp;</div>',
         buttonNextEvent: 'click',
         buttonPrevEvent: 'click'
       });

if (($("#teamecat3").html()+"/") !='null/')
     $('#teamecat3').jcarousel({
         vertical:false,
         scroll: 1,
         buttonNextHTML:'<div class="larr">&nbsp;</div>',
         buttonPrevHTML:'<div class="rarr">&nbsp;</div>',
         buttonNextEvent: 'click',
         buttonPrevEvent: 'click'
       });

addurl = $("#newsshow").html()+"/";
if (addurl !='null/')
    $('#newsshow').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 0,
        next: '#newsprev',
        prev: '#newsnext'
    });

addurl = $("#snewsshow").html()+"/";
if (addurl !='null/')
    $('#snewsshow').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 0,
        next: '#snewsprev',
        prev: '#snewsnext'
    });


addurl = $("#annoshow").html()+"/";
if (addurl !='null/')
    $('#annoshow').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 2000,
        next: '#annoprev',
        prev: '#annonext'
    });



addurl = $("#org_news").html()+"/";
if (addurl !='null/')
    $('#org_news').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 0,
        next: '#newsprev',
        prev: '#newsnext'
    });

addurl = $("#org_photos").html()+"/";
if (addurl !='null/')
    $('#org_photos').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 0,
        next: '#photoprev',
        prev: '#photonext'
    });

addurl = $("#org_pubs").html()+"/";
if (addurl !='null/')
    $('#org_pubs').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 0,
        next: '#pubsprev',
        prev: '#pubsnext'
    });

addurl = $("#publishshow").html()+"/";
if (addurl !='null/')
    $('#publishshow').cycle({
        fx: 'scrollHorz',
        speed: 2000,
        timeout: 8000,
        next: '#publishprev',
        prev: '#publishnext'
    });


   addurl = $("#divcomments").html()+"/";
    if (addurl !='null/')
        {
        getComments("");
        initComment();
        }

});

function initComment(){
    $("#toggle2").click(function () {writeComment()});
}

function goComment(){
        dat=new Object;
        dat.name = $('#name').val();
        //dat.email = $('#email').val();
        dat.textcom = $('#textcom').val();
        dat.table_name = $('#table_name').val();
        dat.row_id = $('#row_id').val();
        dat.captcha_response = $('#captcha_response').val();
        $.ajax({
            url: 'http://'+window.location.hostname+"/comments/form",
            timeout: 3000,
            type: "POST",
            data:dat,
            complete : function(response){
                $("#form_comments").html(response.responseText);
            }});
        return false;
    }

function switchComment(){
    $("#form_comments").toggle("slide", { direction: "up" }, 300);
}
function writeComment(){
        $.ajax({
            url: '/comments/form',
            timeout: 3000,
            type: "GET",
            complete : function(response){
                                $("#form_comments").html(response.responseText)
                                switchComment()
                       }
        });
}




function getComments(par)
{
    $("#divcomments").fadeTo("fast",0.5);
    var link="/comments/browse/"+$("#table_name").val()+"/"+$("#row_id").val();
    if (par!="")
        link+=par;

    $.ajaxSetup({
        url: link,
        timeout: 3000,
        type: "GET",
        error: function(oResponse) {},
        complete : function(response){
            if ($.trim(response.responseText)!=""){
                $("#divcomments").html(response.responseText);

            }
            $("#divcomments").fadeTo("slow",1);
        }
    });
    $.ajax();
}

function getCount()
{
    var link="/comments/getcount/"+$("#table_name").val()+"/"+$("#row_id").val();
    $.ajaxSetup({
        url: link,
        timeout: 3000,
        type: "GET",
        error: function(oResponse) {},
        complete : function(response){
            if ($.trim(response.responseText)!="")
                $("#ccount").html(response.responseText);
        }
    });
    $.ajax();
}

function delComments(id,par)
{
    $("#divcomments").fadeTo("fast",0.5);
    var link="/comments/delete/"+id+"/"+$("#table_name").val()+"/"+$("#row_id").val();
    if (par!="")
        link+=par;

    $.ajaxSetup({
        url: link,
        timeout: 3000,
        type: "GET",
        error: function(oResponse) {},
        complete : function(response){
            if ($.trim(response.responseText)!="")
                $("#divcomments").html(response.responseText);
            $("#divcomments").fadeTo("slow",1);
            getCount();
        }
    });
    $.ajax();
}

function readme(obj)
{

    dat=new Object;
    dat.file = obj.attr('href');
    $.ajax({
        url: 'http://'+window.location.hostname+"/files/read",
        timeout: 3000,
        type: "POST",
        data:dat,
        complete : function(response){

                    $("#popupWindow").html(response.responseText)
                    showBW('popupWindow')
        }});

    return false;
}
function hideWindow() {
        hideBW('popupWindow')
}

function showBW(id){
     var wind=$("#"+id);
    var w = $(window);
    wind.css("position","absolute");
    wind.css("top",((w.height())-wind.height())/3+w.scrollTop() + "px");
    wind.css("left",(w.width()-wind.width())/2+w.scrollLeft() + "px");
    wind.css({"display": 'block'});
    $("#fon").css({"height": $(document).height()});
    $("#fon").css({"opacity": '0'});
    $("#fon").css({"display": 'block'});
    $("#fon").animate({opacity: "0.7"}, "slow");
}
function hideBW(id){
 $("#"+id).css({"display": 'none'});
 $("#fon").fadeOut("slow");
}

function gopage(url, id)
{
    ta = url.split('page_1_')
    newurl = ta[0]+'page_'+$('#'+id).val()+'_'+ta[1];
    window.location.href=newurl;
}

/*!
 * jCarousel - Riding carousels with jQuery
 *   http://sorgalla.com/jcarousel/
 *
 * Copyright (c) 2006 Jan Sorgalla (http://sorgalla.com)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * Built on top of the jQuery library
 *   http://jquery.com
 *
 * Inspired by the "Carousel Component" by Bill Scott
 *   http://billwscott.com/carousel/
 */

(function(g){var q={vertical:!1,rtl:!1,start:1,offset:1,size:null,scroll:3,visible:null,animation:"normal",easing:"swing",auto:0,wrap:null,initCallback:null,setupCallback:null,reloadCallback:null,itemLoadCallback:null,itemFirstInCallback:null,itemFirstOutCallback:null,itemLastInCallback:null,itemLastOutCallback:null,itemVisibleInCallback:null,itemVisibleOutCallback:null,animationStepCallback:null,buttonNextHTML:"<div></div>",buttonPrevHTML:"<div></div>",buttonNextEvent:"click",buttonPrevEvent:"click", buttonNextCallback:null,buttonPrevCallback:null,itemFallbackDimension:null},m=!1;g(window).bind("load.jcarousel",function(){m=!0});g.jcarousel=function(a,c){this.options=g.extend({},q,c||{});this.autoStopped=this.locked=!1;this.buttonPrevState=this.buttonNextState=this.buttonPrev=this.buttonNext=this.list=this.clip=this.container=null;if(!c||c.rtl===void 0)this.options.rtl=(g(a).attr("dir")||g("html").attr("dir")||"").toLowerCase()=="rtl";this.wh=!this.options.vertical?"width":"height";this.lt=!this.options.vertical? this.options.rtl?"right":"left":"top";for(var b="",d=a.className.split(" "),f=0;f<d.length;f++)if(d[f].indexOf("jcarousel-skin")!=-1){g(a).removeClass(d[f]);b=d[f];break}a.nodeName.toUpperCase()=="UL"||a.nodeName.toUpperCase()=="OL"?(this.list=g(a),this.clip=this.list.parents(".jcarousel-clip"),this.container=this.list.parents(".jcarousel-container")):(this.container=g(a),this.list=this.container.find("ul,ol").eq(0),this.clip=this.container.find(".jcarousel-clip"));if(this.clip.size()===0)this.clip= this.list.wrap("<div></div>").parent();if(this.container.size()===0)this.container=this.clip.wrap("<div></div>").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('<div class=" '+b+'"></div>');this.buttonPrev=g(".jcarousel-prev",this.container);if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);this.buttonPrev.addClass(this.className("jcarousel-prev"));this.buttonNext= g(".jcarousel-next",this.container);if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);this.buttonNext.addClass(this.className("jcarousel-next"));this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);this.container.addClass(this.className("jcarousel-container")).css({position:"relative"}); !this.options.vertical&&this.options.rtl&&this.container.addClass("jcarousel-direction-rtl").attr("dir","rtl");var j=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible):null,b=this.list.children("li"),e=this;if(b.size()>0){var h=0,i=this.options.offset;b.each(function(){e.format(this,i++);h+=e.dimension(this,j)});this.list.css(this.wh,h+100+"px");if(!c||c.size===void 0)this.options.size=b.size()}this.container.css("display","block");this.buttonNext.css("display","block");this.buttonPrev.css("display", "block");this.funcNext=function(){e.next()};this.funcPrev=function(){e.prev()};this.funcResize=function(){e.resizeTimer&&clearTimeout(e.resizeTimer);e.resizeTimer=setTimeout(function(){e.reload()},100)};this.options.initCallback!==null&&this.options.initCallback(this,"init");!m&&g.browser.safari?(this.buttons(!1,!1),g(window).bind("load.jcarousel",function(){e.setup()})):this.setup()};var f=g.jcarousel;f.fn=f.prototype={jcarousel:"0.2.8"};f.fn.extend=f.extend=g.extend;f.fn.extend({setup:function(){this.prevLast= this.prevFirst=this.last=this.first=null;this.animating=!1;this.tail=this.resizeTimer=this.timer=null;this.inTail=!1;if(!this.locked){this.list.css(this.lt,this.pos(this.options.offset)+"px");var a=this.pos(this.options.start,!0);this.prevFirst=this.prevLast=null;this.animate(a,!1);g(window).unbind("resize.jcarousel",this.funcResize).bind("resize.jcarousel",this.funcResize);this.options.setupCallback!==null&&this.options.setupCallback(this)}},reset:function(){this.list.empty();this.list.css(this.lt, "0px");this.list.css(this.wh,"10px");this.options.initCallback!==null&&this.options.initCallback(this,"reset");this.setup()},reload:function(){this.tail!==null&&this.inTail&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+this.tail);this.tail=null;this.inTail=!1;this.options.reloadCallback!==null&&this.options.reloadCallback(this);if(this.options.visible!==null){var a=this,c=Math.ceil(this.clipping()/this.options.visible),b=0,d=0;this.list.children("li").each(function(f){b+=a.dimension(this, c);f+1<a.first&&(d=b)});this.list.css(this.wh,b+"px");this.list.css(this.lt,-d+"px")}this.scroll(this.first,!1)},lock:function(){this.locked=!0;this.buttons()},unlock:function(){this.locked=!1;this.buttons()},size:function(a){if(a!==void 0)this.options.size=a,this.locked||this.buttons();return this.options.size},has:function(a,c){if(c===void 0||!c)c=a;if(this.options.size!==null&&c>this.options.size)c=this.options.size;for(var b=a;b<=c;b++){var d=this.get(b);if(!d.length||d.hasClass("jcarousel-item-placeholder"))return!1}return!0}, get:function(a){return g(">.jcarousel-item-"+a,this.list)},add:function(a,c){var b=this.get(a),d=0,p=g(c);if(b.length===0)for(var j,e=f.intval(a),b=this.create(a);;){if(j=this.get(--e),e<=0||j.length){e<=0?this.list.prepend(b):j.after(b);break}}else d=this.dimension(b);p.get(0).nodeName.toUpperCase()=="LI"?(b.replaceWith(p),b=p):b.empty().append(c);this.format(b.removeClass(this.className("jcarousel-item-placeholder")),a);p=this.options.visible!==null?Math.ceil(this.clipping()/this.options.visible): null;d=this.dimension(b,p)-d;a>0&&a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))-d+"px");this.list.css(this.wh,f.intval(this.list.css(this.wh))+d+"px");return b},remove:function(a){var c=this.get(a);if(c.length&&!(a>=this.first&&a<=this.last)){var b=this.dimension(c);a<this.first&&this.list.css(this.lt,f.intval(this.list.css(this.lt))+b+"px");c.remove();this.list.css(this.wh,f.intval(this.list.css(this.wh))-b+"px")}},next:function(){this.tail!==null&&!this.inTail?this.scrollTail(!1): this.scroll((this.options.wrap=="both"||this.options.wrap=="last")&&this.options.size!==null&&this.last==this.options.size?1:this.first+this.options.scroll)},prev:function(){this.tail!==null&&this.inTail?this.scrollTail(!0):this.scroll((this.options.wrap=="both"||this.options.wrap=="first")&&this.options.size!==null&&this.first==1?this.options.size:this.first-this.options.scroll)},scrollTail:function(a){if(!this.locked&&!this.animating&&this.tail){this.pauseAuto();var c=f.intval(this.list.css(this.lt)), c=!a?c-this.tail:c+this.tail;this.inTail=!a;this.prevFirst=this.first;this.prevLast=this.last;this.animate(c)}},scroll:function(a,c){!this.locked&&!this.animating&&(this.pauseAuto(),this.animate(this.pos(a),c))},pos:function(a,c){var b=f.intval(this.list.css(this.lt));if(this.locked||this.animating)return b;this.options.wrap!="circular"&&(a=a<1?1:this.options.size&&a>this.options.size?this.options.size:a);for(var d=this.first>a,g=this.options.wrap!="circular"&&this.first<=1?1:this.first,j=d?this.get(g): this.get(this.last),e=d?g:g-1,h=null,i=0,k=!1,l=0;d?--e>=a:++e<a;){h=this.get(e);k=!h.length;if(h.length===0&&(h=this.create(e).addClass(this.className("jcarousel-item-placeholder")),j[d?"before":"after"](h),this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size)))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)));j=h;l=this.dimension(h);k&&(i+=l);if(this.first!==null&&(this.options.wrap=="circular"||e>=1&&(this.options.size===null||e<= this.options.size)))b=d?b+l:b-l}for(var g=this.clipping(),m=[],o=0,n=0,j=this.get(a-1),e=a;++o;){h=this.get(e);k=!h.length;if(h.length===0){h=this.create(e).addClass(this.className("jcarousel-item-placeholder"));if(j.length===0)this.list.prepend(h);else j[d?"before":"after"](h);if(this.first!==null&&this.options.wrap=="circular"&&this.options.size!==null&&(e<=0||e>this.options.size))j=this.get(this.index(e)),j.length&&(h=this.add(e,j.clone(!0)))}j=h;l=this.dimension(h);if(l===0)throw Error("jCarousel: No width/height set for items. This will cause an infinite loop. Aborting..."); this.options.wrap!="circular"&&this.options.size!==null&&e>this.options.size?m.push(h):k&&(i+=l);n+=l;if(n>=g)break;e++}for(h=0;h<m.length;h++)m[h].remove();i>0&&(this.list.css(this.wh,this.dimension(this.list)+i+"px"),d&&(b-=i,this.list.css(this.lt,f.intval(this.list.css(this.lt))-i+"px")));i=a+o-1;if(this.options.wrap!="circular"&&this.options.size&&i>this.options.size)i=this.options.size;if(e>i){o=0;e=i;for(n=0;++o;){h=this.get(e--);if(!h.length)break;n+=this.dimension(h);if(n>=g)break}}e=i-o+ 1;this.options.wrap!="circular"&&e<1&&(e=1);if(this.inTail&&d)b+=this.tail,this.inTail=!1;this.tail=null;if(this.options.wrap!="circular"&&i==this.options.size&&i-o+1>=1&&(d=f.intval(this.get(i).css(!this.options.vertical?"marginRight":"marginBottom")),n-d>g))this.tail=n-g-d;if(c&&a===this.options.size&&this.tail)b-=this.tail,this.inTail=!0;for(;a-- >e;)b+=this.dimension(this.get(a));this.prevFirst=this.first;this.prevLast=this.last;this.first=e;this.last=i;return b},animate:function(a,c){if(!this.locked&& !this.animating){this.animating=!0;var b=this,d=function(){b.animating=!1;a===0&&b.list.css(b.lt,0);!b.autoStopped&&(b.options.wrap=="circular"||b.options.wrap=="both"||b.options.wrap=="last"||b.options.size===null||b.last<b.options.size||b.last==b.options.size&&b.tail!==null&&!b.inTail)&&b.startAuto();b.buttons();b.notify("onAfterAnimation");if(b.options.wrap=="circular"&&b.options.size!==null)for(var c=b.prevFirst;c<=b.prevLast;c++)c!==null&&!(c>=b.first&&c<=b.last)&&(c<1||c>b.options.size)&&b.remove(c)}; this.notify("onBeforeAnimation");if(!this.options.animation||c===!1)this.list.css(this.lt,a+"px"),d();else{var f=!this.options.vertical?this.options.rtl?{right:a}:{left:a}:{top:a},d={duration:this.options.animation,easing:this.options.easing,complete:d};if(g.isFunction(this.options.animationStepCallback))d.step=this.options.animationStepCallback;this.list.animate(f,d)}}},startAuto:function(a){if(a!==void 0)this.options.auto=a;if(this.options.auto===0)return this.stopAuto();if(this.timer===null){this.autoStopped= !1;var c=this;this.timer=window.setTimeout(function(){c.next()},this.options.auto*1E3)}},stopAuto:function(){this.pauseAuto();this.autoStopped=!0},pauseAuto:function(){if(this.timer!==null)window.clearTimeout(this.timer),this.timer=null},buttons:function(a,c){if(a==null&&(a=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="first"||this.options.size===null||this.last<this.options.size),!this.locked&&(!this.options.wrap||this.options.wrap=="first")&&this.options.size!==null&& this.last>=this.options.size))a=this.tail!==null&&!this.inTail;if(c==null&&(c=!this.locked&&this.options.size!==0&&(this.options.wrap&&this.options.wrap!="last"||this.first>1),!this.locked&&(!this.options.wrap||this.options.wrap=="last")&&this.options.size!==null&&this.first==1))c=this.tail!==null&&this.inTail;var b=this;this.buttonNext.size()>0?(this.buttonNext.unbind(this.options.buttonNextEvent+".jcarousel",this.funcNext),a&&this.buttonNext.bind(this.options.buttonNextEvent+".jcarousel",this.funcNext), this.buttonNext[a?"removeClass":"addClass"](this.className("jcarousel-next-disabled")).attr("disabled",a?!1:!0),this.options.buttonNextCallback!==null&&this.buttonNext.data("jcarouselstate")!=a&&this.buttonNext.each(function(){b.options.buttonNextCallback(b,this,a)}).data("jcarouselstate",a)):this.options.buttonNextCallback!==null&&this.buttonNextState!=a&&this.options.buttonNextCallback(b,null,a);this.buttonPrev.size()>0?(this.buttonPrev.unbind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev), c&&this.buttonPrev.bind(this.options.buttonPrevEvent+".jcarousel",this.funcPrev),this.buttonPrev[c?"removeClass":"addClass"](this.className("jcarousel-prev-disabled")).attr("disabled",c?!1:!0),this.options.buttonPrevCallback!==null&&this.buttonPrev.data("jcarouselstate")!=c&&this.buttonPrev.each(function(){b.options.buttonPrevCallback(b,this,c)}).data("jcarouselstate",c)):this.options.buttonPrevCallback!==null&&this.buttonPrevState!=c&&this.options.buttonPrevCallback(b,null,c);this.buttonNextState= a;this.buttonPrevState=c},notify:function(a){var c=this.prevFirst===null?"init":this.prevFirst<this.first?"next":"prev";this.callback("itemLoadCallback",a,c);this.prevFirst!==this.first&&(this.callback("itemFirstInCallback",a,c,this.first),this.callback("itemFirstOutCallback",a,c,this.prevFirst));this.prevLast!==this.last&&(this.callback("itemLastInCallback",a,c,this.last),this.callback("itemLastOutCallback",a,c,this.prevLast));this.callback("itemVisibleInCallback",a,c,this.first,this.last,this.prevFirst, this.prevLast);this.callback("itemVisibleOutCallback",a,c,this.prevFirst,this.prevLast,this.first,this.last)},callback:function(a,c,b,d,f,j,e){if(!(this.options[a]==null||typeof this.options[a]!="object"&&c!="onAfterAnimation")){var h=typeof this.options[a]=="object"?this.options[a][c]:this.options[a];if(g.isFunction(h)){var i=this;if(d===void 0)h(i,b,c);else if(f===void 0)this.get(d).each(function(){h(i,this,d,b,c)});else for(var a=function(a){i.get(a).each(function(){h(i,this,a,b,c)})},k=d;k<=f;k++)k!== null&&!(k>=j&&k<=e)&&a(k)}}},create:function(a){return this.format("<li></li>",a)},format:function(a,c){for(var a=g(a),b=a.get(0).className.split(" "),d=0;d<b.length;d++)b[d].indexOf("jcarousel-")!=-1&&a.removeClass(b[d]);a.addClass(this.className("jcarousel-item")).addClass(this.className("jcarousel-item-"+c)).css({"float":this.options.rtl?"right":"left","list-style":"none"}).attr("jcarouselindex",c);return a},className:function(a){return a+" "+a+(!this.options.vertical?"-horizontal":"-vertical")}, dimension:function(a,c){var b=g(a);if(c==null)return!this.options.vertical?b.outerWidth(!0)||f.intval(this.options.itemFallbackDimension):b.outerHeight(!0)||f.intval(this.options.itemFallbackDimension);else{var d=!this.options.vertical?c-f.intval(b.css("marginLeft"))-f.intval(b.css("marginRight")):c-f.intval(b.css("marginTop"))-f.intval(b.css("marginBottom"));g(b).css(this.wh,d+"px");return this.dimension(b)}},clipping:function(){return!this.options.vertical?this.clip[0].offsetWidth-f.intval(this.clip.css("borderLeftWidth"))- f.intval(this.clip.css("borderRightWidth")):this.clip[0].offsetHeight-f.intval(this.clip.css("borderTopWidth"))-f.intval(this.clip.css("borderBottomWidth"))},index:function(a,c){if(c==null)c=this.options.size;return Math.round(((a-1)/c-Math.floor((a-1)/c))*c)+1}});f.extend({defaults:function(a){return g.extend(q,a||{})},intval:function(a){a=parseInt(a,10);return isNaN(a)?0:a},windowLoaded:function(){m=!0}});g.fn.jcarousel=function(a){if(typeof a=="string"){var c=g(this).data("jcarousel"),b=Array.prototype.slice.call(arguments, 1);return c[a].apply(c,b)}else return this.each(function(){var b=g(this).data("jcarousel");b?(a&&g.extend(b.options,a),b.reload()):g(this).data("jcarousel",new f(this,a))})}})(jQuery);

/*!
 * jQuery Cycle Plugin (with Transition Definitions)
 * Examples and documentation at: http://jquery.malsup.com/cycle/
 * Copyright (c) 2007-2009 M. Alsup
 * Version: 2.71 (11-AUG-2009)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 * Requires: jQuery v1.2.6 or later
 *
 * Originally based on the work of:
 *	1) Matt Oakes
 *	2) Torsten Baldes (http://medienfreunde.com/lab/innerfade/)
 *	3) Benjamin Sterling (http://www.benjaminsterling.com/experiments/jqShuffle/)
 */
;(function($) {

var ver = '2.71';

// if $.support is not defined (pre jQuery 1.3) add what I need
if ($.support == undefined) {
	$.support = {
		opacity: !($.browser.msie)
	};
}

function log() {
	if (window.console && window.console.log)
		window.console.log('[cycle] ' + Array.prototype.join.call(arguments,' '));
	//$('body').append('<div>'+Array.prototype.join.call(arguments,' ')+'</div>');
};

// the options arg can be...
//   a number  - indicates an immediate transition should occur to the given slide index
//   a string  - 'stop', 'pause', 'resume', or the name of a transition effect (ie, 'fade', 'zoom', etc)
//   an object - properties to control the slideshow
//
// the arg2 arg can be...
//   the name of an fx (only used in conjunction with a numeric value for 'options')
//   the value true (only used in conjunction with a options == 'resume') and indicates
//     that the resume should occur immediately (not wait for next timeout)

$.fn.cycle = function(options, arg2) {
	var o = { s: this.selector, c: this.context };

    // in 1.3+ we can fix mistakes with the ready state
	if (this.length === 0 && options != 'stop') {
        if (!$.isReady && o.s) {
            log('DOM not ready, queuing slideshow');
            $(function() {
                $(o.s,o.c).cycle(options,arg2);
            });
            return this;
        }
		// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()
		log('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));
		return this;
	}

    // iterate the matched nodeset
	return this.each(function() {
        var opts = handleArguments(this, options, arg2);
        if (opts === false)
            return;

		// stop existing slideshow for this container (if there is one)
		if (this.cycleTimeout)
            clearTimeout(this.cycleTimeout);
		this.cycleTimeout = this.cyclePause = 0;

		var $cont = $(this);
		var $slides = opts.slideExpr ? $(opts.slideExpr, this) : $cont.children();
		var els = $slides.get();
		if (els.length < 2) {
			log('terminating; too few slides: ' + els.length);
			return;
		}

        var opts2 = buildOptions($cont, $slides, els, opts, o);
        if (opts2 === false)
            return;

        // if it's an auto slideshow, kick it off
		if (opts2.timeout || opts2.continuous)
			this.cycleTimeout = setTimeout(function(){go(els,opts2,0,!opts2.rev)},
				opts2.continuous ? 10 : opts2.timeout + (opts2.delay||0));
	});
};

// process the args that were passed to the plugin fn
function handleArguments(cont, options, arg2) {
	if (cont.cycleStop == undefined)
		cont.cycleStop = 0;
	if (options === undefined || options === null)
		options = {};
	if (options.constructor == String) {
		switch(options) {
		case 'stop':
			cont.cycleStop++; // callbacks look for change
			if (cont.cycleTimeout)
                clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
			$(cont).removeData('cycle.opts');
			return false;
		case 'pause':
			cont.cyclePause = 1;
			return false;
		case 'resume':
			cont.cyclePause = 0;
			if (arg2 === true) { // resume now!
				options = $(cont).data('cycle.opts');
				if (!options) {
					log('options not found, can not resume');
					return false;
				}
				if (cont.cycleTimeout) {
					clearTimeout(cont.cycleTimeout);
					cont.cycleTimeout = 0;
				}
				go(options.elements, options, 1, 1);
			}
			return false;
		case 'prev':
		case 'next':
			var opts = $(cont).data('cycle.opts');
			if (!opts) {
				log('options not found, "prev/next" ignored');
				return false;
			}
			$.fn.cycle[options](opts);
			return false;
		default:
			options = { fx: options };
		};
		return options;
	}
	else if (options.constructor == Number) {
		// go to the requested slide
		var num = options;
		options = $(cont).data('cycle.opts');
		if (!options) {
			log('options not found, can not advance slide');
			return false;
		}
		if (num < 0 || num >= options.elements.length) {
			log('invalid slide index: ' + num);
			return false;
		}
		options.nextSlide = num;
		if (cont.cycleTimeout) {
			clearTimeout(cont.cycleTimeout);
			cont.cycleTimeout = 0;
		}
        if (typeof arg2 == 'string')
            options.oneTimeFx = arg2;
		go(options.elements, options, 1, num >= options.currSlide);
		return false;
	}
    return options;
};

function removeFilter(el, opts) {
	if (!$.support.opacity && opts.cleartype && el.style.filter) {
		try { el.style.removeAttribute('filter'); }
		catch(smother) {} // handle old opera versions
	}
};

// one-time initialization
function buildOptions($cont, $slides, els, options, o) {
	// support metadata plugin (v1.0 and v2.0)
	var opts = $.extend({}, $.fn.cycle.defaults, options || {}, $.metadata ? $cont.metadata() : $.meta ? $cont.data() : {});
	if (opts.autostop)
		opts.countdown = opts.autostopCount || els.length;

    var cont = $cont[0];
	$cont.data('cycle.opts', opts);
	opts.$cont = $cont;
	opts.stopCount = cont.cycleStop;
	opts.elements = els;
	opts.before = opts.before ? [opts.before] : [];
	opts.after = opts.after ? [opts.after] : [];
	opts.after.unshift(function(){ opts.busy=0; });

    // push some after callbacks
	if (!$.support.opacity && opts.cleartype)
		opts.after.push(function() { removeFilter(this, opts); });
	if (opts.continuous)
		opts.after.push(function() { go(els,opts,0,!opts.rev); });

    saveOriginalOpts(opts);

	// clearType corrections
	if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
		clearTypeFix($slides);

    // container requires non-static position so that slides can be position within
	if ($cont.css('position') == 'static')
		$cont.css('position', 'relative');
	if (opts.width)
		$cont.width(opts.width);
	if (opts.height && opts.height != 'auto')
		$cont.height(opts.height);

	if (opts.startingSlide)
        opts.startingSlide = parseInt(opts.startingSlide);

    // if random, mix up the slide array
	if (opts.random) {
		opts.randomMap = [];
		for (var i = 0; i < els.length; i++)
			opts.randomMap.push(i);
		opts.randomMap.sort(function(a,b) {return Math.random() - 0.5;});
		opts.randomIndex = 0;
		opts.startingSlide = opts.randomMap[0];
	}
	else if (opts.startingSlide >= els.length)
		opts.startingSlide = 0; // catch bogus input
	opts.currSlide = opts.startingSlide = opts.startingSlide || 0;
	var first = opts.startingSlide;

    // set position and zIndex on all the slides
	$slides.css({position: 'absolute', top:0, left:0}).hide().each(function(i) {
		var z = first ? i >= first ? els.length - (i-first) : first-i : els.length-i;
		$(this).css('z-index', z)
	});

    // make sure first slide is visible
	$(els[first]).css('opacity',1).show(); // opacity bit needed to handle restart use case
	removeFilter(els[first], opts);

    // stretch slides
	if (opts.fit && opts.width)
		$slides.width(opts.width);
	if (opts.fit && opts.height && opts.height != 'auto')
		$slides.height(opts.height);

    // stretch container
	var reshape = opts.containerResize && !$cont.innerHeight();
	if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
		var maxw = 0, maxh = 0;
		for(var j=0; j < els.length; j++) {
			var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
            if (!w) w = e.offsetWidth;
            if (!h) h = e.offsetHeight;
			maxw = w > maxw ? w : maxw;
			maxh = h > maxh ? h : maxh;
		}
        if (maxw > 0 && maxh > 0)
		    $cont.css({width:maxw+'px',height:maxh+'px'});
	}

	if (opts.pause)
		$cont.hover(function(){this.cyclePause++;},function(){this.cyclePause--;});

    if (supportMultiTransitions(opts) === false)
		return false;

	// run transition init fn
	if (!opts.multiFx) {
		var init = $.fn.cycle.transitions[opts.fx];
		if ($.isFunction(init))
			init($cont, $slides, opts);
		else if (opts.fx != 'custom' && !opts.multiFx) {
			log('unknown transition: ' + opts.fx,'; slideshow terminating');
			return false;
		}
	}

	// apparently a lot of people use image slideshows without height/width attributes on the images.
	// Cycle 2.50+ requires the sizing info for every slide; this block tries to deal with that.
	var requeue = false;
	options.requeueAttempts = options.requeueAttempts || 0;
	$slides.each(function() {
        // try to get height/width of each slide
		var $el = $(this);
	    this.cycleH = (opts.fit && opts.height) ? opts.height : $el.height();
		this.cycleW = (opts.fit && opts.width) ? opts.width : $el.width();

		if ( $el.is('img') ) {
			// sigh..  sniffing, hacking, shrugging...  this crappy hack tries to account for what browsers do when
			// an image is being downloaded and the markup did not include sizing info (height/width attributes);
			// there seems to be some "default" sizes used in this situation
			var loadingIE    = ($.browser.msie  && this.cycleW == 28 && this.cycleH == 30 && !this.complete);
			var loadingFF    = ($.browser.mozilla && this.cycleW == 34 && this.cycleH == 19 && !this.complete);
			var loadingOp    = ($.browser.opera && ((this.cycleW == 42 && this.cycleH == 19) || (this.cycleW == 37 && this.cycleH == 17)) && !this.complete);
			var loadingOther = (this.cycleH == 0 && this.cycleW == 0 && !this.complete);
			// don't requeue for images that are still loading but have a valid size
			if (loadingIE || loadingFF || loadingOp || loadingOther) {
				if (o.s && opts.requeueOnImageNotLoaded && ++options.requeueAttempts < 100) { // track retry count so we don't loop forever
					log(options.requeueAttempts,' - img slide not loaded, requeuing slideshow: ', this.src, this.cycleW, this.cycleH);
					setTimeout(function() {$(o.s,o.c).cycle(options)}, opts.requeueTimeout);
					requeue = true;
					return false; // break each loop
				}
				else {
					log('could not determine size of image: '+this.src, this.cycleW, this.cycleH);
				}
			}
		}
		return true;
	});

	if (requeue)
		return false;

	opts.cssBefore = opts.cssBefore || {};
	opts.animIn = opts.animIn || {};
	opts.animOut = opts.animOut || {};

	$slides.not(':eq('+first+')').css(opts.cssBefore);
	if (opts.cssFirst)
		$($slides[first]).css(opts.cssFirst);

	if (opts.timeout) {
		opts.timeout = parseInt(opts.timeout);
		// ensure that timeout and speed settings are sane
		if (opts.speed.constructor == String)
			opts.speed = $.fx.speeds[opts.speed] || parseInt(opts.speed);
		if (!opts.sync)
			opts.speed = opts.speed / 2;
		while((opts.timeout - opts.speed) < 250) // sanitize timeout
			opts.timeout += opts.speed;
	}
	if (opts.easing)
		opts.easeIn = opts.easeOut = opts.easing;
	if (!opts.speedIn)
		opts.speedIn = opts.speed;
	if (!opts.speedOut)
		opts.speedOut = opts.speed;

	opts.slideCount = els.length;
	opts.currSlide = opts.lastSlide = first;
	if (opts.random) {
		opts.nextSlide = opts.currSlide;
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else
		opts.nextSlide = opts.startingSlide >= (els.length-1) ? 0 : opts.startingSlide+1;

	// fire artificial events
	var e0 = $slides[first];
	if (opts.before.length)
		opts.before[0].apply(e0, [e0, e0, opts, true]);
	if (opts.after.length > 1)
		opts.after[1].apply(e0, [e0, e0, opts, true]);

	if (opts.next)
		$(opts.next).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?-1:1)});
	if (opts.prev)
		$(opts.prev).bind(opts.prevNextEvent,function(){return advance(opts,opts.rev?1:-1)});
	if (opts.pager)
		buildPager(els,opts);

    exposeAddSlide(opts, els);

    return opts;
};

// save off original opts so we can restore after clearing state
function saveOriginalOpts(opts) {
    opts.original = { before: [], after: [] };
    opts.original.cssBefore = $.extend({}, opts.cssBefore);
    opts.original.cssAfter  = $.extend({}, opts.cssAfter);
    opts.original.animIn    = $.extend({}, opts.animIn);
    opts.original.animOut   = $.extend({}, opts.animOut);
	$.each(opts.before, function() { opts.original.before.push(this); });
	$.each(opts.after,  function() { opts.original.after.push(this); });
};

function supportMultiTransitions(opts) {
    var i, tx, txs = $.fn.cycle.transitions;
	// look for multiple effects
	if (opts.fx.indexOf(',') > 0) {
		opts.multiFx = true;
		opts.fxs = opts.fx.replace(/\s*/g,'').split(',');
		// discard any bogus effect names
		for (i=0; i < opts.fxs.length; i++) {
			var fx = opts.fxs[i];
			tx = txs[fx];
			if (!tx || !txs.hasOwnProperty(fx) || !$.isFunction(tx)) {
				log('discarding unknown transition: ',fx);
				opts.fxs.splice(i,1);
				i--;
			}
		}
		// if we have an empty list then we threw everything away!
		if (!opts.fxs.length) {
			log('No valid transitions named; slideshow terminating.');
			return false;
		}
	}
	else if (opts.fx == 'all') {  // auto-gen the list of transitions
		opts.multiFx = true;
		opts.fxs = [];
		for (p in txs) {
			tx = txs[p];
			if (txs.hasOwnProperty(p) && $.isFunction(tx))
				opts.fxs.push(p);
		}
	}
	if (opts.multiFx && opts.randomizeEffects) {
		// munge the fxs array to make effect selection random
		var r1 = Math.floor(Math.random() * 20) + 30;
		for (i = 0; i < r1; i++) {
			var r2 = Math.floor(Math.random() * opts.fxs.length);
			opts.fxs.push(opts.fxs.splice(r2,1)[0]);
		}
		log('randomized fx sequence: ',opts.fxs);
	}
	return true;
};

// provide a mechanism for adding slides after the slideshow has started
function exposeAddSlide(opts, els) {
	opts.addSlide = function(newSlide, prepend) {
		var $s = $(newSlide), s = $s[0];
		if (!opts.autostopCount)
			opts.countdown++;
		els[prepend?'unshift':'push'](s);
		if (opts.els)
			opts.els[prepend?'unshift':'push'](s); // shuffle needs this
		opts.slideCount = els.length;

		$s.css('position','absolute');
		$s[prepend?'prependTo':'appendTo'](opts.$cont);

		if (prepend) {
			opts.currSlide++;
			opts.nextSlide++;
		}

		if (!$.support.opacity && opts.cleartype && !opts.cleartypeNoBg)
			clearTypeFix($s);

		if (opts.fit && opts.width)
			$s.width(opts.width);
		if (opts.fit && opts.height && opts.height != 'auto')
			$slides.height(opts.height);
		s.cycleH = (opts.fit && opts.height) ? opts.height : $s.height();
		s.cycleW = (opts.fit && opts.width) ? opts.width : $s.width();

		$s.css(opts.cssBefore);

		if (opts.pager)
			$.fn.cycle.createPagerAnchor(els.length-1, s, $(opts.pager), els, opts);

		if ($.isFunction(opts.onAddSlide))
			opts.onAddSlide($s);
		else
			$s.hide(); // default behavior
	};
}

// reset internal state; we do this on every pass in order to support multiple effects
$.fn.cycle.resetState = function(opts, fx) {
    fx = fx || opts.fx;
	opts.before = []; opts.after = [];
	opts.cssBefore = $.extend({}, opts.original.cssBefore);
	opts.cssAfter  = $.extend({}, opts.original.cssAfter);
	opts.animIn    = $.extend({}, opts.original.animIn);
	opts.animOut   = $.extend({}, opts.original.animOut);
	opts.fxFn = null;
	$.each(opts.original.before, function() { opts.before.push(this); });
	$.each(opts.original.after,  function() { opts.after.push(this); });

	// re-init
	var init = $.fn.cycle.transitions[fx];
	if ($.isFunction(init))
		init(opts.$cont, $(opts.elements), opts);
};

// this is the main engine fn, it handles the timeouts, callbacks and slide index mgmt
function go(els, opts, manual, fwd) {
    // opts.busy is true if we're in the middle of an animation
	if (manual && opts.busy && opts.manualTrump) {
        // let manual transitions requests trump active ones
		$(els).stop(true,true);
		opts.busy = false;
	}
    // don't begin another timeout-based transition if there is one active
	if (opts.busy)
        return;

	var p = opts.$cont[0], curr = els[opts.currSlide], next = els[opts.nextSlide];

    // stop cycling if we have an outstanding stop request
	if (p.cycleStop != opts.stopCount || p.cycleTimeout === 0 && !manual)
		return;

    // check to see if we should stop cycling based on autostop options
	if (!manual && !p.cyclePause &&
		((opts.autostop && (--opts.countdown <= 0)) ||
		(opts.nowrap && !opts.random && opts.nextSlide < opts.currSlide))) {
		if (opts.end)
			opts.end(opts);
		return;
	}

    // if slideshow is paused, only transition on a manual trigger
	if (manual || !p.cyclePause) {
        var fx = opts.fx;
		// keep trying to get the slide size if we don't have it yet
		curr.cycleH = curr.cycleH || $(curr).height();
		curr.cycleW = curr.cycleW || $(curr).width();
		next.cycleH = next.cycleH || $(next).height();
		next.cycleW = next.cycleW || $(next).width();

		// support multiple transition types
		if (opts.multiFx) {
			if (opts.lastFx == undefined || ++opts.lastFx >= opts.fxs.length)
				opts.lastFx = 0;
			fx = opts.fxs[opts.lastFx];
			opts.currFx = fx;
		}

        // one-time fx overrides apply to:  $('div').cycle(3,'zoom');
        if (opts.oneTimeFx) {
            fx = opts.oneTimeFx;
            opts.oneTimeFx = null;
        }

        $.fn.cycle.resetState(opts, fx);

        // run the before callbacks
		if (opts.before.length)
			$.each(opts.before, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});

        // stage the after callacks
		var after = function() {
			$.each(opts.after, function(i,o) {
				if (p.cycleStop != opts.stopCount) return;
				o.apply(next, [curr, next, opts, fwd]);
			});
		};

		if (opts.nextSlide != opts.currSlide) {
            // get ready to perform the transition
			opts.busy = 1;
			if (opts.fxFn) // fx function provided?
				opts.fxFn(curr, next, opts, after, fwd);
			else if ($.isFunction($.fn.cycle[opts.fx])) // fx plugin ?
				$.fn.cycle[opts.fx](curr, next, opts, after);
			else
				$.fn.cycle.custom(curr, next, opts, after, manual && opts.fastOnEvent);
		}

        // calculate the next slide
		opts.lastSlide = opts.currSlide;
		if (opts.random) {
			opts.currSlide = opts.nextSlide;
			if (++opts.randomIndex == els.length)
				opts.randomIndex = 0;
			opts.nextSlide = opts.randomMap[opts.randomIndex];
		}
		else { // sequence
			var roll = (opts.nextSlide + 1) == els.length;
			opts.nextSlide = roll ? 0 : opts.nextSlide+1;
			opts.currSlide = roll ? els.length-1 : opts.nextSlide-1;
		}

		if (opts.pager)
			$.fn.cycle.updateActivePagerLink(opts.pager, opts.currSlide);
	}

    // stage the next transtion
    var ms = 0;
	if (opts.timeout && !opts.continuous)
        ms = getTimeout(curr, next, opts, fwd);
    else if (opts.continuous && p.cyclePause) // continuous shows work off an after callback, not this timer logic
        ms = 10;
    if (ms > 0)
        p.cycleTimeout = setTimeout(function(){ go(els, opts, 0, !opts.rev) }, ms);
};

// invoked after transition
$.fn.cycle.updateActivePagerLink = function(pager, currSlide) {
	$(pager).find('a').removeClass('activeSlide').filter('a:eq('+currSlide+')').addClass('activeSlide');
};

// calculate timeout value for current transition
function getTimeout(curr, next, opts, fwd) {
	if (opts.timeoutFn) {
        // call user provided calc fn
		var t = opts.timeoutFn(curr,next,opts,fwd);
		if (t !== false)
			return t;
	}
	return opts.timeout;
};

// expose next/prev function, caller must pass in state
$.fn.cycle.next = function(opts) { advance(opts, opts.rev?-1:1); };
$.fn.cycle.prev = function(opts) { advance(opts, opts.rev?1:-1);};

// advance slide forward or back
function advance(opts, val) {
    var els = opts.elements;
	var p = opts.$cont[0], timeout = p.cycleTimeout;
	if (timeout) {
		clearTimeout(timeout);
		p.cycleTimeout = 0;
	}
	if (opts.random && val < 0) {
		// move back to the previously display slide
		opts.randomIndex--;
		if (--opts.randomIndex == -2)
			opts.randomIndex = els.length-2;
		else if (opts.randomIndex == -1)
			opts.randomIndex = els.length-1;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else if (opts.random) {
		if (++opts.randomIndex == els.length)
			opts.randomIndex = 0;
		opts.nextSlide = opts.randomMap[opts.randomIndex];
	}
	else {
		opts.nextSlide = opts.currSlide + val;
		if (opts.nextSlide < 0) {
			if (opts.nowrap) return false;
			opts.nextSlide = els.length - 1;
		}
		else if (opts.nextSlide >= els.length) {
			if (opts.nowrap) return false;
			opts.nextSlide = 0;
		}
	}

	if ($.isFunction(opts.prevNextClick))
		opts.prevNextClick(val > 0, opts.nextSlide, els[opts.nextSlide]);
	go(els, opts, 1, val>=0);
	return false;
};

function buildPager(els, opts) {
	var $p = $(opts.pager);
	$.each(els, function(i,o) {
		$.fn.cycle.createPagerAnchor(i,o,$p,els,opts);
	});
   $.fn.cycle.updateActivePagerLink(opts.pager, opts.startingSlide);
};

$.fn.cycle.createPagerAnchor = function(i, el, $p, els, opts) {
	var a;
	if ($.isFunction(opts.pagerAnchorBuilder))
		a = opts.pagerAnchorBuilder(i,el);
	else
		a = '<a href="#">'+(i+1)+'</a>';

	if (!a)
		return;
	var $a = $(a);
	// don't reparent if anchor is in the dom
	if ($a.parents('body').length === 0) {
		var arr = [];
		if ($p.length > 1) {
			$p.each(function() {
				var $clone = $a.clone(true);
				$(this).append($clone);
				arr.push($clone);
			});
			$a = $(arr);
		}
		else {
			$a.appendTo($p);
		}
	}

	$a.bind(opts.pagerEvent, function(e) {
		e.preventDefault();
		opts.nextSlide = i;
		var p = opts.$cont[0], timeout = p.cycleTimeout;
		if (timeout) {
			clearTimeout(timeout);
			p.cycleTimeout = 0;
		}
		if ($.isFunction(opts.pagerClick))
			opts.pagerClick(opts.nextSlide, els[opts.nextSlide]);
		go(els,opts,1,opts.currSlide < i); // trigger the trans
		return false;
	});

	if (opts.pagerEvent != 'click')
		$a.click(function(){return false;}); // supress click

	if (opts.pauseOnPagerHover)
		$a.hover(function() { opts.$cont[0].cyclePause++; }, function() { opts.$cont[0].cyclePause--; } );
};

// helper fn to calculate the number of slides between the current and the next
$.fn.cycle.hopsFromLast = function(opts, fwd) {
	var hops, l = opts.lastSlide, c = opts.currSlide;
	if (fwd)
		hops = c > l ? c - l : opts.slideCount - l;
	else
		hops = c < l ? l - c : l + opts.slideCount - c;
	return hops;
};

// fix clearType problems in ie6 by setting an explicit bg color
// (otherwise text slides look horrible during a fade transition)
function clearTypeFix($slides) {
	function hex(s) {
		s = parseInt(s).toString(16);
		return s.length < 2 ? '0'+s : s;
	};
	function getBg(e) {
		for ( ; e && e.nodeName.toLowerCase() != 'html'; e = e.parentNode) {
			var v = $.css(e,'background-color');
			if (v.indexOf('rgb') >= 0 ) {
				var rgb = v.match(/\d+/g);
				return '#'+ hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);
			}
			if (v && v != 'transparent')
				return v;
		}
		return '#ffffff';
	};
	$slides.each(function() { $(this).css('background-color', getBg(this)); });
};

// reset common props before the next transition
$.fn.cycle.commonReset = function(curr,next,opts,w,h,rev) {
	$(opts.elements).not(curr).hide();
	opts.cssBefore.opacity = 1;
	opts.cssBefore.display = 'block';
	if (w !== false && next.cycleW > 0)
		opts.cssBefore.width = next.cycleW;
	if (h !== false && next.cycleH > 0)
		opts.cssBefore.height = next.cycleH;
	opts.cssAfter = opts.cssAfter || {};
	opts.cssAfter.display = 'none';
	$(curr).css('zIndex',opts.slideCount + (rev === true ? 1 : 0));
	$(next).css('zIndex',opts.slideCount + (rev === true ? 0 : 1));
};

// the actual fn for effecting a transition
$.fn.cycle.custom = function(curr, next, opts, cb, speedOverride) {
	var $l = $(curr), $n = $(next);
	var speedIn = opts.speedIn, speedOut = opts.speedOut, easeIn = opts.easeIn, easeOut = opts.easeOut;
	$n.css(opts.cssBefore);
	if (speedOverride) {
		if (typeof speedOverride == 'number')
			speedIn = speedOut = speedOverride;
		else
			speedIn = speedOut = 1;
		easeIn = easeOut = null;
	}
	var fn = function() {$n.animate(opts.animIn, speedIn, easeIn, cb)};
	$l.animate(opts.animOut, speedOut, easeOut, function() {
		if (opts.cssAfter) $l.css(opts.cssAfter);
		if (!opts.sync) fn();
	});
	if (opts.sync) fn();
};

// transition definitions - only fade is defined here, transition pack defines the rest
$.fn.cycle.transitions = {
	fade: function($cont, $slides, opts) {
		$slides.not(':eq('+opts.currSlide+')').css('opacity',0);
		opts.before.push(function(curr,next,opts) {
			$.fn.cycle.commonReset(curr,next,opts);
			opts.cssBefore.opacity = 0;
		});
		opts.animIn	   = { opacity: 1 };
		opts.animOut   = { opacity: 0 };
		opts.cssBefore = { top: 0, left: 0 };
	}
};

$.fn.cycle.ver = function() { return ver; };

// override these globally if you like (they are all optional)
$.fn.cycle.defaults = {
	fx:			  'fade', // name of transition effect (or comma separated names, ex: fade,scrollUp,shuffle)
	timeout:	   4000,  // milliseconds between slide transitions (0 to disable auto advance)
	timeoutFn:     null,  // callback for determining per-slide timeout value:  function(currSlideElement, nextSlideElement, options, forwardFlag)
	continuous:	   0,	  // true to start next transition immediately after current one completes
	speed:		   1000,  // speed of the transition (any valid fx speed value)
	speedIn:	   null,  // speed of the 'in' transition
	speedOut:	   null,  // speed of the 'out' transition
	next:		   null,  // selector for element to use as click trigger for next slide
	prev:		   null,  // selector for element to use as click trigger for previous slide
	prevNextClick: null,  // callback fn for prev/next clicks:	function(isNext, zeroBasedSlideIndex, slideElement)
	prevNextEvent:'click',// event which drives the manual transition to the previous or next slide
	pager:		   null,  // selector for element to use as pager container
	pagerClick:	   null,  // callback fn for pager clicks:	function(zeroBasedSlideIndex, slideElement)
	pagerEvent:	  'click', // name of event which drives the pager navigation
	pagerAnchorBuilder: null, // callback fn for building anchor links:  function(index, DOMelement)
	before:		   null,  // transition callback (scope set to element to be shown):     function(currSlideElement, nextSlideElement, options, forwardFlag)
	after:		   null,  // transition callback (scope set to element that was shown):  function(currSlideElement, nextSlideElement, options, forwardFlag)
	end:		   null,  // callback invoked when the slideshow terminates (use with autostop or nowrap options): function(options)
	easing:		   null,  // easing method for both in and out transitions
	easeIn:		   null,  // easing for "in" transition
	easeOut:	   null,  // easing for "out" transition
	shuffle:	   null,  // coords for shuffle animation, ex: { top:15, left: 200 }
	animIn:		   null,  // properties that define how the slide animates in
	animOut:	   null,  // properties that define how the slide animates out
	cssBefore:	   null,  // properties that define the initial state of the slide before transitioning in
	cssAfter:	   null,  // properties that defined the state of the slide after transitioning out
	fxFn:		   null,  // function used to control the transition: function(currSlideElement, nextSlideElement, options, afterCalback, forwardFlag)
	height:		  'auto', // container height
	startingSlide: 0,	  // zero-based index of the first slide to be displayed
	sync:		   1,	  // true if in/out transitions should occur simultaneously
	random:		   0,	  // true for random, false for sequence (not applicable to shuffle fx)
	fit:		   0,	  // force slides to fit container
	containerResize: 1,	  // resize container to fit largest slide
	pause:		   0,	  // true to enable "pause on hover"
	pauseOnPagerHover: 0, // true to pause when hovering over pager link
	autostop:	   0,	  // true to end slideshow after X transitions (where X == slide count)
	autostopCount: 0,	  // number of transitions (optionally used with autostop to define X)
	delay:		   0,	  // additional delay (in ms) for first transition (hint: can be negative)
	slideExpr:	   null,  // expression for selecting slides (if something other than all children is required)
	cleartype:	   !$.support.opacity,  // true if clearType corrections should be applied (for IE)
	cleartypeNoBg: false, // set to true to disable extra cleartype fixing (leave false to force background color setting on slides)
	nowrap:		   0,	  // true to prevent slideshow from wrapping
	fastOnEvent:   0,	  // force fast transitions when triggered manually (via pager or prev/next); value == time in ms
	randomizeEffects: 1,  // valid when multiple effects are used; true to make the effect sequence random
	rev:           0,     // causes animations to transition in reverse
	manualTrump:   true,  // causes manual transition to stop an active transition instead of being ignored
	requeueOnImageNotLoaded: true, // requeue the slideshow if any image slides are not yet loaded
	requeueTimeout: 250   // ms delay for requeue
};

})(jQuery);


/*!
 * jQuery Cycle Plugin Transition Definitions
 * This script is a plugin for the jQuery Cycle Plugin
 * Examples and documentation at: http://malsup.com/jquery/cycle/
 * Copyright (c) 2007-2008 M. Alsup
 * Version:	 2.52
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 */
(function($) {

//
// These functions define one-time slide initialization for the named
// transitions. To save file size feel free to remove any of these that you
// don't need.
//

// scrollUp/Down/Left/Right

$.fn.cycle.transitions.scrollHorz = function($cont, $slides, opts) {
	$cont.css('overflow','hidden').width();
	opts.before.push(function(curr, next, opts, fwd) {
		$.fn.cycle.commonReset(curr,next,opts);
		opts.cssBefore.left = fwd ? (next.cycleW-1) : (1-next.cycleW);
		opts.animOut.left = fwd ? -curr.cycleW : curr.cycleW;
	});
	opts.cssFirst = { left: 0 };
	opts.cssBefore= { top: 0 };
	opts.animIn   = { left: 0 };
	opts.animOut  = { top: 0 };
};



})(jQuery);


var rocon=(function(){var p=/\.rc(\d+)\b/,A=/\brc(\d+)\b/,K=/\brc-shape\b/,ae="rocon__",h="rocon",U=[],u={update:function(){},bindProperties:function(){var e=1;return function(aj,ai,ah){U.push({"id":e++,"rule":aj,"bg":B(j(ai),function(ak){if(ak.charAt(0)!="#"){ak="#"+ak;}return N(ak);}),"border_width":ah||0});};}(),process:function(e){y(e);}},w=null,v={},H=[],r=[],M=false,a=false,J=navigator.userAgent.toLowerCase(),f={},d={version:(J.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(J),opera:/opera/.test(J),msie:/msie/.test(J)&&!/opera/.test(J),mozilla:/mozilla/.test(J)&&!/(compatible|webkit)/.test(J)};function ad(){if(!M){M=true;if(r.length){for(var e=0;e<r.length;e++){r[e].call(document);}r=null;}}}function C(e){r.push(e);}function O(){if(a){return;}a=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",function(){document.removeEventListener("DOMContentLoaded",arguments.callee,false);ad();},false);}else{if(document.attachEvent){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);ad();}});if(document.documentElement.doScroll&&!window.frameElement){(function(){if(M){return;}try{document.documentElement.doScroll("left");}catch(e){setTimeout(arguments.callee,0);return;}ad();})();}}}}function L(ai,al,aj){if(aj){for(var ak=0,ah=ai.length;ak<ah;ak++){if(al.call(ai[ak],ak)===false){break;}}}else{for(var ak=ai.length-1,e;ak>=0;ak--){if(al.call(ai[ak],ak)===false){break;}}}}function B(e,al){var ah=[];for(var ai=0,aj=e.length;ai<aj;ai++){var ak=al(e[ai],ai);if(ak!=null){ah[ah.length]=ak;}}return ah.concat.apply([],ah);}function Y(){return;}function N(ah){var e;function ai(ak){var al=parseInt(ak,10).toString(16);return(al.length==1)?al+al:al;}function aj(ak){return ai(Math.round(ak*2.55));}if(e=/rgb\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)/.exec(ah)){return"#"+ai(e[1])+ai(e[2])+ai(e[3]);}if(e=/rgb\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*\)/.exec(ah)){return"#"+aj(e[1])+aj(e[2])+aj(e[3]);}if(e=/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/i.exec(ah)){return"#"+e[1]+e[2]+e[3];}if(e=/#([a-f0-9])([a-f0-9])([a-f0-9])/i.exec(ah)){return"#"+e[1]+e[1]+e[2]+e[2]+e[3]+e[3];}ai=null;aj=null;return ah;}function I(e,ai){var ah=document.createElement(e);if(ai){ah.className=ai;}return ah;}function Q(ah,ai){var e=new RegExp("\\b"+ai+"\\b");return ah.nodeType==1&&e.test(ah.className||"");}function P(ak,ah){var aj,e={},ai=function(am,al){return al.toUpperCase();};L(ah instanceof Array?ah:[ah],function(){var am=this,al=am.replace(/\-(\w)/g,ai);if(ak.style[al]){e[al]=ak.style[al];}else{if(d.msie){e[al]=ak.currentStyle[al];}else{if(document.defaultView&&document.defaultView.getComputedStyle){if(!aj){aj=document.defaultView.getComputedStyle(ak,"");}e[al]=aj&&aj.getPropertyValue(am);}}}});return ah instanceof Array?e:e[ah.replace(/\-(\w)/g,ai)];}function j(ah){var e=(ah||"").split("_");switch(e.length){case 1:return[e[0],e[0],e[0],e[0]];case 2:return[e[0],e[1],e[0],e[1]];case 3:return[e[0],e[1],e[2],e[1]];case 4:return e;}return null;}var i=(function(){var ah=[],ai="#ffffff";function aj(ak){var al;do{if(ak.nodeType!=1){break;}if(ak.rocon_bg){return ak.rocon_bg;}else{ah.push(ak);al=P(ak,"background-color");if(al!="transparent"){return N(al);}}}while(ak=ak.parentNode);return ai;}function e(ak){var al;do{if(ak.nodeType!=1){break;}al=P(ak,"background-color");if(al!="transparent"){return N(al);}}while(ak=ak.parentNode);return ai;}return function(ap,ao){var al=ap.className,an=null;var ak=/\brcbg([a-f0-9_]+)\b/i.exec(al);if(ak){an=B(j(ak[1]),function(aq){return N("#"+aq);});return an;}var am=G(ap);if(am){return am.bg;}if(!ao){ap=ap.parentNode;}if(i.use_cache){ah=[];an=aj(ap);L(ah,function(){this.rocon_bg=an;i.processed_elems.push(this);});ah=null;}else{an=e(ap);}return j(an);};})();i.use_cache=true;i.processed_elems=[];function G(ai){var ah=ai.className,e=null;L(U,function(){if((typeof(this.rule)=="string"&&ah.indexOf(this.rule)!=-1)||ah.search(this.rule)!=-1){e=this;return false;}},true);return e;}function l(e,ah){w.insertRule(e+" {"+ah+"}",w.cssRules.length);}function D(ah){var e;L(document.styleSheets,function(){L(this.cssRules||this.rules,function(){if(e=p.exec(this.selectorText)){ah(this,parseInt(e[1],10));}});});}function E(ai,ah){var e=(ai.className||"").replace(new RegExp("\\s*"+h+"[-_].+?\\b","ig"),"");if(ah){e+=" "+ah;}ai.className=e;return ai;}function o(ah,e){H.push(ah.selectorText.substr(1));}function ag(){if(!w){if(document.createStyleSheet){w=document.createStyleSheet();}else{var e=I("style");e.rel="rocon";document.getElementsByTagName("head")[0].appendChild(e);L(document.styleSheets,function(){if(this.ownerNode.rel=="rocon"){w=this;return false;}});}}return w;}function c(ai){var ah=[],e;L((ai||document).getElementsByTagName("*"),function(){if(e=A.exec(this.className||"")){ah.push({node:this,radius:parseInt(e[1],10)});}});return ah;}function y(ah){var e=c(ah);
if(e.length){ag();L(e,function(){Y(this.node,this.radius);});}}function q(e){return f[e]?true:false;}function T(am,ah){var ai=am.className||"";ah=ah||parseInt(ai.match(A)[1],10);var ak=K.test(ai),al=G(am);var e="";var aj=al?al.border_width:(parseInt(P(am,"border-left-width"))||0);if(aj){e=N(P(am,"border-left-color")||"#000");}return{"radius":ah,"bg_color":i(am,ak),"border_width":(aj>ah)?ah:aj,"real_border_width":aj,"border_color":e,"use_shape":ak};}function af(e,ah){L(e,function(){L((this instanceof Array)?this:[this],ah);});}function m(ai){var e={};for(var ah in ai){if(ai.hasOwnProperty(ah)){e[ah]=ai[ah];}}return e;}function S(ah,ai,ap){var aj=P(ah,["padding-top","padding-bottom","margin-top","margin-bottom"]);function e(aq){return parseInt(aj[aq],10)||0;}var ak=Math.max(e("paddingTop")-ap.radius+ap.border_width,0),ao=Math.max(e("paddingBottom")-ap.radius+ap.border_width,0),al=e("marginTop")+ap.radius,an=e("marginBottom")+ap.radius,am=ap.real_border_width-ap.border_width;l("."+ai,"border-top-width:"+am+"px;"+"border-bottom-width:"+am+"px;"+"padding-top:"+ak+"px;"+"padding-bottom:"+ao+"px;"+"margin-top:"+al+"px;"+"margin-bottom:"+an+"px");}C(y);C(function(){L(i.processed_elems,function(){this.removeAttribute("rocon_bg");});i.use_cache=false;});O();if(d.safari){Y=function(ai,ah){var e=".rc"+ah;if(!q(e)){l(e,"-webkit-border-radius:"+ah+"px; -khtml-border-radius:"+ah);f[e]=true;}};u.update=function(){af(arguments,function(){var e=A.exec(this.className||"");if(e){Y(this,parseInt(e[1]));}});};}if(d.mozilla){Y=function(ai,ah){var e=".rc"+ah;if(!q(e)){l(e,"-moz-border-radius:"+ah+"px");f[e]=true;}};u.update=function(){af(arguments,function(){var e=A.exec(this.className||"");if(e){Y(this,parseInt(e[1]));}});};}if(d.opera){ag();l("."+h,"position:absolute;background-repeat:no-repeat;z-index:1;display:none");l("."+h+"-init","position:relative;");l("."+h+"-init>."+h,"display:inline-block;");l("."+h+"-tl","top:0;left:0;background-position:100% 100%;");l("."+h+"-tr","top:0;right:0;background-position:0 100%;");l("."+h+"-bl","bottom:0;left:0;background-position:100% 0;");l("."+h+"-br","bottom:0;right:0;");var x=I("canvas");function F(ai){ai.border_width=(ai.border_width>ai.radius)?ai.radius:ai.border_width;if(ai.border_width>1){ai.radius-=ai.border_width/2;}var aj=ai.radius*2+ai.border_width,e=aj;if(ai.use_shape){aj=2000;if(ai.border_width<ai.real_border_width){e+=(ai.real_border_width-ai.border_width)*2;}}if(ai.border_width==1){aj--;e--;}x.width=ai.width=aj;x.height=ai.height=e;var ah=x.getContext("2d");ah.strokeStyle=ai.border_color;ah.lineWidth=ai.border_width;ah.lineJoin="miter";ah.lineCap="square";ah.fillStyle=ai.bg_color[0];ah.clearRect(0,0,aj,e);return ah;}function W(e,ai){var aj=Math.PI/2,ah=(ai.border_width>1)?ai.border_width:0,ak=ai.radius*2+ah;e.beginPath();e.arc(0,0,ai.radius,aj,0,true);e.stroke();e.beginPath();e.arc(ak,0,ai.radius,aj*2,aj,true);e.stroke();e.beginPath();e.arc(ak,ak,ai.radius,-aj,aj*2,true);e.stroke();e.beginPath();e.arc(0,ak,ai.radius,0,-aj,true);e.stroke();}function k(ap){ap=m(ap);var ao=F(ap),ai=Math.PI/2,e=Math.PI*2,al=ap.border_width,am=(al>1)?al:0,aj=ap.radius*2+am,an=0,ah=(ap.border_width<ap.real_border_width);var ak=function(aq,ar){ao.beginPath();ao.arc(aq,ar,ap.radius,0,e,true);ao.closePath();ao.fill();};if(ah){an=ap.real_border_width-ap.border_width;ao.save();ao.translate(0,an);}ak(0,0);ak(aj,0);ak(aj,aj);ak(0,aj);ao.fillRect(aj,0,ap.width,ap.height);if(al){W(ao,ap);ao.fillStyle=ao.strokeStyle;ao.fillRect(aj,ap.radius-(al>1?al/2:al),ap.width,al*2);if(ah){ao.restore();ao.fillStyle=ap.border_color;ao.fillRect(0,0,ap.width,an);ao.fillRect(0,ap.height-an,ap.width,an);ao.fillStyle=ap.bg_color;}}return ao.canvas.toDataURL();}function t(aj){var an=aj;aj=m(aj);var ah=F(aj),e=aj.radius,ai=(aj.border_width>1)?aj.border_width:0,am=e*2+ai,al=an.radius,ak=Math.PI/2;ah.save();ah.beginPath();ah.arc(0,0,e,ak,0,true);ah.arc(am,0,e,ak*2,ak,true);ah.arc(am,am,e,-ak,ak*2,true);ah.arc(0,am,e,0,-ak,true);ah.closePath();ah.clip();ah.fillStyle=aj.bg_color[2];ah.fillRect(0,0,al,al);ah.fillStyle=aj.bg_color[3];ah.fillRect(al,0,al,al);ah.fillStyle=aj.bg_color[0];ah.fillRect(al,al,al,al);ah.fillStyle=aj.bg_color[1];ah.fillRect(0,al,al,al);ah.restore();if(aj.border_width){W(ah,aj);}return ah.canvas.toDataURL();}function b(e,ai){var ah=G(ai);return[e.radius,e.bg_color.join("-"),e.real_border_width,e.border_color,e.use_shape,ah?ah.id:0].join(":");}function R(e,aj){var al=b(e,aj),am=e.radius,an=e.real_border_width||0,ao=(e.use_shape)?an-e.border_width:0;if(!v[al]){var ai=ae+w.cssRules.length;v[al]=ai;l("."+ai+">."+h,'background-image: url("'+(e.use_shape?k(e):t(e))+'");'+"width: "+am+"px;"+"height: "+(am+ao)+"px;");var ak=-an,ah=-an;if(e.use_shape){ah=-am-ao;S(aj,ai,e);l("."+ai+">."+h+"-tl, ."+ai+">."+h+"-bl","width:auto;left:0;right:"+(am-an)+"px;background-position:-"+am+"px 100%;");l("."+ai+">."+h+"-bl","background-position:-"+am+"px 0;");}if(ak||ah){l("."+ai+">."+h+"-tl","top:"+ah+"px; left:"+ak+"px");l("."+ai+">."+h+"-tr","top:"+ah+"px; right:"+ak+"px");
l("."+ai+">."+h+"-bl","bottom:"+ah+"px; left:"+ak+"px");l("."+ai+">."+h+"-br","bottom:"+ah+"px; right:"+ak+"px");}}return v[al];}Y=function(aj,e){if(!aj.className){return;}var ah=false;L(aj.childNodes,function(){if(Q(this,h)){ah=true;return false;}});var ai=R(T(aj,e),aj);if(!ah){L(["tl","tr","bl","br"],function(){aj.appendChild(I("span",h+" "+h+"-"+this));});}E(aj,ai+" "+h+"-init");};C(function(){document.documentElement.style.outline="none";});u.update=function(){af(arguments,function(){Y(E(this));});};}if(d.msie){v.ix=0;v.created={};var ab="",n={tl:0,tr:1,br:2,bl:3};var s="vml-"+h;try{if(!document.namespaces["v"]){document.namespaces.add("v","urn:schemas-microsoft-com:vml");}}catch(aa){}ag();var Z="."+h;w.cssText="."+s+" {behavior:url(#default#VML);display:inline-block;position:absolute}"+Z+"-init {position:relative;zoom:1;}"+Z+" {position:absolute; display:inline-block; zoom: 1; overflow:hidden}"+Z+"-tl ."+s+"{flip: 'y'}"+Z+"-tr ."+s+"{rotation: 180;right:1px;}"+Z+"-br ."+s+"{flip: 'x'; right:1px;}";if(d.version<7){w.cssText+=Z+"-tr, "+Z+"-br {margin-left: 100%;}";}l=function(e,ah){ab+=e+"{"+ah+"}";};function X(au){var ak=au.radius,al=au.border_width,ah=ak+":"+al+":"+au.use_shape;if(!X._cache[ah]){var ap=10;var ai=I("v:shape");ai.className=s;ai.strokeweight=al+"px";ai.stroked=(al)?true:false;var aq=I("v:stroke");aq.className=s;aq.joinstyle="miter";ai.appendChild(aq);var an=ak,aj=an;ai.style.width=an+"px";ai.style.height=aj+"px";ak-=al/2;ak*=ap;var e=al/2*ap;var am=Math.round((ak+e)/an);var ao=ak+e;ai.coordorigin=Math.round(am/2)+" "+Math.round(am/2);ai.coordsize=ao+" "+ao;var at="";var ar=ao+am;if(au.use_shape){ar=2000*ap;at="m"+ar+",0 ns l"+e+",0  qy"+ao+","+ak+" l"+ar+","+ak+" e ";}else{at="m0,0 ns l"+e+",0  qy"+ao+","+ak+" l"+ao+","+ao+" l0,"+ao+" e ";}at+="m"+e+","+(-am)+" nf l"+e+",0 qy"+ao+","+ak+" l "+(ar)+","+ak+" e x";ai.path=at;X._cache[ah]=ai;}return X._cache[ah].cloneNode(true);}X._cache={};function z(ah,ai){var e=X(ah);e.fillcolor=ah.bg_color[n[ai]]||"#000";e.strokecolor=ah.border_color||"#000";var aj=I("span",h+" "+h+"-"+ai);aj.appendChild(e);return aj;}function V(e){L(e.childNodes,function(){if(Q(this,h)){e.removeChild(this);}});E(e);}function ac(e){var ah=e.radius+":"+(e.real_border_width||0)+":"+e.use_shape;if(!v[ah]){v[ah]=ae+v.ix++;}return v[ah];}function g(at,ah){var an=at.radius,ao=at.real_border_width||0,ap=(at.use_shape)?at.real_border_width-at.border_width:0;var aj=ac(at);if(!v.created[aj]){var al=(d.version<7)?"."+aj+" ."+h:"."+aj+">."+h;var ai=-ao,e=-1-ao;l(al,"width:"+(an+ao+1)+"px;height:"+(an+1)+"px");if(at.use_shape){e=-an-1-ap;var aq=an+at.border_width*2+ap;S(ah,aj,at);var am=Math.max(an-ao*2,0),ar=Math.min(an-ao*2,0)*-1;if(d.version<7){ar+=parseInt(P(ah,"padding-left")||0)+parseInt(P(ah,"padding-right")||0);}var ak="width:100%;clip:rect(auto auto auto "+am+"px);padding-right:"+ar+"px;left:"+(-ao-am)+"px;";l(al+"-tl",ak+"top:"+e+"px;");l(al+"-tl ."+s,"left:"+am+"px");l(al+"-bl",ak+"bottom:"+e+"px;");l(al+"-bl ."+s,"left:"+am+"px");}else{l(al+"-tl","left:"+ai+"px;top:"+e+"px;");l(al+"-bl","left:"+ai+"px;bottom:"+e+"px;");}if(d.version<7){ai=-an+(ao?an%2-ao%2:-an%2);l(al+"-tr","left:"+ai+"px;top:"+e+"px;");l(al+"-br","left:"+ai+"px;bottom:"+e+"px;");}else{l(al+"-tr","right:"+ai+"px;top:"+e+"px;");l(al+"-br","right:"+ai+"px;bottom:"+e+"px;");}v.created[aj]=true;}}Y=function(ai,e){var ah=T(ai,e);g(ah,ai);L(["tl","tr","bl","br"],function(){ai.appendChild(z(ah,this));});ai.className+=" "+ac(ah)+" "+h+"-init";};u.update=function(){af(arguments,function(){V(this);Y(this);});};C(function(){w.cssText+=ab;ab="";l=w.addRule;});}return u;})();
