// JavaScript Document
var chkN = false;
/* ---------------------------------------------------------------- */
function chkLogin()
{
  resetMessageText();
  user = document.loginform.user.value;
  pass = document.loginform.pass.value;
  if(user == '' || pass == ''){
    createMessage('error', 'Bitte Felder f&uuml;llen!');
    signSField('user');
    signSField('pass');
    document.loginform.user.focus();
  }
  else
    document.loginform.submit();
}

function wrongLogin()
{
  resetMessageText();
  createMessage('error', 'Der Login ist ung&uuml;ltig!');
  signSField('user');
  signSField('pass');
  document.loginform.user.focus();
}
// Ueberprueft das Formular der Projekt Definition
function chkFormular() 
{
  chksum = "true";
  resetMessageText();
  
  date = YAHOO.util.Dom.get("year-field").value + "-" + YAHOO.util.Dom.get("month-field").value + "-" +  YAHOO.util.Dom.get("day-field").value;
  if (radioWert(document.csdef.terminiert) == "ja" && (date == "" || date == "--" || date == "0000-00-00" || YAHOO.util.Dom.get("year-field").value == '' || YAHOO.util.Dom.get("month-field").value == '' || YAHOO.util.Dom.get("day-field").value == '')) {
    createMessage('error', 'Bitte Ablaufdatum angeben!');
    //createSildeOutMessage('error', 'Bitte Ablaufdatum angeben!');
    if(YAHOO.util.Dom.get("year-field").value == '')
    {
      document.csdef.year.focus();
      signSField('year-field');
    }
    if(YAHOO.util.Dom.get("month-field").value == '')
    {
      document.csdef.month.focus();
      signSField('month-field');
    }
    if(YAHOO.util.Dom.get("day-field").value == '')
    {
      document.csdef.day.focus();
      signSField('day-field');
    }
    if(date == "" || date == "--" || date == "0000-00-00")
    {
      document.csdef.day.focus();
      signSField('day-field');
      signSField('month-field');
      signSField('year-field');
    }
    chksum = "false";
  }
  else
  {
    var jetzt = new Date();
  	USDatum = YAHOO.util.Dom.get("month-field").value + "/" + YAHOO.util.Dom.get("day-field").value + "/" + YAHOO.util.Dom.get("year-field").value;
    if ( Date.parse(USDatum) < jetzt.getTime() ) { check_datum = 3; }
    else if ( Date.parse(USDatum) < ( jetzt.getTime() + (1*24*60*60*1000) ) ) { check_datum = 0; }
    else if ( Date.parse(USDatum) > ( jetzt.getTime() + (186*24*60*60*1000) ) ) { check_datum = 2; } else { check_datum = 1; }
  	document.csdef.datum.value = YAHOO.util.Dom.get("year-field").value + "-" + YAHOO.util.Dom.get("month-field").value + "-" +  YAHOO.util.Dom.get("day-field").value;
    if (radioWert(document.csdef.terminiert) == "ja" && check_datum == 0) {
      createMessage('error', 'Ablaufdatum kann fr&uuml;hestens in 24 Stunden sein!');
      document.csdef.day.focus();
      signSField('day-field');
      signSField('month-field');
      signSField('year-field');
      chksum = "false";
    }
    else if (radioWert(document.csdef.terminiert) == "ja" && check_datum == 2) {
      createMessage('error', 'Das Card-Sorting sollte nicht l&auml;nger als 6 Monate dauern!');
      document.csdef.day.focus();
      signSField('day-field');
      signSField('month-field');
      signSField('year-field');
      chksum = "false";
    }
    else if (radioWert(document.csdef.terminiert) == "ja" && check_datum == 3) {
      createMessage('error', 'Der von Ihnen angegebene Zeitpunkt ist bereits vorbei!');
      document.csdef.day.focus();
      signSField('day-field');
      signSField('month-field');
      signSField('year-field');
      chksum = "false";
    }
    else
    {
      unsignSField('day-field');
      unsignSField('month-field');
      unsignSField('year-field');
    }
  }
  
  if (document.csdef.typ[1].checked && document.csdef.limitieren.checked && (document.csdef.k_limit.value == "0" || document.csdef.k_limit.value.length == 0)) {
    createMessage('error', 'Bitte Kategorielimit angeben!');
    document.csdef.k_limit.focus();
    signSField('k_limit');
    chksum = "false";
  }
  else
  {
    unsignSField('k_limit');
  }
  
  if (document.csdef.name.value.length < 3) {
    createMessage('error', 'Der Name des Projekts sollte l&auml;nger als 3 Zeichen sein!');
    document.csdef.name.focus();
    signSField('name');
    chksum = "false";
  }
  if(chksum == "false")
  {
      //return false;
  }
  else
  {
    resetMessage();
    document.csdef.submit();
    //return true;
  }
} // End chkFormular()

