/*
	This is the JavaScript file for the AJAX Suggest Tutorial

	You may use this code in your own projects as long as this 
	copyright is left	in place.  All code is provided AS-IS.
	This code is distributed in the hope that it will be useful,
 	but WITHOUT ANY WARRANTY; without even the implied warranty of
 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
	
	For the rest of the code visit http://www.DynamicAJAX.com
	
	Copyright 2006 Ryan Smith / 345 Technical / 345 Group.	

*/

function kaufm(x) {
  var k = (Math.round(x * 100) / 100).toString();
  k += (k.indexOf('.') == -1)? '.00' : '00';
  return k.substring(0, k.indexOf('.') + 3);
}

function calcSingle() {
	// Single Game Time
//	var sgt = parseInt(document.frmScoring.scoresGametime.value);
	var sgt = parseFloat(document.frmScoring.scoresGametime.value);

	// Single RUn Distance
//	var sru = parseInt(document.frmScoring.scoresRudi.value);
	var sru = parseFloat(document.frmScoring.scoresRudi.value);

	// SchWierigkeitsGrad
//	var swg = parseInt(document.frmScoring.scoresSWG.value);
	var swg = parseFloat(document.frmScoring.scoresSWG.value);

	// Score Sum Single Crash
//	var sssc = parseInt(document.frmScoring.sssc.value);
	var sssc = parseFloat(document.frmScoring.sssc.value);

	// Berechnung der Crash-Referenzen
	
	// Single Crash 12
	var scz = SingleRefZwoelf(sru,swg);

	// Single Crash 6
	var scs = SingleRefSechs(scz);


	// Final Scores berechnen
	if(sgt == 6) {
		// Final Single Score 6 Minuten
		var sc = sssc/scs*10;
	}
	if(sgt == 12) {
		// Final Single Crash 12 Minuten
		var sc = sssc/scz*10;
	}

	// Final Team Crash berechnen

	 if(sc > 0) { document.frmScoring.scoresFinalSingleCrash.value = kaufm(sc); }
	
	// Final Classic
	// neue Variable RODI -> Round Distance
	// neue Variable Anzahl Cups
	
	// Referenz = (AnzahlCups*10)-(RODI/15)+SWG
	// FinalClass = Summe/Referenz*10
	return;
}

function calcTeam() {
	// Single Game Time
	var sgt = parseFloat(document.frmScoring.scoresGametime.value);
	
	// Single RUn Distance
	var sru = parseFloat(document.frmScoring.scoresRudi.value);
	
	// SchWierigkeitsGrad
	var swg = parseFloat(document.frmScoring.scoresSWG.value);
	
	// Score Sum Team Crash
	var sstc = parseFloat(document.frmScoring.sstc.value);
	
	// Score Team Count
	var stco = parseFloat(document.frmScoring.stco.value);
	
	// Berechnung der Crash-Referenzen
	
	// Single Crash 12
	var scz = SingleRefZwoelf(sru,swg);

	// Single Crash 6
	var scs = SingleRefSechs(scz);

	// Team Crash 12
	var tcz = TeamRefZwoelf(scz,stco);

	// Team Crash 6
	var tcs = TeamRefSechs(tcz);

	// Final Scores berechnen
	if(sgt == 6) {
		// Final Team Score 6 Minuten
		var tc = sstc/tcs*10;
	}
	if(sgt == 12) {
		// Final Team Crash 12 Minuten
		var tc = sstc/tcz*10;
	}

	// Final Team Crash berechnen

	if(tc>0&&!isNaN(tc)) { 
	document.frmScoring.scoresFinalTeamCrash.value = kaufm(tc);
	}
	document.frmScoring.scores_finalteamcount.value = stco;
	return;
}

function calcClassic() {

	// Round Distance
	var sro = parseFloat(document.frmScoring.scoresRodi.value);
	
	// SchwierigkeitsGrad
	var swg = parseFloat(document.frmScoring.scoresSWG.value);
	
	// Anzahl Cups
	var ccu = parseFloat(document.frmScoring.countCups.value);
	
	// Classic Score
	var sscl = parseFloat(document.frmScoring.sscl.value);
	
	// Berechnung der Crash-Referenzen
	
	// Single Classic Referenz
	var sclr = (ccu*10)-((sro/15)+swg);

	// Final Classic Score berechnen
	var cl = sscl/sclr*10;


	// Final Team Crash berechnen

	if(cl>0&&!isNaN(cl)) { 
	document.frmScoring.scores_finalclassic.value = kaufm(cl);
	}
	return;
}

