$(docRdy);

function docRdy() {
	$('body').one('load',function(){preload(0)});
	claim();
	spnav();
	bpnav();
	if($('.kontakt').length > 0 && !apple_mobile) {
		firstgmapsopen = true;
		$('.kontakt .stdbtn.gmaps').attr('href','#').click(function(){
			$('.kontakt .gmapsbox').show();
			if(firstgmapsopen) {
				ifr = $('.kontakt .gmapsbox iframe');
				if(!apple_mobile) ifr.attr('src',ifr.attr('src'));
				firstgmapsopen = false;
			}
			$('.kontakt .stdbtn.gmaps').hide();
			return false;
		});
		$('.kontakt .gmapsbox .close').click(function(){
			$('.kontakt .gmapsbox').hide();
			$('.kontakt .stdbtn.gmaps').show();
			return false;
		});
	}
	
	if($('.referenzen').length>0) {
		referenzen();	
	}
	if($('.mieter').length>0) {
		mieter();	
	}
	
	if($('.spnav .dot').length > 1) {
		
		if(apple_mobile) {

			
			$('#body .content .container').swipe({
				swipeLeft: nextPage,
				swipeRight: prevPage
			});
		} else {
			pctr = $('.spnav .dot').length;
			elClickable($('#body .content .container .slider .el:not(.p'+(pctr-1)+')'));
		}
	} 
	preload(0);
}

function elClickable(el) {
	$(el)
	.css('cursor','pointer')
	.attr('title','nächste Folie')
	.click(function(){
		nextPage();
		return false;
	});
}

function claim() {

	$('#logo img').removeAttr('title');
	
	
	$('#logo').qtip({ 
		content: {
			prerender: true
		},
		show:{
			delay: 0,
			ready: false,
			solo: false
		},
		style: 'ui-tooltip-shadow ui-tooltip-light',
		position:{
			adjust: {
				x: -20,
				y: -20
			},
			corner: {
				tooltip: 'topLeft',
				target: 'bottomRight'
			}
		}
	});
}

function spnav() {
//	$('.spnav').fadeOut();
//	$('.content').mouseenter(function(){$(".spnav").stop().fadeTo('normal',1);}).mouseleave(function(){$(".spnav").stop().fadeTo('normal',0);});
	$('.spnav .dot').css('cursor','default').click(function(){return false;});
//	$('.spnav .dot.active').attr('href',location.href);
	$('.spnav .next').click(function(){
		nextPage();
		return false;
	});
	$('.spnav .prev').click(function(){
		prevPage();
		return false;
	});
}

function bpnav() {
	$('.bpnav .btns a.prev').unbind('click').click(function(){
		prevPage();
		return false;
	});
	$('.bpnav .btns a.next').unbind('click').click(function(){
		nextPage();
		return false;
	});
	aind = $('.bpnav .slider .el.active').index('.bpnav .slider .el');
	$('.bpnav .slider .el a').css('cursor','default').unbind('click').click(function(){return false;});
	$('.bpnav .slider .el.active').next().find('a').css('cursor','pointer').click(function(){
		nextPage();
		return false;
	});
}



function preload(i) {
	ctr = $('.spnav .dot').length;
	if(i<ctr) {
//		alert(i);
		if(i != pid) {
			pimg = new Image();
			pimg.src = host+'theme/imgs/bgs/'+mlink+'/'+i+'.jpg';
//			$(pimg).one('load',function(){preload(i+1);}).each(function(){if(this.complete) {$(this).trigger('load');}});
			$(pimg).one('load',function(){preload(i+1);});
			if(pimg.complete) {
				$(pimg).trigger('load');
			}
		} else {
			preload(i+1);
		}
	}
}


var cw = 995;
function nextPage() {
	npid = pid+1;
	if($('.spnav .dot:eq('+(npid)+')').length > 0) {
		if($('.el.p'+npid).length <= 0) {
			p = $('.spnav .dot:eq('+(pid+1)+')').attr('href');
			p = p.replace(host+dir,'');
			$.get(host+dir+'index.php?ajax=1&p='+p,function(data){
				$('.content .slider').append(data);
				slidePage(npid);
				if(!apple_mobile && ($('.spnav .dot').length-1)>npid ) {
					elClickable($('#body .content .container .slider .el.p'+npid));
				}
			});
			
			
		} else {
			slidePage(npid);
		}
	}
}

