function close_popup()
{
	if(document.getElementById('popup')!=null)
	{
		document.getElementById('popup').style.display='none';
	}
	else
	{
		this.location.href="http://www.earlnewton.de/index.php";
	}
}
function close_messagepopup()
{
	if(document.getElementById('messagepopup')!=null)
	{
		document.getElementById('messagepopup').style.display='none';
	}
	else
	{
		this.location.href="http://www.earlnewton.de/index.php";
	}
}
function close_popup2()
{
	if(document.getElementById('popupbild2')!=null)
	{
		document.getElementById('popupbild2').style.display='none';
	}
	else
	{
		this.location.href="http://www.earlnewton.de/index.php";
	}
}
function open_popup(bild,x,y,w,h,key,pfad,liste,zoombild,zoomw)
{
	listearr = liste.split("|");
	anz = listearr.length;
	maxkey = anz -1;
	nextkey = key +1;
	if(nextkey > maxkey)
	{
		nextkey = 0;
	}

	nextbild = listearr[nextkey];
	teile = nextbild.split("#");
	nextimg = pfad+"/"+ teile[0];
	wnext=teile[1];
	hnext=teile[2];
	zoomwnext=teile[3];

	if(x=='center')
	{
		x=(document.body.offsetWidth-w)/2;
	}
	if(y=='center')
	{
		y=(document.body.offsetHeight-h)/2;
	}

	document.getElementById('popup').style.left=x+'px';

	document.getElementById('popup').style.top=y+'px';
	document.getElementById('popup').style.height=h+'px';
	document.getElementById('popup').style.width=w+'px';
	document.getElementById('popupbild').innerHTML='<img src="'+bild+'" alt="" onclick="open_popup(\''+nextimg+'\',\'center\',\'center\','+wnext+','+hnext+','+nextkey+',\''+pfad+'\',\''+liste+'\',\''+zoombild+'\','+zoomwnext+')">';
	document.getElementById('popup').style.display='block';

	xleft=w-34;
	document.getElementById('zoom').style.left=xleft+'px';
	xleft=w-17;
	document.getElementById('schliessx').style.left=xleft+'px';

	//document.getElementById('zoom').innerHTML='<img src="grafics/zoom.png" onclick="open_popup2(\''+zoombild+'\',\'center\',\'center\','+zoomw+',1000)" />';


}
function open_message(content,x,y,w,h)
{
	if(x=='center')
	{
		x=(document.body.offsetWidth-w)/2;
	}
	if(y=='center')
	{
		y=(570-h)/2;
	}

	document.getElementById('messagepopup').style.left=x+'px';

	document.getElementById('messagepopup').style.top=y+'px';
	if(h != '')
	{
		document.getElementById('messagepopup').style.height=h+'px';
	}
	if(w != '')
	{
		document.getElementById('messagepopup').style.width=w+'px';
	}

	document.getElementById('messagetext').innerHTML=content;
	document.getElementById('messagepopup').style.display='block';



}
function open_popup2(bild,x,y,w,h)
{

	if(x=='center')
	{
		x=(document.body.offsetWidth-w)/2;

		if(x<0)
		{
			x=0;
		}
	}
	if(y=='center')
	{
		y=(570-h)/2;
		if(y<0)
		{
			y=0;
		}
	}


	document.getElementById('popupbild2').style.left=x+'px';

	document.getElementById('popupbild2').style.top=y+'px';
	document.getElementById('popupbild2').style.height=h+'px';
	document.getElementById('popupbild2').style.width=w+'px';
	document.getElementById('popupbild2').innerHTML='<img src="'+bild+'" alt="popup" onclick="close_popup2()">';
	document.getElementById('popupbild2').style.display='block';

}
function showlayer()
{
	document.getElementById('schliessx').style.display='block';
	document.getElementById('zoom').style.display='block';
	document.getElementById('clicktipp').style.display='block';
}
function hidelayer()
{
	document.getElementById('schliessx').style.display='none';
	document.getElementById('zoom').style.display='none';
	document.getElementById('clicktipp').style.display='none';
}
function openguestbookform()
{
	document.getElementById('guestbookform').style.display='block';
	document.getElementById('newentry').innerHTML='&nbsp;';
}

$(function(){
	//Get our elements for faster access and set overlay width
	var div = $('div.sc_menu'),
		ul = $('ul.sc_menu'),
		ulPadding = 15; //15

	//Get menu width
	var divWidth = div.width();

	//Remove scrollbars
	div.css({overflow: 'hidden'});

	//Find last image container
	var lastLi = ul.find('li:last-child');

	//When user move mouse over menu
	div.mousemove(function(e){
		//As images are loaded ul width increases,
		//so we recalculate it each time
		var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;
		var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
		div.scrollLeft(left);
	});
});




