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_validateNewsAdd() {
	
	
	var msg = 'Es traten beim eintragen folgende Fehler auf:\n';
	var errors = '';
	var error = false;
	var errorn = '';
	var errore = '';
	var errorp = '';
	var regname = /^[a-zöüä\/ß0-9 ,.-]+$/i;
	var regemail = /^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)$/i;
	
	for (i=1; i<10; i++) {
		
		error = false;
		
		name = document.getElementById("name"+i).value;
		if(name != "" && !name.match(regname)){
			error = true;
			errorn += " Name enthält ungültige Zeichen. ";
		}
		
		email = document.getElementById("email"+i).value;
		if(email != "" && !email.match(regemail)){
			error = true;
			errore += " Email ist ungültig. ";
		}
		
		if(name != "" && email == ""){
			error = true;
			errorp += " Keine Email zum Namen eingegeben. ";
		}
		if(error)
			errors += i+'. Zeile:'+errorn+errore+errorp+'\n';
	}
	if(errors != ""){
		alert(msg+errors);
		return false;
	}
	return true;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='Feld "'+nm+'" muss eine gültige Emailadresse enthalten.\n';
      } else if (test=='R') {
      	if(!val.match(/^[a-zöüä\/ß0-9 ,.-]+$/i))
      		errors+='Ungültiges Zeichen in "'+nm+'" enthalten!\n';
      	
      } else if (test!='R') {
      	num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += 'Feld "'+nm+'" sollte ausgefüllt sein.\n'; }
  } if (errors) alert('Sie haben nicht alle erforderlichen Felder ausgefüllt\n'+errors);
  
  if (errors == ''){
  	check = confirm('Diese Nachricht so absenden?');
  	document.MM_returnValue = check;
  	return;
  }
  
  document.MM_returnValue = (errors == '');
}

function MM_validateFormCont(){
	var i,p,q,nm,test,num,min,max,errors='',args=MM_validateFormCont.arguments;
	for(i=0; i<(args.length-2); i+=3) {
		test = args[i+2];
		val = MM_findObj(args[i]);
	}
}

function validateGift() { //v4.0
	
  	var regexps = new Array();
	
	regexps["text"] = /^[0-9a-z, \säüöß\.]{3,100}$/i;
	regexps["plz"] = /^[0-9]{5}$/;
	regexps["plzort"] = /^[0-9]{5}, [0-9a-z, \säüöß\.]{3,100}$/i;
	regexps["email"] = /^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)$/i;
	regexps["url"] = /^(http:[\/]{2})?www.([a-zA-Z0-9]|[\/.]|[~])*$/i;
	regexps["tel"] = /^[0-9+\(})-\/]{5,30}$/;
	regexps["cnt"] = /^[0-9]{1,3}$/;
	regexps["date"] = /^\d{1,2}\.\d{1,2}\.(\d{2}|\d{4})$/;
	regexps["ktonr"] = /^\d{5,18}$/;
	regexps["blz"] = /^\d{5,12}$/;
	regexps["bic"] = /^[0-9a-z]$/i;
		
	var msg = '';
	var args = validateGift.arguments;
	var save = true;
	
	for(i=0;i<args.length;i+=2){
		
		if(document.getElementById('Land').value == "ger" && args[i].name == "BicSwift")
      			continue;
		
		regexp = args[i].getAttribute('regexp');
		
		if(regexp == "chkbox" && args[i].checked == false){
			msg += 'Feld: '+args[i].name+'\n';
			msg += 'Fehler: '+args[i].getAttribute('regerr')+'\n\n';
			save = false;
			continue;
		} else if (regexp == "chkbox" && args[i].checked == true){
			continue
		}
		
		if(args[i+1] == "O" && args[i].value == "")
			continue;
		
		value = args[i].value;
		myrxp = new RegExp(regexps[regexp]);
		
		check = myrxp.test(value)

		if(!check){
			msg += 'Feld: '+args[i].name+'\n';
			msg += 'Fehler: '+args[i].getAttribute('regerr')+'\n\n';
			save = false;
		}
	}
	
	if(document.getElementById('Preis').value == "0" || document.getElementById('Preis').value == ''){
  	  msg+='Plausibilitätsfehler! Gutscheine für 0 Personen sind nicht möglich\n\n';
  	}
	
	if(msg != ""){
		msg = "Es sind folgende Fehler aufgetreten:\n" + msg;
		alert(msg);
		return false;
	}
	
  	check = confirm('Diese Nachricht so absenden?');
  	return check;  	  
}