function slidePage(npid) {
	eq = $('.content .el.p'+npid).index('.content .el');
	
//	if(apple_mobile || safari || chrome) {
//		useTranslate3d = true;
//	} else {
//		useTranslate3d = true;
//	}
	
	if(apple_mobile) {
		leaveTransforms = true;
	} else {
		leaveTransforms = false;
	}
	
	$('.content .slider').animate({left:-(eq*cw)+'px',useTranslate3d:true,leaveTransforms:leaveTransforms},'500');
	pid = npid;
	if(npid > 0) {
		$('.spnav .prev').show();
		$('.bpnav .btns .prev:hidden').hide().fadeIn(500);
		pd = $('.spnav .dots .dot:eq('+(npid-1)+')');
		phref = pd.attr('href');
		pttl = pd.attr('title');
//		alert(pd.attr('title'));
		$('.spnav .prev').attr('href',phref).attr('title',pttl).find('img').attr('title',pttl);
		$('.bpnav .btns .prev').attr('href',phref);
	} else {
		$('.spnav .prev').hide();
		$('.bpnav .btns .prev').fadeOut(500);
	}
	if(npid+1 < $('.spnav .dot').length) {
		$('.spnav .next').show();
		$('.bpnav .btns .next:hidden').hide().fadeIn(500);
		nd = $('.spnav .dots .dot:eq('+(npid+1)+')');
		nhref = nd.attr('href');
		nttl = nd.attr('title');
//		alert('Next Href: "'+nhref+'" Next Title: "'+nttl+'"');
//		alert(nd.attr('title'));
		$('.spnav .next').attr('href',nhref).attr('title',nttl).find('img').attr('title',nttl);
		$('.bpnav .btns .next').attr('href',nhref);
	}else {
		$('.spnav .next').hide();
		$('.bpnav .btns .next').fadeOut(500);
	}
	dots = $('.spnav .dot');
	dot = $('.spnav .dot:eq('+npid+')');

	if (ie6) {
		dots.each(function(){
			di = $(this).children('img');
			di.attr('style', di.attr('style')
					.replace('dota.png', 'dot.png'));
		});
		dot.children('img').attr('style', dot.children('img').attr('style').replace(
				'dot.png', 'dota.png'));
	} else {
		dots.each(function(){
			di = $(this).children('img');
			di.attr('src', di.attr('src').replace(
					'dota.png', 'dot.png'));
		});
		
		dot.children('img').attr('src', dot.children('img').attr('src').replace(
				'dot.png', 'dota.png'));
	}
	
	oel = $('.bpnav .slider .el.active');
	nel = $('.bpnav .slider .el:eq('+npid+')');
	
	
	
	oel.css('width','722px').find('ttl').fadeTo(0,1);
	oel.find('.ttl').stop().fadeTo(500,0);
	oel.removeClass('active').stop().animate({width:'180px',useTranslate3d:true,leaveTransforms:true},500);

	nel.css('width','180px').find('ttl').stop().fadeTo(0,0);
	nel.find('.ttl').stop().fadeTo(500,1);
	nel.addClass('active').stop().animate({width:'722px',useTranslate3d:true,leaveTransforms:true},500);
	
	
//	alert(useTranslate3d);
	$('.bpnav .slider').stop().animate({left:(-(npid*180)+1)+'px',useTranslate3d:true,leaveTransforms:true},500);
	bpnav();
	
	url = $('.spnav .dot:eq('+npid+')').attr('href');
	url = url.replace(host,'/');
	_gaq.push(['_trackPageview', url]);
}

function prevPage() {
	npid = pid-1;
	if($('.spnav .dot:eq('+(npid)+')').length > 0) {
		if($('.el.p'+npid).length <= 0) {
			p = $('.spnav .dot:eq('+(npid)+')').attr('href');
			p = p.replace(host+dir,'');
			$.get(host+dir+'index.php?ajax=1&p='+p,function(data){
//				alert((parseInt($('.content .slider').css('left'))-cw)+'px');
				$('.content .slider').prepend(data).css('left',(parseInt($('.content .slider').css('left'))-cw)+'px');
				slidePage(npid);
				if(!apple_mobile) {
					elClickable($('#body .content .container .slider .el.p'+npid));
				}
			});
		} else {
			slidePage(npid);
		}
	}
}