function senden_mit_check()
{
  //if(document.URL.search(/verwalten.+/))
  if(document.csdef.p_id) 
    var param = 'action=checkForName&name='+encodeURIComponent(document.csdef.name.value)+'&p_id='+encodeURIComponent(document.csdef.p_id.value);
  else
    var param = 'action=checkForName&name='+encodeURIComponent(document.csdef.name.value);
  new Ajax.Request( './inc/ajaxactions.inc.php', { encoding: 'ISO-8859-1', method: 'post', parameters: param, onComplete: function(response){
     chkName2(response);
  }});
}

function chkName2(response)
{
  var resp = response.responseText;
  if(resp != '')
  {
    resetMessageText();
    createMessage('error', 'Dieser Name existiert bereits, Bitte geben Sie einen neuen ein!');
    document.csdef.name.focus();
    signSField('name');
  }
  else
  {
    chkFormular();
  }
}

// Ueberprueft das Formular des Einfuehrungstextes
function chkFormular2() {
  resetMessageText();
  myEditor.saveHTML(); 
  var html = myEditor.get('element').value;
  document.cset.editor.value = html;
  if (document.cset.editor.value == "" || document.cset.editor.value == "<br>") {
    createMessage('error', 'Bitte Einf&uuml;hrungstext eingeben!');
    document.cset.editor.focus();
    return false;
  }
	return true;
} // End chkFormular2()

// Ueberprueft das Formular der Kategorieeingabe
function chkFormular3 () {
  resetMessageText();
  if (document.kat_neu.name.value == "") {
    createMessage('error', 'Bitte eine Kategoriebenennung eingeben!');
    document.kat_neu.name.focus();
    signSField('name');
    return false;
  }
	return true;
} // End chkFormular3()

// Ueberprueft das Formular der Kategorieeingabe
function chkFormular4 () {
  resetMessageText();
  var root = document.getElementById('kategorien');
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 3)
  {
    createMessage('error', 'Es sollten mindestens 2 Kategorien angelegt sein!');
    document.kat_neu.name.focus();
    signSField('name');
  }
  else
  {
    location.href = 'projekt_karten.php';
  }
} // End chkFormular4()

// Ueberprueft das Formular der Kategorieeingabe Im Editmode
function chkFormular4e () {
  resetMessageText();
  var root = document.getElementById('kategorien');
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 3)
  {
    createMessage('error', 'Es sollten mindestens 2 Kategorien angelegt sein!');
    document.kat_neu.name.focus();
    signSField('name');
    return false;
  }
  else
  {
    return true;
  }
} // End chkFormular4e()

// Ueberprueft das Formular der Karteneingabe
function chkFormular5 () {
  chksum = "true";
  resetMessageText();
  if(document.karten_neu.name.value == "") 
  {
    createMessage('error', 'Bitte eine Kartenbenennung eingeben!');
    document.karten_neu.name.focus();
    signSField('name');;
    chksum = "false";
  }
  if(document.karten_neu.beschreibung.value.length > 350)
  {
    createMessage('error', 'Ihre Beschreibung ist zu lang!');
    document.karten_neu.beschreibung.focus();
    signSField('beschreibung');;
    chksum = "false";
  }
	if(chksum == "false")
    return false;
  else
  {
    //resetMessage();
    unsignSField('beschreibung');
    resetInPlaceMessage('descinfo');
    return true;
  }
} // End chkFormular5()

// Ueberprueft das Formular der Karteneingabe
function chkFormular6() {
  resetMessageText();
  var root = document.getElementById('karten');
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 3)
  {
    createMessage('error', 'Es sollten mindestens 2 Karten angelegt sein!');
    document.karten_neu.name.focus();
    signSField('name');
  }
  else
  {
    location.href = 'projekt_dank.php';
  }
} // End chkFormular6()

