var currentImage = $.cookie('chamaeleon_bgImg') || 0;
var images = ['/img/bgimg/bgimg-1.jpg','/img/bgimg/bgimg-2.jpg','/img/bgimg/bgimg-3.jpg','/img/bgimg/bgimg-4.jpg','/img/bgimg/bgimg-5.jpg','/img/bgimg/bgimg-6.jpg','/img/bgimg/bgimg-7.jpg','/img/bgimg/bgimg-8.jpg','/img/bgimg/bgimg-9.jpg'];

$.fn.fadeToggle = function(speed, easing, callback) {
   return this.animate({opacity: 'toggle'}, speed, easing, callback);

};

$.fn.bgImg = function(dir){
	return this.each( function() {
		if(isset(dir)) {
			$('#loading').show();
			if(dir == 'prev') {
				currentImage--;
				if(currentImage < 0) {
					currentImage = images.length - 1;
				}
			} else {
				currentImage++;
                if(currentImage >= images.length) {
					currentImage = 0;
				}
			}
		}
		var i = new Image();
        i.onload = function() {
			$('#loading').hide();
		}
		i.src = images[currentImage];

		if(isset(dir)) {
			$(this).find('img').attr('src', images[currentImage]);
		} else {
			this.appendChild(i);
		}
		$('#bgImg').resizenow();
        $.cookie('chamaeleon_bgImg', currentImage);
	});
}

$.fn.resizenow = function() {
  	return this.each(function() {
		var ratio = 3/4;

		var imagewidth = $(this).width();
		var imageheight = $(this).height();
        var browserwidth = $(window).width();
		var browserheight = $(window).height();
		var availheight = browserheight - 305;
		var offset;

		if ((browserheight/browserwidth) > ratio){
		    $(this).height(browserheight);
		    $(this).width(browserheight / ratio);
		    $(this).children().height(browserheight);
		    $(this).children().width(browserheight / ratio);
		} else {
		    $(this).width(browserwidth);
		    $(this).height(browserwidth * ratio);
		    $(this).children().width(browserwidth);
		    $(this).children().height(browserwidth * ratio);
		}

		$(this).children().css('left', (browserwidth - $(this).width())/2);
		$(this).children().css('top', (browserheight - $(this).height())/2);

		if(!$('#box-content-container').hasClass('noresize')) {
			$('#box-content-container').height(availheight);
		}

		$('.textframe, .imgframe, .contactframe').height($('#box-content-container').height() - 20);

		return false;
	});
};

function isset(variable) {
	return (typeof variable != 'undefined');
}

// popups

function isUndefined(v) {
    var undef;
    return v===undef;
}

//var _POPUP_FEATURES = 'width=320, height=255';

function raw_popup(url, target, features, video) {
	if(video == true) {
		if (features == '') { features = 'width=320, height=255'; }
		var l = (screen.width - 320) / 2;
		var t = (screen.height - 255) / 2;
	} else {
		if (features == '') { features = 'width=800, height=600, scrollbars=yes, resizable=yes'; }
		var l = (screen.width - 800) / 2;
		var t = (screen.height - 600) / 2;
	}
	features = features + ", top=" + t + ", left=" + l;
    //if (isUndefined(target)) target = 'zoom';
    var theWindow = window.open(url, 'edit', features);
    theWindow.focus();
    return theWindow;
}

function link_popup(src, features, video) {
    return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features, video);
}

// init

