function registerFormAntiDoubleSubmit() {
	if(document.forms) {
		for(i=0;i<document.forms.length;i++) {
			if (document.forms[i].name.substr(0,5)=='noads') continue;	//Formulare mit Namenspräfix noads werden nicht gesperrt!
			document.forms[i].onsubmit = formSubmitHandler;
		}
	}
}

var formslocked = false;
function formSubmitHandler(e) {
	if (formslocked == true) return false;

	// Alle Submits und Buttons deaktivieren
	if(document.forms) {
		for(i=0;i<document.forms.length;i++) {
			if (document.forms[i].name.substr(0,5)=='noads') continue;	//Formulare mit Namenspräfix noads werden nicht gesperrt!
			if (document.forms[i].elements) {
				for(j=0;j<document.forms[i].elements.length;j++) {
					type=document.forms[i].elements[j].type;
					if ((type=='submit') || (type=='button')) {
						document.forms[i].elements[j].disabled=true;
						//@by Konsi, damit styled Buttons korrekt angezeigt werden
						document.forms[i].elements[j].className+=" button_disabled";
					}
				}
			}
		}
	}
	formslocked=true;
	return true;
}

function openPopUpWindow(url, width, height) {
	var posX = 50;
	var posY = 50;
	var urlstr = url;

	urlstr = encodeURIComponent(urlstr.replace(/\./g, '_'));
	urlstr = encodeURIComponent(urlstr.replace(/%/g, '_'));

	if (navigator.appName == 'Microsoft Internet Explorer') {
		height += 20; // title bar (approx)
	}

	if (navigator.appName == 'Opera') {
		posX = Math.round(top.innerWidth/2 - width/2);
		posY = Math.round(top.innerHeight/2 - height/2);
	} else {
		posX = Math.round(screen.availWidth/2 - width/2);
		posY = Math.round(screen.availHeight/2 - height/2);
	}

	if (posX < 0) posX = 0;
	if (posY < 0) posY = 0;

	popup = window.open(url, 'popUpWindow'+width.toString()+height.toString()+urlstr, 'width='+width+','+'height='+height+','+'resizable=no'+','+'scrollbars=no'+','+'status=no'+','+'toolbar=no'+','+'menubar=no'+','+'location=no'+','+'dependent=no'+','+'left='+posX+','+'top='+posY);
	popup.focus();
//	if (navigator.appName == 'Opera') {
//		moveX = Math.round(top.innerWidth/2 - width/2);
//		moveY = Math.round(top.innerHeight/2 - height/2);
//		if (moveX < 0) moveX = 0;
//		if (moveY < 0) moveY = 0;
//		popup.moveTo(moveX, moveY);
//	}
}

function ifPicPopUp(e) {
	msg="© of this edit: InterFriendship";
	if (navigator.appName == 'Netscape' && e.which == 3) {
		alert(msg);
		return false;
	}
	if (navigator.appName == 'Microsoft Internet Explorer' && event.button==2) {
		alert(msg);
		return false;
	}
	else return true;
}

function rightClickOnPic() {
	if(document.images)
	for(i=0;i<document.images.length;i++)
	document.images[i].onmousedown = ifPicPopUp;
}

function openShowPic(ifcode) {
	var width;
	var height;
	if (navigator.appName == 'Opera') {
		width = top.innerWidth;
		height = top.innerHeight;
	} else {
		width = screen.availWidth;
		height = screen.availHeight;
	}
	var w=Math.min(width-100,1280);
	var h=Math.min(height-120,1000);
	openPopUpWindow("/de/daten/showpic.php?ifcode="+ifcode,w,h);
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

//@ by Konsi from this line on

//JavaScript Äquivalent für die PHP in_array funktion
function in_array(needle, haystack, strict) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: true
    var found = false, key, strict = !!strict;
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            found = true;
            break;
        }
    }
    return found;
}
//Für (über das rel Attribut) definierte Ausnahmen, bitte hier entsprechende Strings eintragen
var alwaysDisabled = new Array('example');
//(re)-aktiviert alle Buttons. Sollte beim Laden einer html-Datei ausgeführt werden, da Buttons evtl. weiterhin deaktiviert sind, wenn man über den Browser eine Seite zurück geht (z.B. im Firefox3 beobachtet). Für Ausnahmen siehe oben.
function enableAllButtons () {
	if(document.forms) {
		for(i=0;i<document.forms.length;i++) {
			if (in_array(document.forms[i].getAttribute('rel'),alwaysDisabled)) continue;	//Formulare deren Inhalt des rel-Attributes einem der Werte aus dem Array alwaysDisabled entspricht, werden nicht freigegeben!
			if (document.forms[i].elements) {
				for(j=0;j<document.forms[i].elements.length;j++) {
					if (in_array(document.forms[i].elements[j].getAttribute('rel'),alwaysDisabled)) continue;	//Formular-elemente deren Inhalt des rel-Attributes einem der Werte aus dem Array alwaysDisabled entspricht, werden nicht freigegeben!
					type=document.forms[i].elements[j].type;
					if ((type=='submit') || (type=='button')) {
						document.forms[i].elements[j].disabled=false;
						//Alle Vorkommen der Klasse "button_disabled" entfernen, falls vorhanden
						document.forms[i].elements[j].className.replace(/\bbutton_disabled\b/g,"");
					}
				}
			}
		}
	}
}

