diff -Nur tcom.orig/hcti_laden.htm mod500.orig/hcti_laden.htm
--- tcom.orig/hcti_laden.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_laden.htm	2007-12-17 08:39:27.000000000 +0100
@@ -92,11 +92,19 @@
 
 <DIV id=c_leer></DIV>
 <DIV id=c_titel>Firmware</DIV>
-<DIV id=c_linklast>
+<DIV id=c_link>
       <table border="0" cellpadding="4" cellspacing="0">
         <tr>
           <td width="200"><a href="hcti_laden_firm.htm" onmouseover=i_showElem(6) onmouseout=i_showElem(0) target="hcti"><b>&gt;&gt; </b>Firmwareupdate</a></td>
-          <td>Version <%ejGet(firmwareVersion)%></td>
+          <td>Version <%ejGet(firmwareVersion)%>-DA2401</td>
+        </tr>
+      </table>
+</DIV>
+<DIV id=c_linklast>
+      <table border="0" cellpadding="4" cellspacing="0">
+        <tr>
+          <td width="200"><a href="http://www.dslteam.de/forum/showthread.php?t=119921" onmouseover=i_showElem(7) onmouseout=i_showElem(0) target="_blank"><b>&gt;&gt; </b>Homepage DA2401-Firmware</a></td>
+          <td></td>
         </tr>
       </table>
 </DIV>
@@ -171,6 +179,14 @@
     <p>Bevor Sie die Firmware aktualisieren, laden Sie diese bitte zuerst auf Ihre Festplatte herunter.</p>
   </DIV>
 
+  <DIV id=i_content7>
+    <h2>Firmware</h2>
+    <p><b>Homepage mod. Firmware</b><br>
+    Hier können Sie auf die Homepage der genutzten Firmware gehen, um zu überprüfen, ob eine aktuellere Version als die genutzte Firmware existiert.</p>
+    <p>In späteren Firmware-Versionen wird hier automatisch auf eine neuere Firmware-Version geprüft.</p>
+    <p>Es wird jedoch keine Firmware automatisch aktualisiert oder die Daten auf dem Router automatisch abgeändert!</p>
+  </DIV>
+
 </DIV>
 
 </BODY>
