var win = null;

// ===============================================================================================================================

function NewWindow(mypage, myname, w, h, scroll)
{	
	
	if (win && !win.closed) win.close();

	LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
	settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable';
	win = window.open(mypage, myname, settings);
	if (win.window.focus) { win.window.focus(); }
}

// ===============================================================================================================================

function getViewport(returnmode)
{
	// Gibt Höhe oder Breite des Viewports zurück
	// returnmode == 1 gibt viewportheight zurück
	// returnmode == 2 gibt viewportwidth zurück
	var viewportwidth;
	var viewportheight;
	 
	// standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight
	if (typeof(window.innerWidth) != 'undefined')
	{
		viewportwidth = window.innerWidth;
		viewportheight = window.innerHeight;
	}
	 
	// IE6 in standards compliant mode
	else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
	{
		viewportwidth = document.documentElement.clientWidth;
		viewportheight = document.documentElement.clientHeight;
	}
	 
	// older versions of IE 
	else
	{
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth;
		viewportheight = document.getElementsByTagName('body')[0].clientHeight;
	}
	
	if (returnmode == 1) return viewportheight;
	else return viewportwidth;
	
}

// ===============================================================================================================================

function setHeightSpacer(myValue)
{
	// Setzt Höhe für pt.gif
	var spacerHeight;
	var myHeight = getViewport(1); // aktuelle Höhe Viewport holen
	myValue = myValue || 268; 
	if (document.all) myValue = myValue - 0; // Wenn IE
	
	if (myHeight > 0)
	{
		spacerHeight = myHeight - myValue;
		document.getElementById("hoehenspacer").style.height = spacerHeight + "px";
	}
}

// ===============================================================================================================================

function hideDiv(idDiv) 
{
	document.getElementById(idDiv).style.display = 'none';
}

// ===============================================================================================================================

function showDiv(idDiv) 
{
	document.getElementById(idDiv).style.display = '';
}

// ===============================================================================================================================

function showHideDiv(idDiv)
{
	var state = getStyle(idDiv, "display", "display");
	document.getElementById(idDiv).style.display = (state == "block") ? "none" : "block";
}

// ===============================================================================================================================

function showTab(tabname, tabno, maxtabs)
{
	if (document.getElementById)
	{		
		for (var i = 1; i <= maxtabs; i++)
		{
			if (document.getElementById(tabname + i)) document.getElementById(tabname + i).style.display = (tabno == i) ? "block" : "none";
			if (document.getElementById(tabname + i + '_link')) document.getElementById(tabname + i + '_link').className = (tabno == i) ? "atablink" : "tablink";
		}
	}
}

// ===============================================================================================================================

function check_email(email) 
{

 	var usr    = "([a-zA-Z0-9][a-zA-Z0-9_.-]*|\"([^\\\\\x80-\xff\015\012\"]|\\\\[^\x80-\xff])+\")";
  	var domain = "([a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*[a-zA-Z0-9][a-zA-Z0-9._-]*\\.[a-zA-Z]{2,6}";
  	var regex  = "^" + usr + "\@" + domain + "$";
  	var rgx    = new RegExp(regex);
  	return rgx.exec(email) ? true : false;
}

// ===============================================================================================================================

function format_fieldcolor(idDiv, showError)
{
	showError = showError | false;
	var errorClass = "fc-error";
	var normalClass = "fc-normal";
	var labelColor = (showError) ? "#CC0000" : "";
	var d = document.getElementById(idDiv);
	var currentClass = d.className;
	var myLabel = "labelfor_" + idDiv;
	
	if (showError)
	{
		var showClass = errorClass;
		var oppClass = normalClass;
	}
	else
	{
		var showClass = normalClass;
		var oppClass = errorClass;
	}
	
	if (currentClass == "" || currentClass == oppClass)
	{
		d.className = showClass;
	}
	else
	{
		var indexOfSpace = currentClass.indexOf(" ");
		if(indexOfSpace == -1)
		{
			d.className = currentClass + " " + showClass;
		}
		else
		{
			var mainClass = currentClass.substring(0, indexOfSpace + 1);
			d.className = mainClass + " " + showClass;
		}
	}
	
	if (document.getElementById(myLabel)) document.getElementById(myLabel).style.color = labelColor;
}

// ===============================================================================================================================

function fieldcolor_normal(idDiv)
{
	format_fieldcolor(idDiv);
}

// ===============================================================================================================================

function fieldcolor_error(idDiv)
{
	format_fieldcolor(idDiv, true);
}

// ===============================================================================================================================
	
function getStyle(idDiv, stylePropJs, stylePropCss)
{
	var obj = document.getElementById(idDiv);
	if (obj.currentStyle) // IE
		var styleValue = obj.currentStyle[stylePropJs];
	else if (window.getComputedStyle) // Mozilla
		var styleValue = document.defaultView.getComputedStyle(obj,null).getPropertyValue(stylePropCss);
	return styleValue;
}

// ===============================================================================================================================

function maildecode (input)
	{
	var output=input;
	output=output.replace(/\|/, '@');
	output=output.replace("#xxcom#", ".");
	return (output);
	}

// ===============================================================================================================================	
	
function writemaillink ($input,$hid)
	{
	$showmail=maildecode($input);
	$showmail=$showmail.replace('@','&#64;');
	$showmail=$showmail.replace(/\./,'&#46;');
	$showmail=$showmail.replace(/\?.*/,'');
	document.write('E-Mail: ');
	document.write ("<a href=\"javascript:makemail('"+$input+"','"+$hid+"')\">");
	document.write($showmail);
	document.write ('</a><br>');
	}

// ===============================================================================================================================
	
function makemail($link,$hid)
	{
	if ($hid>0) mailtocount($hid);
	$link=maildecode($link);
	this.location.href="mailto:"+$link;
	}

// ===============================================================================================================================

function showHideBigMap (show,lat,lon,city)
{
	if (document.getElementById)
	{	
		var map = document.getElementById("bigmap");
		if (show && city != "") //große Karte laden und anzeigen
		{
			map.firstChild.setAttribute("src","/images/karte/karte_big.php?lat=" + lat + "&lon=" + lon + "&maport=" + city);
			map.style.display = "block";
		}
		else // große Karte ausblenden
		{
			map.style.display = "none";
		}
	}
}


// ===============================================================================================================================

function checkLength(myField, maxLength)
{	

	var txt = myField.value;
	var txtLength = txt.length;
	
	if(txtLength > maxLength)
	{
	      alert("Ihre Eingabe ist " + txtLength + " Zeichen lang. \nBitte geben Sie maximal " + maxLength + " Zeichen in dieses Feld ein.");
	      myField.value= txt.substring(0, maxLength);

	}
}


