/**
 * DB OBT OBT JavaScript
 * Copyright (c) 2009, DB Vertrieb GmbH. All rights reserved.
 */

/** verhindern von Konflikten mit dem '$' anderer JS-Bibliotheken wie z. B. Prototype */
jQuery.noConflict();

var OBT = {
	key_tab: 9,
	key_return: 13,
	key_space: 32,
	key_backspace: 8,

	key_pageup: 33,
	key_pagedown: 34,

	key_left: 37,
	key_up: 38,
	key_right: 39,
	key_down: 40,

	key_minus: 86,
	key_plus: 93,
	key_add: 132,
	key_substract: 140,

	// Initialize
	init: function() {
		// Init Scramblecode
		OBT.initScramblecode();
	
		// Init Teaserimages
		OBT.initTeaserimages();
	},

	/*******************************************************************/
	/***** Initialise Scramblecode *****/
	/*******************************************************************/

	// Initialize
	initScramblecode: function() {
		OBT.initScramblecodeRCP();
		OBT.initScramblecodeRCPSND();
	},
	// Check recipient
	initScramblecodeRCP: function() {
		if (jQuery('form.validate-rcp input.rcp')) {
			jQuery('form.validate-rcp input.rcp').change(function() {
				var url = '/pbin/scramble.pl?m=a;X=R:' + encodeURI(jQuery('form.validate-rcp input.rcp').val());
				jQuery.getJSON(url,
					function(data){
						jQuery("form.validate-rcp img.scramble").attr({
							src: data.img,
							width: data.width,
							heigth: data.height
				        });
						jQuery('form.validate-rcp input.scramble').val(data.scramble);
						jQuery('form.validate-rcp div.jsscramble').removeClass('jsscramble');
				})
			});
		}
	},
	// Check recipient and sender
	initScramblecodeRCPSND: function() {
		if (jQuery('form.validate-rcp-snd input.rcp') && jQuery('form.validate-rcp-snd input.snd')) {
			jQuery('form.validate-rcp-snd input.rcp').change(function() {
				if(jQuery('form.validate-rcp-snd input.rcp').val().length == 0 || jQuery('form.validate-rcp-snd input.snd').val().length == 0) return;

				var url = '/pbin/scramble.pl?m=a;X=R:' + encodeURI(jQuery('form.validate-rcp-snd input.rcp').val()) +
						  ';X=S:' + encodeURI(jQuery('form.validate-rcp-snd input.snd').val());
				jQuery.getJSON(url,
					function(data){
						jQuery("form.validate-rcp-snd img.scramble").attr({
							src: data.img,
							width: data.width,
							heigth: data.height
				        });
						jQuery('form.validate-rcp-snd input.scramble').val(data.scramble);
						jQuery('form.validate-rcp-snd div.jsscramble').removeClass('jsscramble');
				})
			});
			jQuery('form.validate-rcp-snd input.snd').change(function() {
				if(jQuery('form.validate-rcp-snd input.rcp').val().length == 0 || jQuery('form.validate-rcp-snd input.snd').val().length == 0) return;

				var url = '/pbin/scramble.pl?m=a;X=R:' + encodeURI(jQuery('form.validate-rcp-snd input.rcp').val()) +
						  ';X=S:' + encodeURI(jQuery('form.validate-rcp-snd input.snd').val());
				jQuery.getJSON(url,
					function(data){
						jQuery("form.validate-rcp-snd img.scramble").attr({
							src: data.img,
							width: data.width,
							heigth: data.height
				        });
						jQuery('form.validate-rcp-snd input.scramble').val(data.scramble);
						jQuery('form.validate-rcp-snd div.jsscramble').removeClass('jsscramble');
				})
			});
		}
	},
	
	/*******************************************************************/
	/***** Initialise Teaserimages *****/
	/*******************************************************************/

	// Initialize
	initTeaserimages: function() {
		if (jQuery('#teaserimages img.toplevel')) {
			setInterval( "OBT.teaserChanger()", 6000 );
		}
	},
	// change Teaser-Images with animate-function
	teaserChanger: function() {
		// image-settings
		var $alt = jQuery('#teaserimages img.toplevel');
	    var $neu = $alt.next('img').length ? $alt.next('img') : jQuery('#teaserimages img:first');
	    $alt.addClass('midlevel');
		$alt.removeClass('toplevel');
	    $neu.css({opacity: 0.0});
	    $neu.addClass('toplevel');
	    
	    // headline-settings
        var $altheadline = jQuery('#teaserimages h2.top');
        var $neuheadline = $altheadline.next('h2').length ? $altheadline.next('h2') : jQuery('#teaserimages h2:first');
        $altheadline.addClass('mid');
        $altheadline.removeClass('top');
        $neuheadline.css({opacity: 0.0});
        $neuheadline.addClass('top');

	    // image-animation
	    $neu.animate({opacity: 1.0}, 2000, function() {
	            $alt.removeClass('midlevel');
	            
	            // headline-animation
	            $neuheadline.animate({opacity: 1.0}, 1000, function() {
	            	$altheadline.removeClass('mid');
	            });
	    });
	}
};

jQuery(document).ready(function() {
	OBT.init();
});

