///////////////////////////////////////////////////////////////////////////////////
//  SMS - Funktionen
///////////////////////////////////////////////////////////////////////////////////

function checkSMS_SMSText()
{
	// einige Sonderzeichen herausgenommen (zB . , $ &)
	var chars = new Array ('à','á','â','ã','ä','å','æ','ç','è','é',
                         'ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô',
                         'õ','ö','ø','ù','ú','û','ü','ý','þ','ÿ','À',
                         'Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë',
                         'Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö',
                         'Ø','Ù','Ú','Û','Ü','Ý','Þ','€','\"','ß','<',
                         '>','¢','£','¤','¥','¦','¨','©','ª','«',
                         '¬','­','®','¯','°','±','²','³','´','µ','¶',
                         '¹','º','»','¼','½','¾');
      
		

	if(document.getElementById('no_radiobutton') != "undefined" )	// Prüfung, ob Radiobuttons überhaupt vorhanden sind
	{
		if(document.SMS_Gateway.sendmethod[0].checked == true)
			document.SMS_Gateway.sendmethod.value = 'Konfiguration_01';
		else if(document.SMS_Gateway.sendmethod[1].checked == true)   
			document.SMS_Gateway.sendmethod.value = 'Konfiguration_02';
		else
			document.SMS_Gateway.sendmethod.value = 'Konfiguration_01';
	}
	else
	{
		document.SMS_Gateway.sendmethod.value = 'Konfiguration_02';
	}
		


		

	// check if SMS-Text is short enough
	var smstext = String(document.SMS_Gateway.smsbenachrichtigungstext.value);
	if((smstext.length) > 760)
	{
		alert("Der SMS-Text ist zu lang.\n Bitte kürzen Sie den Text.");
		return false;
	}
	



	if(document.SMS_Gateway.sendmethod.value == 'Konfiguration_02')
	{
		var sourcenumberstring = String(document.SMS_Gateway.sourcenumber.value);
		if(sourcenumberstring == '')
		{
			alert("Bitte geben Sie an, wer als Absender der SMS erscheinen soll.\nOder wählen Sie 'Vorgegeben'.");
			return false;	
		}

		
		var sourcenumbertext = String(document.SMS_Gateway.sourcenumber.value);
		if (isNaN(document.SMS_Gateway.sourcenumber.value))					// alphanumeric is chosen
		{
			if((sourcenumbertext.length) > 11)
			{
				alert("Sie haben nur 11 Zeichen zur Verfügung.\nBitte kürzen Sie den Absender.");
				return false;
			}
			
			for (var i = 0; i < chars.length; i++)
			{
				if(sourcenumbertext.search(chars[i]) != -1)
				{
					alert("Bitte verwenden Sie beim Absender keine Umlaute oder Sonderzeichen.");
					return false;
				}
			}
		}
		else
		{
			if((sourcenumbertext.length) > 18)
			{
				alert("Sie haben nur 18 Zahlen zur Verfügung.\nBitte kürzen Sie den Absender.");
				return false;
			}
		}
	}


	if( (isNaN(document.SMS_Gateway.destinationnumber.value) == true) || (document.SMS_Gateway.destinationnumber.value == '') )
	{
		alert("Bitte geben Sie den Empfänger an.\nDer Empfänger darf nur Zahlen enthalten.");
		return false;
	}
	
	
	// check if SMS is for foreign country
	var string_destination = String(document.SMS_Gateway.destinationnumber.value);
	if(string_destination.substring(0, 2) == "00")
	{
		if(string_destination.substring(2, 4) != "49")
		{
			alert("Leider ist das Versenden einer SMS nur nach Deutschland möglich.");
			return false;
		}
	}
	else if(string_destination.substring(0, 1) == "+")
	{
		if(string_destination.substring(1, 3) != "49")
		{
			alert("Leider ist das Versenden einer SMS nur nach Deutschland möglich.");
			return false;
		}
	}
	
	
	if(document.SMS_Gateway.sendtime.value == 'later')
	{
		if(document.SMS_Gateway.senddate.value == 'Datum auswählen')
		{
			alert("Bitte geben Sie ein Datum an, indem Sie auf das Feld rechts neben 'Datum auswählen' klicken");
			return false;
		}
		
		// check if the date is not more than one month in the future
		var string_date1 = document.SMS_Gateway.senddate.value;
		var userDate = new Date(string_date1.substring(6, 10), string_date1.substring(3, 5), string_date1.substring(0, 2));
		userDate.setMonth(userDate.getMonth()-1);		// because month-count starts with 0
		
		var actualDate = new Date();
		actualDate.getYear();
		actualDate.setMonth(actualDate.getMonth()+1);		// we want one month in the future
		actualDate.getDate();
	
		if( userDate.getTime() > actualDate.getTime() )
		{
			alert("Momentan können Sie nur SMS verschicken, die höchstens einen Monat in der Zukunft liegen.\nBitte wählen Sie ein anderes Datum aus.");
			return false;
		}
	}
	
	
	return true;
}


