jQuery.noConflict();

var OA_zones = {
'l_all_skyscraper' : 1,
'r_all_partner' : 2,
'r_all_recommendation' : 3,
'm_categories_top': 4,
'm_articles_top': 5,
'outer_all_right':6,
'outer_all_top':7,
'floater':8,
'm_articles_square':9,
'm_articles_banner':10
}

jQuery(document).ready(function(){
    // Lightbox Images initialisieren und Clickenlarge-Overlays einblenden
    setLightboxForImages();

    // Videos initialisieren
    if (window.flowplayer) {
	setFlowplayer();
    }

    // ggf. Autoplay fuer Videos und Scrolling ausfuehren
    if(get_GET_param('videoplay')) {
		setVideoAutoplay(get_GET_param('videoplay'));
    }

    // RTE Buttons stylen
    jQuery('.rtebutton').wrapInner('<span/>').not('.nohand').append('<span class="h"></span>');

    // NL-OFIE Messages
    setNlForms();

    // Closer fuer Layer
    jQuery('#closer').click(function() {
		jQuery.unblockUI();
		return false;
    });

    // Heutiges Datum ausgeben
    if (jQuery('.showTodaysDate')) {
	writeTodaysDate();
    }
    
    jQuery('ul.sf-menu').superfish({
    	delay: 0,
    	speed: 'fast',
    	dropShadows: false,
    	autoArrows: false
    });

    
/*    jQuery('.zahlart').not('.'+jQuery("input[name='Ecom_Paymode']").filter(':checked').val()).hide();
    jQuery("input[name='Ecom_Paymode']").click(function() {
	var paymode=jQuery(this).val();
	jQuery('.'+paymode).slideDown('slow');
	jQuery('.zahlart').not('.'+paymode).slideUp('slow');
    });*/


	var redirect_url;
	function expire() {
		counter_expire(redirect_url);
	}
	function counter_expire(redirect_url) {
		alert('Dieses Sonderangebot ist leider bereits abgelaufen. Sie werden nun auf unsere anderen attraktiven Angebote weitergeleitet.');
		var ziel=window.location.protocol + '//' + window.location.hostname + '/' + redirect_url;
		window.location.href=ziel;
	}
	var counter = false;
	var end_date = new Date();
	var repeat = false;
	var counter_container = '';
	
	if (!(typeof ofe_counter_date== "undefined")) {
		counter = true;
		if (ofe_repeat || ofe_counter_date==1) {
			repeat = true;
			end_date.setHours(23);
			end_date.setMinutes(59);
		} else {
			end_date.setTime(ofe_counter_date*1000);
		}
		counter_container = '.showcountdown';
		redirect_url = ofe_redirect_url;
	} else if (!(typeof session_counter_date== "undefined") && !(typeof session_wkz== "undefined")) {
		counter = true;
		var kuerzel = session_wkz.substr(0,3);
		kuerzel = kuerzel.toLowerCase();
		if (session_counter_date==1) {
			repeat = true;
			end_date.setHours(23);
			end_date.setMinutes(59);
		} else {
			end_date.setTime(session_counter_date*1000);
		}
		counter_container = '.showcountdown_'+kuerzel;
		redirect_url = session_redirect_url;
	}
	if (counter) {
		var Countertext = '<div class="counterContainer">';
		Countertext = Countertext+'<div class="preCountertext">Achtung: Dieses <span class="counterangebot">einmalige Angebot</span> gilt nur noch <span class="counterdate"></span></div>';
		Countertext = Countertext+'<div class="counter"></div>';
		Countertext = Countertext+'<div class="postCountertext">Sobald diese Uhr auf Null springt, ist Ihr Anrecht auf dieses Angebot unwiderruflich abgelaufen.</div>';
		Countertext = Countertext+'</div>'
		
		var m_names = new Array("Januar", "Februar", "März",
		"April", "Mai", "Juni", "Juli", "August", "September",
		"Oktober", "November", "Dezember");
		
		jQuery(counter_container).append(Countertext);
		
		var now = new Date();
		count = Math.floor(end_date.getTime() - now.getTime());

		var t = count;
		var milliseconds = t%1000;t = Math.floor(t/1000);
		var seconds	= t%60;t = Math.floor(t/60);
		var minutes	= t%60;t = Math.floor(t/60);
		var hours	= t%24;t = Math.floor(t/24);
		var days	= t;
		if (now.getDate() == end_date.getDate()) {
			jQuery('.counterdate').html('heute!');
		} else {
			jQuery('.counterdate').html('bis zum '+end_date.getDate()+'. '+m_names[end_date.getMonth()]+' '+end_date.getFullYear()+'!');
		}
		if (days > 0) {
		    jQuery('.counter').addClass('days');
		}
		jQuery('.counter').countdown({
			until: end_date,
			onExpiry: expire,
			alwaysExpire: true,
			layout: '<div class="countdown_section">' +
						'{d<}<div class="digits digit1">{dnn}<span class="unit">{dl}</span></div><div class="seps sep1">,</div>{d>}' +
						'<div class="digits digit2">{hnn}<span class="unit">{hl}</span></div><div class="seps sep2">:</div>' +
						'<div class="digits digit3">{mnn}<span class="unit">{ml}</span></div><div class="seps sep3">:</div>' +
						'<div class="digits digit4">{snn}<span class="unit">{sl}</span></div></div>'
		});
	}
	
});


function setLightboxForImages() {
    jQuery(".bildergalerie-bild a[rel^='lightbox\\[']").css('position','relative').append('<div class="enlarge"></div>');
    jQuery(".enlarge").css('top', function() {
	return jQuery("a[rel^='lightbox\\[']").height()-30;
    });
}

