/**
 * 
 * (c) Lifestyle Webconsulting GmbH
 * Magnolienweg 17 | D-63741 Aschaffenburg
 * http://www.life-style.de
 *
 */
 
{
	var blnCodeChecked = false;
	var blnCodeValid = false;
	function codeCheck(){
		var objCode = document.getElementById('codeInput');
	
		if(objCode.value.length >= 10){
			/* request starten */
			$.getJSON(globalUrl+'cmd/codes/code/'+objCode.value+'/isAjax/'+true, function(request)
			{
				blnCodeChecked = true;
				if(request == 'true'){
					codeViewAccept();
					blnCodeValid = true;
				}else if(request == 'outdated'){
					codeViewOutdated();
					blnCodeValid = false;
				}else if(request == 'overflow'){
					codeViewOverflow();
					blnCodeValid = false;
				}else{
					codeViewError();
					blnCodeValid = false;
				}
			});
		}else{
			codeViewDefault();
			blnCodeValid = false;
		}
	}
	function codeCheckSubmit()
	{
		if (!blnCodeChecked)
			return true
		if (!blnCodeValid)
			codeViewError();
		return blnCodeValid;
	}
	function codeViewDefault()
	{
		$("#code_content_default").removeClass('hidden');
		$("#code_content_wrong").addClass('hidden');
		$("#code_content_outdated").addClass('hidden');
		$("#code_content_overflow").addClass('hidden');
		$("#code_content_success").addClass('hidden');
		$("#codeInput").css("color","#068fe5");
	}
	function codeViewError()
	{
		$("#codeInput").css("color","#f70000");
		$("#code_content_default").addClass('hidden');
		$("#code_content_wrong").removeClass('hidden');
		$("#code_content_outdated").addClass('hidden');
		$("#code_content_overflow").addClass('hidden');
		$("#code_content_success").addClass('hidden');
	}
	function codeViewOutdated()
	{
		$("#codeInput").css("color","#f70000");
		$("#code_content_default").addClass('hidden');
		$("#code_content_wrong").addClass('hidden');
		$("#code_content_outdated").removeClass('hidden');
		$("#code_content_overflow").addClass('hidden');
		$("#code_content_success").addClass('hidden');
	}
	function codeViewOverflow()
	{
		$("#codeInput").css("color","#f70000");
		$("#code_content_default").addClass('hidden');
		$("#code_content_wrong").addClass('hidden');
		$("#code_content_outdated").addClass('hidden');
		$("#code_content_overflow").removeClass('hidden');
		$("#code_content_success").addClass('hidden');
	}
	function codeViewAccept()
	{
		$("#codeInput").css("color","#279c14");
		$("#code_content_default").addClass('hidden');
		$("#code_content_wrong").addClass('hidden');
		$("#code_content_outdated").addClass('hidden');
		$("#code_content_overflow").addClass('hidden');
		$("#code_content_success").removeClass('hidden');
		$("#codeSubmit").focus();
	}
};

function toggle(strHide,strShow)
{
	$('#'+strHide).addClass('hidden');
	$('#'+strShow).removeClass('hidden');
	return false;
}