function SingleRefZwoelf(sru,swg) {
	var scz = 12*66/(sru+(swg*10))*10;
	return scz;
}

function SingleRefSechs(scz) {
	var scs = scz/2*1.1;
	return scs;
}

function TeamRefZwoelf(scz,stco) {
	var tcz = scz*stco/2*1.2;
	return tcz;
}

function TeamRefSechs(tcz) {
	var tcs = tcz/2*1.1;
	return tcs;
}

function validateScore() {
	var strFehler='';
	//if (document.forms[0].Email.value=="")
	//strFehler += "Feld Email ist leer\n";

	for (var i=0; i < document.forms[0].var_tournament.length; i++)
   	{
   		if (document.forms[0].var_tournament[i].checked)
      	{
      		var rad_val = document.forms[0].var_tournament[i].value;
      	}
   	}

	if(rad_val=="newT") {
		if (document.forms[0].tournaments_name.value=="")
		strFehler += "Feld Turniername ist leer\n";
	}
	
	if (document.forms[0].players_lastname.value=="")
	strFehler += "Feld Nachname ist leer\n";

	if (document.forms[0].players_firstname.value=="")
	strFehler += "Feld Vorname ist leer\n";

	if (document.forms[0].players_birthyear.value=="")
	strFehler += "Feld Geburtsjahr ist leer\n";

	if (document.forms[0].scores_date.value=="")
	strFehler += "Feld Scoringdatum ist leer\n";

	if (IsNumeric(document.forms[0].players_birthyear.value)==false) {
	strFehler += "Feld Geburtsjahr ist keine Zahl\n";
	}
	else {
		if (document.forms[0].players_birthyear.value<1850 || document.forms[0].players_birthyear.value>2050) {
			strFehler += "Das Geburtsjahr muss zwischen 1850 und 2050 liegen \n";
		}	
	}

	if (document.forms[0].players_email.value!="")
	if (!validEmail(document.forms[0].players_email.value)) {
	strFehler += "Bitte gültige Emailadresse eingeben!\n";
	}

	if (strFehler.length>0) {
	// alert("Festgestellte Probleme: \n\n"+strFehler);
		return(strFehler);
	}
	else {
		return(true);
	}
}

function validateScoreTeam() {
	var strFehler='';
	//if (document.forms[0].Email.value=="")
	//strFehler += "Feld Email ist leer\n";

	for (var i=0; i < document.forms[0].var_tournament.length; i++)
   	{
   		if (document.forms[0].var_tournament[i].checked)
      	{
      		var rad_val = document.forms[0].var_tournament[i].value;
      	}
   	}

	if(rad_val=="newT") {
		if (document.forms[0].tournaments_name.value=="")
		strFehler += "Feld Turniername ist leer\n";
	}
	
	if (document.forms[0].crashteams_name.value=="")
	strFehler += "Feld Name des Crashteams ist leer\n";

	if (document.forms[0].crashteams_email.value!="")
	if (!validEmail(document.forms[0].crashteams_email.value)) {
	strFehler += "Bitte gültige Emailadresse eingeben!\n";
	}

	if (strFehler.length>0) {
	// alert("Festgestellte Probleme: \n\n"+strFehler);
		return(strFehler);
	}
	else {
		return(true);
	}
}

function validateSingleadd() {
	var strFehler=validateScore();
	
	if (document.forms[0].scoresFinalSingleCrash.value=="")
	strFehler += "Bitte FinalSingleCrash eingeben\n";

	if (IsNumeric(document.forms[0].scoresFinalSingleCrash.value)==false) {
	strFehler += "Feld FinalSingleCrash ist keine Zahl\n";
	}
	
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}


function validateTeamadd() {
	var strFehler=validateScoreTeam();
	
	if (document.forms[0].scoresFinalTeamCrash.value=="") {
		strFehler += "Bitte FinalTeamCrash eingeben\n";
	}
		
	if (document.forms[0].scores_finalteamcount.value=="") {
		strFehler += "Bitte Anzahl Spieler eingeben\n";
	}
	
	if (IsNumeric(document.forms[0].scoresFinalTeamCrash.value)==false) {
		strFehler += "Feld FinalSingleCrash ist keine Zahl\n";
	}

	if (IsNumeric(document.forms[0].scores_finalteamcount.value)==false) {
		strFehler += "Feld Anzahl Spieler ist keine Zahl\n";
	}
	
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}


