jQuery.preloadImages = function() {
  for(var i = 0; i<arguments.length; i++)
  { jQuery("<img/>").attr("src", arguments[i]); }
}

this.tooltip = function(){	
		xOffset = -20;
		yOffset = 10;
	$(".sublevel div img.tooltip").hover(function(e){
		this.t = this.title;
		this.title = "";
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
		setTimeout("$('#tooltip').fadeIn('fast');", 700);
    },
	function(){
		this.title = this.t;
		$("#tooltip").remove();
    });
	$(".sublevel div img.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});
};

var htimer;
var ttimer;
var ctimer;

function runProject() {
	$('#canvas').hide().empty().load(project, function() { $('#slides').cycle(); $('.slidenumber').cycle({fx: 'scrollVert', speed: 300, sync: 0}); }).fadeIn(500, function () {ctimer = setTimeout("$('#canvas').fadeOut(800), $('.faded').removeClass('faded').fadeTo(400, 1.00)", duration); });
	$(".faded").removeClass("faded").fadeTo(200, 1.00);
	$(badge).addClass("faded").fadeTo(100, 0.65);
}

function softEnd() {
	ctimer = setTimeout("$('#canvas').fadeOut(800), $('.faded').removeClass('faded').fadeTo(400, 1.00)", 0);
}

function unlockInfomenu() {
	$("#infobutton").css("background-position","-12px 0");
	$("#menuright").bind("mouseenter", function() {
		$("#infobutton").css("background-position","-12px 0");
		$("#infohover").show();
	});
	$("#menuright").bind("mouseleave", function() {
		$("#infobutton").css("background-position","2px 0");
		$("#infohover").hide();
	});
	$("#contact_form").hide();
	$("#contact").animate({
		width: "2%", height: "2%", left: "146px", top: "28em"
	}, 200, function () {
		$("#contact").hide();
	});
}

$(document).ready(function() {
//next three lines are for Firefox which ignores original positions of these items while they're hidden
	$("#p-hint").css("left","17.1em");
	$("#i-hint").css("right","1.5em");
	$("#contact").css({"position":"absolute", "width":"2%", "height":"2%", "top":"28em", "left":"146px"});
	$("#get_in_touch").html('To get in touch, please call <span class="nobreak">(+41) 44 291 0441,</span> or <span id="go_to_contact">drop a note</span>.')
	setTimeout("$.preloadImages('images/ppr-head.jpg', 'images/krh-ysl.jpg', 'images/trn-grau.jpg', 'images/mhb-front.jpg', 'images/psv-front.jpg', 'images/zmi-bleach.jpg', 'images/trb-front.jpg', 'images/flk-home.jpg', 'images/npt-welcome.jpg', 'images/uwf-home.jpg', 'images/rhy-home.jpg', 'images/brn-home.jpg', 'images/aut-faraway.jpg', 'images/cyi-disabled.jpg', 'images/cyi-enabled.jpg', 'images/pip-hair.jpg', 'images/bio-inversina.gif')", 1000);
	if (document.referrer != 'http://www.danpetter.net/de.html') {
		setTimeout("$('#p-hint').animate({left: '-=1.5em'}, {queue:false, duration:600}).fadeIn(1300), $('#i-hint').animate({right: '-=1.5em'}, {queue:false, duration:600}).fadeIn(1300)", 1200);
	};
	tooltip();
	$('#infobutton').bind('mouseover', function(e){
		htimer = setTimeout("$('#p-hint:visible').fadeOut(700).animate({left: '+=1.5em'}, 50), $('#i-hint:visible').fadeOut(700).animate({right: '+=1.5em'}, 50)", 1200);
	});
	$('#masthead').click(function() {
		clearTimeout(htimer);
		$('#i-hint').stop(true, true).hide().css('right','1.5em').animate({right: '-=1.5em'}, {queue:false, duration:600}).fadeIn(1300);
	});
	$("#toplevel > li:eq(0)").hover(function() {
		clearTimeout(ttimer);
		$('#web, #illustration').stop(true, true).hide();
		$('#print').slideDown(180);
		},
		function() {
		ttimer = setTimeout("$('#print').fadeOut(500);", 800);
	});
	$("#toplevel > li:eq(1)").hover(function() {
		clearTimeout(ttimer);
		$('#print, #illustration').stop(true, true).hide();
		$('#web').slideDown(180);
		},
		function() {
		ttimer = setTimeout("$('#web').fadeOut(500);", 800);
	});	
	$("#toplevel > li:eq(2)").hover(function() {
		clearTimeout(ttimer);
		$('#print, #web').stop(true, true).hide();
		$('#illustration').slideDown(180);
		},
		function() {
		ttimer = setTimeout("$('#illustration').fadeOut(500);", 800);
	});
	$(".sublevel div img").bind("mouseover", function(e){
        $(this).css( {"border":"1px solid #7E7E7E"} )
        setTimeout("$('.sublevel div img').css( {'border':'1px solid #fff'} )", 80);
	});
	$('.sublevel div img').click(function(event) {
		var $tgt = $(event.target);
		clearTimeout(ctimer);
		setTimeout("$('#p-hint:visible').fadeOut(700).animate({left: '+=1.5em'}, 50), $('#i-hint:visible').fadeOut(700).animate({right: '+=1.5em'}, 50)", 1200);
		$('#slides').cycle('stop');
		$('.slidenumber').cycle('stop');
		if ($tgt.is(".faded")) {
			softEnd();
		}
		else if ($tgt.is("#psvmini")) {
			runProject (project='pages/psvpage.html', duration=36000, badge="#psvmini");
		}
		else if ($tgt.is("#krhmini")) {
			runProject (project='pages/krhpage.html', duration=41000, badge="#krhmini");
		}
		else if ($tgt.is("#trbmini")) {
			runProject (project='pages/trbpage.html', duration=31000, badge="#trbmini");
		}
		else if ($tgt.is("#mhbmini")) {
			runProject (project='pages/mhbpage.html', duration=21000, badge="#mhbmini");
		}
		else if ($tgt.is("#zmimini")) {
			runProject (project='pages/zmipage.html', duration=26000, badge="#zmimini");
		}
		else if ($tgt.is("#autmini")) {
			runProject (project='pages/autpage.html', duration=26000, badge="#autmini");
		}
		else if ($tgt.is("#biomini")) {
			runProject (project='pages/biopage.html', duration=26000, badge="#biomini");
		}
		else if ($tgt.is("#pipmini")) {
			runProject (project='pages/pipipage.html', duration=31000, badge="#pipmini");
		}
		else if ($tgt.is("#nptmini")) {
			runProject (project='pages/nptpage.html', duration=26000, badge="#nptmini");
		}
		else if ($tgt.is("#flkmini")) {
			runProject (project='pages/flkpage.html', duration=31000, badge="#flkmini");
		}
		else if ($tgt.is("#trnmini")) {
			runProject (project='pages/trnpage.html', duration=36000, badge="#trnmini");
		}
		else if ($tgt.is("#pprmini")) {
			runProject (project='pages/pprpage.html', duration=41000, badge="#pprmini");
		}
		else if ($tgt.is("#cyimini")) {
			$('#canvas').hide().empty().load('pages/cyipage.html', function() { $('#slides').cycle({timeout: 2500}); $('.slidenumber').cycle({timeout: 2500, fx: 'scrollVert', speed: 300, sync: 0}); }).fadeIn(500, function () {ctimer = setTimeout("$('#canvas').fadeOut(800), $('.faded').removeClass('faded').fadeTo(400, 1.00)", 39000); });
			$(".faded").removeClass("faded").fadeTo(200, 1.00);
			$("#cyimini").addClass("faded").fadeTo(100, 0.65);
		}
		else if ($tgt.is("#uwfmini")) {
			runProject (project='pages/uwfpage.html', duration=16000, badge="#uwfmini");
		}
		else if ($tgt.is("#rhymini")) {
			runProject (project='pages/rhypage.html', duration=31000, badge="#rhymini");
		}
		else if ($tgt.is("#brnmini")) {
			runProject (project='pages/brnpage.html', duration=31000, badge="#brnmini");
		}
	});
	
	$('#visible div').bind("mouseover mouseout", function(event) {
		var $tgt = $(event.target);
		if ($tgt.is("#quitdiv")) {
			$('.quit').toggleClass("quiton");
 		};
 	});
	$('#visible div').click(function (event) {
		var $tgt = $(event.target);
		if ($tgt.is("#quitdiv")) {
		clearTimeout(ctimer); $('#slides').cycle('stop'); $('.slidenumber').cycle('stop'); softEnd();
 		};
 	});
 	
	//FROM HERE TO END: NEW FOR CONTACT VIA FORM---	
	$("#go_to_contact").click(function () {
		// ONE LINE REQUIRED FOR FIREFOX:
		$("#infobutton").toggleClass("infobutton_class");
		$("#menuright").unbind().bind("mouseleave", function() {
			$("#infohover").show();
		});
		//ONE LINE FOR IE7 AND IE8
		$("#menuright").trigger("mouseleave");		
		$("#contact").show().animate({
			width: "100%", height: "105%", left: "0px", top: "-2.5em"
		}, 200, function () {
			$("#contact_form").show();
			$("#infobutton").css("background-position","-28px 0");
		});
	});
	
	$("#infomenu div").click(function (event) {
		$("#menuright").unbind();
		var $tgt = $(event.target);
		if ($tgt.is(".cancel")) {
			unlockInfomenu();
		};
	});
	
	$("#submit").click(function() {
		var yourname = $("#yourname").val();
		var yourmail = $("#yourmail").val();
		var yourmessage = $("#yourmessage").val();
		var dataString = $('form').serialize();
		
		$(".not").each(function() {
			if ($(this).is("#yourname")) {
				if ( (/^[a-z\s\-\.äàáâçèéêëìíîïôœùöóüùúûÿẞß]{2,30}$/i).test(this.value) ) {
					$(this).css({"border": "1px dashed #969894", "background-color": "#EDEFED"}).removeClass("not").parent().prev().css("color", "#4C4C4C");
				}
				else {
					$(this).css({"border": "1px dashed #000", "background-color": "#FFF9BE"}).addClass("not").parent().prev().css("color", "#000");
				}
			}
			if ($(this).is("#yourmail")) {
				if ( (/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i).test(this.value) ) {
					$(this).css({"border": "1px dashed #969894", "background-color": "#EDEFED"}).removeClass("not").parent().prev().css("color", "#4C4C4C");
				}
				else {
					$(this).css({"border": "1px dashed #000", "background-color": "#FFF9BE"}).addClass("not").parent().prev().css("color", "#000");
				}
			}
			if ($(this).is("#yourmessage")) {
				if (yourmessage != "") {
					$(this).css({"border": "1px dashed #969894", "background-color": "#EDEFED"}).removeClass("not").parent().prev().css("color", "#4C4C4C");
				}
				else {
					$(this).css({"border": "1px dashed #000", "background-color": "#FFF9BE"}).addClass("not").parent().prev().css("color", "#000");
				}
			}
		});
		
		var pass = $("#contact_form .not").size();
		if (pass > 0) {
			return false;
		}
		
		$.ajax({
			type: "POST",
			url: "dan_form_process.php",
			data: dataString,
			success: function(){
				$("#contact_form").fadeOut(300, function () {
					$(this).empty();
					$("#contact_confirm").html('<span id="thank_you"><h1>Dear ' + yourname + ',</h1><p>thank you for writing. Your message has been sent to danpetter.net.</p></span>').fadeIn(300);
				});
				setTimeout("unlockInfomenu(), $('#contact span').append('<div class=\"cancel\">&times; Close</div>');", 3800);
			}
		});
		return false; //prevents page reload
	});	
			
});