(function($) {
	var win = $(window), compatibleOverlay, centerWidth, centerHeight, ie6 = !window.XMLHttpRequest, operaFix = window.opera && (document.compatMode == "CSS1Compat") && ($.browser.version >= 9.3), documentElement = document.documentElement, overlay, center, middle, msgbox,
	
	options = {
		overlayOpacity: 0.4,
		overlayFadeDuration: 400,
		closeKeys: [27, 88, 67]
	};

	$(function() {
		$("body").append(
			$([
				overlay = $('<div id="mbOverlay" />').addClass('mbOverlay')[0],
				center = $('<div id="mbCenter" />').addClass('mbCenter')[0]
			]).css("display", "none")
		);

		centerWidth = $('#msgBox').width();
		centerHeight = $('#msgBox').height();
		msgbox = $('#msgBox').appendTo(center)[0];
		$(msgbox).css('position','');
		$('#mbClose').add(overlay).click(close);
		$('#mbContinue').click(closeContinue);
		if (ie6)
			$(msgbox).find("*").each(function(){
				var bgIMG = jQuery(this).css('background-image');
				if(bgIMG.indexOf(".png")!=-1){
					var iebg = bgIMG.split('url("')[1].split('")')[0];
					jQuery(this).css('background-image', 'none');
					jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='crop')";
				}
			});

	});
	
	/**
	 * Check for external links
	 */
	jQuery.fn.extLinks = function(linksFilter)
	{
		linksFilter = linksFilter || function() {
			return true;
		};
		var links = $(this);
		return links.unbind('click').click(function() {
			var link = $(this);
			if (!linksFilter(link))
				return true;
			middle = win.scrollTop() + ((operaFix ? documentElement.clientHeight : win.height()) / 2);
			$(center).css({top: Math.max(0, middle - (centerHeight / 2)), width: centerWidth, height: centerHeight, marginLeft: -centerWidth/2}).show();
			compatibleOverlay = ie6 || (overlay.currentStyle && (overlay.currentStyle.position != "fixed"));
			if (compatibleOverlay) overlay.style.position = "absolute";
			$(overlay).css("opacity", options.overlayOpacity).fadeIn(options.overlayFadeDuration);
			position();
			setup(1);
			open($(this));
			return false;
		});
	};

	/**
	 *  internal functions
	 */
	function position() {
		var l = win.scrollLeft(), w = operaFix ? documentElement.clientWidth : win.width();
		$(center).css("left", l + (w / 2));
		if (compatibleOverlay) $(overlay).css({left: l, top: win.scrollTop(), width: w, height: win.height()});
	}

	function setup(open) {
		$("object").add(ie6 ? "select" : "embed").each(function(index, el) {
			if (open) $.data(el, "msgbox", el.style.visibility);
			el.style.visibility = open ? "hidden" : $.data(el, "msgbox");
		});
		var fn = open ? "bind" : "unbind";
		win[fn]("scroll resize", position);
		$(document)[fn]("keydown", keyDown);
	}
	
	function keyDown(event) {
		var code = event.keyCode, fn = $.inArray;
		return (fn(code, options.closeKeys) >= 0) ? close()
			: false;
	}

	function open(link)
	{
		$('#mbContinue').attr('href',link.attr('href')).attr('target','_blank');
		$(center).css('position','');
	}
	
	function close()
	{
		$(center).hide();
		$(overlay).fadeOut(options.overlayFadeDuration, setup);
		return false;
	}
	
	function closeContinue()
	{
		close();
		return true;
	}
	
})(jQuery);