// Ueberprueft das Formular der Karteneingabe im Editmode
function chkFormular6e() {
  resetMessageText();
  var root = document.getElementById('karten');
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 3)
  {
    createMessage('error', 'Es sollten mindestens 2 Karten angelegt sein!');
    document.karten_neu.name.focus();
    signSField('name');
    return false;
  }
  else
  {
    return true;
  }
} // End chkFormular6e()

function chkFormular7() {
  resetMessageText();
  myEditor.saveHTML(); 
  var html = myEditor.get('element').value;
  document.csdt.editor.value = html;
  if (document.csdt.editor.value == "" || document.csdt.editor.value == "<br>") {
    createMessage('error', 'Bitte Einf&uuml;hrungstext eingeben!');
    document.csdt.editor.focus();
    return false;
  }
	return true;
}

function chkFormular8() 
{
  chksum = true;
  resetMessageText();
  
	var email = stringTrim(document.probanden_neu.email.value);
  reg = new RegExp('^[_\\.0-9A-Za-z-]+@([0-9A-Za-z][0-9A-Za-z-]+\\.)+[A-Za-z]{2,4}\$');
  res = (reg.test(email));
  
  if(email.length >= 3 && res != false)
  {
    var array = $F('array');
    var param = 'action=checkForEmail&email='+encodeURIComponent(email)+'&array='+array;
    new Ajax.Request( './inc/ajaxactions.inc.php', { encoding: 'ISO-8859-1', method: 'post', parameters: param, onComplete: function(Request){
      if(Request.responseText != '')
      {
        document.probanden_neu.email.focus();
        chksum = false;
        createMessage('error', 'Ein Proband mit der Email Adresse "'+email+'" existiert bereits!');
        inPlaceMessage(Request, 'email', 'emailinfo');
      }
    }});
  }
  else
  {
    createMessage('error', 'Bitte eine korrekte Email Adresse angeben!');
    document.probanden_neu.email.focus();
    signSField('email');
    chksum = false;
  }
  
  var nname = stringTrim(document.probanden_neu.nachname.value);
	if (nname == "") 
  {
    createMessage('error', 'Bitte einen Nachnamen angeben!');
    document.probanden_neu.nachname.focus();
    signSField('nachname');
    chksum = false;
  }
  else
  {
    unsignSField('nachname');
  }
  
	var vname = stringTrim(document.probanden_neu.vorname.value);
  if (vname == "") 
  {
    createMessage('error', 'Bitte einen Vornamen angeben!');
    document.probanden_neu.vorname.focus();
    signSField('vorname');
    chksum = false;
  }
  else
  {
    unsignSField('vorname');
  }
  
  if(chksum == false)
  {
    return false;
  }
  else
  {
    //resetMessage();
    return true;
  }
}

function chkFormular8_edit() 
{
  chksum = true;
  resetMessageText();
  
	var email = stringTrim(document.probanden_edit.email.value);
	old_email = document.probanden_edit.old_email.value;
  reg = new RegExp('^[_\\.0-9A-Za-z-]+@([0-9A-Za-z][0-9A-Za-z-]+\\.)+[A-Za-z]{2,4}\$');
  res = (reg.test(email));
  
  if(email.length >= 3 && res != false)
  {
    if(email != old_email)
    {
      var array = $F('array');
      var param = 'action=checkForEmail&email='+encodeURIComponent(email)+'&array='+array;
      new Ajax.Request( '../inc/ajaxactions.inc.php', { encoding: 'ISO-8859-1', method: 'post', parameters: param, onComplete: function(Request){
        if(Request.responseText != '')
        {
          document.probanden_edit.email.focus();
          chksum = false;
          createMessage('error', 'Ein Proband mit der Email Adresse "'+email+'" existiert bereits!');
          inPlaceMessage(Request, 'email', 'emailinfo');
        }
      }});
    }
    else
    {
      signSFieldOK('email');
      resetInPlaceMessage('emailinfo');
    }
  }
  else
  {
    createMessage('error', 'Bitte eine korrekte Email Adresse angeben!');
    document.probanden_edit.email.focus();
    signSField('email');
    chksum = false;
  }
  
	var nname = stringTrim(document.probanden_edit.nachname.value);
  if (nname == "") 
  {
    createMessage('error', 'Bitte einen Nachnamen angeben!');
    document.probanden_edit.nachname.focus();
    signSField('nachname');
    chksum = false;
  }
  else
  {
    unsignSField('nachname');
  }
  
	var vname = stringTrim(document.probanden_edit.vorname.value);
  if (vname == "") 
  {
		createMessage('error', 'Bitte einen Vornamen angeben!');
    document.probanden_edit.vorname.focus();
    signSField('vorname');
    chksum = false;
  }
  else
  {
		unsignSField('vorname');
  }
  
  if(chksum == false)
  {
    return false;
  }
  else
  {
    //resetMessage();
    return true;
  }
}

