/* ---------------------------  GMN Languages --------------------------- */

  function compareLang(s) {
//	if (changelang && (changelang!= lang)) alert('verboten');
//alert(document.referrer);
/*
	if (document.referrer.indexOf('changelang') > -1) {
		var dr = document.referrer;
		var ch = dr.substring(dr.lastIndexOf("changelang=")+11, dr.lastIndexOf("changelang=")+12);
		alert(ch);
		
		var t = document.referrer +' / '+ lang +' / '+changelang;
//		alert(t);
		if (lang == changelang) alert(t); return false; ;	
//		location.replace(window.location.href);
	}
*/
//alert(s.type)
//if (s == "function") alert('verboten');
//if (window.history) alert(history.length);
}

/* ---------------------------  GMN Specials --------------------------- */

function showImagePopup(id) {
	var obj = new ImageObject(id);
	var t = obj.src.replace('.'+ obj.type,'_gross.'+obj.type);
	var offset = 10;

	if (hiddenInfo) {
		hiddenInfo.setZindex(999);
		hiddenInfo.setPositionType('absolute');
		hiddenInfo.paste();
		hiddenInfo.rewrite('<a href="javascript:hiddenInfo.cut();"><img src="' + t + '" class="Bilderrahmen cursorZoomOut"><br><span class="button">Close/Schliessen</a></span><br>');
		hiddenInfo.setPos((obj.x+offset), (obj.y+offset));
		
	}
	return false;
}

function zoomInImage(id) {
	var obj = new ImageObject(id);
	var t = obj.src.replace('.'+ obj.type,'_gross.'+obj.type);
	var offset = 10;

	if (hiddenInfo) {
		hiddenInfo.setZindex(999);
		hiddenInfo.setPositionType('absolute');
		hiddenInfo.paste();
		hiddenInfo.rewrite('<a href="javascript:zoomOutImage(\''+ id +'\');"><img src="' + t + '" border="0" title="Close/Schliessen"><br><span class="button">Close/Schliessen</a></span><br>');
		hiddenInfo.setPos((obj.x+offset), (obj.y+offset));
		var max_x = (getWindowWidth()-(hiddenInfo.getWidth()+offset));
		if ((obj.x+offset) > max_x)  hiddenInfo.setLeft(max_x-offset);
	} 
	if (hiddenInfo && flashcounter > -1) { 
		hiddenInfo.setPos((obj.x+offset), (obj.y+offset));
		if (lang == 1) { 
			hiddenInfo.rewrite('<div class="Hinweis Sonderfarbe"><b>Bitte entschuldigen Sie, aber die Zoomfunktion ist auf dieser Seite leider nicht verfügbar!</div>'); 
		}
		else {
			hiddenInfo.rewrite('<div class="Hinweis Sonderfarbe">Sorry, but the zoomfunction ist not available on this page!</b></div>');
		} 
		setTimeout("zoomOutImage(\'"+ id +"\')",4000);
	}
	return false;
}

function zoomOutImage(id) {
	if (hiddenInfo) {
		hiddenInfo.cut();
	}
}



/*
 * Bugfix tinymce2 befuellt leere Alt-Tags mit Leerzeichen
 * diese werden mit clearAllAltTags() komplett geleert
*/
 
function clearAllAltTags() {
	for(i=0; i <  document.images.length; i++) {
		if (document.images[i].alt == ' ') {
			document.images[i].alt = '';
		}
	}
}

function toTop() {
	window.scrollTo(0,0);
}


/* --------------------------- Basic Functions --------------------------- */

function getWindowWidth() {
	if (window.innerWidth) return window.innerWidth;
	else if (document.body && document.body.offsetWidth) return document.body.offsetWidth;
	else return 0;
}

function getWindowHeight() {
	if (window.innerHeight) return window.innerHeight;
	else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
	else return 0;
}

function openWin(which,width,height) {
	var t = window.open(which,'PopUp','width='+width+',height='+height+',screenX=10, left=10, screenY=10, top=10, scrollbars=1, resizable=1');
	t.focus();
	return void(t);
}
function openFullWin(which,width,height) {
	var t = window.open(which,'PopUp','width='+width+',height='+height+',screenX=10, left=10, screenY=10, top=10, scrollbars=1, resizable=1, toolbar=1, menuebar=1, location=1, status=1');
	t.focus();
	return void(t);
}

// Sonderfall für Spindelnews "Animation" in der rechten Spalte
function start3DAnimation() {  
	window.open('http://www.gmn.de/flashplayer/GMN_Spindel_3D_Animation.html','Animation','width=500,height=400,left='+(screen.availWidth/2-250)+';,top='+(screen.availHeight/2-200));  
}