(function($) {
	var win = $(window), compatibleOverlay, centerWidth, centerHeight, ie6 = !window.XMLHttpRequest, operaFix = window.opera && (document.compatMode == "CSS1Compat") && ($.browser.version >= 9.3), documentElement = document.documentElement, overlay, center, middle, msgbox,
	
	options = {
		overlayOpacity: 0.3,
		overlayFadeDuration: 400,
		closeKeys: [27, 88, 67]
	};

	$(function() {
		$("body").append(
			$([
				overlay = $('<div id="regOverlay" />').addClass('mbOverlay')[0],
				center = $('<div id="regCenter" />').addClass('mbCenter')[0]
			]).css("display", "none")
		);

		centerWidth = $('#regBox').width();
		centerHeight = $('#regBox').height();
		msgbox = $('#regBox').appendTo(center).css('position','static').submit(function(){
			var data = [];
			var urlAction = $('#regBox_form').attr('action');
			var method = $('#regBox_form').attr('method');
			$('input',this).each(function(){
				if (this.type=='radio' || this.type=='checkbox')
				{
					if (this.checked)
						data.push(this.name + '=' + encodeURIComponent(this.value));
				}
				else
					data.push(this.name + '=' + encodeURIComponent(this.value));
			});
			$('textarea',this).each(function() {
				data.push(this.name + '=' + encodeURIComponent(this.value));
			})
			$.ajax({
				type: method,
				url: urlAction,
				data: data.join('&')
			});
			return false;
		});
		
		$('#regClose').add(overlay).click(close);
		$('#regContinue').click(closeContinue);
		if (ie6)
			$(center).find("*").each(function(){
				var bgIMG = jQuery(this).css('background-image');
				if(bgIMG.indexOf(".png")!=-1){
					var iebg = bgIMG.split('url("')[1].split('")')[0];
					jQuery(this).css('background-image', 'none');
					jQuery(this).get(0).runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + iebg + "',sizingMethod='crop')";
				}
			});

	});
	
	/**
	 * 
	 */
	jQuery.regBox = function()
	{
		middle = win.scrollTop() + ((operaFix ? documentElement.clientHeight : win.height()) / 2);
		$(center).css({top: Math.max(0, middle - (centerHeight / 2)), width: centerWidth, height: centerHeight, marginLeft: -centerWidth/2}).show();
		compatibleOverlay = ie6 || (overlay.currentStyle && (overlay.currentStyle.position != "fixed"));
		if (compatibleOverlay) overlay.style.position = "absolute";
		$(overlay).css("opacity", options.overlayOpacity).fadeIn(options.overlayFadeDuration);
		position();
		setup(1);
		open();
	};
	
	jQuery.fn.regBox = function()
	{
		var links = $(this);
		return links.unbind('click').click(function() {
			jQuery.regBox();
			return false;
		});
	};

	/**
	 *  internal functions
	 */
	function position() {
		var l = win.scrollLeft(), w = operaFix ? documentElement.clientWidth : win.width();
		$(center).css("left", l + (w / 2));
		if (compatibleOverlay) $(overlay).css({left: l, top: win.scrollTop(), width: w, height: win.height()});
	}

	function setup(open) {
		$("object").add(ie6 ? "select" : "embed").each(function(index, el) {
			if (open) $.data(el, "msgbox", el.style.visibility);
			el.style.visibility = open ? "hidden" : $.data(el, "msgbox");
		});
		var fn = open ? "bind" : "unbind";
		win[fn]("scroll resize", position);
	}
	
	function keyDown(event) {
		var code = event.keyCode, fn = $.inArray;
		return (fn(code, options.closeKeys) >= 0) ? close()
			: false;
	}

	function open(link)
	{
		$(center).css('position','');
	}
	
	function close()
	{
		$(center).hide();
		$(overlay).fadeOut(options.overlayFadeDuration, setup);
		return false;
	}
	
	function closeContinue()
	{
		msgbox.submit();
		close();
		return false;
	}
})(jQuery);

(function($) {
	var ie55 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 5.5") != -1);
	var ie6 = (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion) == 4 && navigator.appVersion.indexOf("MSIE 6.0") != -1);
	
	/**
	 * PNG Fix for navigation
	 * use gif instead of png
	 */
	jQuery.fn.pngFix = function(settings) 
	{
		if (jQuery.browser.msie && (ie55 || ie6)) {

			jQuery(this).find("*").each(function(){
				var bgIMG = jQuery(this).css('background-image');
				if(bgIMG.indexOf(".png")!=-1){
					var iebg = bgIMG.split('url("')[1].split('.png")')[0];
					jQuery(this).css('background-image', 'url(\''+iebg+'.gif\')');
				}
			});
			
		}
		return jQuery;
	};
	
	/**
	 * Hover effect for div-tags
	 */
	jQuery.fn.menuIeHover = function()
	{
		if (jQuery.browser.msie) {
			jQuery(this).find("div.menuitem").each(function(){
				jQuery(this).mouseover(function() {
					jQuery(this).addClass('hover');
				});
				jQuery(this).mouseout(function() {
					jQuery(this).removeClass('hover');
				});
			});
		}
	};
	
	/**
	 * Hover effect
	 */
	jQuery.fn.ieHover = function()
	{
		if (jQuery.browser.msie) {
			jQuery(this).each(function(){
				jQuery(this).mouseover(function() {
					jQuery(this).addClass('hover');
				});
				jQuery(this).mouseout(function() {
					jQuery(this).removeClass('hover');
				});
			});
		}
	}
})(jQuery);