function validateClassicadd() {
	var strFehler=validateScore();
	
	if (document.forms[0].scores_finalclassic.value=="") {
		strFehler += "Bitte FinalClassic eingeben\n";
	}
	
	if (IsNumeric(document.forms[0].scores_finalclassic.value)==false) {
		strFehler += "Feld FinalClassic ist keine Zahl\n";
	}
	
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}


function validateCIO() {
	var strFehler=validateScore();
	
	if (document.forms[0].scio.value=="") {
		strFehler += "Bitte CupinOne eingeben\n";
	}
	
	if (IsNumeric(document.forms[0].scio.value)==false) {
		strFehler += "Feld CupinOne ist keine Zahl\n";
	}
	
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}


function validateSinglecalc() {
	var strFehler=validateScore();


	if (document.forms[0].scoresRudi.value=="") {
		strFehler += "Bitte Kurslänge (RUDI) eingeben\n";
	}

	if (document.forms[0].scoresSWG.value=="") {
		strFehler += "Bitte Schwierigkeitsgrad eingeben\n";
	}

	if (document.forms[0].sssc.value=="") {
		strFehler += "Bitte Summe Single Crash eingeben\n";
	}

	if (document.forms[0].scoresFinalSingleCrash.value=="") {
		strFehler += "Score wurde nicht berechnet\n";
	}

	if (IsNumeric(document.forms[0].scoresRudi.value)==false) {
		strFehler += "Feld Kurslänge ist keine Zahl\n";
	}

	if (IsNumeric(document.forms[0].scoresSWG.value)==false) {
		strFehler += "Feld Schwierigkeitsgrad ist keine Zahl\n";
	}


	if (IsNumeric(document.forms[0].sssc.value)==false) {
		strFehler += "Feld Summe Single Crash ist keine Zahl\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}


function validateTeamcalc() {
	var strFehler=validateScoreTeam();


	if (document.forms[0].scoresRudi.value=="") {
		strFehler += "Bitte Kurslänge (RUDI) eingeben\n";
	}

	if (document.forms[0].scoresSWG.value=="") {
		strFehler += "Bitte Schwierigkeitsgrad eingeben\n";
	}

	if (document.forms[0].sstc.value=="") {
		strFehler += "Bitte Summe Team Crash eingeben\n";
	}

	if (document.forms[0].stco.value=="") {
		strFehler += "Bitte Anzahl Spieler eingeben\n";
	}

	if (document.forms[0].scoresFinalTeamCrash.value=="") {
		strFehler += "Score wurde nicht berechnet\n";
	}

	if (IsNumeric(document.forms[0].scoresRudi.value)==false) {
		strFehler += "Feld Kurslänge ist keine Zahl\n";
	}

	if (IsNumeric(document.forms[0].scoresSWG.value)==false) {
		strFehler += "Feld Schwierigkeitsgrad ist keine Zahl\n";
	}


	if (IsNumeric(document.forms[0].sstc.value)==false) {
		strFehler += "Feld Summe Single Crash ist keine Zahl\n";
	}


	if (IsNumeric(document.forms[0].stco.value)==false) {
		strFehler += "Feld Anzahl Spieler ist keine Zahl\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}


function validateClassiccalc() {
	var strFehler=validateScore();


	if (document.forms[0].countCups.value=="") {
		strFehler += "Bitte Anzahl Cups eingeben\n";
	}

	if (document.forms[0].scoresRodi.value=="") {
		strFehler += "Bitte Rounddistance (RODI) eingeben\n";
	}

	if (document.forms[0].scoresSWG.value=="") {
		strFehler += "Bitte Schwierigkeitsgrad eingeben\n";
	}

	if (document.forms[0].sscl.value=="") {
		strFehler += "Bitte Summe Classic eingeben\n";
	}

	if (document.forms[0].scores_finalclassic.value=="") {
		strFehler += "Score wurde nicht berechnet\n";
	}

	if (IsNumeric(document.forms[0].countCups.value)==false) {
		strFehler += "Feld Anzahl Cups ist keine Zahl\n";
	}

	if (IsNumeric(document.forms[0].scoresRodi.value)==false) {
		strFehler += "Feld Rounddistance ist keine Zahl\n";
	}

	if (IsNumeric(document.forms[0].scoresSWG.value)==false) {
		strFehler += "Feld Schwierigkeitsgrad ist keine Zahl\n";
	}


	if (IsNumeric(document.forms[0].sscl.value)==false) {
		strFehler += "Feld Summe Classic ist keine Zahl\n";
	}


	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validatePostings() {
	var strFehler='';
	if (document.fo_posting.postings_subject.value=="") {
		strFehler += "Bitte Betreff eingeben\n";
	}

	if (document.fo_posting.postings_content.value=="") {
		strFehler += "Bitte Inhalt eingeben\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}
function validateTournaments() {
	var strFehler='';
	if (document.manage_tournaments.tournaments_name.value=="") {
		strFehler += "Bitte Tournierbezeichnung eingeben\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validateAnmeldung() {
	var strFehler='';
	if (document.sixcup_anmeldung.Vorname_Nachname.value=="") {
		strFehler += "Bitte Namen eingeben\n";
	}

	if (!document.sixcup_anmeldung.agb_akzeptiert.checked) {
		strFehler += "Um an einer Sixcup-Veranstaltung teilnehmen zu können, musst du unsere AGB`s akzeptieren!\n";
	}

	if (!validEmail(document.sixcup_anmeldung.email.value)) {
		strFehler += "Bitte gültige Emailadresse eingeben!\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validateGMStamm() {
	var strFehler='';
	if (document.gm_stammdaten.partners_lastname.value=="") {
		strFehler += "Bitte Nachnamen eingeben\n";
	}

	if (document.gm_stammdaten.partners_firstname.value=="") {
		strFehler += "Bitte Vornamen eingeben\n";
	}
	
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validatePartners() {
	var strFehler='';
	if (document.gm_stammdaten.partners_lastname.value=="") {
		strFehler += "Bitte Nachnamen eingeben\n";
	}

	if (document.gm_stammdaten.partners_firstname.value=="") {
		strFehler += "Bitte Vornamen eingeben\n";
	}

	if (document.gm_stammdaten.partners_password.value.length<3) {
		strFehler += "Das Kennwort muss mindestens 3 Zeichen lang sein.\n";
	}

	if (!validEmail(document.gm_stammdaten.partners_email.value)) {
		strFehler += "Bitte gültige Emailadresse eingeben!\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validatePlaces() {
	var strFehler='';
	if (document.admin_places.places_name.value=="") {
		strFehler += "Bitte einen Namen für die Anlage eingeben\n";
	}
/*
	if (!validEmail(document.gm_stammdaten.partners_email.value)) {
		strFehler += "Bitte gültige Emailadresse eingeben!\n";
	}
*/
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validateS3Email() {
	var strFehler='';
	if (document.S3mailform.admin_subject.value=="") {
		strFehler += "Bitte einen Betreff eingeben\n";
	}

	if (document.S3mailform.admin_emailtext.value=="") {
		strFehler += "Bitte einen Mailtext eingeben\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validateS3SMS() {
	var strFehler='';
	if (document.S3smsform.admin_smstext.value=="") {
		strFehler += "Bitte einen SMS-Text eingeben\n";
	}

	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validateGMPlatz() {
	var strFehler='';
	if (document.gm_places.places_name.value=="") {
		strFehler += "Bitte Platznamen eingeben\n";
	}
	
	if (strFehler.length>0) {
	alert("Festgestellte Probleme: \n\n"+strFehler);
	return(false);
	}
}

function validEmail(Email) {
	var strReg = "^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$";
	var regex = new RegExp(strReg);
	return(regex.test(Email)); 
}

function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }

				function CheckLen(Target)
				{
				var maxlength = "160";  //die maximale Zeichenlänge

				StrLen=Target.value.length;

				if (StrLen==1&&Target.value.substring(0,1)==" ")
				{
				Target.value=""; 
				StrLen=0;
				}
				if (StrLen>maxlength )
				{
				Target.value=Target.value.substring(0,maxlength);
				CharsLeft=0;
				}else
				{
				CharsLeft=maxlength-StrLen;
				}
				document.smsform.Anzahl.value=CharsLeft;
				}

				function CheckLenAdminSMS(Target)
				{
				var maxlength = "160";  //die maximale Zeichenlänge

				StrLen=Target.value.length;

				if (StrLen==1&&Target.value.substring(0,1)==" ")
				{
				Target.value=""; 
				StrLen=0;
				}
				if (StrLen>maxlength )
				{
				Target.value=Target.value.substring(0,maxlength);
				CharsLeft=0;
				}else
				{
				CharsLeft=maxlength-StrLen;
				}
				document.S3smsform.Anzahl.value=CharsLeft;
				}