diff -Nur tcom.orig/hcti_laden_l.htm mod500.orig/hcti_laden_l.htm
--- tcom.orig/hcti_laden_l.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_laden_l.htm	2007-12-17 08:39:27.000000000 +0100
@@ -21,8 +21,8 @@
                         alert("Bitte tragen Sie eine gültige Konfigurations-Datei ein!.");
                         return false;
                 }else{
-			if (len > 12 || (len < 6 && len > 0)) {
-                        	alert("Falsches Passwort! Bitte versuchen Sie es erneut.");
+			if (len > 16) {
+                        	alert("Zu langes Passwort! Bitte versuchen Sie es erneut.");
 				document.F2.Passwd.focus() ;
 				return false;
 			}
@@ -113,7 +113,7 @@
     <tr onmouseover=i_showElem(2) onmouseout=i_showElem(0)>
       <form name="F2">
         <td width="70">Passwort:</td>
-        <td><input type="password" class="stylepwd" name="Passwd" size="12" maxlength="12" onkeypress="return (keyEnter(event.keyCode))"></td>
+        <td><input type="password" class="stylepwd" name="Passwd" size="16" maxlength="16" onkeypress="return (keyEnter(event.keyCode))"></td>
       </form>
     </tr>
   </table>
diff -Nur tcom.orig/hcti_laden_s.htm mod500.orig/hcti_laden_s.htm
--- tcom.orig/hcti_laden_s.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_laden_s.htm	2007-12-17 08:39:27.000000000 +0100
@@ -25,14 +25,18 @@
 	var loc  = ""
 	var len = 0 ;
   	if (document.F1.P1.value=="") {
-    		alert("Bitte geben Sie ein Passwort mit mindestend 6 Zeichen ein!");
+    		alert("Achtung, Sie haben kein Passwort angegeben - dies wird nicht empfohlen!");
     		document.F1.P1.focus();
-    		return;
   	}
 	
 	len = document.F1.P1.value.length ;
-	if (len < 6 || len > 12) {
-    		alert("Bitte geben Sie ein Passwort mit mindestend 6 Zeichen ein!");
+  	if (len > 0 && len < 6) {
+    		alert("Achtung, Sie haben ein kurzes Passwort angegeben - mind. 6 Zeichen werden empfohlen!");
+    		document.F1.P1.focus();
+  	}
+
+	if (len > 16) {
+    		alert("Bitte geben Sie ein Passwort mit maximal 16 Zeichen ein!");
 		document.F1.P1.focus() ;
 		return ;
 	}
@@ -70,7 +74,7 @@
     <table border="0" cellpadding="0" cellspacing="2">
         <tr>
             <form name="F1">
-                <td><input type="password" class="stylepwd" name="P1" size="12" maxlength="12" onkeypress="return (keyEnter(event.keyCode))"></td>
+                <td><input type="password" class="stylepwd" name="P1" size="16" maxlength="16" onkeypress="return (keyEnter(event.keyCode))"></td>
             </form>
         </tr>
     </table>
diff -Nur tcom.orig/hcti_netzwerk_wan.htm mod500.orig/hcti_netzwerk_wan.htm
--- tcom.orig/hcti_netzwerk_wan.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_netzwerk_wan.htm	2007-12-17 08:39:27.000000000 +0100
@@ -683,24 +683,18 @@
   
   case 3:
     if (document.ZDAT3.T31.value!="" || document.ZDAT3.P31.value!="" || document.ZDAT3.P32.value!="" || document.ZDAT3.T32.value!=""){
-            if (document.ZDAT3.T31.value=="" || isInvalidStringForAnotherProvider(document.ZDAT3.T31.value)){
+            if (document.ZDAT3.T31.value==""){
               alert(txtHinw("Benutzername"));
               document.ZDAT3.T31.focus();
               return false;
             }
-	    if (document.ZDAT3.P31.value=="" || document.ZDAT3.P32.value=="" || isInvalidStringForAnotherProvider(document.ZDAT3.P31.value) || document.ZDAT3.P31.value!=document.ZDAT3.P32.value){
+	    if (document.ZDAT3.P31.value=="" || document.ZDAT3.P32.value=="" || document.ZDAT3.P31.value!=document.ZDAT3.P32.value){
               alert(txtHinw("Kennwort' oder 'Kennwort Wiederholung"));
               document.ZDAT3.P31.value = "";
               document.ZDAT3.P32.value = "";
               document.ZDAT3.P31.focus();
               return false;
 	    }
-	    if (document.ZDAT3.T32.value!="" && isInvalidString(document.ZDAT3.T32.value)){
-              alert(txtHinw("Name des Dienstes"));
-	      document.ZDAT3.T32.focus();
-              return false;
-            }
-
             if (isNIP(document.ZDAT3.T33_1,document.ZDAT3.T33_2,document.ZDAT3.T33_3,document.ZDAT3.T33_4) > 0){
               alert("Bitte tragen Sie eine korrekte IP-Adresse als feste IP-Adresse ein");
               return false;
diff -Nur tcom.orig/hcti_netzwerk_wireless.htm mod500.orig/hcti_netzwerk_wireless.htm
--- tcom.orig/hcti_netzwerk_wireless.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_netzwerk_wireless.htm	2007-12-17 08:39:27.000000000 +0100
@@ -78,8 +78,8 @@
                 loc += 'wlEnbl=0' ;
                 loc += '&wlHide=' + hide;
 				var str = document.WIRELESS.wlSsid.value;
-                if( str == "" || isValidSSID(str) == false) {
-                        alert("Bitte überprüfen Sie die Eingabe Ihrer SSID. Beachten Sie bitte, dass hier keine Sonderzeichen verwenden werden dürfen!");
+                if( str == "" ) {
+                        alert("Bitte geben Sie eine SSID (Name des Funknetzwerks) an.");
                         return;
                 } else {
                         loc += '&wlSsid=' + encodeUrl(str);
@@ -203,7 +203,7 @@
       <table border="0" cellpadding="0" cellspacing="2">
         <tr onmouseover=i_showElem(2) onmouseout=i_showElem(0)>
             <td width="120">SSID:</td>
-            <td><input type="text" name="wlSsid" size="32" maxlength="32"></td>
+            <td><input type="text" name="wlSsid" size="32" maxlength="63"></td>
         </tr>
       </table>
 </DIV>
@@ -314,7 +314,7 @@
     <p><b>SSID</b><br>
     Damit die drahtlos verbundenen Netzwerkkomponenten miteinander kommunizieren können, müssen sie
     die gleiche SSID (Service Set Identifier) verwenden. Geben Sie eine Zeichenkette Ihrer Wahl ein.
-  	Die SSID kann bis zu 32 Zeichen aufnehmen und aus Ziffern, Zeichen und Sonderzeichen bestehen. 
+  	Die SSID kann bis zu 63 Zeichen aufnehmen und aus Ziffern, Zeichen und Sonderzeichen bestehen. 
 	Sie sollte möglichst nichts über die Identität des Wireless LAN aussagen, also keine Nach- oder Firmennamen in sich tragen.</p>
   	<p>Die Verbindung zu drahtlosen Netzwerkadaptern, die keine gültige SSID verwenden,
   	wird so lange unterbrochen, bis auch dort die SSID eingetragen ist.</p>
diff -Nur tcom.orig/hcti_startseite.htm mod500.orig/hcti_startseite.htm
--- tcom.orig/hcti_startseite.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_startseite.htm	2007-12-17 08:39:27.000000000 +0100
@@ -29,7 +29,7 @@
       top.frames[1].document.getElementById("m_but33").style.backgroundImage='none';
       top.frames[1].document.getElementById("m_but33").style.color='#000000';
       top.frames[1].document.getElementById("m_but34").style.backgroundImage='none';
-		top.frames[1].document.getElementById("m_but41").style.color='#000000';
+      top.frames[1].document.getElementById("m_but41").style.color='#000000';
       top.frames[1].document.getElementById("m_but41").style.backgroundImage='none';
       top.frames[1].document.getElementById("m_but42").style.color='#000000';
       top.frames[1].document.getElementById("m_but42").style.backgroundImage='none';
@@ -37,6 +37,8 @@
       top.frames[1].document.getElementById("m_but51").style.backgroundImage='none';
       top.frames[1].document.getElementById("m_but52").style.color='#000000';
       top.frames[1].document.getElementById("m_but52").style.backgroundImage='none';
+      top.frames[1].document.getElementById("m_but53").style.color='#000000';
+      top.frames[1].document.getElementById("m_but53").style.backgroundImage='none';
       top.frames[1].document.getElementById("m_but6").style.color='#000000';
       top.frames[1].document.getElementById("m_but6").style.backgroundImage='none';
 		
diff -Nur tcom.orig/hcti_statoview.htm mod500.orig/hcti_statoview.htm
--- tcom.orig/hcti_statoview.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_statoview.htm	2007-12-17 08:39:27.000000000 +0100
@@ -80,7 +80,7 @@
       <table border="0" cellpadding="4" cellspacing="0">
         <tr>
           <td width="200">Firmware Version:</td>
-          <td><%ejGet(firmwareVersion)%></td>
+          <td><%ejGet(firmwareVersion)%>-DA2401</td>
         </tr>
       </table>
 </DIV>
diff -Nur tcom.orig/hcti_telefon_notr.htm mod500.orig/hcti_telefon_notr.htm
--- tcom.orig/hcti_telefon_notr.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_telefon_notr.htm	2007-12-17 08:39:27.000000000 +0100
@@ -12,13 +12,6 @@
 
 function chk()
 {
-
-  	for (i=0;i<3;i++){
-	document.F1.T1[i].style.backgroundColor = "#D4D0C8";
-	document.F1.T2[i].style.backgroundColor = "#D4D0C8";
-	document.F1.T1[i].disabled = true;
-	document.F1.T2[i].disabled = true;
-  	}
 	
     document.F1.T1[0].value = '<%ejGetvoipEmg(ECAL_0)%>';
 	document.F1.T1[1].value = '<%ejGetvoipEmg(ECAL_1)%>';
@@ -227,7 +220,7 @@
 
 <DIV id=t_but1 onclick=startseite() onmouseover=rahmen(1,1) onmouseout=rahmen(0,1)>&lt;&lt;&nbsp;&nbsp;&lt;&lt;</DIV>
 <DIV id=t_but3 onclick=stZrk() onmouseover=rahmen(1,3) onmouseout=rahmen(0,3)>Zur&uuml;ck &lt;&lt;</DIV>
-<DIV id=t_but4 onclick=stOk() onmouseover=rahmen(1,4) onmouseout=rahmen(0,4)>Speichern &lt;&lt;</DIV>
+<DIV id=t_but4 onclick=stSave() onmouseover=rahmen(1,4) onmouseout=rahmen(0,4)>Speichern &lt;&lt;</DIV>
 
 </DIV>
 
@@ -237,7 +230,6 @@
     <h2>Notrufnummern</h2>
     <p>Hier können Sie Notrufnummern eingeben. Die Notrufnummern können Sie von jedem Anschluss aus wählen.
 	Die Notrufnummern durchbrechen jede eventuell eingestellte Sperre.</p>
-    <p>Die Notrufnummern 110, 112 und 19222 können weder gelöscht noch geändert werden.</p>
   </DIV>
   
   <DIV id=i_content1>
@@ -252,4 +244,4 @@
 
 </BODY>
 
-</HTML>
+</HTML>
\ Kein Zeilenumbruch am Dateiende.
diff -Nur tcom.orig/hcti_telefon_voip.htm mod500.orig/hcti_telefon_voip.htm
--- tcom.orig/hcti_telefon_voip.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/hcti_telefon_voip.htm	2007-12-17 08:39:27.000000000 +0100
@@ -388,26 +388,26 @@
   }
   else{
 	  if (document.IDAT1.T11.value!="" || (document.IDAT1.C12_1.checked == true && document.IDAT1.T12.value!="") || document.IDAT1.P11.value!="" || document.IDAT1.P12.value!="" || document.IDAT1.T13.value!="" || document.IDAT1.T13_1.value !=""){
-		if (document.IDAT1.T11.value=="" || !(isNumorChar(document.IDAT1.T11.value))){
+		if (document.IDAT1.T11.value==""){
 		  alert(txtHinw("Internet-Rufnummer"));
 		  document.IDAT1.T11.value = "";
 		  document.IDAT1.T11.focus();
 		  return;
 		}
-		if ((document.IDAT1.C12_1.checked == true&&( document.IDAT1.T12.value=="" || isAllBlank(document.IDAT1.T12.value))) || isSpecChar(document.IDAT1.T12.value)){
+		if ((document.IDAT1.C12_1.checked == true && ( document.IDAT1.T12.value=="" || isAllBlank(document.IDAT1.T12.value)))){
 		  alert(txtHinw("Benutzername"));
 		  document.IDAT1.T12.value = "";
 		  document.IDAT1.T12.focus();
 		  return;
 		}
-		if (document.IDAT1.P11.value=="" || document.IDAT1.P12.value=="" || document.IDAT1.P11.value!=document.IDAT1.P12.value || isSpecChar(document.IDAT1.P11.value)){
+		if (document.IDAT1.P11.value=="" || document.IDAT1.P12.value=="" || document.IDAT1.P11.value!=document.IDAT1.P12.value){
 		  alert(txtHinw("Passwort' oder 'Passwortbestätigung"));
 		  document.IDAT1.P11.value = "";
 		  document.IDAT1.P12.value = "";
 		  document.IDAT1.P11.focus();
 		  return;
 		}
-		if (document.IDAT1.T13.value=="" || isInvalidString(document.IDAT1.T13.value)){
+		if (document.IDAT1.T13.value==""){
 		  alert(txtHinw("Registrar"));
 		  document.IDAT1.T13.value = "";
 		  document.IDAT1.T13.focus();
@@ -789,7 +789,7 @@
         <tr onmouseover=i_selElem(2) onmouseout=i_showElem(0)>
           <form name="IDAT1">
             <td width="160">Internetrufnummer:</td>
-            <td><input type="text" name="T11" size="24" maxlength="31"></td>
+            <td><input type="text" name="T11" size="24" maxlength="64"></td>
         </tr>
       </table>
 </DIV>
diff -Nur tcom.orig/index.htm mod500.orig/index.htm
--- tcom.orig/index.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/index.htm	2007-12-17 08:39:27.000000000 +0100
@@ -37,6 +37,7 @@
                                                  '</tr>' +
                                                '</table>';
 
+    if (!htmlsite) {htmlsite = "http://" + window.location.hostname + ":81/";}
     window.open(htmlsite,"Konfiguration", Optionen);
 
     thiswin = window.self;
@@ -60,7 +61,7 @@
 
 #Start {
   height: 21px; line-height: 21px; width: 100px; background-color:#EEEEEE; text-align: center; cursor: pointer; cursor: hand;
-  font-size:14px; font-weight: bold; border-color: #666666; border-width: 2px; border-style: solid;
+  font-size:14px; font-weight: bold; color: #666666; border-color: #666666; border-width: 2px; border-style: solid;
 }
 
 //-->
diff -Nur tcom.orig/js_menu.txt mod500.orig/js_menu.txt
--- tcom.orig/js_menu.txt	2007-12-17 08:39:18.000000000 +0100
+++ mod500.orig/js_menu.txt	2007-12-17 08:39:18.000000000 +0100
@@ -390,6 +390,7 @@
 //  }
   function menupkt(nr, url){
       top.frames[0].m_akt=nr;
+      if (url == "addfeat") {url = "http://" + window.location.hostname + ":81/index.cgi";}
       top.frames[2].location.href = url;
 
       for(i=0;i<top.frames[1].mpkt.length;i++){
@@ -422,6 +423,9 @@
   function laden(){
       menupkt(52,"hcti_laden.htm");
   }
+  function addfeat(){
+      menupkt(53,"http://"+window.location.hostname+":81/");
+  }
   function beenden(){
 //    	menupkt(6,"hcti_startseite.htm");
 	top.frames[2].location.href="logout.cmd";
diff -Nur tcom.orig/m_startseite.htm mod500.orig/m_startseite.htm
--- tcom.orig/m_startseite.htm	2007-12-17 08:39:27.000000000 +0100
+++ mod500.orig/m_startseite.htm	2007-12-17 08:39:27.000000000 +0100
@@ -8,7 +8,7 @@
 
 <SCRIPT language="JavaScript">
 <!--
-var mpkt = new Array(1,2,31,32,33,34,41,42,51,52,6);
+var mpkt = new Array(1,2,31,32,33,34,41,42,51,52,53,6);
 
   function m_high(high,nr){
     if (nr!=top.frames[0].m_akt){
@@ -82,6 +82,10 @@
 	height: 21px; line-height: 21px; padding-left: 10px; cursor: pointer; cursor: hand;
 	font-family: Arial, sans-serif; font-size:12px; font-weight: bold;
 }
+#m_but53 {
+	height: 21px; line-height: 21px; padding-left: 10px; cursor: pointer; cursor: hand;
+	font-family: Arial, sans-serif; font-size:12px; font-weight: bold;
+}
 #m_but6 {
 	height: 21px; line-height: 21px; padding-left: 10px; cursor: pointer; cursor: hand;
 	font-family: Arial, sans-serif; font-size:12px; font-weight: bold;
@@ -123,6 +127,10 @@
 	POSITION: absolute; LEFT: 2px; TOP: 394px; WIDTH: 4px; HEIGHT: 23px;
 	background-image: url(pic_m_linie.gif); background-repeat: no-repeat;
 }
+#m_linie53 {
+	POSITION: absolute; LEFT: 2px; TOP: 415px; WIDTH: 4px; HEIGHT: 23px;
+	background-image: url(pic_m_linie.gif); background-repeat: no-repeat;
+}
 
 //-->
 </STYLE>
@@ -144,6 +152,7 @@
 <DIV id=m_linie42></DIV>
 <DIV id=m_linie51></DIV>
 <DIV id=m_linie52></DIV>
+<DIV id=m_linie53></DIV>
 
 <DIV id=m_but1 onclick=menupkt(1,"hcti_startseite.htm") onmouseover=m_high(1,1) onmouseout=m_high(0,1)>&gt; Startseite</DIV>
 <DIV id=m_leer></DIV>
@@ -163,6 +172,7 @@
 <DIV id=m_otitel>VERWALTUNG</DIV>
 <DIV id=m_but51 onclick=menupkt(51,"hcti_hilfsmittel.htm") onmouseover=m_high(1,51) onmouseout=m_high(0,51)>&gt; Hilfsmittel</DIV>
 <DIV id=m_but52 onclick=menupkt(52,"hcti_laden.htm") onmouseover=m_high(1,52) onmouseout=m_high(0,52)>&gt; Laden &amp; Sichern</DIV>
+<DIV id=m_but53 onclick=menupkt(53,"addfeat") onmouseover=m_high(1,53) onmouseout=m_high(0,53)>&gt; Add. Features</DIV>
 <DIV id=m_leer></DIV>
 <DIV id=m_but6 onclick=beenden() onmouseover=m_high(1,6) onmouseout=m_high(0,6)>&gt; Beenden</DIV>
 
