var checkFormSettingsMessage='Mindestes ein Formularelement wurde mit einem nicht zulässigen Wert besetzt. Bitte überprüfen Sie Ihre Eingaben.';
var regmail = /^([\w-\.]{2,})\@([\w-]{2,})\.([\w-\.]{2,})$/gi;
var ajaxReturnValue = 0;

function blankTimeOut() {

}

// Miscellaneous functions
function syncDateTime() {
  var datevalue = document.forms[0].datum_0.value;
  var timevalue = document.forms[0].zeit_0.value;
  for (var i=1; i<9; i++) {
     eval('document.forms[0].datum_'+i+'.value="'+datevalue+'"');
     eval('document.forms[0].zeit_'+i+'.value="'+timevalue+'"');
  }
}

function calcSpielnummer() {
  var spieltag=document.forms[0].Spieltag.value;
  var SpielnummerA = 1+((spieltag-1)*9);
  var SpielnummerB = SpielnummerA+8;
  document.forms[0].Nra.value = SpielnummerA;
  document.forms[0].Nrb.value = SpielnummerB;
}

function insert_topten(what) {
  var obj = document.forms[0];
  if (what==1) obj.Bodytext.value=obj.Bodytext.value+obj.topten_1.value;
  if (what==2) obj.Bodytext.value=obj.Bodytext.value+obj.topten_2.value;
}

function confirm_delete(what,url_redir) {
  var msg = "Möchten Sie den Eintrag wirklich löschen?"
  if (what>"") msg = "Möchten Sie den Eintrag '"+what+"' wirklich löschen?"
  var conf = confirm(msg);
  if (conf) {
    window.location.href = url_redir;
  }
}

var alerttext = new Array();
alerttext[1] = "Nicht vollständig ausgefüllt";
alerttext[2] = "Angabe Pseudonym inkorrekt";
alerttext[3] = "Angabe PLZ inkorrekt";
alerttext[4] = "Angabe Telefon-Nummer inkorrekt";
alerttext[5] = "Angabe Mailadresse inkorrekt";
alerttext[6] = "Passwort zu kurz oder enthält ungültige Zeichen";
alerttext[7] = "Ihre Eingaben stimmen nicht überein";
/*
function checkPWD() {
  // RegExpressions
  var regpwd = /^(\S{4,16})$/gi;
  msg=0;
  var obj = document.forms[0];
  var pwd1 = obj.Passwort.value;
  var pwd2 = obj.Repetition.value;
  if (regpwd.exec(pwd1)== null) msg=6;
  if (!msg) {
    var rep = new RegExp(pwd1, "g");
    if (rep.exec(pwd2) == null) msg=7;
  }
  if (msg) {
    alert(alerttext[msg]);
    return false;
  }
  return true;
}
*/
/*
function checkFormSubscription() {
  // RegExpressions
  var regps = /^([\wäöüßÄÖÜ]+)([\w-äöüßÄÖÜ\. ]{2,15})$/gi;
  var regmail = /^([\w-\.]{2,})\@([\w-]{2,})\.([\w-\.]{2,})$/gi;
  var regplz = /^(\d{5})$/gi;  // gilt nur für Deutschland !!!!!!!!!!
  var regtlf = /^([\d\+\(]+)([\d-\+\(\)\/ ]{7,})$/gi;
  var msg=0;
  var obj = document.forms[0];
  var name = obj.Name.value;
  var adr = obj.Strasse.value;
  var firma = obj.Firma.value;
  var pos = obj.Position.value;
  var ort = obj.Ort.value;
  var ps = obj.Pseudonym.value;
  var mail = obj.EMail.value;
  var plz = obj.PLZ.value;
  var tlf = obj.Telefon.value;
  if (name==""||adr==""||firma==""||pos==""||ort==""||ps==""||mail==""||plz==""||tlf=="") msg=1;
  if (!msg && regps.exec(ps)==null) msg=2;
  if (!msg && regplz.exec(plz)==null) msg=3;
  if (!msg && regtlf.exec(tlf)==null) msg=4;
  if (!msg && regmail.exec(mail)==null) msg=5;
  if (msg) {
    alert(alerttext[msg]);
    return false;
  }
  return true;
}
*/

function checkLoginForm() {
  var obj = document.getElementById('loginform');
  if (obj.Pseudonym.value=="" || obj.Passwort.value=="") {
    alert("Bitte geben Sie Ihr vollständiges Login an!");
    obj.action="";
    return false;
  }
  obj.submit();
  return true;
}

function openLocWindow(IDLocation) {
 	window.open("/misc/spielort.php?idsp=" + IDLocation,"Spielorte","height=400,width=500,left=200,top=50,status=no,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable",true);
}

function openTippWindow(url,game) {
  window.open(url,"Punkteberechnung"+game,"height=560,width=500,left=200,top=50,status=no,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable",true);
}

function SetTopList(url_top) {
  var frm = document.getElementById('toptenform');
  var obj = frm.Topten;
  var i = obj.options[obj.selectedIndex].value;
  frm.action=url_top + i;
  frm.submit();
}

function openflash() {
  var flashwin = window.open("../flash/pre_flash.php","goalchance","width=800,height=450,scrollbars=no");
  flashwin.focus();
}