var btnname = '';

function setButton(button){
	btnname = button;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function tellafriend(eid){
	//window.open('include/tellafriend.php?eid='+eid,'Tell-A-Friend','width=400,height=250,scrollbars=no,status=yes,resizable=no');
	window.open('/include/tellafriend.php?id='+eid,'TellAFriend','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=400,height=350');
}

var pop = null;

function popdown() {
  if (pop && !pop.closed) pop.close();
}

function popup(obj,w,h) {
  
  var pic = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
  if (!pic) return true;
  var url = '/scripts/pic.php?pic='+pic
  w = (w) ? w += 20 : 800;  // 150px*150px is the default size
  h = (h) ? h += 25 : 500;
  var args = 'width='+w+',height='+h+',resizable';
  popdown();
  pop = window.open(url,'',args);
  return (pop) ? false : true;
}

function redirect(url) {
	window.write("Sie werden nun weitergeleitet!");
}

String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}

String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

window.onunload = popdown;
window.onfocus = popdown;

function delRow(row)
{
  var rowid = row.parentNode.parentNode.rowIndex - 1;
  var tbl = document.getElementById("booktable");
  tbl.deleteRow(rowid);
  
  var cookiecont = '';

  $("#booktable").find("tr").each(function(i) {
  	if(document.getElementsByName("Leistungen"+i)[0]){
  		tmp = document.getElementsByName("Leistungen"+i)[0].value.split("|");
  		leist = tmp[0].rtrim();
  		dauer = tmp[1].ltrim().split(" ")[0];
  		preis = document.getElementsByName("Einzelpreis_Leistung"+i)[0].value;
  		if(cookiecont != ''){
  			cookiecont += "##";
  		}
  		cookiecont += leist+"##"+preis+"##"+dauer;
  	}
  });
  cookiecont = cookiecont.substr(0,cookiecont.length);
  
  if(cookiecont != ''){
  	$.cookie('bform', cookiecont, {expire: 60*60*24*30});  
  } else {
  	$.cookie('bform', '', {expire: null});
  }
}



function validateInput(){

	if(btnname == 'prod' || btnname == 'del') return true;
	
	var regexps = new Array();
	
	regexps["text"] = /^[0-9a-z, \säüöß\.]{3,100}$/i;
	regexps["plz"] = /^[0-9]{5}$/;
	regexps["plzort"] = /^[0-9]{5}, [0-9a-z, \säüöß\.]{3,100}$/i;
	regexps["email"] = /^[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4}|museum)$/i;
	regexps["url"] = /^(http:[\/]{2})?www.([a-zA-Z0-9]|[\/.]|[~])*$/i;
	regexps["tel"] = /^[0-9+\(})-\/]{5,30}$/;
	regexps["cnt"] = /^[0-9]{1,3}$/;
	regexps["date"] = /^\d{1,2}\.\d{1,2}\.(\d{2}|\d{4})$/;
	regexps["ktonr"] = /^\d{5,18}$/;
	regexps["blz"] = /^\d{5,12}$/;
	regexps["bic"] = /^[0-9a-z]$/i;
		
	var msg = '';
	var args = validateInput.arguments;
	var save = true;
	
	for(i=0;i<args.length;i+=2){
		
		regexp = args[i].getAttribute('regexp');
		
		if(regexp == "chkbox" && args[i].checked == false){
			msg += 'Feld: '+args[i].name+'\n';
			msg += 'Fehler: '+args[i].getAttribute('regerr')+'\n\n';
			save = false;
			continue;
		} else if (regexp == "chkbox" && args[i].checked == true){
			continue
		}
		
		if(args[i+1] == "O" && args[i].value == "")
			continue;
		
		value = args[i].value;
		myrxp = new RegExp(regexps[regexp]);
		
		check = myrxp.test(value)

		if(!check){
			msg += 'Feld: '+args[i].name+'\n';
			msg += 'Fehler: '+args[i].getAttribute('regerr')+'\n\n';
			save = false;
		}
	}
	
	if(msg != ""){
		msg = "Es sind folgende Fehler aufgetreten:\n" + msg;
		alert(msg);
		return false;
	}
	
  	check = confirm('Diese Nachricht so absenden?');
  	return check;
}