function mieter() {
	mieterslider = {
			that : this,
			feq : 0,
			left : 0,
			cw : $('.mieter .mieterleiste .container').width(),
			$fel : $('.mieter .mieterleiste .slider'),
			end : false,
			start : true,
			next : function(){
				if(!this.end) {
			 		this.start = false;
			 		$('.mieter .mieterleiste .prev').fadeIn(200);
					nfeq = this.feq;
					nw = 0;
					while(nw <= this.cw) {
						if(nfeq < this.$fel.children('.el:visible').length) {
							$nel = this.$fel.children('.el:visible:eq('+nfeq+')');
							nw += $nel.width();
							nfeq++;
						} else {
							this.end = true;
							$('.mieter .mieterleiste .next').fadeOut(200);
							return;
						}
//						if(nfeq+1 >= this.$fel.children('.el:visible').length) {
//							this.end = true;
//							$('.mieter .mieterleiste .next').fadeOut(200);
//						}
					}
					nfeq--;
					nw -= $nel.width();
					this.feq = nfeq;
					this.left -= nw;
					this.$fel.animate({'left':this.left+'px'},200);
					mieterslider.updateNavi();
				}
			},
			prev : function(){
				if(!this.start) {
			 		this.end = false;
			 		$('.mieter .mieterleiste .next').fadeIn(200);
					nfeq = this.feq;
					nw = 0;
					while(nw <= this.cw && nfeq > 0) {
						if(nfeq > 1) {
							nfeq--;
							$nel = this.$fel.children('.el:visible:eq('+nfeq+')');
							nw += $nel.width();
						} else {
							nfeq--;
							$nel = this.$fel.children('.el:visible:eq('+nfeq+')');
							nw += $nel.width();
							nw += $nel.width();
							this.start = true;
							$('.mieter .mieterleiste .prev').fadeOut(200);
						}
					}
					if(nfeq != 0)nfeq++;
					nw -= $nel.width();
					this.feq = nfeq;
					this.left += nw;
					this.$fel.animate({'left':this.left+'px'},200);
				}
			},
			init : function(){
				
			},
			showHaus : function(hc){
				this.$fel.children('.el[data-haus!='+hc+']').hide(200);
				this.$fel.children('.el[data-haus='+hc+']').show(200);
				$('.mieter h1').text('Unsere Mieter / Haus '+hc.replace('h',''));
				this.left = 0;
				this.feq=0;
				start = true;
				this.$fel.animate({'left':'0px'},200);
				$('.mieter .mieterleiste .prev').fadeOut(200);
				setTimeout('mieterslider.updateNavi()',205);
			},
			updateNavi : function(){

					nfeq = this.feq;
					nw = 0;
					while(nw <= this.cw && nfeq < this.$fel.children('.el:visible').length) {
						$nel = this.$fel.children('.el:visible:eq('+nfeq+')');
						nw += $nel.width();
						nfeq++;
					}
					if(nw <= this.cw) {
						$('.mieter .mieterleiste .next').fadeOut(200);
						this.end = true;
					} else {
						$('.mieter .mieterleiste .next').fadeIn(200);
						this.end = false;
					}

			}
	};
	
	$('.mieter .mieterleiste').append('<a class="prev" /><a class="next" />');
	$('.mieter .mieterleiste .next').click(function(){mieterslider.next();});
	$('.mieter .mieterleiste .prev').click(function(){mieterslider.prev();});
	
	$('.mieter .karte .bullets .stdbtn').each(function(){
		$(this).qtip({
			prerender:false,
			content:{
//				title: {
//					text: 'ttl',
//					button: 'Close'
//				},
				text: 'Hier klicken um Mieter zu sehen.'
			},
			position:{

		        viewport: $('.mieter .karte'),
		        adjust: {
		        	x: 0,  y: 0
		        },
		        effect: false
			},
			show: {
				event: false
			},
	        hide: {
				event:false
	        },
	        style: {
	        	classes:'ui-tooltip-shadow ui-tooltip-light',
	        	width:380
	        }
		});
	});
	
	$('.mieter .karte .bullets .stdbtn.hB').qtip('option','style.width','220').qtip('show');
	var tout = setTimeout("$('.mieter .karte .bullets .stdbtn.hB').qtip('hide');",6000);
	
	$('.mieter .slider .el:first').qtip({
		prerender:false,
		content:{
			text: 'Hier klicken um mehr Informationen über den Mieter zu sehen.'
		},
		position:{
	        viewport: $('.mieter .karte'),
	        adjust: {
	        	x: -80,  y: 0
	        },
	        effect: false
		},
		show: {
			event: false
		},
        hide: {
			event:false
        },
        style: {
        	classes:'ui-tooltip-shadow ui-tooltip-light',
        	width:240
        }
	});
	$('.mieter .mieterleiste .el:first').qtip('show');
	var tout2 = setTimeout("$('.mieter .slider .el:first').qtip('hide');",6000);
	
	
	$('.mieter .mieterleiste .el').click(function(){
		clearTimeout(tout);
		$('.mieter .slider .el:first').qtip('hide');
		hc = $(this).attr('data-haus');
		showHaus(hc);
		text = $(this).find('td:first').html();
//		text = text.linkify();
		text += $(this).find('img').attr('title').linkify();
		
		ttl = $(this).find('img').attr('alt');
		$('.mieter .karte .bullets .stdbtn:not(.'+hc+')').each(function(){$(this).qtip('api').hide()});
		$btn = $('.mieter .karte .bullets .stdbtn.'+hc);
		$btn.qtip('api').set('content.text',text);
		$btn.qtip('option','style.width','380');
		$btn.qtip('api').show();
		$btn.qtip('api').set('content.text',text);
		$btn.qtip('api').set('content.title.text',ttl);
		$btn.qtip('api').set('content.title.button','Close');
	});
	
	$('.mieter .karte .bullets .stdbtn').click(function(){
		hc = $(this).attr('data-haus');
		$('.mieter .slider .el:first').qtip('hide');
		showHaus(hc);
		mieterslider.showHaus(hc);
		$('.mieter .karte .bullets .stdbtn').each(function(){
			$(this).qtip().hide();
		});
	});
	
	function showHaus(hc) {
		$('.mieter .karte .sw').fadeIn(200);
		$('.mieter .karte .haus:not(.'+hc+')').fadeOut(200);
		$('.mieter .karte .haus.'+hc).fadeIn(200);
		$('.mieter .karte .bullets .stdbtn.'+hc).removeClass('swbtn');
		$('.mieter .karte .bullets .stdbtn:not(.'+hc+')').addClass('swbtn');
		
	}
}