function hideLinkBorder(which) {
	if (document.all && which.blur()) { which.blur(); }
}





var lang="de";


function formatValues(string) {
	var query = /(\w.+)_(\w.+)/;
	if (query.exec(string)) {
		string = RegExp.$1 + " " + RegExp.$2;
	}
	return string + "\n";
}


function checkValuesBeforContinue(form,values,submit){
	var f = form;
	var fields = values.split(",");
	var error = "";

	for (i=0; i < fields.length; i++) {
		if (fields[i].indexOf('select') > -1) {
			var t = fields[i].split("=");	
			if (document.forms[f].elements[t[1]][document.forms[f].elements[t[1]].selectedIndex].value == "") {
				error += formatValues(t[1]);
			}
		}
		else if (fields[i].indexOf('radio') > -1) {
			var t = fields[i].split("=");	
			var hit = -1;

			for (j=0; j < document.forms[f].elements[t[1]].length; j++) {
				if (document.forms[f].elements[t[1]][j].checked == true) {
					hit++;
				}
			}
			if (hit == -1) { error += formatValues(t[1]); }
		}
		else if (fields[i].indexOf('checkbox') > -1) {
			var t = fields[i].split("=");	
			if (document.forms[f].elements[t[1]].checked == false) {
				error += formatValues(t[1]);
			}
		}
		else if(document.forms[f].elements[fields[i]].value == ""){
			error += formatValues(fields[i]);
		}
		if (fields[i] == "Email") {
			error += (!proofMailSyntax(document.forms[f].elements[fields[i]].value)) ? "Sie haben keine oder eine fehlerhafte Emailadresse eingegeben\n" : "";
		}
		
	}
	if (error != "") {
		if (lang == "de") { alert("Für eine erfolgreiche Weiterverarbeitung benötigen wir noch folgende Daten von Ihnen:\n"+error); }
		else { alert("Please fill the with * marked fields completely!\n"); }
		return false;
	}
	else {
		if (submit == true) {
			document.forms[f].submit();
		}
		else {
			return true;	
		}
	}
}


/*

function getPrueffeld() {
	alert('Hier bitte nichts eingeben. \n\nWie es scheint haben Sie CSS (Casscading Stylesheets) in Ihrem Browser deaktiviert.\n Dieses Feld ist normalerweise nicht sichtbar und dient ausschliesslich zur Abwehr gegen Spammails.\n\nWir danken für Ihr Verständnis.');
}
document.write('<style>.Prueffeld { display:none; width:1px; height:1px; }</style>');
*/


function proofMailSyntax(emailadress) {
	var a = false;
	var res = false;
	
	// test ob regEx unterstuetzt wird
	if(typeof(RegExp) == 'function') {
		var b = new RegExp('abc');
		if(b.test('abc') == true){a = true;}
	}
	
	if(a == true) {
	  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
	                   '(\\@)([a-zA-Z0-9äüößÄÜÖ\\-\\.]+)'+
	                   '(\\.)([a-zA-Z]{2,4})$');
	  res = (reg.test(emailadress));
	}
	else {
	  res = (s.search('@') >= 1 &&
	         s.lastIndexOf('.') > s.search('@') &&
	         s.lastIndexOf('.') >= s.length-5)
	}
	return(res);
}


function flash_detection(required, max) {
	var required_version = required;
	var max_version = max;
	var available_version = 0;
	
	if(typeof(navigator.plugins["Shockwave Flash"]) == "object") {
		var description = navigator.plugins["Shockwave Flash"].description;
		available_version = description.substr(16, (description.indexOf(".", 16) - 16));
		//alert(available_version);
	}
	else if(typeof(ActiveXObject) == "function") {
		for(var i = 2; i < (max_version + 1); i ++) {
			try {
				if(typeof(new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i)) == "object") {
					available_version = i;
					//alert(available_version);
				}
			}
			catch(error) {

			}
		}
	}
	
	var result = [available_version, required_version];
	var img    = '<img src="/images/waiting_animation.gif" border="0">';
	var link   = '<p align="center"><a href="http://www.macromedia.com/go/getflashplayer" target="_blank">' + img + '<br>Adobe Flash Player Download-Center</a></p>';
	var msg    = '<div class="Sonderfarbe" style="padding:8px; width:250px; align="center"><b>Flash '+ required_version +' plugin requiered.</b>' + link + '</div>';
	
	if(!result[0]) {
		// no plugin
		for(i=0; i<=flashcounter; i++) {
			flashmovies[i].rewrite(msg);	
		}
	}
	else if(result[0] < result[1]) {
		// version to small
		for(i=0; i<=flashcounter; i++) {
			flashmovies[i].rewrite(msg);	
		}
	}
}
