var autoslide, clickedAutoSlide;
var autoslideInterval;
var offset = 0;

function load_facebook_box() {
	var fbscript = document.createElement('script');
	fbscript.type = 'text/javascript';
	fbscript.src = 'http://connect.facebook.net/en_US/all.js#xfbml=1';
	document.getElementsByTagName('head')[0].appendChild(fbscript);
	$("#fblike").html('<fb:like href="http://www.facebook.com/rubikon.werbeagentur" layout="button_count" show_faces="false" font="arial"></fb:like>');
}

	function bodyCSS() {
	var wWidth = parseInt($(window).width());
	var wHeight = parseInt($(window).height());
	}
	
	function createControl() {
		if($('#inhalt').height()>$('#content').height()) {
			$("#colBig").after('<img src="/_include/css/img/gPfeilUp.gif" id="inhaltScrollUp" /><img src="/_include/css/img/gPfeilDown.gif" id="inhaltScrollDown" />');
			$('#colBig').bind('mousewheel', function(event, delta) {
				if(delta>0) {$('#inhaltScrollUp').trigger('click');} else {$('#inhaltScrollDown').trigger('click');}
			});
				
			//inhalt scroller
			$('#inhaltScrollDown, #inhaltScrollUp').live('click', function (event) {
				scrollInhalt(event);
			});
		}
	}

	function doAjax(url){
		$.ajax({
			url: url,
			type: "GET",
			cache: false,
			timeout:8000,
			success: function(data){
				$('#content').html(data);
				createControl();
			},
			error: function(req,error){
				var container = $('#content');
				if(error === 'error'){error = req.statusText;}
				var errormsg = 'Hier ist etwas schiefgegangen: '+error+'<br /><a href="'+location.hash+'">Bitte nocheinmal laden</a>';
				container.html(errormsg);
			}
		});
	}

	//CLICK 2 AJAX
	function ajaxify() {
		$("a[href*='rubikon'][href$='.php'], a[href*='_subSites']").live('click', function(){
			document.title = 'Rubikon Werbeagentur Graz, Steiermark - '+$(this).text();
			var goHref = $(this).attr('href');
			var goHref = goHref.replace(/http\:\/\/www.rubikon.at/g, '');
			doAjax(goHref);
			$.history.load(goHref);
			return false;
		});
		$('div.iBlockPicture').live('click', function() {
			goHref = $(this).find('a').attr('href');
			var goHref = goHref.replace(/http\:\/\/www.rubikon.at/g, '');
			doAjax(goHref);
			$.history.load(goHref);
			return false;
		});
		$('#directContact').live('click', function() {
			var formDiv = $('#directContact');
			formDiv.load('/_subSites/box.kontakt.php', {}, function () {
				formDiv.fadeIn(300);
			});
		});
	}

	// DIRECT KONTAKT formular
	function sendDirectForm(formData) {
		fd = $(formData).serializeArray();
		$('#directContact').load('/rubikon/kontakt/kontaktformular.php', {d:fd});
	}

	// KONTAKT formular
	function sendForm(formData) {
		fd = $(formData).serializeArray();
		$('#content').load('/rubikon/kontakt/kontaktformular.php', {d:fd});
	}

	//show and hide Sidebar
	function toggleSidebar() {
		if($('#sidebar').width()>10) {
			$('#rcIn > div:visible').hide();
			$('#flashStart').show();
			hideSidebar();
		} else {
			$('#rcIn > div:visible').hide();
			$('#flashZu').show();
			showSidebar();
		}
	}
	
	function showSidebar() {
		var sidebar = $('#sidebar');
		var sidebarWidth = $(document).width()-310;
		var sidebarHeight = $('#container').height();

		sidebar.animate({width:sidebarWidth+"px"}, 700);
		sidebar.css('backgroundImage','url(/_include/css/img/sidebarBG.gif)');

		rubMarginLeft = parseInt(Math.round((sidebarWidth-683)/2));
		$('div.rubComic').css('margin-left',rubMarginLeft+'px');
		
		$('#sidebarContent, #ieBlocker').width(sidebarWidth);
		$('#rubikonComicBlock').width(sidebarWidth*3+20).height(420);

		var rubikonComicControl = $('#rubikonComicControl');
		rubikonComicControl.width(sidebarWidth);
		var anzahlController = rubikonComicControl.find('img.rubComicThumb').size();
		var marginController = Math.floor(((sidebarWidth/anzahlController)-140)/2)-8;
		rubikonComicControl.find('img.rubComicThumb').css('margin','0 '+marginController+'px');

		if($("img.rubComicThumb[rel!='']").size()>0) {
			for(var i=0; i<anzahlController; i++) {
				$('img.rubComicThumb:eq('+i+')').attr('rel',i);
				$('img.rubComic:eq('+i+')').attr('rel',i);
			}
		}
		
		$('img.rubComicThumb').bind('click', function() {
			sidebarslider($(this).attr('rel'));
		});
		
		$('img.rubComicThumb').attr('id','');
		$('img.rubComicThumb:first').attr('id','rubComicThumbCurrent');

		$('div.rubikonComic').width(sidebarWidth).height(405);
		$('#sidebarContent').delay(700).fadeIn(400);

		autoslide = window.setInterval("sidebarslider('next')", 12000);
	}

	function hideSidebar() {
		var sidebar = $('#sidebar');
		sidebar.css('backgroundImage','none');
		sidebar.delay(200).animate({width:"0px"}, 700, function () {
			$('#sidebarContent').hide();
			$('#sidebarContent, #ieBlocker, #rubikonComicBlock').width(0);
		});
		$('img.rubComicThumb').unbind('click');
		
		window.clearInterval(autoslide);
	}

	// comic-slider in sidebar
	function sidebarslider(target) {
		if(target=='next') {
			moveSlider();
		} else {
			window.clearInterval(autoslide);
			target = parseInt(target);
			currID = parseInt($('img.rubComic:first').attr('rel'));
			anzahlID = parseInt($('img.rubComic').size());
			loop = target-currID;
			if(loop!=0) {
				if(loop<0) {
					loop = target+(anzahlID-currID);
				}
				autoslideInterval = loop;
				moveSlider();
			}
		}
	}
	
	function moveSlider() {
		var container = $('#rubikonComicBlock');
		var entry = container.find("div.rubikonComic:first");
		var entryWidth = -1*entry.width()+'px';
		entry.animate({marginLeft: entryWidth}, 600, function() {
			entry.remove().css('margin-left',0);
			container.append(entry);
			$('img.rubComicThumb').attr('id','');
			var curr = $('img.rubComic:first').attr('rel');
			$('img.rubComicThumb:eq('+curr+')').attr('id','rubComicThumbCurrent');
			if(autoslideInterval>1) {
				autoslideInterval--;
				moveSlider();
			}
		});
	}

	//top referenzen slider
	function projektSlider() {
		var containerText = $('#mProjektSlider');
		var containerBild = $('#mProjektBildSlider');
		var entryText = containerText.find('div:first');
		var entryBild = containerBild.find('img:first');
		
		entryText.fadeOut(500, function () {
			entryText.next().fadeIn(600);
			entryText.remove().appendTo(containerText);
		});
		
		entryBild.animate({marginTop: '-350px'},1000, function() {
			entryBild.remove().css('marginTop',0);
			containerBild.append(entryBild);
		});
	}

	// overview scroller
	function scrollOverview(e) {
		if(e.currentTarget.id=='overviewScrollUp' && 0>parseInt($('#overviewScroll').css('margin-top')) && $('#overviewScroll:animated').size()==0) {
			$('#overviewScroll').animate({'margin-top':'+=290px'},500, function() {offset = $('#overviewScroll').css('margin-top');});
		} else if(e.currentTarget.id=='overviewScrollDown' && $('#overviewScroll:animated').size()==0) {
			var position = $('#overviewScroll').height()+parseInt($('#overviewScroll').css('margin-top'))-$('#container').height();
			if(position>0) {
				$('#overviewScroll').animate({'margin-top':'-=290px'},500, function() {offset = $('#overviewScroll').css('margin-top');});
			}
		}
	}

	// referenzen scroller
	function scrollReferenzen(e) {
		if($("#referenzContainer").size()==0) {
			if(e.currentTarget.id=='refScrollUp' && 0>parseInt($('#referenzen').css('margin-top')) && $('#referenzen:animated').size()==0) {
				$('#referenzen').animate({'margin-top':'+=160px'},500);
			} else if(e.currentTarget.id=='refScrollDown' && $('#referenzen:animated').size()==0) {
				var position = $('#referenzen').height()+parseInt($('#referenzen').css('margin-top'))-$('#container').height();
				if(position>0) {
					$('#referenzen').animate({'margin-top':'-=160px'},500);
				}
			}
		} else {
			if(e.currentTarget.id=='refScrollUp' && 0>parseInt($('#referenzContainer').css('margin-top')) && $('#referenzContainer:animated').size()==0) {
				$('#referenzContainer').animate({'margin-top':'+=160px'},500);
			} else if(e.currentTarget.id=='refScrollDown' && $('#referenzContainer:animated').size()==0) {
				var position = $('#referenzContainer').height()+parseInt($('#referenzContainer').css('margin-top'))-$('#container').height();
				if(position>0) {
					$('#referenzContainer').animate({'margin-top':'-=160px'},500);
				}
			}
		}
	}

	// overview scroller
	function scrollInhalt(e) {
		if(e.currentTarget.id=='inhaltScrollUp' && 0>parseInt($('#inhalt').css('margin-top')) && $('#inhalt:animated').size()==0) {
			$('#inhalt').animate({'margin-top':'+=150px'},500, function() {offset = $('#inhalt').css('margin-top');});
		} else if(e.currentTarget.id=='inhaltScrollDown' && $('#inhalt:animated').size()==0) {
			var position = $('#inhalt').height()+parseInt($('#inhalt').css('margin-top'))-$('#container').height();
			if(position>0) {
				$('#inhalt').animate({'margin-top':'-=150px'},500, function() {offset = $('#inhalt').css('margin-top');});
			}
		}
	}

	function turnTheme(theme) {
		switch(theme) {
			case 'Brown': hColor = '#463031'; break;
			case 'Yellow': hColor = '#e9ab00'; break;
			case 'White': hColor = '#FFFFFF'; break;
		}
		if($("link[title='layout']").attr('href')!='/_include/css/CSSvar.php?f=layout'+theme) {
			$('#background, #logo, #col3').fadeTo(10,0.1);
			$('#rcIn').hide();

			var textLogo = $("#textLogo");
			if(textLogo.text()=='') {
				textLogo.empty().css('backgroundImage','url(/_include/css/img/wortLogo'+theme+'.gif)');
			}

			$("#col1").animate({"backgroundColor":hColor}, 500, function() {
				$("link[title='layout']").attr('href','/_include/css/CSSvar.php?f=layout'+theme);
				$('#background, #logo, #col3').fadeTo(50,1);
				$('#rcIn').show();
			});
		}
	}