function referenzen() {
	bdyl = $('#body').offset().left;
	$('.referenzen td').each(function(){
		$(this).find('img').removeAttr('title');
		if($(this).find('.info').length > 0) {

			
			if($(this).hasClass('cs2')) {
				bgl = 245;
			} else {
				bgl = 110;
			}
			
			$(this).css('background','url('+host+'theme/imgs/referenzen/info.jpg) '+bgl+'px 110px no-repeat');

			cont = $(this).find('.info');
			ttl = $(this).children('img').attr('alt');
			if(apple_mobile) {
				$(this).qtip({
					show: {
//						event: 'click',
						solo: true,
						effect: false
					},
					hide: {
//						event: false,
//						fixed: true,
						effect: false
					},
					prerender:true,
					content: {
						text: cont,
						title: {
							text: ttl,
							button: 'Close'
						}
					},
					position:{
						my: 'left bottom',
						at: 'right top',
//						target: 'mouse',
				        viewport: $(window),
				        adjust: {
				        	x: 0,  y: 0
				        }
//				        effect: false
					},
			        style: 'ui-tooltip-shadow ui-tooltip-light'
				});
			} else {
				$(this).qtip({
					prerender:true,
					content: cont,
					position:{
						my: 'left bottom',
						at: 'right top',
						target: 'mouse',
				        viewport: $(window),
				        adjust: {
				        	x: 10,  y: 0
				        },
				        effect: false
					},
			        hide: {
						fixed: true 
			        },
			        style: 'ui-tooltip-shadow ui-tooltip-light'
				});
			}
			
			
			
			$(this).addClass('canhover');

			}

		

		
		
	});

}


if(!String.linkify) {
    String.prototype.linkify = function() {

        // http://, https://, ftp://
        var urlPattern = /\b(?:https?|ftp):\/\/[a-z0-9-+&@#\/%?=~_|!:,.;]*[a-z0-9-+&@#\/%=~_|]/gim;

        // www. sans http:// or https://
        var pseudoUrlPattern = /(^|[^\/])(www\.[\S]+(\b|$))/gim;

        // Email addresses
        var emailAddressPattern = /\w+@[a-zA-Z_]+?(?:\.[a-zA-Z]{2,6})+/gim;

        return this
            .replace(urlPattern, '<a href="$&" target="_blank">$&</a>')
            .replace(pseudoUrlPattern, '$1<a href="http://$2" target="_blank">$2</a>')
            .replace(emailAddressPattern, '<a href="mailto:$&">$&</a>');
    };
}



function cl(v) {
	return console.log(v);
}