// Ueberprueft das Formular der Probandeneingabe & legt bei erfolg das Projekt an
function chkFormular9(loc) 
{
  resetMessageText();
  var root = document.getElementById('probanden');
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 3)
  {
    createMessage('error', 'Es sollten mindestens 2 Probanden angelegt sein!');
    document.probanden_neu.vorname.focus();
    signSField('vorname');
    signSField('nachname');
    signSField('email');
  }
  else
  {
    if(loc == 1)
    {
      var param = 'action=cpvai';
      new Ajax.Request( './inc/dbactions.inc.php', { encoding: 'ISO-8859-1', method: 'post', parameters: param, onComplete: function(Request){release(Request)}, onLoading: function(){processing('l&auml;dt gerade ...');}});
    }
    if(loc == 0)
    {
      var param = 'action=cp';
      new Ajax.Request( './inc/dbactions.inc.php', { encoding: 'ISO-8859-1', method: 'post', parameters: param, onComplete: function(Request){release(Request)}, onLoading: function(){processing('l&auml;dt gerade ...');}});
    }
  }
} // End chkFormular9()

// Ueberprueft das Formular der Probandeneingabe im Editmode
function chkFormular9e() 
{
  resetMessageText();
  var root = document.getElementById('probanden');
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 3)
  {
    createMessage('error', 'Es sollten mindestens 2 Probanden angelegt sein!');
    document.probanden_neu.vorname.focus();
    signSField('vorname');
    signSField('nachname');
    signSField('email');
    return false;
  }
  else
  {
    return true;
  }
} // End chkFormular9()

// Ueberprueft das Feedback
function chkFeedback() 
{
  chksum = true;
  resetMessageText();
  
	email = document.feedback.email.value;
  reg = new RegExp('^[_\\.0-9A-Za-z-]+@([0-9A-Za-z][0-9A-Za-z-]+\\.)+[A-Za-z]{2,4}\$');
  res = (reg.test(email));
  
  if (document.feedback.feedbacktext.value == "") 
  {
    document.feedback.feedbacktext.focus();
    signSField('feedbacktext');
    chksum = false;
  }
  else
  {
    unsignSField('feedbacktext');
  }
  
  if (email.length < 3 || res == false) 
  {
    document.feedback.email.focus();
    signSField('email');
    chksum = false;
  }
  else
  {
    unsignSField('email');
  }
  
  if (document.feedback.nname.value == "") 
  {
    document.feedback.nname.focus();
    signSField('nname');
    chksum = false;
  }
  else
  {
    unsignSField('nname');
  }
  
  if (document.feedback.vname.value == "") 
  {
    document.feedback.vname.focus();
    signSField('vname');
    chksum = false;
  }
  else
  {
    unsignSField('vname');
  }
  
  if(chksum == false)
  {
    createMessage('error', 'Bitte &uuml;berpr&uuml;fen Sie Ihre eingaben, es m&uuml;ssen alle Pflichtfelder (*) korrekt gef&uuml;llt sein!');
  }
  else
  {
    //resetMessage();
    document.feedback.submit();
  }
} // End chkFeedback()

function checkEmptyTable(containerid, classname)
{
  var root = document.getElementById(containerid);
  var allRows = root.getElementsByTagName('div');
  if(allRows.length <= 2)
  {
    var row = document.createElement("div");
    row.id = 'empty';
    row.style.display = 'block';
    row.innerHTML = '<table class="'+classname+'" cellpadding="0" cellspacing="0">'+
                  '<tr>'+
                  '<td colspan="3" class="noch_keine_zwei">Bisher noch keine '+containerid+' angelegt.<br />Bitte mindestens 2 '+containerid+' definieren.</td>'+
	                '</tr>'+
	                '</table>';
	  root.insertBefore(row, allRows[1]);
    document.getElementById('fktall').style.display = 'none';
  }
}

function checkBoxes(el, containerid)
{
  var root = document.getElementById(containerid);
  var allRows = root.getElementsByTagName('div');

  for(i = 1; i <= (allRows.length - 2); i++)
  {
    var cell = allRows[i].getElementsByTagName("td")[0];
    cell.getElementsByTagName("input")[0].checked = true;
  }
  document.getElementById('fktAllNot').style.display = 'none';
  document.getElementById('fktAllDo').style.display = 'inline';
}