$(function(){
	// fix ie6 background flicker
	try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}

	$('body').append('<div id="loading"><img src="/img/loader-ani.gif" style="display: block; margin: 8px 0 0 8px;" alt="" /></div>');
	$('body').append('<div id="bgImg"></div>');
	$('#box-content').append('<a href="#" id="close-content"></a>');

    $('#close-content').click(function() {
    	$('#box-content-container').toggle();
		$(this).toggleClass('act');
		return false;
    });

	maxWidth = $(window).width() - 40;

    $('body').mousemove(function(e) {
    	if(e.pageX > maxWidth) {
			$('#loading').css({ top: (e.pageY + 19)+'px', left: (e.pageX - 50)+'px' });
    	} else {
			$('#loading').css({ top: (e.pageY + 19)+'px', left: (e.pageX + 15)+'px' });
		}
	});

	$('.imgframe a.fancy, #gallery a.galleryitem').fancybox();
	$('a.iframe').fancybox({
        'frameWidth': 606,
        'frameHeight': 495,
        'hideOnContentClick': false,
        'autoScale': false,
        'callbackOnClose': function() {
        	$("#fancy_content").empty();
        }
	});
    $('#nav-webcam').fancybox({
        'frameWidth': 625,
        'frameHeight': 450
	});

    $('#nextslide').click(function() {
    	$('#bgImg').bgImg('next');
		return false;
    });
    $('#prevslide').click(function() {
    	$('#bgImg').bgImg('prev');
		return false;
    });

    var browserwidth = $(window).width();
	var browserheight = $(window).height();
	var availheight = browserheight - 305;

    if(!$('#box-content-container').hasClass('noresize')) {
		$('#box-content-container').height(availheight);
	}
	$('.textframe, .imgframe, .contactframe').height($('#box-content-container').height() - 20);

    $('input, textarea').focus(	function () { $(this).addClass('inputhover'); } ).blur( function () { $(this).removeClass('inputhover'); } );

	$('#form-kontakt').submit(function() {
        $.ajax({
			type: 'POST',
			url: '/phpmailer/mailAction.php',
			data: 'vorname=' + $('#form-kontakt #vorname').val() + '&name=' + $('#form-kontakt #name').val() + '&strassenr=' + $('#form-kontakt #strassenr').val() + '&plzort=' + $('#form-kontakt #plzort').val() + '&telefon=' + $('#form-kontakt #telefon').val() + '&email=' + $('#form-kontakt #email').val() + '&text=' + $('#form-kontakt #text').val(),
			success: function(msg){
				sendAnfrage(msg);
			},
			error: function(msg){
				alert( "Error: " + msg );
			}
		});
		return false;
	});

	$('#bgImg').bgImg();
});

function sendAnfrage(msg) {
	var lang = $('#form-kontakt #lang').val();
	switch(msg) {
        case "0":
			$('#form-kontakt-error').show()
			if(lang == "de") { $('.contactframe h4').html("Kontaktformular <span style='color: red;'> // Fehler: Bitte füllen Sie alle Felder aus.</span>"); }
			if(lang == "en") { $('.contactframe h4').html("Contact Form <span style='color: red;'> // Error: Please complete all fields.</span>"); }
			if(lang == "es") { $('.contactframe h4').html("Formulario de contacto <span style='color: red;'> // Error: Por favor, rellene todos los campos</span>"); }
			if(lang == "ru") { $('.contactframe h4').html("КОНТАКТНЫЙ ФОРМУЛЯР <span style='color: red;'> // Пожалуйста, заполните все поля.</span>"); }
            break;
        case "1":
			//$('#form-kontakt-error').hide()
			$('#container-form-kontakt').html("");
			if(lang == "de") {
				$('.contactframe h4').html("Kontaktformular");
				$('#container-form-kontakt').html("Vielen Dank für Ihre Anfrage.");
			}
			if(lang == "en") {
				$('.contactframe h4').html("Contact Form");
				$('#container-form-kontakt').html("Thank you. Your query has been sent successfully.");
			}
			if(lang == "es") {
				$('.contactframe h4').html("Formulario de contacto");
				$('#container-form-kontakt').html("Muchas gracias. Su consulta ha sido enviada con éxito.");
			}
			if(lang == "ru") {
				$('.contactframe h4').html("КОНТАКТНЫЙ ФОРМУЛЯР");
				$('#container-form-kontakt').html("Большое спасибо. Ваш вопрос был успешно отправлен.");
			}
			break;
        case "2":
			if(lang == "de") { $('.contactframe h4').html("Kontaktformular <span style='color: red;'> // Ihre Anfrage konnte nicht gesendet werden.</span>"); }
			if(lang == "en") { $('.contactframe h4').html("Contact Form <span style='color: red;'> // It has not been possible to send your query.</span>"); }
			if(lang == "es") { $('.contactframe h4').html("Formulario de contacto <span style='color: red;'> // Su consulta no ha podido ser enviada.</span>"); }
			if(lang == "ru") { $('.contactframe h4').html("КОНТАКТНЫЙ ФОРМУЛЯР <span style='color: red;'> // Пожалуйста, попытайтесь еще раз.</span>"); }
			break;
	}
}

$(window).bind("resize", function(){
	$('#bgImg').resizenow();
});

$(window).load(function () {
    $('#navigation').show();
});
