function confirmLink(theLink, message, article)
{
  var confirmMsg = new Object();
  var confirmMsg = message;

  if (typeof confirmMsg == "undefined") {
    return false;
  }

  var is_confirmed = confirm(confirmMsg + '\n' + article)

  return is_confirmed;
}


function validate(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) {
    if (!field.value) {
    
      error = true;
      err_msg.push(myarray[i][2]);
    }
  }		
  //und radio-buttons, die ausgefüllt sein müssen
  else if (myarray[i][1].indexOf('ch')>-1) {
  	  var k=0;
  	  for (var j=0;j<field.length;j++)
      if (field[j].checked) {k=1;}
      if ((k==0) && (field.length>0)){
	      error = true;
	      err_msg.push(myarray[i][2]);
	  }
  }
  else if (myarray[i][1].indexOf('cb')>-1) { //checkboxen, die gesetzt sein müssen
  	  var k=0;
  	  if (field.checked) {k=1;}
      if (k==0){
	      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(" ");
    for (k=0;k<myvalue.length;k++) {
      newvalue+= myvalue[k].substr(0,1).toUpperCase()+myvalue[k].substring(1);
      if (k<myvalue.length-1){ newvalue+= " ";}
    }
    for(k=0;k<noble.length;k++){
      var reg = new RegExp (noble[k],"gi");
      newvalue = newvalue.replace(reg,noble[k]);
    }
    field.value = newvalue;
  }
}

/* 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 ');
    alert(err_msg);
    return false;
  }
  else {
    return true;
  }
}



function insert(aTag, formel, fname, textareaname) {
  var input = document.forms[fname].elements[textareaname];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
     
    	var range = document.selection.createRange(); 
        var stored_range = range.duplicate(); 
        stored_range.moveToElementText(input); 
        stored_range.setEndPoint( 'EndToEnd', range );
        input.selectionStart = stored_range.text.length - range.text.length;
        input.selectionEnd = input.selectionStart + range.text.length;
       
        //alert(stored_range.text.length);
 		var str1=input.value.substr(0,stored_range.text.length);
		var str2=input.value.substr(stored_range.text.length);
		//alert (str1 + str2);
     	var insText = range.text;
    	var auf=0;
	    for (var i=0;i<stored_range.text.length;i++){
	    	if (str1.substr(i,8)=="<formel>") {auf=1;}
	    	if (str1.substr(i,9)=="</formel>") {auf=0;}
	    }
     	if (auf ==1 || formel ==''){ range.text = aTag;}
     	else{ range.text = "<formel>" + aTag + "</formel>"}
    

    range = document.selection.createRange();

    if (insText.length == 0) {
      range.move('character',0);
    } else {
      range.moveStart('character', aTag.length);      
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */ 
  
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    var txt1 = input.value.substr(0, start)
    var auf=0;
    for (var i=0;i<start;i++){
    	if (txt1.substr(i,8)=="<formel>") {auf=1;}
    	if (txt1.substr(i,9)=="</formel>") {auf=0;}
    }
    if (auf ==1 || formel =='') {input.value = txt1 +  aTag +  input.value.substr(end);}
    else {input.value = txt1 +  "<formel>" + aTag + "</formel>" + input.value.substr(end);}
    /* Anpassen der Cursorposition */
    var pos;
    if (auf == 1) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + 8;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos;
    var re = new RegExp('^[0-9]{0,3}$');
    while(!re.test(pos)) {
      pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length) {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag  + input.value.substr(pos);
  }
}


	var secs
	var timerID = null
	var timerRunning = false
	var delay = 1000
	
	function InitializeTimer()
	{
	    // Set the length of the timer, in seconds
	    StopTheClock()
	    StartTheTimer()
	}
	
	function StopTheClock()
	{
	    if(timerRunning)
	        clearTimeout(timerID)
	    timerRunning = false
	}
	
	function StartTheTimer()
	{
	    if (secs==0)
	    {
	        StopTheClock()
	        // Here's where you put something useful that's
	        // supposed to happen after the allotted time.
	        // For example, you could display a message:
	        document.testform.submit()
	    }
	    else
	    {
	        self.status = secs
	        secs = secs - 1
	        document.getElementById("tim").value=secs
	        timerRunning = true
	        timerID = self.setTimeout("StartTheTimer()", delay)
	    }
	}
	
	

