// JavaScript Document

// JavaScript Document
var vars = {
	activeCase:false,
	countCases:0,
	countFirstCases:0,
	countItems:0,
	showContents:true,
	showContentsArray: new Array,
	currentCase: 0,
	currentItem: 0,
	running: false,
	paused: false,
	siteswitch:false,
	trysiteswitch:false,
	trybacklink:false,
	listActive:'.first',
	trycontact:false,
	imagetop: new Array,
	imprint:false,
	tryimprint:false,
	caseHeight:65,
	isactive:false,
	url:"http://www.fsdesign.de/"
};

var currentURL = document.URL;

if( currentURL.indexOf("/en/") > 0){	
	vars.url = "http://www.fsdesign.de/en/"
}else if( currentURL.indexOf("/de/") > 0){	
	vars.url = "http://www.fsdesign.de/de/"
}


(function( $ ){
	$.fn.fsslider = function() {
		
		$("div.img",this).hide();
		var SliderItems = $("div",this);
		SliderItems.each(function(sIndex){
			$(this).removeClass("csc-textpic-imagewrap").removeClass("csc-textpic-single-image")
		})
		$("div.imageItem0",this).show();
		
		$(".left",this).bind({
			click:function(event,goto){
				
				if(vars.currentItem == 0){
					window.setTimeout(function(){ $('a.back').click() }, 200);
					return false;
				}
				if(vars.running) return false;
				vars.running = true;
				next = goto ? goto : goto == 0 ? goto : vars.currentItem-1
				
				$("div.imageItem"+(next)).css("cssText","").removeAttr("style").css({position:"absolute",right:"100%",top:"0px","z-index":vars.currentItem+1}).show()
				
				$("div.imageItem"+(next)).animate({right:"0%"}, {queue: false, complete:function(){ 
					$('.pagination a').removeClass('selected');
					$('.pagination a.controlItem'+(next)).addClass('selected');
				
					if(vars.currentItem == 0) return false; 
					$("div.imageItem"+vars.currentItem).hide();
					$(this).css({"z-index":0})
					vars.currentItem = next;
					vars.running = false;
				} } );
			}
		})
		
		$(".right",this).bind({
			click:function(event,goto){
				if(vars.running || vars.trybacklink) return false;
				
				if(vars.currentItem == $("div.pagination li a").length-1){
					vars.trybacklink = true;
					next = 0
					vars.currentItem = next;
					window.setTimeout(function(){ $('a.back').click() }, 1000);
					return false;
				}else{
					vars.running = true;
					next = goto ? goto : goto == 0 ? goto : vars.currentItem+1
					$("div.imageItem"+(next)).css("cssText","").removeAttr("style").css({position:"absolute",left:"100%",top:"0px","z-index":vars.currentItem+1}).show()
					$("div.imageItem"+(next)).animate({left:"0%"}, {queue: false, complete:function(){
						
						$(".image iframe").css({'width':$(window).width()-80,'padding-left':40,'background-color':'#000'});
						
						$('.pagination a').removeClass('selected');
						$('.pagination a.controlItem'+(next)).addClass('selected');
					
						$("div.imageItem"+vars.currentItem).hide(); 
						$(this).css({"z-index":0})
						vars.currentItem = next;
						vars.running = false;
					} } );
				}
			}
		})
		
		var controllItems = $(".pagination a");
		controllItems.each(function(cIndex){
			$(this).bind({
				
				mouseleave:function(){
					$(".control").hide();
					$(".detailoptions").hide();
				},
				click:function(){
					$(".infolayer").fadeOut();
					
					if( vars.currentItem == cIndex || vars.running) return false;
					var direction = cIndex > vars.currentItem ? 'right' : 'left';
					$("."+direction).trigger("click",[cIndex])
					
					return false;
				}	
				
			})
		});
		
		
	};
	
	$.fn.fscases = function(index) {
		$(this).hover(function(){
			$("h1 span",this).show();
		},function(){
			$("h1 span",this).hide	();
		})
		
		$(this).click(function(){
			if(vars.running) return false;
			vars.running = true;
			$(".detail").html("")
			//
			url = $('a',this).attr("href");
			var startUrl = url;
			window.location = vars.url+"#"+$('a span',this).html().replace(/\s/g, "-");
			$.ajax({
			  url: url,
			  data: "&type=6000",
			  success: function(data) {
				  
				  	if(vars.listActive == ".first")
					$(".detail").addClass("info")
					else
					$(".detail").removeClass("info")
					
				  	$(".detail").html(data)
				  	$(".detail .detail").removeClass("detail")
					$(".detail .slider div:first-child").show().addClass("imageItem0").addClass("img")
				
					if( $(".detail .infolayer").html() == '<!--TYPO3SEARCH_begin--><!--TYPO3SEARCH_end-->' ){
						$(".detail .infolayer").hide();
					}else{
						$(".infolayer").show();
					}
					
				  	$(".detail .infolayer").append('<div class="close"><a href="#"><span>schließen</span></a></div>');
					
					$("div.detail").fadeIn("slow",function(){
						vars.running = false;
						$("div.content").css({height:"inherit",overflow:"inherit"})
						//if(!vars.isactive)
						
						//vars.isactive = true;
						$(".detail").hover(function(){
							if($(".infolayer").is(":hidden")){
									$(".control").show();
									$(".detailoptions").show();
							}
						},function(){
								$(".control").hide();
								$(".detailoptions").hide();
							})
							
							
					});
				  
					//fetch slider items
					
					var sliderItems = $("div.detail .pagination li a");
					vars.countItems = sliderItems.length
					sliderItems.each(function(sliderIndex) {
						//preload slideritems
						$(this).addClass("controlItem"+(sliderIndex+1))
						url = $(this).attr("href");
						$.ajax({
						  url: url,
						  data: "&type=6500",
						  success: function(data) {
						  	$(".detail .slider").append('<div class="imageItem'+(sliderIndex+1)+' img">'+data+'</div>');
							if(sliderItems.length+1 == $(".detail .slider div.img").length){
								vars.currentItem = 0;
								$(".slider").prepend('<div class="control left"  style="display:none;"></div>')
								$(".slider").prepend('<div class="control right" style="display:none;"></div>')
								
								if($(".infolayer").is(":hidden")){
									$(".control").show();
									$(".detailoptions").show();
								}else{
									$(".control").hide();
									$(".detailoptions").hide();	
								}	
								
								$(".slider").fsslider();
							}
							
						  }
						});
					});
				
				if($('.pagination ul').length>0){
					$('.pagination ul').prepend('<li><a href="'+startUrl+'" class="first controlItem0 selected"><span class="title"></span></a></li>');
					$(".pagination a").click(function(){ return false; })
				}else{
					$(".slider img").click(function(){ $("a.back").click(); })	
				}
				/**/
				
				
				$("a.info").unbind("click")
				$("div.infolayer").unbind("click")
				
				$("a.info").click(function(){ 
					
					$(".infolayer").fadeToggle()
					
					if($(".infolayer").is(":hidden")){
						
						$(".control").show();
						$(".detailoptions").show();
					}else{
						$(".control").hide();
						$(".detailoptions").hide();	
					}	
					return false;
				
				})
				$("div.infolayer").click(function(){ 
					$(".infolayer").fadeToggle(function(){ 
						if($(".infolayer").is(":hidden")){
							$(".control").show();
							$(".detailoptions").show();
						}else{
							$(".control").hide();
							$(".detailoptions").hide();	
						}
					});
				})
				$(".close a").click(function(){ 
					$(".infolayer").fadeToggle(function(){ 
						if($(".infolayer").is(":hidden")){
							$(".control").show();
							$(".detailoptions").show();
						}else{
							$(".control").hide();
							$(".detailoptions").hide();	
						}
					});
					return false;
				})
				
			
				$("a.back").unbind("click")
				$("a.back").click(function(){
					
					/*if($(".detail").is(":hidden"))*/
					
					if(vars.running || $(".detail").is(":hidden") ) return false; 
					vars.running =true;
					$(".case.active").addClass("jump").removeClass("active");
					$("div.detail").fadeOut(function(){ 
					$(".detail").html("");
					$("div.list"+vars.listActive+" .case").css("cssText","").hide();
					$("div.list"+vars.listActive).css("cssText","").show();
					$('div.list'+vars.listActive+' .case').asyncEach(
						function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
						function(i){ return 50; },       	//duration of the next delay, this can a number too
						function(){ $('html,body').animate({ scrollTop: $(".case.jump").offset().top-110},'slow',function(){ $(".case").removeClass("jump"); vars.running = false; vars.trybacklink = false; });  }						//complete callback
					)
					});
					return false;
				})
				
				
				/**/
			  }
			});
			//
			
			
			$(this).addClass("active")
			$('html,body').animate({scrollTop:0},800);
			
			$("div.content").css({height:$("div.list"+vars.listActive).outerHeight(),overflow:"hidden"})
			$("div.list"+vars.listActive+" .case").fadeOut(800);
			$("div.list"+vars.listActive).css({height:$("div.list"+vars.listActive).outerHeight(),position:"absolute",top:0}).animate({top:-((index+1)*vars.caseHeight)},800,function(){  })
			$(this).animate({height:$("div.list"+vars.listActive).outerHeight()+vars.caseHeight },{ duration: 1000, queue: false , complete:function(){
				
				
				
				///////
				
			} });
			
				
			return false;
		})
	};
	$.fn.fscontact = function(data) {
		//
		$(".detail").html(data)
		$(".detail .detail").removeClass("detail")
		$(".detail .slider div:first-child").show().addClass("imageItem0").addClass("img")
		$(".detail .infolayer").append('<div class="close"><a href="#"><span>schließen</span></a></div>');
		
		
		$("div.detail").fadeIn("slow",function(){
			vars.running = false;
			$("div.content").css({height:"inherit",overflow:"inherit"})
			//if(!vars.isactive)
			
			//vars.isactive = true;
			$(".detail").hover(function(){
				if($(".infolayer").is(":hidden")){
						$(".control").show();
						$(".detailoptions").show();
				}
			},function(){
					$(".control").hide();
					$(".detailoptions").hide();
				})
				
				
		});
	  
		//fetch slider items
		
		var sliderItems = $("div.detail .pagination li a");
		vars.countItems = sliderItems.length
		sliderItems.each(function(sliderIndex) {
			//preload slideritems
			$(this).addClass("controlItem"+(sliderIndex+1))
			url = $(this).attr("href");
			$.ajax({
			  url: url,
			  data: "&type=6500",
			  success: function(data) {
				$(".detail .slider").append('<div class="imageItem'+(sliderIndex+1)+' img">'+data+'</div>');
				if(sliderItems.length+1 == $(".detail .slider div.img").length){
					vars.currentItem = 0;
					$(".slider").prepend('<div class="control left"  style="display:none;"></div>')
					$(".slider").prepend('<div class="control right" style="display:none;"></div>')
					
					if($(".infolayer").is(":hidden")){
						$(".control").show();
						$(".detailoptions").show();
					}else{
						$(".control").hide();
						$(".detailoptions").hide();	
					}	
					
					$(".slider").fsslider();
				}
				
			  }
			});
		});
	
	$('.pagination ul').prepend('<li><a href="#" class="first controlItem0 selected"><span class="title"></span></a></li>');
	$(".pagination a").click(function(){ return false; })
	/**/
	$("a.info").unbind("click")
	$("div.infolayer").unbind("click")
	
	
	$("a.info").click(function(){ 
		
		$(".infolayer").fadeToggle()
		
		if($(".infolayer").is(":hidden")){
			
			$(".control").show();
			$(".detailoptions").show();
		}else{
			$(".control").hide();
			$(".detailoptions").hide();	
		}	
		return false;
	
	})
	$("div.infolayer").click(function(){ 
		$(".infolayer").fadeToggle(function(){ 
			if($(".infolayer").is(":hidden")){
				$(".control").show();
				$(".detailoptions").show();
			}else{
				$(".control").hide();
				$(".detailoptions").hide();	
			}
		});
	})
	$("div.close a").click(function(){ 
		$(".infolayer").fadeToggle(function(){ 
			if($(".infolayer").is(":hidden")){
				$(".control").show();
				$(".detailoptions").show();
			}else{
				$(".control").hide();
				$(".detailoptions").hide();	
			}
		});
		return false;
	})
	
	$("a.back").unbind("click")
	$("a.back").click(function(){
		if(vars.running) return false;
		vars.running = true
		$(".menu a").removeClass("active")
		$(".menu a").first().addClass("active");
	
		$("div.detail").fadeOut("slow",function(){
			$(".case.active").css("cssText","").removeClass("active")
			$("div.list").css("cssText","").css("display","inherit").hide();
			
			$("div.list"+vars.listActive).css("display","inherit");
			$("div.list"+vars.listActive+" .case").hide();
			
			$('div.list'+vars.listActive+' .case').asyncEach(
				function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
				function(i){ return 50; },       	//duration of the next delay, this can a number too
				function(){ vars.running = false; vars.trybacklink = false; }						//complete callback
			)
			
		})
		return false
		
	})
	//
	}
	
})( jQuery );



