var msgEinenMoment = "Einen Moment bitte - Inhalt wird geladen";

function openWindow(theURL,winName,features) { 
  help = window.open(theURL,winName,features);
}

function NeuesFenster(Url) {
  msgWindow = open(Url, 'auswahl', 'status=no,resizable=no,width=800,height=500,scrollbars=yes,menubar=no,titlebar=no,toolbar=no,location=no');
}

function ajaxLoad(id,uri,waiter,callback) {

	if (typeof(waiter) == "undefined" || waiter == true)
		setWaiter(id);
	
	j$.ajax({
		type: "GET",
		url: ajaxUri(uri),
		error: function(data){
			
			start = data.responseText.search(/<h1[^>]*>/);
			end = data.responseText.search(/<\/h1>/);
			anz = end - start + 5;
			errmsg = data.responseText.substr(start, anz);
			
			j$("#" + id).html(errmsg);
			j$("#debug").html(data.responseText);
		},
		success: function(data){
					  
		  j$("#" + id).html(data);
			
			// 2-er Tab (Häfen) auf der Destination (+ ShipInShop, + Reederei) Seite. Es wurde leider keine bessere Möglichkeit gefunden, den Waiter in allen Tabs einheitlich  anzuzeigen.
			if(j$("#" + id).hasClass('list_2')){
			  j$("#" + id).removeClass('container');j$("#" + id).removeClass('padding');
			}
			  
			
			if (typeof(callback) != "undefined")
				jQuery( callback );
		}
	});
	 
}

function showGlobalWaiter(bezug, offs) {
  j$(bezug).before('<div id="globalwaiter"><img src="/media/image/ajax-loader.gif" /></div>');
  Offset = j$(bezug).offset().top;
  j$("div#globalwaiter").css("top",Offset + offs).show();
}

function hideGlobalWaiter() {
  j$("div#globalwaiter").remove();
}

function setWaiter(id) {
	j$("#"+id).html('<div class="center waiter"><img id="waiter" src="http://www.e-hoi.de/media/image/wait.gif" /><div>' + msgEinenMoment + '</div></div>');
}

function ajaxUri(uri) {
	// and den uri wird eine eindeutige ID angehaengt
	newuri = uri.replace(/&amp;/g,'&');
	newuri = newuri.concat(/\?/.test(uri)?"&":"?","avoidCache=",(new Date).getTime(),".",Math.random()*1234567); 
	// wenn das urltoken nicht schon im uri enthalten ist, wird es hinzugefuegt
	// newuri = newuri.concat(/CFTOKEN/i.test(uri)?"":"&" + urltoken);
	
	return newuri; 
}

function validateInput(formid) {

	NoErros = 0;
	msg = bitte_vervollstaendigen;

	j$("#" + formid + " .msgcontainer").html("").hide(1);

	j$("#" + formid +" .revise").each(function(i){
    j$(this).removeClass("revise");
  });

  j$("#" + formid + " :input.mandatory").each(function(i){
	   if(j$(this).val() == "" || j$(this).val() == " ") {
	     j$(this).addClass("revise");
	     NoErros++;
	   }
	});	
	

	j$("#" + formid + " .email").each(function(i){
	   email = j$(this).val();
	   //if (!email.match(/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|biz|info|name|aero|biz|info|jobs|museum|name|travel)$/gi)) {
	   if (!email.match(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i)) {
		   j$(this).addClass("revise");
		   NoErros++;
		 }
	});
	
	j$("#" + formid + " .date").each(function(i){
	   date = j$(this).val();
	   if (!checkDate(date)) {
		   j$(this).addClass("revise");
		   NoErros++;
		 }
	});
	
	j$("#" + formid + " .integer").each(function(i){
	   number = j$(this).val();
	   if (isNaN(number)) {
		   j$(this).addClass("revise");
		   NoErros++;
		 }
	});

	if (NoErros > 0) {
		showErrorMsg(formid,msg);
		return false;
	}

	return true;
}

function showErrorMsg(formid,msg) {
    
	j$("#" + formid + " .msgcontainer").fadeIn(500).html('<div class="feedback">' + msg + '</div>');
	j$("#" + formid + " .msgcontainer")[0].scrollIntoView(false);
}

function toggle(newSlide, oldSlide) {
  j$('#' + oldSlide).slideUp();
  j$('#' + newSlide).slideDown();
}

function initTabs(tabs_id, amount, current) {

	  if(typeof tabs_amount == "undefined") {
	    tabs_amount = Array();
	  }
	  tabs_amount[tabs_id] = amount;

	  // repeat for bottomTabs, if needed
	  j$('#tabsTop_' + tabs_id + ' li').removeClass('current');
	  j$('#tabsTop_' + tabs_id + ' li').removeClass('first_current');
	  j$('#tabsTop_' + tabs_id + ' li').removeClass('last_current');
	  j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current).addClass('current');
	  
	  j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current + ' input.radio').attr('checked', 'checked');
	  
	  if(current == 1) {
	    j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current).addClass('first_current');
	  }
	  if(current == tabs_amount[tabs_id]) {
	    j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current).addClass('last_current');
	  }

	  for(i=1; i<=tabs_amount[tabs_id]; i++) {
	    j$('#tab_' + tabs_id + '_' + i).hide();
	  }

	  j$('#tab_' + tabs_id + '_' + current).show();
	  
	  // if tab_current is undefined
	  if(typeof tab_current == "undefined") {
	    tab_current = Array();
	  }
	  tab_current[tabs_id] = current;

	}


function showTab(tabs_id, current) {
	  
	  // repeat for bottomTabs, if needed
	  j$('#tabsTop_' + tabs_id + ' li').removeClass('current');
	  j$('#tabsTop_' + tabs_id + ' li').removeClass('first_current');
	  j$('#tabsTop_' + tabs_id + ' li').removeClass('last_current');
	  j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current).addClass('current');

	  j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current + ' input.radio').attr('checked', 'checked');
	  
	  
	  
	  if(current == 1) {
	    j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current).addClass('first_current');
	  }
	  if(current == tabs_amount[tabs_id]) {
	    j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current).addClass('last_current');
	  }

	  j$('#tabsTop_' + tabs_id + ' #button_tab_' + tabs_id + '_' + current + ' a').blur();

	  j$('#tab_' + tabs_id + '_' + tab_current[tabs_id]).hide();
	  j$('#tab_' + tabs_id + '_' + current).show();
	  tab_current[tabs_id] = current;
	}


function machScroll(outer,inner,callback) {
	if(navigator.userAgent.indexOf("Safari") >= 0 && outer == "html")
		outer = "body";	

	if (typeof j$(inner).offset() != "undefined" && j$(inner).offset() != null) {
		OuterOffset = j$(outer).offset().top;
	  InnerOffset = j$(inner).offset().top;
   	pScroll = InnerOffset - OuterOffset;
		j$(outer).animate({scrollTop: pScroll},'slow','linear',callback);
	}	

}

function showTuevPopup() {
	openWindow('http://www.safer-shopping.de/index.php?id=62&no_cache=1&showUID=113','T&Uuml;V','status=no,resizable=no,width=1024,height=900,scrollbars=no,menubar=no,titlebar=no,toolbar=no,location=no');
};