function validate_form(sender,myarray,err_hd) {

var err_msg = !err_hd?new Array('Folgende Fehler sind aufgetreten:\n'):new Array(err_hd+'\n');
var error = false;

for (i=0;i<myarray.length;i++) {
  field = document.forms[sender.name].elements[myarray[i][0]];

/* Block 1 überprüft Felder, die ausgefüllt sein müssen */
  if (myarray[i][1].indexOf('e')>-1) {
		//alert(field.value);
    if (!field.value) {
      error = true;
      err_msg.push(myarray[i][2]);
    }
  }

/* Block 2 überprüft, ob die Emailadresse formal richtig ist */
  else if (myarray[i][1].indexOf('m')>-1) {
    if (field.value) {
      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,5}";
      var regex = "^"+usr+"\@"+domain+"$";
      var myrxp = new RegExp(regex);
      var check = (myrxp.test(field.value));
        if (check!=true) {
          error=true;
          err_msg.push(field.value+" "+myarray[i][2]);
        }
      }
    }

/* Block 3 überprüft Felder, deren Wert eine Zahl sein muss */
  else if (myarray[i][1].indexOf('n')>-1) {
    var num_error = false;
    if(field.value) {
      var myvalue = field.value;
      var num = myvalue.match(/[^0-9,\.]/gi)
      var dot = myvalue.match(/\./g);
      var com = myvalue.match(/,/g);
      if (num!=null) {
        num_error = true;
      }
      else if ((dot!=null)&&(dot.length>1)) {
        num_error = true;
      }
      else if ((com!=null)&&(com.length>1)) {
        num_error = true;
      }
      else if ((com!=null)&&(dot!=null)) {
        num_error = true;
      }
    }
    if (num_error==true) {
        error = true;
        err_msg.push(myvalue+" "+myarray[i][2]);
    }
  }

/* Block 4 überprüft Wert anhand eines regulären Audrucks auf bestimmte Muster */
  else if (myarray[i][1].indexOf('r')>-1) {
    var regexp = myarray[i][3];
    if (field.value) {
      if (!regexp.test(field.value)) {
        error = true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
    }
  }

/* Block 5 überprüft Felder, die als Preis formatiert sein müssen, ändert die Formatierung eventuell */
  else if (myarray[i][1].indexOf('p')>-1) {
    var myvalue = field.value;
    var reg = /,-{1,}|\.-{1,}/;
    var nantest_value = myvalue.replace(reg,"");
    var num = nantest_value.match(/[^0-9,\.]/gi)
    sep = myarray[i][1].substr(1,1)?myarray[i][1].substr(1,1):',';
    if (field.value) {
      var myvalue = field.value.replace(/\./,',');
      if (myvalue.indexOf(',')==-1) {
        field.value = myvalue+sep+'00';
      }
      else if (myvalue.indexOf(",--")>-1) {
        field.value = myvalue.replace(/,--/,sep+'00');
      }
      else if (myvalue.indexOf(",-")>-1) {
        field.value = myvalue.replace(/,-/,sep+'00');
      }
      else if (!myvalue.substring(myvalue.indexOf(',') + 2)) {
        error=true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
      else if (myvalue.substring(myvalue.indexOf(',') + 3)!='') {
        error=true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
      else if (num!=null) {
        error=true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
    }
  }

/* Block 6 überprüft Namensfelder, und korrigiert evtl. die Groß-/Kleinschreibung */
  else if (myarray[i][1].indexOf('c')>-1) {
    var noble = new Array("de","von","van","der","d","la","da","of");
    var newvalue='';
    var myvalue = field.value.split(/\b/);
    for (k=0;k<myvalue.length;k++) {
      newvalue+= myvalue[k].substr(0,1).toUpperCase()+myvalue[k].substring(1);
    }
    for(k=0;k<noble.length;k++){
      var reg = new RegExp ("\\b"+noble[k]+"\\b","gi");
      newvalue = newvalue.replace(reg,noble[k]);
    }
    field.value = newvalue;
  }
/* Block 7 überprüft Felder, die ausgefüllt sein müssen */
  else if (myarray[i][1].indexOf('x')>-1) {
		//alert(field.value);
    if (!field.checked) {
      error = true;
      err_msg.push(myarray[i][2]);
    }
  }
}

/* im Fehlerfall werden hier die gesammelten Fehlermeldungen verarbeitet und angezeigt. Wenn das
Formular ohne Beanstandung ist, wird es übertragen */
  if (error) {
    err_msg = err_msg.join('\n\xB7 ');
		err_msg = err_msg.replace(/\n/g, "<br />");

    open_message(err_msg,'center','center',300,'');
		//alert(err_msg);
    return false;
  }
  else {
    return true;
  }
}


function validate_input(sender,fieldname,myarray,err_hd) {

var err_msg = !err_hd?new Array('Folgende Fehler sind aufgetreten:\n'):new Array(err_hd+'\n');
var error = false;

for (i=0;i<myarray.length;i++) {
  field = document.forms[sender.name].elements[myarray[i][0]];

/* Block 1 überprüft Felder, die ausgefüllt sein müssen */
  if (myarray[i][1].indexOf('e')>-1) {
		//alert(field.value);
    if (fieldname == field.name && !field.value) {
      error = true;
      err_msg.push(myarray[i][2]);
    }
  }

/* Block 2 überprüft, ob die Emailadresse formal richtig ist */
  else if (myarray[i][1].indexOf('m')>-1) {
    if (fieldname == field.name && field.value) {
      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,5}";
      var regex = "^"+usr+"\@"+domain+"$";
      var myrxp = new RegExp(regex);
      var check = (myrxp.test(field.value));
        if (check!=true) {
          error=true;
          err_msg.push(field.value+" "+myarray[i][2]);
        }
      }
    }

/* Block 3 überprüft Felder, deren Wert eine Zahl sein muss */
  else if (myarray[i][1].indexOf('n')>-1) {
    var num_error = false;
    if(fieldname == field.name && field.value) {
      var myvalue = field.value;
      var num = myvalue.match(/[^0-9,\.]/gi)
      var dot = myvalue.match(/\./g);
      var com = myvalue.match(/,/g);
      if (num!=null) {
        num_error = true;
      }
      else if ((dot!=null)&&(dot.length>1)) {
        num_error = true;
      }
      else if ((com!=null)&&(com.length>1)) {
        num_error = true;
      }
      else if ((com!=null)&&(dot!=null)) {
        num_error = true;
      }
    }
    if (num_error==true) {
        error = true;
        err_msg.push(myvalue+" "+myarray[i][2]);
    }
  }

/* Block 4 überprüft Wert anhand eines regulären Audrucks auf bestimmte Muster */
  else if (myarray[i][1].indexOf('r')>-1) {
    var regexp = myarray[i][3];
    if (fieldname == field.name && field.value) {
      if (!regexp.test(field.value)) {
        error = true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
    }
  }

/* Block 5 überprüft Felder, die als Preis formatiert sein müssen, ändert die Formatierung eventuell */
  else if (myarray[i][1].indexOf('p')>-1) {
    var myvalue = field.value;
    var reg = /,-{1,}|\.-{1,}/;
    var nantest_value = myvalue.replace(reg,"");
    var num = nantest_value.match(/[^0-9,\.]/gi)
    sep = myarray[i][1].substr(1,1)?myarray[i][1].substr(1,1):',';
    if (field.value) {
      var myvalue = field.value.replace(/\./,',');
      if (myvalue.indexOf(',')==-1) {
        field.value = myvalue+sep+'00';
      }
      else if (myvalue.indexOf(",--")>-1) {
        field.value = myvalue.replace(/,--/,sep+'00');
      }
      else if (myvalue.indexOf(",-")>-1) {
        field.value = myvalue.replace(/,-/,sep+'00');
      }
      else if (!myvalue.substring(myvalue.indexOf(',') + 2)) {
        error=true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
      else if (myvalue.substring(myvalue.indexOf(',') + 3)!='') {
        error=true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
      else if (num!=null) {
        error=true;
        err_msg.push(field.value+" "+myarray[i][2]);
      }
    }
  }

/* Block 6 überprüft Namensfelder, und korrigiert evtl. die Groß-/Kleinschreibung */
  else if (myarray[i][1].indexOf('c')>-1) {
    var noble = new Array("de","von","van","der","d","la","da","of");
    var newvalue='';
    var myvalue = field.value.split(/\b/);
    for (k=0;k<myvalue.length;k++) {
      newvalue+= myvalue[k].substr(0,1).toUpperCase()+myvalue[k].substring(1);
    }
    for(k=0;k<noble.length;k++){
      var reg = new RegExp ("\\b"+noble[k]+"\\b","gi");
      newvalue = newvalue.replace(reg,noble[k]);
    }
    field.value = newvalue;
  }
/* Block 7 überprüft Felder, die ausgefüllt sein müssen */
  else if (myarray[i][1].indexOf('x')>-1) {
		//alert(field.value);
    if (fieldname == field.name && !field.checked) {
      error = true;
      err_msg.push(myarray[i][2]);
    }
  }
}

/* im Fehlerfall werden hier die gesammelten Fehlermeldungen verarbeitet und angezeigt. Wenn das
Formular ohne Beanstandung ist, wird es übertragen */
  if (error) {
    err_msg = err_msg.join('\n\xB7 ');
		err_msg = err_msg.replace(/\n/g, "<br />");

    open_message(err_msg,'center','center',300,'');
		//alert(err_msg);
    return false;
  }
  else {
    return true;
  }
}