$(document).ready(function(){
        $("#addPage").unbind();
        $("#cleanPdf").unbind();
        $("#printPage").unbind();

        $("#cleanPdf").click(function() {
                $.ajax({
                  type: 'GET',
		  url: "http://www.fsdesign.de/fileadmin/script/pdfcrawler.php",
                  data: "clean=true",
                  success: function(res) {
			if(res) {
				alert("Ihre gespeicherten Seiten wurden entfernt");
			} else {
				alert("Es ist ein Fehler aufgetreten");
			}
                  },
                  dataType: "html"
                });
                return false;
        });

        $("#printPage").click(function() {
		alert("Bitte warten Sie einen Augenblick, die PDF-Generierung kann mehrere Minuten in Anspruch nehmen");
                $.ajax({
                  type: 'GET',
                  url: "http://www.fsdesign.de/fileadmin/script/pdfcrawler.php",
                  data: "printpdf=true",
                  success: function(res) {
			if(res) {
				document.location = res;
			} else {
				alert("Es ist ein Fehler aufgetreten");
			}
                  },
                  dataType: "html"
                });
                return false;
        });
        $("#addPage").click(function() {
                var url = vars.url+$(".pagination li .selected").attr("href");
                var data = "addURL="+url;
		if($(".pagination li").length > 0){
			if($(".pagination li .selected").attr("href").length > 1) {
				$.ajax({
				  type: 'POST',
				  url: "http://www.fsdesign.de/fileadmin/script/pdfcrawler.php",
				  data: data,
				  success: function(res) {
					if(res) {
						alert(res);
					} else {
						alert("Es ist ein Fehler aufgetreten");
					}
				  },
				  dataType: "html"
				});
			} else {
				alert("Die Seite konnte leider nicht gespeichert werden");
			}
	
			if($(".pagination li .selected").hasClass("first")) {
				var data = "addURL="+url+"&type=8000";
					$.ajax({
					  type: 'POST',
					  url: "http://www.fsdesign.de/fileadmin/script/pdfcrawler.php",
					  data: data,
					  success: function(res) {
					  },
					  dataType: "html"
					});		
			}
		}else{
			$.ajax({
			  type: 'POST',
			  url: "http://www.fsdesign.de/fileadmin/script/pdfcrawler.php",
			  data: data,
			  success: function(res) {
				if(res) {
					alert(res);
				} else {
					alert("Es ist ein Fehler aufgetreten");
				}
			  },
			  dataType: "html"
			});
		}
		return false;
        });


/*	$('.slider').nivoSlider();*/

	if($(".home").is(":visible")){
		$("body").addClass("startsplash")	
	}

	if($(window).width() < 1300){
		$("body").removeClass("small").removeClass("middle").removeClass("big")
		vars.caseHeight = 60;
	}else if($(window).width() > 1300 && $(window).width() < 1600){
		$("body").addClass("small").removeClass("middle").removeClass("big")
		vars.caseHeight = 64;
	}else if($(window).width() > 1600 && $(window).width() < 1900){
		$("body").removeClass("small").addClass("middle").removeClass("big")
		vars.caseHeight = 75;
	}else if($(window).width() > 1900){
		vars.caseHeight = 88;
		$("body").removeClass("small").removeClass("middle").addClass("big")
	}
	vars.caseHeight+=5;
	
	//fadeout homebanner and show cases
	$(".home").click(function(){
		
		if(vars.running) return false;
		vars.running = true
		
		window.location = vars.url+"#fsdesign";
		
		$(".menu a").first().addClass("active");
		$("body").removeClass("startsplash")	
		
		$("div.home").fadeOut("slow",function(){
			$("div.list"+vars.listActive).css("display","inherit");
			$("div.list"+vars.listActive+" .case").hide();
			
			$('div.list'+vars.listActive+' .case').asyncEach(
				function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
				function(i){ return 50; },       	//duration of the next delay, this can a number too
				function(){ vars.running = false }						//complete callback
			)
			
		})
			
	})
	//first
	var caseListFirst = $("div.list.first div.case");
	caseListFirst.each(function(index){
		$(this).fscases(index);
	})
	
	//Last
	var caseListLast = $("div.list.last div.case");
	caseListLast.each(function(index){
		$(this).fscases(index);
	})
	
	//
	
	$("a.siteswitch").click(function(){
		if(vars.running) return false;
		vars.running = true;
		$("body").removeClass("startsplash")
		$(".menu a").removeClass("active")
		$(this).addClass("active")
		var goto = $(this).html() == "info" ? ".first":".last";
		window.location = vars.url+"#"+$(this).html() ;
		if($(".home").is(":visible")){
			
			vars.running = true
			vars.listActive = goto;
			
			$("div.home").fadeOut("slow",function(){
				$("div.list"+vars.listActive).css("display","inherit");
				$("div.list"+vars.listActive+" .case").hide();
				
				$('div.list'+vars.listActive+' .case').asyncEach(
					function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
					function(i){ return 50; },       	//duration of the next delay, this can a number too
					function(){ vars.running = false }						//complete callback
				)
				
			})
		}else if($(".detail").is(":hidden")){
			if(vars.listActive == goto) return false; 
			$("div.list"+vars.listActive).fadeOut("slow",function(){
				vars.listActive = goto;
				$("div.list"+vars.listActive+" .case").hide();
				$("div.list"+vars.listActive).css("display","inherit");
				$('div.list'+vars.listActive+' .case').asyncEach(
					function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
					function(i){ return 50; },       	//duration of the next delay, this can a number too
					function(){ vars.running = false }						//complete callback
				)
				
			});
		}else{
			$("div.detail").fadeOut(function(){
				$(".detail").html("");
				$(".case.active").css("cssText","").addClass("jump").removeClass("active")
				$("div.list"+vars.listActive).css("cssText","").css("display","inherit").hide();
				vars.listActive = goto;
				$("div.list"+vars.listActive+" .case").hide();
				$("div.list"+vars.listActive).css("cssText","").css("display","inherit");
				$('div.list'+vars.listActive+' .case').asyncEach(
					function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
					function(i){ return 50; },       	//duration of the next delay, this can a number too
					function(){
						if($("div.list"+vars.listActive+".case.active").length>0){
							$('html,body').animate({ scrollTop: $(".case.jump").offset().top-110},'slow',function(){ $(".case").removeClass("jump"); vars.running = false;  });
						}else{
							$(".case.active").css("cssText","").removeClass("active").removeClass("jump")
							vars.running = false 
						}
					}//complete callback
				)
			
			})
		}
		
		return false;
		
	})
	
	$("div.logo img").click(function(){
		
		if( $(".detail .infolayer").length ){
			$("a.back").click();
		}else if( $(".detail .contents").length ){
			if(vars.running) return false;
			vars.running = true
			$(".menu a").removeClass("active")
			$(".menu a").first().addClass("active");
			vars.listActive='.first';
		
			$("div.detail").fadeOut("slow",function(){
				$(".case.active").css("cssText","").removeClass("active")
				$("div.list").css("cssText","").css("display","inherit").hide();
				
				$("div.list"+vars.listActive).css("display","inherit");
				$("div.list"+vars.listActive+" .case").hide();
				
				$('div.list'+vars.listActive+' .case').asyncEach(
					function(){ $(this).fadeIn(); }, 	//each callback, return false to stop it
					function(i){ return 50; },       	//duration of the next delay, this can a number too
					function(){ vars.running = false }						//complete callback
				)
				
			})
		}
		
		return false;
	})
	
	
	$("a.contact").click(function(){
		
		if(vars.running || $(this).hasClass("active") ) return false;
		vars.running = true;
		window.location = vars.url+"#contact"
		$("body").removeClass("startsplash")
		$(".menu a").removeClass("active")
		$(this).addClass("active")
		
		
		url = $(this).attr("href");
		//alert(url)
		$.ajax({
		  	url: url,
		  	data: "&type=6000",
		  	success: function(data) {
			  	if($(".home").is(":visible")){
					$("div.home").fadeOut("slow",function(){
						/*$(".detail").html(data).fadeIn(function(){ vars.running = false; });*/
						$(".detail").fscontact(data);
						
					})
				}else if($(".detail").is(":hidden")){
					
					$("div.list"+vars.listActive).fadeOut("slow",function(){
						/*$(".detail").html(data).fadeIn(function(){ vars.running = false; });*/
						$(".detail").fscontact(data);
					});
				}else{
					$(".detail").fadeOut("slow",function(){ 
						/*$(".detail").html(data).fadeIn(function(){ vars.running = false; });*/
						//
						$(".detail").fscontact(data);
						//
					})
				}
			}
		})
		return false;
	})
	
	$("a.imprint").click(function(){
		
		if(vars.running || $(this).hasClass("active") ) return false;
		vars.running = true;
		window.location = vars.url+"#imprint";
		$("body").removeClass("startsplash")
		$(".menu a").removeClass("active")
		/*$(this).addClass("active")*/
		/*$(".detail").html("")*/
		url = $(this).attr("href");
		//alert(url)
		$.ajax({
		  	url: url,
		  	data: "&type=7000",
		  	success: function(data) {
			  	if($(".home").is(":visible")){
					$("div.home").fadeOut("slow",function(){
						$(".detail").html(data).fadeIn(function(){ vars.running = false; });
					})
				}else if($(".detail").is(":hidden")){
					$("div.list"+vars.listActive).fadeOut("slow",function(){
						$(".detail").html(data).fadeIn(function(){ vars.running = false; });
					});
				}else{
					$("div.detail").fadeOut("slow",function(){ 
						$(".detail").html(data).fadeIn(function(){ vars.running = false; });
					})
				}
			}
		})
		return false;
	})
	
	$(window).bind('hashchange', function () {
	  $("div.logo img").click();
	});
});


//on resize window
$(window).resize(function() {
	
	if($(window).width() < 1300){
		$("body").removeClass("small").removeClass("middle").removeClass("big")
		vars.caseHeight = 60;
	}else if($(window).width() > 1300 && $(window).width() < 1600){
		$("body").addClass("small").removeClass("middle").removeClass("big")
		vars.caseHeight = 64;
	}else if($(window).width() > 1600 && $(window).width() < 1900){
		$("body").removeClass("small").addClass("middle").removeClass("big")
		vars.caseHeight = 75;
	}else if($(window).width() > 1900){
		vars.caseHeight = 88;
		$("body").removeClass("small").removeClass("middle").addClass("big")
	}
	vars.caseHeight+=5;
	
});