function writeTodaysDate() {
    	var heute = new Date();
	var jahr = heute.getUTCFullYear();
	var monat = heute.getMonth()+1;
	var tag = heute.getDate();

	jQuery('<span class="todaysDate">'+tag+'.'+monat+'.'+jahr+'</span>').insertAfter('.showTodaysDate');
}

function setFlowplayer() {
    jQuery('.flowplayercontainer').flowplayer("fileadmin/templates/design/swf/flowplayer-3.2.4-0.swf"), {
	    clip: {
	    autoPlay: false,
	    autoBuffering: true
	    }
    }
}

function setVideoAutoplay (videoId) {
    if (isNaN(videoId)) {
	jQuery.scrollTo("#"+videoId,{duration:500}); // scroll to exact DOM id by given sting
	videoNum = videoId.replace(/[^0-9\\.]/g, '').replace(/^(\d*\.\d*)\..*$/, "$1") * 1.0-1; // then extract video number from string, for autoplay
    }
    else {
	videoNum = videoId-1;  // if string is a number, the target video is that number minus 1
	jQuery.scrollTo(jQuery(".flowplayercontainer:eq("+videoNum+")"),{duration:500}); // scroll to index number of flowplayer class elements
    }
    if (window.flowplayer){ flowplayer(videoNum).play(); }// initiate autoplay
    return true;
}

function get_GET_params() {
   var GET = new Array();
   if(location.search.length > 0) {
      var get_param_str = location.search.substring(1, location.search.length);
      var get_params = get_param_str.split("&");
      for(i = 0; i < get_params.length; i++) {
         var key_value = get_params[i].split("=");
         if(key_value.length == 2) {
            var key = key_value[0];
            var value = key_value[1];
            GET[key] = value;
         }
      }
   }
   return(GET);
}
 
function get_GET_param(key) {
   var get_params = get_GET_params();
   if(get_params[key])
      return(get_params[key]);
   else
      return false;
}

function createCookie(name,value,days) {
  var expires = "";
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    expires = "; expires="+date.toGMTString();
  }
  return document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return 0;
}

function showFloater() {
	jQuery(document).ready(function(){
		jQuery.blockUI({ 
			message: jQuery('#floater')
		});
		jQuery('.blockOverlay').click(function() {
			jQuery.unblockUI();
		});
	});
}

function hideFloater() {
	jQuery.unblockUI(); 
}

function floaterStatus(cookie_name,max_seen) {
	var nopop = get_GET_param('np');
	var seen_floater = readCookie(cookie_name); 
	if((seen_floater >= max_seen) || navigator.cookieEnabled == false || nopop==1) { 
		return false;
	} else {
		seen_floater++;
		// 5 Minuten
		createCookie(cookie_name,seen_floater,0.003472222);
		floaterTimeout = setTimeout(jQuery.unblockUI, 20000);
		return true;
	}
}

function unsetTimeout() {
	if (window.floaterTimeout) {
		clearTimeout(window.floaterTimeout);
	}
}

function doClear(theText) {
    if (theText.value == theText.defaultValue) {
        theText.value = ""
    }
}

function setNlForms() {
    jQuery('.nl-ofie form').each(function(){
	jQuery(this).submit(function(e){
	    return showEmailNotValidMessage(jQuery("input[name='email']",this).attr('id'), 'Bitte geben Sie eine gültige E-Mail-Adresse ein');
	});
    });
    jQuery('a.submit').click(function() {
	var form = jQuery(this).parents('form:first');
	form.submit();
	return false;
    });
}

function checkEmail(elementId) {
  if (jQuery("#"+elementId)) {
    filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return (filter.test(jQuery("#"+elementId).val()) ? true : false);
  }
  else {
	return false;  
  }
}

function showEmailNotValidMessage(email, message) {
  if (!checkEmail(email)) {
    alert(message);	
    return false;
  }
}

function validateEmail(emailFieldId) {
	filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(!filter.test(jQuery("#"+emailFieldId).val())) {
		alert('Bitte geben Sie eine gültige E-Mail-Adresse ein');
		return false;
	}
	return true;
}


function openPopunderWindow(url, width, height) {
  if (!readCookie('popunder')) {
	thisWindow = window.open(url, "Newsletter", "width="+width+",height="+height+",status=no,scrollbars=no,resizable=no,location=no,menubar=no,personalbar=no,statusbar=no,toolbar=no");
	if (thisWindow) {
		thisWindow.focus();
	}
	createCookie('popunder','1','2');
	return false;
  } 
  return false;
}

//Default TYPO3 Code
var browserName=navigator.appName;var browserVer=parseInt(navigator.appVersion);var version="";var msie4=(browserName=="Microsoft Internet Explorer"&&browserVer>=4);if((browserName=="Netscape"&&browserVer>=3)||msie4||browserName=="Konqueror"||browserName=="Opera"){version="n3";}else{version="n2";}
function blurLink(theObject){if(msie4){theObject.blur();}}
function decryptCharcode(n,start,end,offset){n=n+offset;if(offset>0&&n>end){n=start+(n-end-1);}else if(offset<0&&n<start){n=end-(start-n-1);}
return String.fromCharCode(n);}
function decryptString(enc,offset){var dec="";var len=enc.length;for(var i=0;i<len;i++){var n=enc.charCodeAt(i);if(n>=0x2B&&n<=0x3A){dec+=decryptCharcode(n,0x2B,0x3A,offset);}else if(n>=0x40&&n<=0x5A){dec+=decryptCharcode(n,0x40,0x5A,offset);}else if(n>=0x61&&n<=0x7A){dec+=decryptCharcode(n,0x61,0x7A,offset);}else{dec+=enc.charAt(i);}}
return dec;}
function linkTo_UnCryptMailto(s){location.href=decryptString(s,-2);}