function checkSMS_Costs(costs, choice, source)
{
	
	document.SMS_Gateway.sms_value.value = costs;
	
	if(source == 'G-Connect')
		document.SMS_Gateway.sourcenumber.value = '';
	else
		document.SMS_Gateway.sourcenumber.value = source;


	if(choice == 1)
	{
		document.SMS_Gateway.sendmethod.value = 'Konfiguration_01';
		if(document.getElementById('no_radiobutton') == "undefined" )	// Prüfung, ob Radiobuttons überhaupt vorhanden sind
		{
			document.SMS_Gateway.sendmethod[0].checked = true;
			document.SMS_Gateway.sendmethod[1].checked = false;
		}
		document.SMS_Gateway.sourcenumber.disabled = true;
		document.SMS_Gateway.sourcenumber.style.display = 'none';
	}
	else // if(choice == 2)
	{
		document.SMS_Gateway.sendmethod.value = 'Konfiguration_02';
		if(document.getElementById('no_radiobutton') == "undefined" )	// Prüfung, ob Radiobuttons überhaupt vorhanden sind
		{
			document.SMS_Gateway.sendmethod[0].checked = false;
			document.SMS_Gateway.sendmethod[1].checked = true;
		}
		document.SMS_Gateway.sourcenumber.disabled = false;
		document.SMS_Gateway.sourcenumber.style.display = 'block';
	}
	
	
	document.SMS_Gateway.sms_value.value = document.SMS_Gateway.sms_value.value * document.SMS_Gateway.sms_counter.value;
}


function checkSMS_Time(choice)
{
	if(choice == 1)
	{
		document.SMS_Gateway.sendhour.disabled = true;
		document.SMS_Gateway.sendminute.disabled = true;
		document.SMS_Gateway.senddate.disabled = true;
	}
	else
	{
		document.SMS_Gateway.sendhour.disabled = false;
		document.SMS_Gateway.sendminute.disabled = false;
		document.SMS_Gateway.senddate.disabled = false;
	}
}


function checkSMS_CheckLen(Target, mit_absender, ohne_absender)
{
	var maxlength = "760";		// 5 mal SMS-Länge von 152 Zeichen
	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
	{
		if(StrLen < 160)
		{
			CharsLeft = 160 - StrLen;
			NumberOfSMS = StrLen/160+1;
		}
		else if(StrLen == 160)
		{
			CharsLeft = 160 - StrLen;
			NumberOfSMS = StrLen/160;
		}
		else
		{
			if(StrLen%152 == 0)
				NumberOfSMS = StrLen/152;
			else
				NumberOfSMS = StrLen/152+1;
		
			CharsLeft = 152 * parseInt(NumberOfSMS) - StrLen;
		}
	}
	
	document.SMS_Gateway.char_counter.value = CharsLeft;
	document.SMS_Gateway.sms_counter.value = parseInt(NumberOfSMS);
	
	if( (document.SMS_Gateway.sendmethod.value) == 'Konfiguration_01')
		document.SMS_Gateway.sms_value.value = ohne_absender * parseInt(NumberOfSMS);
	else
		document.SMS_Gateway.sms_value.value = mit_absender * parseInt(NumberOfSMS);
}


