/* Author: Andreas Walter */
/* Company: Euroweb Internet GmbH */
/* Copyright: 2010 - Andreas Walter & Euroweb Internet GmbH */

/* ///////////////////////////////////////////////////////////
	=> mailmask 
/////////////////////////////////////////////////////////// */

function noSpam() {
	if (document.getElementById) {
		var at = "@";
		var links = document.getElementsByTagName('a');
		for (var i = 0; i < links.length; i++) {
			var linkElem = links[i];
			if (linkElem.className == 'escape') {
				var mail = linkElem.firstChild; var domain = linkElem.lastChild;
				mail.nextSibling.firstChild.innerHTML = at;
				linkElem.href = "mailto:" + mail.data + at + domain.data;
			}
		}
	}
}

/* ///////////////////////////////////////////////////////////
	=> naviRing 
/////////////////////////////////////////////////////////// */

function naviRing() {
	for (var i = 1; i <= 6; i++){
		var ringPos = 300;
		ringPos *= i;
		ringStart(i,ringPos);
	}
	function ringStart(i,ringPos){
		jQuery('a.ring'+i).mouseenter(function(){
			jQuery(this).parent().parent().css({'background-position':'-'+ringPos+'px'});
		}).mouseleave(function(){
			jQuery(this).parent().parent().css({'background-position':'left'});
		});	
	}
}

/* ///////////////////////////////////////////////////////////
	=> slideSwitch 
/////////////////////////////////////////////////////////// */

function slideSwitch() {
	var slideActive=jQuery('#slideshow img.active');
	if (slideActive.length==0)slideActive=jQuery('#slideshow img:last');
	var slideNext=slideActive.next().length?slideActive.next():jQuery('#slideshow img:first');
	slideActive.addClass('last-active');
	slideNext.css({opacity: 0.0}).addClass('active').animate({opacity:1.0},2000,function(){
		slideActive.removeClass('active last-active');
  });
}

/* ///////////////////////////////////////////////////////////
	=> naviTab 
/////////////////////////////////////////////////////////// */

