$(document).ready(function(){

	var localPath = window.location.pathname;
	var localPathArray = new Array();
	localPathArray = localPath.split('/');

	// init i18n
	var i18nLabels = (localPathArray[1] == "en")
		? new Array("Description")
		: new Array("Beschreibung");

	$("#navigation li a").each(function() {
		if ($(this).parent().attr("id") == "aktuell" ||
				$(this).parent().attr("id") == "info"  ||
				$(this).parent().attr("id") == "en_current" ||
				$(this).parent().attr("id") == "en_info-en")
			$(this).attr("href", "#");
	});

	$("ul#navigation li a")
		.mouseout(function(){ $(this).stop().animate({ opacity: '1'}, 200); })
		.mouseover(function(){ $(this).stop().animate({ opacity: '.4'}, 200); });

	$('#navigation li:not(".current_page_parent") a').click(function() {
		$(this).next().toggle(300);
	});

	/* Arbeiten Teaser Bilder Hover */
	$("div.arbeiten")
		.mouseout(function(){
			$("div:first", this)
				.next().stop()
				.animate({opacity: '0'}, 200, function(){
					$("div:first", this)
						.next()
						.removeClass('info')
						.addClass('hidden');
				});
		})
		.mouseover(function(){
			$("div:first", this)
				.next().stop()
				.animate({opacity: '0'}, 0)
				.removeClass('hidden')
				.stop()
				.animate({opacity: '.85'}, 200)
				.addClass('info');
	});


	/* Zeige nur Arbeiten anhand des gewählten Schlagwortes */
	$("ul#schlagworte li")
		.click(function () {
			$("img", $(".arbeiten"))
				.stop()
				.animate({opacity: '1'}, 200);

			$("img:first", $(".arbeiten:not(." + this.id + ")"))
				.stop()
				.animate({opacity: '.20'}, 200);

			// entferne Klasse "selected" von allen li-Element
			$("ul#schlagworte li")
				.removeClass('selected');

			// setze Klasse "selected" zu geklicktem li-Element
			$("#" + this.id)
				.addClass('selected');
			
			// track klick
			trackKlick("works", "category", this.id);
   	});

	/* Bildsteuerung */
	$('#bilder p').cycle({
		fx: 			'fade',
		speed: 		700,
		timeout:	0,
		pager: 		'#bildsteuerung',
		before: 	onBefore,
		after: 		onAfter,
		next: 		'#bilderSchutz',
		pagerAnchorBuilder: function(idx, slide) {
			myClass = (idx==0) ? ' class="selected"' : 'class=""';
			return '<li id="elem' + idx + '"' + myClass + ' rel="history">&nbsp;</li>';
		}
	});

	function onBefore() {
		$("#navigation li.page_item.page-item-19, #navigation li.page_item.page-item-140")
			.addClass("current_page_item");
	
		$(".untertitel")
			.stop()
			.animate({opacity: 0}, 200);

		// entferne Klasse "selected" von allen li-Element
		$("#bildsteuerung li").each( function() {
			$(this).removeClass('selected');
		});

		// setze Klasse "selected" zu geklicktem li-Element
		$("#bildsteuerung #elem" + $(this).parent().children().index(this))
			.addClass('selected');

		// track klick
		trackKlick("work", "picture", $("#bildsteuerung").attr("title") + " > " + $(this).parent().children().index(this));
	}

	function onAfter() {
		$(".untertitel")
			.html(this.alt)
			.stop()
			.animate({opacity: 1}, 300);
	}
	
	$('#bildsteuerung')
		.append('<li class="arbeit-detail" rel="history">' + i18nLabels[0] + '</li>');

	/* Detailtext anziegen/verbergen */
	$(".arbeit-detail").click(function () {
		if ($('#arbeit-detail').hasClass("hidden"))
			$('#arbeit-detail').fadeIn(700).removeClass('hidden');
		else
			$('#arbeit-detail').fadeOut(700).addClass('hidden');

		if ($('#arbeit-anfrage').hasClass("hidden") && $('#arbeit-anfrage').hasClass("showRequest"))
			$('#arbeit-anfrage').fadeIn(700).removeClass('hidden');
		else
			$('#arbeit-anfrage').fadeOut(700).addClass('hidden');

		// track klick
		trackKlick("work", "description", "open");
	});

	/* Infotext draggable */
	$("#arbeit-detail").draggable({
		zIndex: 1000,
		ghosting: true,
		opacity: .80,
		stop: function(event, ui) {
			$("#arbeit-anfrage").animate({ left: ui.position.left + "px", top: ui.position.top + "px" }, 400);
		}
	});

	$(".arbeiten").click(function () {
		window.open($("a", this).attr("href"), '_parent');
	});

	$("#oeffneArbeitAnfrage").click(function () {
		if (!$("#arbeit-anfrage").hasClass("showRequest")) {
			$("#arbeit-detail").animate({ marginLeft: '-241px'}, 700, function(){
				$("#arbeit-anfrage")
					.animate({opacity: 0}, 1, function() {
						$(this).removeClass('hidden')
									 .addClass('showRequest')
									 .animate({opacity: 1}, 700);
					});
				});
		}
	});

	$("#schliesseArbeitAnfrage").click(function () {	
		$("#arbeit-anfrage").animate({ opacity: 0 }, 700, function(){
			$("#arbeit-detail").animate({ marginLeft: '0' }, 700);
			$(this).removeClass('showRequest').addClass('hidden');			
		});
	});		

	var options = { 
		target:        '#workRequest',
		beforeSubmit:  validate,
		success:       showResponse,
		url:       		 'http://www.laurapregger.ch/workRequest.php'
	};
	
	var validation = {
		'firstname' : {
    	callback: 'required',
      msg: 'Your first name is required.'
    },
		'my_email': {
			callbacks: [{ callback: 'required', msg: 'An email address is required.' },
               	 { callback: 'email', msg: 'Your email address does not appear to be valid.' }]
		}
	};

	$('#workRequest').ajaxForm(options);
});

function validate(formData, jqForm, options) {
	var queryString = $.param(formData);

	var nameValue = $('input[name=name]').fieldValue();
  var emailValue = $('input[name=email]').fieldValue();
  var subjectValue = $('input[name=subject]').fieldValue();
 	var err = false;
	
	// reset
 	$('input[name=name], input[name=email], input[name=subject]').removeClass("error");

  if (!nameValue[0]) {
	  $('input[name=name]').addClass("error");
    err = true;
  }

  if (!validate_email(emailValue[0])) {
	  $('input[name=email]').addClass("error");
    err = true;
  }

	if (!subjectValue[0]) {
	  $('input[name=subject]').addClass("error");
    err = true;
  }
	
	if (err)
		return false;

	return true; 
}

function showResponse(responseText, statusText) {
	setTimeout(function() {
		$("#arbeit-anfrage").animate({ opacity: 0 }, 700, function(){
			$("#arbeit-detail").animate({ marginLeft: '0' }, 700);
			$(this).removeClass('showRequest').addClass('hidden');			
		});
  }, 3000);
}

function validate_email(field) {
	return (/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i.test(field));
}

/*
 *	TrackKlick()
 *	Google-Tracking verschiedener Klicks
 *	
 *	param ?
 *	
 */
function trackKlick(cat, action, value) {
	try {
		var klickTracker = _gat._getTracker("UA-7191133-3");
		klickTracker._trackPageview();

		klickTracker._trackEvent(cat, action, value);
	}	catch(err) {}
}