function uncheckBoxes(el, containerid)
{
  var root = document.getElementById(containerid);
  var allRows = root.getElementsByTagName('div');
  
  for(i = 1; i <= (allRows.length - 2); i++)
  {
    var cell = allRows[i].getElementsByTagName("td")[0];
    cell.getElementsByTagName("input")[0].checked = false;
  }
  document.getElementById('fktAllNot').style.display = 'inline';
  document.getElementById('fktAllDo').style.display = 'none';
}

function inverseBoxes(el, tableid)
{
  var root = document.getElementById(tableid);
  var allRows = root.getElementsByTagName('div');
    
  for(i = 1; i <= (allRows.length - 2); i++)
  {
    var cell = allRows[i].getElementsByTagName("td")[0];
    if(cell.getElementsByTagName("input")[0].checked == true)
      cell.getElementsByTagName("input")[0].checked = false;
    else
      cell.getElementsByTagName("input")[0].checked = true;
  }
  checkFktAllBoxes(tableid);
}

/*
function senden_mit_check() 
{
 if (chkFormular()) 
 {
  document.csdef.submit(); 
 }
}
*/

function send_check1() 
{
 if (chkFormular2()) {
	document.cset.submit(); 
 }
}

function send_check2() 
{
 if (chkFormular3())
	document.kat_neu.submit(); 
}

function send_check3() 
{
 if (chkFormular5())
	document.karten_neu.submit(); 
}

function send_check4() 
{
 if (chkFormular8())
	document.probanden_neu.submit(); 
}

function send_check4i() 
{
 if (chkFormular8())
	addProb(1);
}

function send_check5() 
{
 if (chkFormular8_edit())
	document.probanden_edit.submit(); 
}

function send_check6() 
{
 if (chkFormular7()) {
	document.csdt.submit(); 
 }
}

function send_check7() 
{
 if (chkFormular4e()) {
	document.csvcat.submit(); 
 }
}

function send_check8() 
{
 if (chkFormular6e()) {
	document.csvcar.submit(); 
 }
}

function send_check9() 
{
 if (chkFormular9e()) {
	document.csvprob.submit(); 
 }
}

function radioWert(rObj) {
  for (var i=0; i<rObj.length; i++) if (rObj[i].checked) return rObj[i].value;
  return false;
}

function nurZahlen(el)
{
  var val = el.value.replace(/[^\.^,\d]/g, '');
  el.value = val;
}

function limitChars(el)
{
  if(el.value.length > 350)
  {
    el.value = el.value.substring(0, 350);
    signSFieldwT('Die angegebene Beschreibung sollte nicht l&auml;nger als 350 Zeichen sein! Wenn Sie die Karte trotzdem hinzuf&uuml;gen wird die Beschreibung automatisch gek&uuml;rzt!', 'beschreibung', 'descinfo');
  }
  else
  {
    unsignSField('beschreibung');
    resetInPlaceMessage('descinfo');
  }
}

function viewValue(el, id)
{
  if(el.checked)
  {
    document.getElementById(id).style.display = 'inline';
  }
  else
  {
    document.getElementById(id).style.display = 'none';
  }
}

function displayImportModule(opt)
{
  if(opt == 'hide')
  {
    document.getElementById('importieren').style.display = 'none'; 
    document.getElementById('importierenbtn').style.display = 'none';
  }
  if(opt == 'view')
  {
    document.getElementById('importieren').style.display = 'block'; 
    document.getElementById('importierenbtn').style.display = 'block';
  }
}

function checkFktAllBoxes(container)
{
  chk = false;
  var root = document.getElementById(container);
  var allRows = root.getElementsByTagName('div');
  for(i = 1; i <= (allRows.length - 2); i++)
  {
    var cell = allRows[i].getElementsByTagName("td")[0];
    if(cell.getElementsByTagName("input")[0].checked == true)
    {
      chk = true;
    }  
  }
  if(chk) 
  {
    document.getElementById('fktAllNot').style.display = 'none';
    document.getElementById('fktAllDo').style.display = 'inline';
  }
  else
  {
    document.getElementById('fktAllNot').style.display = 'inline';
    document.getElementById('fktAllDo').style.display = 'none';
  }
}
