var xypos = function(xy, wh) {
  return (xy) ? (xy - wh)  / 2 : 0;
}
 
var attr = function(x, y, w, h) {
  return 'menubar=no,toolbar=no,status=no,resizable=yes,width='+w+',height='+h+',left='+x+',top='+y;
}
 
var popup = function(url, w, h) {
    var x = xypos(screen.width, w);
    var y = xypos(screen.height, h);
    var win = window.open (url, '_popup', attr(x, y, w, h));
    win.focus();
}

$(document).ready(function() {

	/* ************************************************************************ */
	/* redraw document */
	/* ************************************************************************ */

	var pt = 'pt';
	var px = 'px';

	function redraw() {
	    if ($.cookie('fontsize'))
		$('.main').css({ 'font-size': $.cookie('fontsize')+px });
	    if ($.trim($('.left').text()) == "" && $.trim($('.right').text()) == "") {
		$('.left').remove(); // $('.right').remove();
		$('.main').css({ 'width' : 668+px, 'margin-left' : -450+'px' });
	    } else {
		if ($.trim($('.left').text()) == "") {
		    $('.left').remove();
		    $('.main').css({ 'width' : 668+px, 'margin-left' : -450+px });
		}
		if ($.trim($('.right').text()) == "") {
		    $('.right').remove();
		    $('.main').css({ 'width' : 668+px, 'margin-right' : -450+px });
		} 
	    }
	    return $('.main').height();
	}
	
	function resize(h, m, n, o) {
	    $('.footer').css({     'top': h+m+px });
	    $('.background').css({ 'top': h+px, 'height' : m+px });
	    $('.footnote').css({   'top': h+m+n+px });
	    $('.base').css({       'top': h+m+o+px, display: 'block' });
	}

	var header = $('.header').offset();
	var h = $('.header').height()+header.top;
	var m = redraw();
	var n = 310;
	var o = 225;
	resize(h, m, n, o);

	$('a[rel=mung]').each(function() {
	    $(this).html($(this).attr('title')+'@'+$(this).text());
	});

	$('a').css({ 'color' : '#0a5096', 'text-decoration':'none' });

        if ($('#startdate') && $.cookie('startdate')) {
	  $('#startdate').html($.cookie('startdate').replace('+', ' '));
	}

	$('.footnote a').css({ 'color' : '#ffffff', 'text-decoration':'none' });
	
	$('.top span').each(function (i) {
		if (!i) $(this).css({ 'border' : 'none' });
	});

	/* ************************************************************************ */
	/* events */
	/* ************************************************************************ */

	$('a[rel=mouseover] img').mouseover(function() {
		var str = $(this).attr('src');
		var pat = /jpg$/i;
		if (str.match(pat))
		  var result = '.jpg';
		else
		  var result = '.gif';
		$(this).attr({ 'src': $(this).attr('src').replace(result, '')+'_h'+result });
	});

	$('a[rel=mouseover] img').mouseout(function() {
	  	$(this).attr({ 'src': $(this).attr('src').replace('_h', '') });
	});

	$('a[name=popup]').click(function() {
	    	var args = $(this).attr('title');
	    	var size = args.split(',');
	    	popup($(this).attr('rel'), $.trim(size[0]), $.trim(size[1]));
	});
	
	$('a[rel=larger]').click(function() {
		if ($.cookie('fontsize'))
		    var fontSize = $.cookie('fontsize');
		else
		    var fontSize = $('body').css('fontSize');
		var finalNum = parseFloat(fontSize, 10);
		fontSize.slice(-2);
		finalNum *=1.1;
		if (finalNum < 18) {
		    $.cookie('fontsize', finalNum, { path : '/' });
		    $('.main').css({ 'font-size': finalNum+px });
		    var m = redraw();
		    resize(h, m, n, o);
		}
	});
	
	$('a[rel=smaller]').click(function(){
		if ($.cookie('fontsize'))
		    var fontSize = $.cookie('fontsize');
		else
		    var fontSize = $('body').css('font-size');
		var finalNum = parseFloat(fontSize, 10);
		fontSize.slice(-2);
		finalNum /=1.1;
		if (finalNum > 11) {
		    $.cookie('fontsize', finalNum, { path : '/' });
		    $('.main').css({ 'font-size': finalNum+px });
		    var m = redraw();
		    resize(h, m, n, o);
		}
	});
	
	$('a[rel=mung]').click(function() {
	    window.location.href= 'mailto:'+$(this).attr('title')+'@'+$(this).text();
	});

	if (FlashDetect.installed) {
	    $('.flash').html('');
	    var swf = '';
	    switch ($.cookie('id')) {
		  // de
		  case '12':
		  // en 
		  //case '31':
			swf = 'currents_'+$.cookie('lang');
			break;
		  // de
		  case '46':
		  case '109': 
		  case '113':
		  // en
		  //case '55': 
		  //case '111': 
		  //case '115': 
			swf ='about_'+$.cookie('lang');
			break;
		  case '14': 
		  case '641': 
		  case '660': 
		  case '85': 
		  case '89':
		  // en
		  //case '34': 
		  //case '1812': 
		  //case '1814': 
		  //case '87': 
		  //case '91': 
			swf = 'courses_'+$.cookie('lang');
			break;
		  case '17':
		  // en
		  //case '36': 
			swf = 'proshop_'+$.cookie('lang');
			break;
		  case '19': 
		  case '75': 
		  case '77':
		  // en
		  //case '38': 
		  //case '79': 
		  //case '81': 
			swf = 'academy_'+$.cookie('lang');
			break;
		  case '21': 
		  case '1378': 
		  case '1380':
		  // en
		  //case '40':
		  //case '1823':
		  //case '1825': 
			swf = 'gastronomy_'+$.cookie('lang');
			break;
		  case '23':
		  case '1527':
		  case '1310':
		  case '1539':
		  // en
		  //case '42': 
		  //case '99': 
		  //case '73': 
		  //case '1827': 
			swf = 'service_'+$.cookie('lang');
		    	break;
		  default:
			swf = 'default_'+$.cookie('lang');
		    	break;
	    }
	    $('.flash').flash({ src: 'http://golfpark-rittergut-birkhof.de/swf/'+swf+'.swf', width: 806, height: 269 }, { update: false });
	}

	/* ************************************************************************ */
	/* form handler */
	/* ************************************************************************ */


	var subject = '';
	var req = new Array();

	if ($.trim($('#error').text()) == "") {
	    $('#error').html($('#default').html());
	    $('#send').attr({ 'disabled': 'disabled' });
	}

	/* trial form */
	if ($('#trial').html() || $('#tournament').html()) {

	        $('#required').mouseout(function() {
		    var error = null;
		    $('#required input').each(function(i) {
			if (!$(this).val())
			    error = true;
		    });
		    if (!error)
			$('#send').attr({ 'disabled': false });
		    else 
			$('#send').attr({ 'disabled': 'disabled' });
	        });

	        $('#send').click(function() {

		    var req = new Array();

		    var i = 0;
		    $('#required input').each(function() {
			req[i++] = $(this).attr('name');
		    });

		    var required = req.join(',');
		    var post = new Array();


		    if ($('#trial').html()) {

		      post = {
			name: $('#name').val(),
			participants: $('#participants').val(),
			startdate: $('#startdate').val(),
			subject: $('#subject').val(),
			street: $('#street').val(),
			no: $('#no').val(),
			postcode: $('#postcode').val(),
			city: $('#city').val(),
			phone: $('#phone').val(),
			email: $('#email').val(),
			message: $('#message').val(),
			username: 'golfpark@birkhof.de',
			required: required
		      };

		    }

		    if ($('#tournament').html()) {
		      post = {
			name: $('#name').val(),
			club: $('#club').val(),
			handicap: $('#handicap').val(),
			startdate: $('#startdate').val(),
			subject: $('#subject').val(),
			phone: $('#phone').val(),
			email: $('#email').val(),
			message: $('#message').val(),
			//username: 'witt@birkhof.de',
			//username: 'ad@albert-dominguez.de',
			username: 'golfpark@birkhof.de',
			required: required
		      };
		    }

		    $.post("http://golfpark-rittergut-birkhof.de/mod/response.php", post, function(data) {
			    if (data != 'success') {
				$('#error').addClass('error');
			    }
			    else {
				$('#error').addClass('success');
				$('input').each(function() { $(this).attr({ disabled: true }) });
				$('textarea').attr({ disabled: true });
				$('#send').remove();
			    }
			    $('#error').html($('#'+data).html());
		    });

	        });

	}

	/* contact form */
	if ($('#contact').html()) {

	    $("input[name=subject]").click(function() {
		    subject = $(this).attr('title');
		    $('#addfields').html('');
		    switch($(this).val()) {
		    case 'callback':
			$('#addfields').html($('#PHONE').html());
			break;
		    case 'infopost':
			$('#addfields').html($('#ADDRESS').html());
			break;
		    case 'infomail':
		    case 'mailback':
			$('#addfields').html($('#MAIL').html());
			break;
		    }
		    var i = 0;
		    $('#required input').each(function() {
			    req[i++] = $(this).attr('name');
			});
		    var m = redraw();
		    resize(h, m, n, o);
	    });
	    
	    $('#required').mouseout(function() {
		    var error = null;
		    if (!$('#addfields').html()) {
			error = true;
		    }
		    $('#required input').each(function(i) {
			if (!$(this).val()) error = true;
		    });
		    if (!error)
			$('#send').attr({ 'disabled': false });
		    else 
			$('#send').attr({ 'disabled': 'disabled' });
	    });

	    $('#send').click(function() {

		    var required = req.join(',');

		    var post = {

			name: $('#name').val(),
			subject: subject,
			street: $('#street').val(),
			no: $('#no').val(),
			postcode: $('#postcode').val(),
			city: $('#city').val(),
			phone: $('#phone').val(),
			email: $('#email').val(),
			message: $('#message').val(),
			//username: 'witt@birkhof.de',
			//username: 'ad@albert-dominguez.de',
			username: 'golfpark@birkhof.de',
			required: required
			
		    };

		    $.post("http://golfpark-rittergut-birkhof.de/mod/response.php", post, function(data) {
			    if (data != 'success') {
				$('#error').addClass('error');
			    }
			    else {
				$('#error').addClass('success');
				$('input').each(function() { $(this).attr({ disabled: true }) });
				$('textarea').attr({ disabled: true });
				$('#send').remove();
			    }
			    $('#error').html($('#'+data).html());
		    });
		});
	    
	}

	/* ************************************************************************ */
	/* slideshow */
	/* ************************************************************************ */

	if ($('#gallery').html()) {
	  switch($.cookie('lang')) { case 'de': var of = 'von'; break; default: var of = 'of'; break; }
	  var temp = '<h3>'+$('.gallery_title').html()+'<hr /></h3><p>${title}<br />(${index} '+of+' ${total})</p>';
	  $(".overlay_triggers a").overlay({ target: '#gallery', expose: '#f1f1f1' }).gallery({ speed: 800, autohide: false, opacity: 1, template: temp });
	}
});