function naviTab() {
	jQuery('.tab,.jsHide').css({'display':'none'});
	jQuery('.tab:first,#navi-tab').css({'display':'block'});
	if(jQuery('#navi-tab a:first').attr('href')=='#alle'){
		jQuery('.tab').css({'display':'block'});
	}
	jQuery('#navi-tab a:first').addClass('active');
	Cufon.refresh();
	jQuery('.bautypContainer').css({'width':'200px','float':'left','padding':'0 40px 40px 0'});
	jQuery('#navi-tab a').click(function(){
		var myTab = jQuery(this).attr('href');
		if (myTab=='#alle') {
			jQuery('.tab').css({'display':'block'});
		} else {
			jQuery('.tab').css({'display':'none'});
			jQuery(myTab).css({'display':'block'});
		}
		jQuery('#navi-tab a').removeClass('active');
		jQuery(this).addClass('active');
		Cufon.refresh();
		return false;
	});
	
	jQuery('.bautypShow').each(function(){
		var myBautyp = jQuery(this).attr('href');
		var myRel = myBautyp.replace(/#/g,'');
		jQuery(myBautyp+' .typeImages a').attr('rel',myRel);
		jQuery(myBautyp+' .typeImages a').colorbox({
			rel:myRel,
			title:function(){return jQuery(myBautyp+' p:first').children().html() + ' - ' + jQuery(this).attr('title');},
			onOpen:function(){jQuery('.jsHide').css({'display':'block'});jQuery('.bautypContainer').css({'display':'none'});},
			onCleanup:function(){jQuery('.jsHide').css({'display':'none'});jQuery('.bautypContainer').css({'display':'block'});}
		});
	});
	
	jQuery('.bautypShow').click(function(){
		var myBautyp = jQuery(this).attr('href');
		var myRel = myBautyp.replace(/#/g,'');
		jQuery(this).colorbox({
			inline:true,
			href:myBautyp,
			width:"560",
			height:"auto",
			title:function(){return jQuery(myBautyp+' p:first').children().html() + ' - Übersicht';},
			onOpen:function(){jQuery('.jsHide').css({'display':'block'});jQuery('.bautypContainer').css({'display':'none'});},
			onCleanup:function(){jQuery('.jsHide').css({'display':'none'});jQuery('.bautypContainer').css({'display':'block'});}
		});
		jQuery(myBautyp+' .typeImages a').colorbox({
			rel:myRel,
			title:function(){return jQuery(myBautyp+' p:first').children().html() + ' - ' + jQuery(this).attr('title');},
			onOpen:function(){jQuery('.jsHide').css({'display':'block'});jQuery('.bautypContainer').css({'display':'none'});},
			onCleanup:function(){jQuery('.jsHide').css({'display':'none'});jQuery('.bautypContainer').css({'display':'block'});}
		});
	});
}

/* ///////////////////////////////////////////////////////////
	=> beraterCheck 
/////////////////////////////////////////////////////////// */

function beraterCheck(){
	var myBerater = jQuery('#ewimmo_sonstige_angaben ul li').html();
	var myObject = jQuery('#ewimmo_detailansicht_info li:nth-child(2)').text();
	myBerater = myBerater.replace(/<strong>berater:<\/strong>/g,'');
	if(jQuery.browser.msie){myBerater = myBerater.replace(/<STRONG>berater:<\/STRONG>/g,'');}
	myObject = myObject.replace(/:/g,'=');
	if(myBerater){
		jQuery('#berater').load('berater.php .'+myBerater,function(){
			noSpam();
			var myEmail = jQuery('a.escape').attr('href');
			myEmail = myEmail.replace(/mailto:/g,'');
			jQuery(this).prepend('<h4>Berater</h4>').append('<a class="highlight" href="rueckrufservice.php?email='+myEmail+'&'+myObject+'">Rückruf-Service</a>').wrap('<div id="berater-container"><div class="inner"></div></div>');
			Cufon.refresh();
		});
	}
}

/* ///////////////////////////////////////////////////////////
	=> gallerySlide 
/////////////////////////////////////////////////////////// */

function gallerySlide() {
	jQuery('#gallery a').preload({onFinish:function(){jQuery('#jcarousel, #myGalleryContainer').animate({opacity:1});}});
	jQuery('#gallery').css({'width':'740px','height':'288px','margin':'0 0 20px -20px'});
	var myLink = jQuery('#gallery a:first').attr('href');
	jQuery('#myGalleryContainer').css({'display':'block'}).append('<img src="'+myLink+'" alt="" />');
	jQuery('#gallery a').click(function(){
		var a = jQuery(this).attr('href');
		galleryChange(a);
		return false;
	});
	function galleryChange(a) {
		jQuery('#myGalleryContainer img').fadeOut(300,function(){jQuery(this).attr('src',a)}).delay(300).fadeIn(300);
	}
}

/* ///////////////////////////////////////////////////////////
	=> addBreadcrumb 
/////////////////////////////////////////////////////////// */

function addBreadcrumb() {
	jQuery('#ewimmo_breadcrumb a.last').before('<a title="Neubauprojekte" href="/neubauprojekte.php">Neubauprojekte</a>');
}

/* ///////////////////////////////////////////////////////////
	=> neubauprojekte 
/////////////////////////////////////////////////////////// */

function neubauprojekte() {
	jQuery('#navi-neubauprojekte li a').each(function(index){
		var el=jQuery(this);
		var myLink = el.attr('href');
		var myHtml = el.html();
		el.load(myLink+' #myGallery img:first',function(){
			var myImg = el.children().attr('src');
			var myOrt = el.children().attr('alt');
			myImg = myImg.replace(/w=72&h=52/g,'w=192&h=89');
			jQuery(this).children().attr('src',myImg).css({width:'192px',height:'89px'});
			jQuery(this).after('<span class="highlight">'+myOrt+'</span>');
		}).before('<strong>'+myHtml+'</strong><br />').after('<a class="highlight" href="'+myLink+'">weitere Informationen</a>');
	});
	jQuery('#navi-neubauprojekte li').filter(function(index) {
	  return index % 3 == 0;
	}).addClass('first');
	jQuery('#navi-neubauprojekte li').filter(function(index) {
	  return index % 3 == 2;
	}).addClass('last');
	jQuery('#navi-neubauprojekte li:lt(3)').addClass('top');
}

function naviSub(){
	jQuery('#navi-add li.sub ul.navi-sub li:last').addClass('last');
	jQuery('.navi-sub').css({'margin-top':function(){var h=jQuery(this).css('height'); h=h.replace(/px/g,'')/2*-1-3.5;return h;}}).prepend('<span></span>');
	jQuery('.matrix-ort .navi-sub').css({'margin-top':function(){var h=jQuery(this).css('height'); h=h.replace(/px/g,'')/2*-1-6;return h;}}).prepend('<span></span>');
	jQuery('.sub').mouseenter(function(){
		jQuery(this).children('ul').stop().animate({opacity:1},300).css({display:'block'});
	}).mouseleave(function(){
		jQuery(this).children('ul').stop().animate({opacity:0},300).css({display:'none'});
	});
}

/* ///////////////////////////////////////////////////////////
	=> on load
/////////////////////////////////////////////////////////// */

Cufon.replace(['h2','#claim','#header p','.ewimmo_ergebnisliste h1','.ewimmo_detailansicht h1','.ewimmo_top_immobilien h1','.ewimmo_objekte h1','#ewimmo_objekte_weiterempfehlen h1'],{fontFamily:'trajanpro'});
Cufon.replace(['#navi-tab a','#immo-matrix ul li a.cufon'],{fontFamily:'delicious',hover:true});
Cufon.replace(['h3','h4','#immo-matrix ul li.first','.matrix-typ li'],{fontFamily:'delicious'});
Cufon.replace('#navi a',{fontFamily:'trajanpro',textShadow:'#042819 1px 1px',hover:true});
Cufon.replace('#navi-ring a',{fontFamily:'delicious',textShadow:'#000 1px 1px',hover:true});
Cufon.replace('#navi-add a.cufon',{fontFamily:'delicious',textShadow:'#002f19 1px 1px',hover:true});
Cufon.replace(['h2','#claim','#header p'],{fontFamily:'trajanpro'});
Cufon.replace('body#index #claim',{fontFamily:'trajanpro',letterSpacing:'1.8pt',textShadow:'#000 1px 1px'});
Cufon.replace(['#Immobilie_7 h2','.ewimmo_detailansicht h2','.ferienH2'],{fontFamily:'delicious'});

function ieTest() {
	if(jQuery.browser.msie){
		if(jQuery.browser.version < 7){
			jQuery('body').prepend('<div id="ie6"><p><strong>Achtung:</strong> Sie verwenden derzeit eine veraltete Version Ihres Internet Explorers. | Bitte aktualisieren Sie Ihren Browser um diese Webseite vollständig darzustellen.<br />Folgende Optionen stehen Ihnen zur Auswahl: <a href="http://www.microsoft.com/germany/windows/downloads/ie/getitnow.mspx" target="_blank">Browser aktualisieren</a> oder auf einen anderen Internet Browser umsteigen: Wir empfehlen Ihnen den frei erhältlichen <a href="http://www.mozilla-europe.org/de/firefox/" target="_blank">Mozilla Firefox</a>.</p></div>');
		}
	}
}

$(function(){
	noSpam();
	jQuery.noConflict();
	jQuery('.colorbox').parent().colorbox({maxWidth:"95%",maxHeight:"95%",photo:true,rel:'nofollow'});
	naviSub();
	jQuery('#ewimmo_address ul:gt(1)').css('display','block');
	jQuery('#ewimmo_address ul:lt(1)').css('display','none');
	jQuery('#ewimmo_address a').attr('target','_blank');
	jQuery('.ewimmo_detail_image_box').children('a').attr('title',function(){return jQuery(this).parent().children('span').html()});
	jQuery("#ewimmo_detail_all_pictures a").colorbox({maxWidth:"95%",maxHeight:"95%",photo:true,title:false});
	ieTest();
});

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

/**
 * jQuery.Preload - Multifunctional preloader
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/25/2009
 * @author Ariel Flesler
 * @version 1.0.8
 */
;(function($){var h=$.preload=function(c,d){if(c.split)c=$(c);d=$.extend({},h.defaults,d);var f=$.map(c,function(a){if(!a)return;if(a.split)return d.base+a+d.ext;var b=a.src||a.href;if(typeof d.placeholder=='string'&&a.src)a.src=d.placeholder;if(b&&d.find)b=b.replace(d.find,d.replace);return b||null}),data={loaded:0,failed:0,next:0,done:0,total:f.length};if(!data.total)return finish();var g=$(Array(d.threshold+1).join('<img/>')).load(handler).error(handler).bind('abort',handler).each(fetch);function handler(e){data.element=this;data.found=e.type=='load';data.image=this.src;data.index=this.index;var a=data.original=c[this.index];data[data.found?'loaded':'failed']++;data.done++;if(d.enforceCache)h.cache.push($('<img/>').attr('src',data.image)[0]);if(d.placeholder&&a.src)a.src=data.found?data.image:d.notFound||a.src;if(d.onComplete)d.onComplete(data);if(data.done<data.total)fetch(0,this);else{if(g&&g.unbind)g.unbind('load').unbind('error').unbind('abort');g=null;finish()}};function fetch(i,a,b){if(a.attachEvent&&data.next&&data.next%h.gap==0&&!b){setTimeout(function(){fetch(i,a,1)},0);return!1}if(data.next==data.total)return!1;a.index=data.next;a.src=f[data.next++];if(d.onRequest){data.index=a.index;data.element=a;data.image=a.src;data.original=c[data.next-1];d.onRequest(data)}};function finish(){if(d.onFinish)d.onFinish(data)}};h.gap=14;h.cache=[];h.defaults={threshold:2,base:'',ext:'',replace:''};$.fn.preload=function(a){h(this,a);return this}})(jQuery);