function checkForm_NewPassword(frmid) {
  var frmobj = document.getElementById(frmid);
  var fail=false;
  if (!fail && regmail.exec(frmobj.EMail.value)==null) fail=true;
  if (!fail && frmobj.Pseudonym.value=="") fail=true;
  if (fail) {
    alert(checkFormSettingsMessage);
    return false;
  }
  frmobj.submit();
  return true;
}

function checkForm_Contact(frmid) {
  var frmobj = document.getElementById(frmid);
  var fail=false;
  if (!fail && regmail.exec(frmobj.EMail.value)==null) fail=true;
  if (!fail && frmobj.Bodytext.value=="") fail=true;
  if (fail) {
    alert(checkFormSettingsMessage);
    return false;
  }
  frmobj.submit();
  return true;
}

function checkForm_Special(frmid) {
  var frmobj = document.getElementById(frmid);
  var fail=false;
  if (!fail && frmobj.IDTeam.value==0) fail=true;
  if (fail) return false;
  frmobj.submit();
  return true;
}


function checkForm_Subscribe(frmid) {
  var frmobj = document.getElementById(frmid);
  var url = '/scripts/ajaxfunc.inc.php?op=checkname&'+$(frmid).serialize();
  var failmsg = checkFormSettingsMessage;
  new Ajax.Request(url, {
     onSuccess: function( r ) {
        var res = r.responseText;
        var resultset = res.split('~|~');
        var fail=false;
        if (!fail && resultset[1]=="") fail=true;
        if (!fail && resultset[2]=="") fail=true;
        if (!fail && resultset[3]=="") fail=true;
        if (!fail && resultset[4]=="") fail=true;
        if (!fail && resultset[5]=="") fail=true;
        if (!fail && resultset[6]=="") fail=true;
        if (!fail && resultset[0]==1) {
          failmsg = 'Das Pseudonym "'+resultset[1]+'" ist bereits vergeben. Bitte versuchen Sie ein anderes';
          $('pseudonym').value = '';
          fail = true;
        }
        if (fail) {
          alert(failmsg);
          return false;
        }
        frmobj.submit();
        return false;
     }
  });
}

function checkForm_Passport(frmid,idmember) {
  var frmobj = document.getElementById(frmid);
  var url = '/scripts/ajaxfunc.inc.php?op=checkpass&id='+idmember+'&'+$(frmid).serialize();
  var failmsg = checkFormSettingsMessage;
  new Ajax.Request(url, {
     onSuccess: function( r ) {
        var res = r.responseText;
        var resultset = res.split('~|~');
        var fail=false;
        if (!fail && resultset[1]=="") fail=true;
        if (!fail && resultset[2]=="") fail=true;
        if (!fail && resultset[3]=="") fail=true;
        if (!fail && resultset[4]=="") fail=true;
        if (!fail && resultset[5]=="") fail=true;
        if (!fail && resultset[6]=="") fail=true;
        if (!fail && (resultset[0]==1 || resultset[0]==3)) {
          failmsg = 'Das Pseudonym "'+resultset[1]+'" ist bereits vergeben. Bitte versuchen Sie einen anderen Spielernamen.';
          $('pseudonym').value = '';
          fail = true;
        }
        if (!fail && resultset[0]==2) {
          failmsg = 'Die Kennwörter stimmen nicht überein. Bitte bestätigen Sie Ihr neues Kennwort.';
          $('passwort').value = '';
          $('confirm').value = '';
          fail = true;
        }
        if (fail) {
          alert(failmsg);
          return false;
        }
        frmobj.submit();
        return false;
     }
  });
}



function checkFormDefaultSettings(frmobj) {
  /**
   * this function checks if form elements are not set to proper values (in other words sset to specific preset values)
   * the function takes an array of listbox element names and their default value
   *
   * e.g. checkFormDefaultSettings(this,'IDImage',0,'IDType','none')
   *
   * in the example above the function returns false if
   * - the form element named 'IDImage' is set to 0
   * and the form element named 'IDType' is set to 'none'
   *
   *
   */
  if (arguments.length < 3) return false;

  var elements = new Object();
  for (i=1;i<arguments.length;i+=2) {
    elements[arguments[i]] = arguments[i+1];
  }

  var frmel;
  var ok = true;
  for (i=0;i<frmobj.elements.length;i++) {
    frmel = frmobj.elements[i];
      if (frmel.type == 'select-one' || frmel.type == 'text') {
        $(frmel).setStyle({backgroundColor: '#FFFFFF'});
      }

      if (frmel.type == 'select-one' && frmel.options[frmel.selectedIndex].value == elements[frmel.name]) {
        $(frmel).setStyle({backgroundColor: '#FFCD3B'});
        ok = false;
      }
      if (frmel.type == 'text' && frmel.value == elements[frmel.name]) {
        $(frmel).setStyle({backgroundColor: '#FFCD3B'});
        ok = false;
      }
      if (frmel.type == 'checkbox' && frmel.value == elements[frmel.name]) ok = false;
  }
  if (!ok) {
    alert (checkFormSettingsMessage);
    return false;
  }
  return true;
}


function ajaxCheckPseudonym(url) {
  new Ajax.Request(url, {
     onSuccess: function( r ) {
        var res = r.responseText;
        $('pschk').value = res;
      }
  });
}

function ajaxGetBilanz(url) {
  new Ajax.Request(url, {
     onSuccess: function( r ) {
        var res = r.responseText;
        $('bilanz').innerHTML = res;
        $('bilanz').show();
      }
  });
}