function clearType() {
    if (typeof(screen.fontSmoothingEnabled) != "undefined") {
        return screen.fontSmoothingEnabled;
    } else {
        try {
            var canvasNode = document.createElement('canvas');
            canvasNode.width = "35";
            canvasNode.height = "35"
            canvasNode.style.display = 'none';
            document.body.appendChild(canvasNode);
            var ctx = canvasNode.getContext('2d');

			ctx.textBaseline = "top";
            ctx.font = "32px Arial";
            ctx.fillStyle = "black";
            ctx.strokeStyle = "black";
            ctx.fillText("O", 0, 0);
            for (var j = 8; j <= 32; j++) {
                for (var i = 1; i <= 32; i++) {
                    var imageData = ctx.getImageData(i, j, 1, 1).data;
					var alpha = imageData[3];
					if (alpha != 255 && alpha != 0) {
                        return true;
                    }
                }
            }
            return false;
        }
        catch (ex) {
            return false;
        }
    }
}

$(document).ready( function() {

	$.history.init(function(url) {
		if(url!="") {doAjax(url,1,2);}
	});
	
	if(!clearType()) {
		$("link[media='all']").attr('href','/_include/css/noFont.css');
		$('#textLogo').empty().css('backgroundImage','url(/_include/css/img/wortLogoBrown.gif)');
	}

	// PNG FIX für IE6
	$(document).pngFix();
	
	// CSS FIX für IE7
	if($.browser.msie && $.browser.version<=7) {
		$('link:eq(3)').attr('href','/_include/css/ie7Hack.css');
	}
	
	if($.browser.msie && $.browser.version==8) {
		bodyheight = $(window).height();
		$("#col1, #col2, #col3, #col4, #col5").height(bodyheight);
	}
	
	// window size and resize
	bodyCSS();
	createControl();
	$(window).resize( function() {
		bodyCSS();
	});

	//IMG ohne alt Text füllen
	$("img[alt='']").attr('alt','Rubikon Werbeagentur');

	// Make AJAX Links ajaxible
	ajaxify();

	//top referenzen slider ab start
	$('#mProjektSlider > div:first').show();
	window.setInterval("projektSlider()", 8000);

	// comic-slider in sidebar
	$('#rubikonComicControlsLeft').click(function() {sidebarslider(-1)});
	$('#rubikonComicControlsRight').click(function() {sidebarslider(1)});

	//Start animation
	$('#col3').css("left","-360px");
	$('#col2').css("left","-180px");
	
	$('#col4, #colBig').css("left","-720px").delay(0).animate({"left": "0"}, 1500, function() {
		$('#col3').animate({"left": "0"}, 1000, function () {
			$('#col2').animate({"left": "0"}, 1000);
		});
	});

	// overview scroller
	$('#overviewScrollDown, #overviewScrollUp').live('click', function (event) {
		scrollOverview(event);
	});
	
	// referenzen scroller
	$('#refScrollDown, #refScrollUp').live('click', function (event) {
		scrollReferenzen(event);
	});
	
	$("a[href^='mailto:']").live('focus', function() {
		var mailto = $(this).attr('href');
		$(this).attr('href', mailto.replace(/PUNKT/g, '.'));
		return true;
	})

	// GF transparent func bei Referenzen
	$('.chooseGF').live('click', function () {
		if($('#referenzen').size()>0) {
			var type = $(this).attr('id');
			$("a.none[rel!='"+type+"']").fadeTo(500, 0.3);
			$("a.none[rel='"+type+"']").fadeTo(500, 1);
		} else {
			doAjax('/rubikon/referenzen/_referenzen.php','kunde','1');
		}
	});
	
	if(!$.browser.msie || ($.browser.msie && $.browser.version>=9)) {
		$("#fb-like-btn").live("click", function() {
			$("#fb-2clickbox").hide();
			$("#fb-like-btn").die("mouseover").die("mouseout").empty();
			load_facebook_box();
			return false;
		});
	
		$("#fb-like-btn").live("mouseover", function() {
			$("#fb-2clickbox").show();
		}).live("mouseout", function() {
			$("#fb-2clickbox").hide();
		});
	}

});