$(function(){
	$('.navigation').pngFix();
	$('.navigation_article').menuIeHover();
	$('.button').ieHover();
	$('a[href^=\'http\'], area[href^=\'http\']').extLinks(function(el) {
		var arrDomains = new Array(
				'http://www.nintendo.de',
				'http://www.nintendotrucktour.de',
				'http://www.family-and-friends-cup-2009.de',
				'http://localhost',
				'http://test.',
				'http://trucktour.life-style.de'
		);
		for (var ii =0; ii < arrDomains.length; ii++)
			if (arrDomains[ii] == $(el).attr('href').substr(0,arrDomains[ii].length))
				return false;
		return true;
	});
	
	// if ( $('a[rel^=\'survey\']').length == 1 ) jQuery.regBox();
	// $('a[rel^=\'survey\']').regBox();
	//jQuery.regBox();
});

function submitEcard(event){
	document.getElementById('action_field').value = event;
	document.forms.ecardForm.submit();
}

function pickColor(id){
	$('.color_picker').html('&nbsp;');
	$('.color_pick_'+id).html('&bull;');
	document.getElementById('color_field').value = id;
}

function poweredLogoSwitch( yPos, extLink ){
	$("#powered").css("background-position", "0px -"+yPos+"px");
	$("#poweredLogoLink").attr("href",extLink);
}

function viewGallery(intGid)
{
	$.getJSON(globalUrl+'cmd/180-fotogalerie/module/gallery/gid/' + intGid + '/isAjax/1',function(arrGallery) {
		//alert( dump(arrGallery) );
		jQuery.slimbox(arrGallery.gal_autostart,arrGallery.gal_autostart_id,{loop: true,counterText: "Bild {x} von {y}"});
	});
	
	return false;
}

$(function(){
	
	$('.schnitzeljagt').each(function(){
		var arrText = new Array(
			
			'Du bist auf dem richtigen Weg... suche weiter!',
			
			'<div style="width: 100px;"><h3 class="headline">Code 1</h3><img src="http://localhost/nintendotruck.de/templates/tpl/img/news/news_icon.gif" /></div>',
			'Code 2',
			'Code 3',
			'Code 4',
			'Code 5'
			
		);
		
		//alert( this.className );
		
		if ( $(this).is('.code_Rnd') ){ 
			var random = Math.floor( Math.random() * ( arrText.length - 1 ) ) + 1;
		}else if ( $(this).is('.code_1') ){
			var random = 1;
		}else if ( $(this).is('.code_2') ){
			var random = 2;
		}else{
			var random = 0;
		}
		
		$(this).append(
			$('<div />').addClass('schnitzeljagtCnt').html( arrText[random] )
		);
	});
	
	$('.schnitzeljagt').click(function(){
		$(this).find('.schnitzeljagtCnt').toggle();
	});

});

function rythmCode(){
	var codeField = document.getElementById("codeInput");
	codeField.style.color = '#fff';
	codeField.value = "RP_NOCODES";
	document.forms.code.submit();
}

function showCityRequestError(){
	$("#cityRequestError").removeClass("hide");
}
function hideCityRequestError(){
	$("#cityRequestError").addClass("hide");
}



function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;
	
	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";
	
	if(typeof(arr) == 'object') 
	{ 
		//Array/Hashes/Objects
		for(var item in arr) 
		{
			var value = arr[item];
		
			if(typeof(value) == 'object') 
			{
				//If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
		  	}
		  	else
		  	{
		  		dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	}else{ //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}