var sletreq;
var delayedreq;
var reqs = new Array();
var returncalls = new Array();
var currnbr = 1;
var reint = /\+?[0-9]+$/;
var sub;
var sletmarkerede = 0;
var action;
var grpnbr = new Array(); grpnbr[0] = 0;
var grptxt = new Array();
var grphide = new Array();
var grpdata;
var updtype = 'all';
var tmp1;
var newwindow = '';
var grp1;

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.ltrim = function() {
	return this.replace(/^\s+/,"");
}
String.prototype.rtrim = function() {
	return this.replace(/\s+$/,"");
}

function delayedSlettet()
{
	// only if req shows "complete"
	//resetPointer();
	if (reqs[4].readyState == 4) {
		// only if "OK"
		if (reqs[4].status == 200) {
			//alert(sletreq.responseText);
			parts = reqs[4].responseText.split(",", 2);
			rc = parseInt(parts[0]);
			if (rc !== 0) {
				alert(tx71 + " (4) "+ rc+': '+ reqs[4].responseText);
			} else {
				checkNr(document.getElementById("til").value+ '*', sub, '', '', document.getElementById("limit").value);
			}
		} else {
			alert(tx71 + " (4):" + reqs[4].status);
		}
	}
}

function sendHttpReq(nbr, url, data)
{
var res;
res = '';
sletmarkerede = 0;
var http = 'get';
if (data && data.length > 0) { http = 'post'; }
// branch for native XMLHttpRequest object
//alert(nbr +":"+url+","+data);
	if (window.XMLHttpRequest) {
		reqs[nbr] = new XMLHttpRequest();
		//setPointer();
		reqs[nbr].open(http, url, true);
		reqs[nbr].onreadystatechange = returncalls[nbr];
		if (http == 'post') {
			reqs[nbr].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			reqs[nbr].send(data);
		} else {
			reqs[nbr].send(null);
		}
//		res = reqs[nbr].responseText;
//alert(res);
	// branch for IE/Windows ActiveX version
	} else if (window.ActiveXObject) {
		reqs[nbr] = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqs[nbr]) {
			//setPointer();
			reqs[nbr].open(http, url, true);
			reqs[nbr].onreadystatechange = returncalls[nbr];
			if (http == 'post') {
				reqs[nbr].setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				reqs[nbr].send(data);
			} else {
				reqs[nbr].send();
			}
//			res = reqs[nbr].responseText;
		}
	}
return res;
}

function optalteFundet(){
	currnbr = 2; tmp = tx65;
	if (reqs[currnbr].readyState == 4) {
		// only if "OK"
		if (reqs[currnbr].status == 200) {
			var mySplitResult = reqs[currnbr].responseText.split("!+!");
			// sub!+!antal
			//alert(reqs[currnbr].responseText);
			 j = 0;
			for(i = 0; i < mySplitResult.length - 1; i = i+2){
				tmp = tmp + "<tr><td>" + mySplitResult[i] + "</td><td>" + mySplitResult[i+1] + "</td></tr>\n";
				j++;
			}
			if (j == 0) {
				document.getElementById("msgoversigt").innerHTML = "----";
			} else {
				document.getElementById("msgoversigt").innerHTML = "<table border=\"1\">" + tmp + "</table>";
			}
		} else {
			alert(tx72 + " (" + currnbr + ")");
		}
	}
	currnbr = 1;
}

function hentSendteFundet(){
	currnbr = 2;
	delayedFundet();
	currnbr = 1;
}

function delayedFundet()
{
	// only if req shows "complete"
	//resetPointer();
	if (reqs[currnbr].readyState == 4) {
		// only if "OK"
		if (reqs[currnbr].status == 200) {
			// ...processing statements go here...
			if ((reqs[currnbr].responseText.indexOf('!+!') < 0) && (reqs[currnbr].responseText.indexOf(';') >= 0)) {
				csv = "modtager;tid;subkonto;antal;pris;status\n";
				document.getElementById("msgoversigt").innerHTML = '<pre>'+csv+reqs[currnbr].responseText+'</pre>';
			} else {
			var mySplitResult = reqs[currnbr].responseText.split("!+!");
			// +4522925540!+!20070818-1307!+!J20070818-130700_99demo01_%2B4522925540!+!!+!!+!venter!+! fast tekst 2
			// 0: modtager 1: sendes 2: filnavn 3: gentages 4: sub 5: antal 6: pris 7: status 8: tekst 9: intern tekst
			// intern tekst evt. <string with macros>%%<timediff>%%<hh:mm dd-mm-yyyy>
			// gentages  <næste>,<sek>,<slut> 24-08-2007 19.30,1440,27-08-2007 00.00
			// alert(reqs[currnbr].responseText);
			if (action == "list") {tmp = tx35;} else { tmp = tx49; }
			// 0: modtager 1: sendes 2: filnavn 3: gentages 4: sub 5: antal 6: pris 7: status 8: tekst 9: intern tekst
			 j = 0; retIdx = -1;
			for(i = 0; i < mySplitResult.length - 9; i = i+10){
				tmp = tmp + "<tr>";
				if (action == "list") {
				tmp1 = mySplitResult[i+1];
				tmp1 = tmp1.substr(9,2) + ":" + tmp1.substr(11,2) + " " + tmp1.substr(6,2) + "-" + tmp1.substr(4,2) + "-" + tmp1.substr(0,4);
				it = mySplitResult[i+9].split("%%");
if (!it[2]) {alert(mySplitResult[i+1] + ' '+mySplitResult[i+9]); }
				if (mySplitResult[i+3] != "") { it[2] = mySplitResult[i+3]; }
				if (it[2]) it1 = it[2].split(","); if (!it1[1]) it1[1] = '';
				if (!it1[2]) {it1[2] = ''; } else {
					it2 = it1[2].split(" "); it3 = it2[0].split("-"); it1[2] = it2[1] + " " + it3[2] + "-" + it3[1] + "-" + it3[0];
				}
				tmp = tmp + "<td><input type=\"checkbox\" name=\"slet\" value=\"" + mySplitResult[i] + "!+!" + mySplitResult[i+1] + "!+!"
					+ mySplitResult[i+2] + "!+!" + mySplitResult[i+4] + "\"";
//				tmp = tmp + " onclick=\"if (this.checked) {this.form.tidsdiff.value='0'; this.form.msgtxt.value='" + mySplitResult[i+8]+
//					 "'; this.form.til.value='" + mySplitResult[i] + "';" +
//					 "this.form.tid.value='" + tmp1 + "'; updfields(this.form.tid);} else {this.form.til.value=''; this.form.hour.value=''; this.form.minutes.value='';  this.form.day.value=''; this.form.month.value=''; this.form.year.value=''; this.form.tid.value=''; this.form.msgtxt.value='';} this.form.msglgt.value = this.form.msgtxt.value.length;\"";

					tmp = tmp + " />&nbsp;&nbsp;<input type=\"radio\" name=\"ret\"";
					tmp = tmp + "onclick=\"retIdx = "+j+"; this.form.til.value='" + mySplitResult[i] + "'; retTil = this.form.til.value;" +
					"this.form.msgtxt.value=unescape('"+escape(it[0])+"');this.form.tidsdiff.value='"+it[1]+"'; this.form.tid.value='" + it1[0]+ "';" +
					"this.form.intval.value = '" + it1[1] + "'; this.form.sluttid.value = '" + it1[2] + "';" +
					"retTid = this.form.tid.value; retTiddiff = this.form.tidsdiff.value; updfields(this.form.tid);" +
					"this.form.msglgt.value = this.form.msgtxt.value.length;\" /></td>";

				}
				//csv = mySplitResult[i+4]+';'+mySplitResult[i]; // sub;modtager
				if (mySplitResult[i+4] == "") {mySplitResult[i+4] = "&nbsp;";}
				tmp = tmp + "<td>"+mySplitResult[i+4]+"</td>";
				if (mySplitResult[i].indexOf("+45") >= 0) mySplitResult[i] = mySplitResult[i].substr(3);
				tmp = tmp + "<td>" + mySplitResult[i] + "</td>";
				if (mySplitResult[i+7] == "0") mySplitResult[i+7] = "?";
				//csv = $csv + ';'+ mySplitResult[i+5] + ';' + mySplitResult[i+6]+';'+mySplitResult[i+7]+"\n"; // sub;modtager + ;antal;pris;status

				tid = mySplitResult[i+1];
				if (tid != '') {
					tid = tid.substr(6, 2) + "-" + tid.substr(4, 2) + "-" + tid.substr(0, 4) + " " + tid.substr(9, 2) + ":" + tid.substr(11, 2);
					if (mySplitResult[i+3]) {tmp1 = " Gentag:" + mySplitResult[i+3];} else {tmp1 = '';}
				}
				tmp = tmp + "<td>" + tid + tmp1 + "</td><td>";

				if (action != "list") {
					tmp = tmp+mySplitResult[i+5]+"</td><td>" + mySplitResult[i+6]+ "</td><td>";
				}
				tmp = tmp+mySplitResult[i+7]+"</td><td>" + mySplitResult[i+8] + "</td></tr>\n";
				j = j + 1;
			}
			sletmarkerede = j;
			if (j == 0) {
				document.getElementById("msgoversigt").innerHTML = "----";
			} else {
				if (action == "list") { tmp = tmp + "<tr><td colspan=\"6\"><button type=\"button\" class=\"buttonNOK\" onclick=\"sletMsgs(sletmarkerede, this.form.sub.value);\" >"+tx44+"</button></td></tr>";}
				//alert(tmp);
				document.getElementById("msgoversigt").innerHTML = "<table border=\"1\">" + tmp + "</table>";
			}
			}
		} else {
			alert(tx72 + " (" + currnbr + ")");
		}
	}
}

function changePolicy() { // w or not w extended web interface
action = "policy";
returncalls[6] = policyChanged;
tim = get_cookie("besked-timer");
if (tim == "" || tim != phpsessid) {
alert(tx50 + " (" + tim + ")");
} else {
sendHttpReq(6, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=policy&til=W", '');
}
}

function policyChanged()
{
	// only if req shows "complete"
	//resetPointer();
	if (reqs[6].readyState == 4) {
		// only if "OK"
		if (reqs[6].status == 200) {
			//alert(reqs[6].responseText);
			parts = reqs[6].responseText.split(",", 2);
			rc = parseInt(parts[0]);
			if (rc !== 0) {
				alert(tx71 + " (6)" + reqs[6].responseText);
			} else {
				alert(tx56);
			}
		} else {
			alert(tx71 + " (6)");
		}
	}
}



function checkNr(nr, sub, startlist, slutlist, limit, csv)
{
action = "list";
returncalls[1] = delayedFundet;
if ((nr.length == 8 && reint.test(nr)) || (nr == "alle") || (nr.indexOf("*") >= 0))  {
tim = get_cookie("besked-timer");
if (tim == "" || tim != phpsessid) {
alert(tx50 + " (" + tim + ")");
} else {
sendHttpReq(1, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=list&csv="+csv+"&sub=" + encodeURIComponent(sub) + "&til=" + nr + "&startlist=" + encodeURIComponent(startlist) + "&slutlist=" + encodeURIComponent(slutlist) + "&limit=" + limit, '');
}
}
}

function hentSendte(nr, sub, startlist, slutlist, limit, csv)
{
action = "sendte";
returncalls[2] = hentSendteFundet;
if (csv == -1) returncalls[2] = optalteFundet;
document.getElementById("msgoversigt").innerHTML = "..........";

tim = get_cookie("besked-timer");
if (tim == "" || tim != phpsessid) {
alert(tx50 + " (" + tim + ")");
} else {
if (csv == 1) {

var url = https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=sendte&csv="+csv+"&sub=" + encodeURIComponent(sub) + "&til=" + nr + "&startlist=" + encodeURIComponent(startlist) + "&slutlist=" + encodeURIComponent(slutlist) + "&limit=" + limit;
	if (!newwindow.closed && newwindow.location) {
		newwindow.location.href = url;
	}
	else {
		newwindow=window.open(url,'CSV','height=200,width=150');
		if (!newwindow.opener) newwindow.opener = self;
	}
	if (window.focus) {newwindow.focus()}
	//alert(url);
	return false;
		} else {
sendHttpReq(2, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=sendte&csv="+csv+"&sub=" + encodeURIComponent(sub) + "&til=" + nr + "&startlist=" + encodeURIComponent(startlist) + "&slutlist=" + encodeURIComponent(slutlist) + "&limit=" + limit, '');
}
}
}

function hentGruppe(grp, sub, gettype, data)
{
grp1 = grp;
if (grp.toUpperCase() == tx99a) {grp1 = tx99a;}
action = "grplist";
if (gettype == "onefield") action = "grplist1";
if (data != '') action = "grplist2";
returncalls[3] = gruppeFundet;
tim = get_cookie("besked-timer");
if (tim == "" || tim != phpsessid) {
alert(tx50 + " (" + tim + ")"); return false;
} else if (data != ''){
gruppeFundet1(data);
} else {
sendHttpReq(3, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=grplist&grpnavn=" + encodeURIComponent(grp1) + "&sub=" + encodeURIComponent(sub), '');
}
}

function gruppeFundet(){
gruppeFundet1(null);
}

function gruppeFundet1(data)
{
	// only if req shows "complete"
	if ((data != null) || (reqs[3].readyState == 4)) {
		// only if "OK"
		if ((data != null) || (reqs[3].status == 200)) {
		grpnr = new Array(); grptekst = new Array();
		var parts;
			if (data != null) {
				//alert(data);
				parts = data.split("\n");
			} else {
				parts = reqs[3].responseText.split("\n");
				//alert(reqs[3].responseText);
			}
			document.SMS.nyetekst.value = parts[0];
			document.SMS.slettekst.value = parts[1];
			var mySplitResult = parts[2].split("!+!");
			// +4522925540!+!Mit Navn!+!
			// 0: modtager 1: navn
			if (document.SMS.grpnavn.value == "FILTER") {tmp = tx53f;} else {tmp = tx53;}
			 j = 0; grpnbr[0] = 0; grpdata = "";
			for(i = 0; i < mySplitResult.length - 1; i = i+3){
				j = j + 1;
				if (mySplitResult[i+1].length == 0) { mySplitResult[i+1] = " "; }
				tmp = tmp + "<tr><td align=\"right\">"+j+"</td>";
				if (document.SMS.grpnavn.value == "FILTER") {
				tmp = tmp + "<td><input type=\"checkbox\" id=\"grpslet"+j+"\" name=\"grpslet"+j+"\" value=\"" + mySplitResult[i] + "\" /></td>";
				tmp = tmp + "<td><input type=\"hidden\" id=\"grpnr" + j +"\" name=\"grpnr" + j +"\" value=\"" + mySplitResult[i] + "\" />"+mySplitResult[i]+"</td>";
				tmp = tmp + "<td><input type=\"hidden\" id=\"grptekst" + j +"\" name=\"grptekst" + j +"\" value=\"" + mySplitResult[i+1] + "\" onchange=\"document.getElementById('gemknap').style.visibility='visible';\" />";
				sel = ''; sela=''; selb='';
				if (mySplitResult[i+1] == tx51) sel = 'checked="checked"';
				if (mySplitResult[i+1] == tx51a) sela = 'checked="checked"';
				if (mySplitResult[i+1] == tx51b) selb = 'checked="checked"';
				tmp = tmp + "<input type=\"radio\" name=\"grpradio"+j+"\" id=\"grpradio"+j+"\" value=\""+tx51+"\" onclick=\"document.getElementById('grptekst"+j+"').value='"+tx51+"';\"" + sel + " onchange=\"grptxt["+j+"] = this.value; document.getElementById('gemknap').style.visibility='visible';\" />"+tx51;
				tmp = tmp + "<input type=\"radio\" name=\"grpradio"+j+"\" id=\"grpradio"+j+"\" value=\""+tx51a+"\" onclick=\"document.getElementById('grptekst"+j+"').value='"+tx51a+"';\"" + sela + " onchange=\"grptxt["+j+"] = this.value; document.getElementById('gemknap').style.visibility='visible';\" />"+tx51a;
				tmp = tmp + "<input type=\"radio\" name=\"grpradio"+j+"\" id=\"grpradio"+j+"\" value=\""+tx51b+"\" onclick=\"document.getElementById('grptekst"+j+"').value='"+tx51b+"'; \"" + selb + " onchange=\"grptxt["+j+"] = this.value; document.getElementById('gemknap').style.visibility='visible';\" />"+tx51b+"</td>";
		//alert(tmp);
				} else {
				tmp = tmp + "<td><input type=\"checkbox\" id=\"grpslet"+j+"\" name=\"grpslet"+j+"\" value=\"" + mySplitResult[i] + "\" onclick=\"vis('grptekst" + j + "','text', "+j+");\" /></td>";
				tmp = tmp + "<td><input type=\"hidden\" id=\"grpnr" + j +"\" name=\"grpnr" + j +"\" value=\"" + mySplitResult[i] + "\" />"+mySplitResult[i]+"</td>";
				tmp = tmp + "<td><input type=\"hidden\" id=\"grptekst" + j +"\" name=\"grptekst" + j +"\" value=\"" + mySplitResult[i+1] + "\" onchange=\"document.getElementById('gemknap').style.visibility='visible';\" />"+mySplitResult[i+1]+"</td>";
				tmp = tmp + "<td>"+mySplitResult[i+2]+"</td>";
				}
				tmp = tmp + "</tr>";
				grpnbr[j] = mySplitResult[i];
				grptxt[j] = (mySplitResult[i+1]?mySplitResult[i+1]:'');
				grpnbr[0] = j; grptxt[0] = j;
				grpdata = grpdata + grpnbr[j] + (grptxt[j] != " "? "," +grptxt[j]:"") +"\n";
				}

			sletmarkerede = j; tmp1 = '';
			if (action != "grplist") {
			tmp = '<tr><td colspan="2"><p>' + tx93 +
'<br /><tr><td>' +
' <input type="radio" name="grpaction" value="all" checked="checked" onclick="updtype=\'all\'" />' + tx96 +
' <input type="radio" name="grpaction" value="" onclick="updtype=\'\'" />' + tx97 +
' <input type="hidden" name="page" value="'+tx83+'"><input type="hidden" name="MAX_FILE_SIZE" value="1025000" />' +
'</td></tr><tr><td colspan="2">' +
'<span onmouseover="show(\'grpfield'+txlang+'\'); return true;"' +
'onmouseout="hide(\'grpfield' + txlang + '\'); return true;" style="font-style:italic">' + tx90 +'</span>:<input name="userfile" type="file" size="50" /> ' +
'<input type="submit" onclick="if (document.SMS.userfile.value == \'\') {alert(tx98a);return false;}; document.SMS.enctype=\'multipart/form-data\'" value="' + tx98 + '" />' +
'</td></tr><tr><td colspan="2">' +
'<textarea name="gruppemedlemmer" rows="40" cols="60" onchange="document.getElementById(\'gemknap\').style.visibility=\'visible\';" >'+ grpdata +'</textarea>';
			} else {
			if (j == 0) {
				tmp = "";
			} else {
				tmp =  "<tr><td colspan=\"6\"><button type=\"button\" class=\"buttonNOK\" onclick=\"sletMedlemmer(this.form.nytnr.value, this.form.nytekst.value);\" >"+tx44+"</button><input type=\"checkbox\" name=\"allbox\" onclick=\"CheckAll();\" />" + tx84 +"</td></tr>" + tmp;
			}
			if (grpnbr[0] == 0) {t1 = tx91; t2 = tx92; } else {t1 = ""; t2 = "";}

			tmp1 = "<tr><td></td><td><button type=\"button\" class=\"buttonOK\" onclick=\"filtrerGruppe(this.form.nytnr.value, this.form.nytekst.value);\">"+tx86+"</button></td><td><input type=\"text\" name=\"nytnr\" onclick=\"this.form.nytnr.value=''; this.form.nytekst.value=''\" size=\"20\" value=\""+t1+"\"/></td>\n";
			if (document.SMS.grpnavn.value == "FILTER") {
				tmp1 = tmp1 + "<td><input type=\"hidden\" name=\"nytekst\" id=\"nytekst\" size=\"50\" value=\"\" />";
				tmp1 = tmp1 + "<input type=\"radio\" name=\"nytekstradio\" id=\"nytekstradio1\" value=\""+tx51+"\" onclick=\"document.getElementById('nytekst').value='"+tx51+"';\" />"+tx51;
				tmp1 = tmp1 + "<input type=\"radio\" name=\"nytekstradio\" id=\"nytekstradio2\" value=\""+tx51a+"\" onclick=\"document.getElementById('nytekst').value='"+tx51a+"';\" />"+tx51a;
				tmp1 = tmp1 + "<input type=\"radio\" name=\"nytekstradio\" id=\"nytekstradio3\" value=\""+tx51b+"\" onclick=\"document.getElementById('nytekst').value='"+tx51b+"';\" />"+tx51b+"</td><td>\n";
			} else {
				tmp1 = tmp1 + "<td><input type=\"text\" name=\"nytekst\" size=\"50\" value=\""+t2+"\" />";
			}

 			tmp1 = tmp1 + "<button type=\"button\" class=\"buttonOK\" onclick=\"opretMedlem(this.form.nytnr.value, this.form.nytekst.value);\">"+tx85+"</button></td></tr>\n";
 			document.getElementById('gemknap').style.visibility='hidden';
 			}
			tmp = "<table border=\"1\">"+ tmp1 + tmp + "</table>";
//alert(tmp);
			document.getElementById("grpoversigt").innerHTML = tmp;
//			for (var i=0; i<document.SMS.elements.length; i++) {
//				e=document.SMS.elements[i];
//				if ((e.name) && (e.name.indexOf('grptekst') == 0)) { e.style.visibility='hidden'; }
//			}
		} else {
			alert(tx72 + " (3)");
		}
	}
}

function filtrerGruppe(nr, tekst)
// Vis fra den interne tabel de elementer, der opfylder betingelserne
// I feltnavne anvendes det interne indexnr. Linjerne nummeres fortløbende på display.
// Kaldes, når Find-knappen klikkes
{
var j = 0;
var t1;
var e;
var matchednr;
var matchedtekst;
var tmp;
var maxnr;

if (nr == "&nbsp;") {nr = "";}
if (nr == " ") {nr = "";}
if (tekst == "&nbsp;") {tekst = "";}
if (tekst == " ") {tekst = "";}
tekst = tekst.toLowerCase();
nr = nr.toLowerCase();
maxnr = 0;
for (var i=10000; i<document.SMS.elements.length; i++) {
	e=document.SMS.elements[i];
	if ((e.name) && (e.name.indexOf('grpnr') == 0)) {
		j = parseInt(e.name.replace("grpnr", ""));
		if (j > 0) {
			grpnbr[j] = e.value;
			if (maxnr < j) {maxnr = j};
			//if (grpnbr[0] < j) { grpnbr[0] = j; }
		} else { alert("extract fejl " + j	+ "," + e.name);}
	}
	if ((e.name) && (e.name.indexOf('grptekst') == 0)) {
		if (e.value.length == 0) { e.value = " "; }
		j = parseInt(e.name.replace("grptekst", ""));
		if (j > 0) {
			grptxt[j] = e.value; //alert(e.value);
		} else { alert("extract fejl " + j	+ "," + e.name);}
	}
}
//grpnbr[0] = j;

for (var i=1; i <= grpnbr[0]; i++) {
	matchednr = 1; matchedtekst = 1;
	if ((nr !== '') && (grpnbr[i].toLowerCase().indexOf(nr) < 0)) { matchednr = 0;}
	if ((tekst !== '') && (grptxt[i].toLowerCase().indexOf(tekst) < 0)) {matchedtekst = 0;}
	if ((matchednr == 1) && (matchedtekst == 1) && (grpnbr[i] !== '')) {grphide[i] = 0;} else {grphide[i] = 1;}
}

j = 0;
if (document.SMS.grpnavn.value == "FILTER") {tmp = tx53f;} else {tmp = tx53;}
for (var i = 1; i <= grpnbr[0]; i++) {
if ( grphide[i] == 0) {
	j = j + 1;
	tmp = tmp + "<tr><td align=\"right\">"+j+"</td>";
	if (document.SMS.grpnavn.value == "FILTER") {
		tmp = tmp + "<td><input type=\"checkbox\" id=\"grpslet"+i+"\" name=\"grpslet"+i+"\" value=\"" + grpnbr[i] + "\" /></td>";
		tmp = tmp + "<td><input type=\"hidden\" id=\"grpnr" + i +"\" name=\"grpnr" + i +"\" value=\"" + grpnbr[i] + "\" />"+grpnbr[i]+"</td>";
		tmp = tmp + "<td><input type=\"hidden\" id=\"grptekst" + i +"\" name=\"grptekst" + i +"\" value=\"" + grptxt[i] + "\" onchange=\"document.getElementById('gemknap').style.visibility='visible';\" />";
		sel = ''; sela=''; selb='';
		if (grptxt[i] == tx51) sel = 'checked="checked"';
		if (grptxt[i] == tx51a) sela = 'checked="checked"';
		if (grptxt[i] == tx51b) selb = 'checked="checked"';
		tmp = tmp + "<input type=\"radio\" name=\"grpradio"+i+"\" id=\"grpradio"+i+"\" value=\""+tx51+"\" onclick=\"document.getElementById('grptekst"+i+"').value='"+tx51+"';\"" + sel + " onchange=\"grptxt["+i+"] = this.value; document.getElementById('gemknap').style.visibility='visible';\" />"+tx51;
		tmp = tmp + "<input type=\"radio\" name=\"grpradio"+i+"\" id=\"grpradio"+i+"\" value=\""+tx51a+"\" onclick=\"document.getElementById('grptekst"+i+"').value='"+tx51a+"';\"" + sela + " onchange=\"grptxt["+i+"] = this.value; document.getElementById('gemknap').style.visibility='visible';\" />"+tx51a;
		tmp = tmp + "<input type=\"radio\" name=\"grpradio"+i+"\" id=\"grpradio"+i+"\" value=\""+tx51b+"\" onclick=\"document.getElementById('grptekst"+i+"').value='"+tx51b+"'; \"" + selb + " onchange=\"grptxt["+i+"] = this.value; document.getElementById('gemknap').style.visibility='visible';\" />"+tx51b+"</td>";
	//alert(tmp);
	} else {
	tmp = tmp + "<td><input type=\"checkbox\" id=\"grpslet"+i+"\" name=\"grpslet"+i+"\" value=\"" + grpnbr[i] + "\" onclick=\"vis('grptekst" + i+ "','text', "+i+");\" /></td>";
	tmp = tmp + "<td><input type=\"hidden\" id=\"grpnr"+i+"\" name=\"grpnr" + i +"\" value=\"" + grpnbr[i] + "\" />"+grpnbr[i]+"</td>";
	tmp = tmp + "<td><input type=\"hidden\" id=\"grptekst"+i+"\" name=\"grptekst" + i +"\" value=\"" + grptxt[i] + "\" onchange=\"(grptxtdocument.getElementById('gemknap').style.visibility='visible';\" />"+grptxt[i]+"</td>";
	}
	tmp = tmp + "</tr>\n";
}
}
	//alert(tmp);
	if (j == 0) {
		tmp = "";
	} else {
		tmp =  "<tr><td colspan=\"6\"><button type=\"button\" class=\"buttonNOK\" onclick=\"sletMedlemmer();\" >"+tx44+"</button><input type=\"checkbox\" name=\"allbox\" onclick=\"CheckAll();\" />" + tx84 +"</td></tr>\n" + tmp;
	}
	if (grpnbr[0] == 0) {t1 = tx91; t2 = tx92; } else {t1 = ""; t2 = "";}
	tmp1 = "<tr><td></td><td><button type=\"button\" class=\"buttonOK\" onclick=\"filtrerGruppe(this.form.nytnr.value, this.form.nytekst.value);\">"+tx86+"</button></td><td><input type=\"text\" name=\"nytnr\" size=\"20\" value=\""+t1+"\"/></td>\n";
	if (document.SMS.grpnavn.value == "FILTER") {
		tmp1 = tmp1 + "<td><input type=\"hidden\" name=\"nytekst\" id=\"nytekst\" size=\"50\" value=\"\" />";
		tmp1 = tmp1 + "<input type=\"radio\" name=\"nytekstradio\" id=\"nytekstradio1\" value=\""+tx51+"\" onclick=\"document.getElementById('nytekst').value='"+tx51+"';\" />"+tx51;
		tmp1 = tmp1 + "<input type=\"radio\" name=\"nytekstradio\" id=\"nytekstradio2\" value=\""+tx51a+"\" onclick=\"document.getElementById('nytekst').value='"+tx51a+"';\" />"+tx51a;
		tmp1 = tmp1 + "<input type=\"radio\" name=\"nytekstradio\" id=\"nytekstradio3\" value=\""+tx51b+"\" onclick=\"document.getElementById('nytekst').value='"+tx51b+"';\" />"+tx51b+"</td><td>\n";
	} else {
		tmp1 = tmp1 + "<td><input type=\"text\" name=\"nytekst\" size=\"50\" value=\""+t2+"\" />";
	}
	tmp1 = tmp1 + "<button type=\"button\" class=\"buttonOK\" onclick=\"opretMedlem(this.form.nytnr.value, this.form.nytekst.value);\">"+tx85+"</button></td></tr>";
	tmp = "<table border=\"1\">" + tmp1 + tmp + "</table>";
	document.getElementById("grpoversigt").innerHTML = tmp;
//	for (var i=0; i<document.SMS.elements.length; i++) {
//		e=document.SMS.elements[i];
//		if ((e.name) && (e.name.indexOf('grptekst') == 0)) { e.style.visibility='hidden'; }
//	}
}

var retTil;
var retTid;
var retTiddiff = 0;
var retIdx=-1;

function checkChanged(til, tid, tidsdiff) {
// check om en SMS er rettet, så man skal slette den gamle
// Kaldes, når der trykkes på sendknappen eller on change i til/tid
//alert(retIdx);
if (retIdx >= 0) {
if ((til.value != retTil) || (tid.value != retTid) || (tidsdiff.value != retTiddiff)) {
	if (sletmarkerede == 1) {
		document.SMS.slet.checked = true;
	} else {
		document.SMS.slet[retIdx].checked = true;
	}
	return true;
}
}
return true;
}

function sletMsgs(antal, fsub)
{
var mySplits;
returncalls[4] = delayedSlettet;
tim = get_cookie("besked-timer");
sub = fsub;
if (tim == "" || tim != phpsessid) {
alert(tx50 + " (" + tim + ")");
} else
checkChanged(document.SMS.til, document.SMS.tid, document.SMS.tidsdiff);
if (antal == 1) {
	if (document.SMS.slet.checked == 1) {
		mySplits = document.SMS.slet.value.split("!+!");
		sendHttpReq(4, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=slet&sub=" + encodeURIComponent(mySplits[3]) + "&til=" + mySplits[0] + "&fil=" + mySplits[2], '');
	}
} else if (antal > 1) {
		for (i = 0; i < antal; i++){
			if (document.SMS.slet[i].checked == 1) {
				//alert(document.SMS.slet[i].value);
				mySplits = document.SMS.slet[i].value.split("!+!");
				sendHttpReq(4, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=slet&sub=" + encodeURIComponent(sub) + "&til=" + mySplits[0] + "&fil=" + mySplits[2], '');
			}
		}
}
}

function opretMedlem(nr, tekst) {
if ((nr != "")) {
j = grpnbr[0] + 1;
grpnbr[0]  = j;
grpnbr[j]  = nr;
grptxt[j]  = tekst;
grphide[j] = nr;
document.getElementById('gemknap').style.visibility='visible';
filtrerGruppe('', '');
}
}

function sletMedlemmer(nr, tekst) {

for (var i=0; i<document.SMS.elements.length; i++) {
	e=document.SMS.elements[i];
	if ((e.name) && (e.name.indexOf('grpslet') == 0) && e.checked) {
		j = parseInt(e.name.replace("grpslet", ""));
		if (j > 0) {
			grpnbr[j] = ''; document.SMS.elements['grpnr'+j].value = '';
//			grpnbr[j] = ''; document.getElementById('grpnr'+j).value = '';
			grptxt[j] = ''; document.SMS.elements['grptekst'+j].value = '';
			grphide[j] = 1;
			if (grpnbr[0] == j) { grpnbr[0] = j-1; }

		} else { alert("extract fejl " + j	+ "," + e.name);}
	}
}
document.getElementById('gemknap').style.visibility='visible';
filtrerGruppe('', '');
}

function lavgrptabel(data) {
var arr = data.split("\n");
for (i=0;i<arr.length;i++)
{
arr1 = arr[i].split(",",2);
grpnbr[i+1] = arr1[0];
grptxt[i+1] = (arr1[1]?arr1[1]:'');
}
grpnbr[0] = arr.length;
}


function gemAendringer(main, pwd, grp, nyetxt, slettxt, updtype) {
grp1 = grp;
if (grp.toUpperCase() == tx99a) {grp1 = tx99a;}
returncalls[5] = aendringerGemt;
var grpdata = '';
var data;
for (var i = 1; i <= grpnbr[0]; i++) {
if (grpnbr[i] != '') {
grpdata = grpdata + grpnbr[i] + ',' + grptxt[i] + '\\n';
}
}

data ='main='+main+'&pwd='+pwd+'&grp='+encodeURIComponent(grp1) + '&nye='+ updtype + '&usertype=web';
if (nyetxt != '-') data = data +'&nyetekst='+encodeURIComponent(nyetxt);
if (slettxt != '-') data = data +'&slettekst='+encodeURIComponent(slettxt);
data = data + '&msgtxt=' + encodeURIComponent(grpdata);
sendHttpReq(5, https + '://' + host + '/perl/'+ dbtable + '.pl', data);
}

function aendringerGemt()
{
	// only if req shows "complete"
	//resetPointer();
	if (reqs[5].readyState == 4) {
		// only if "OK"
		if (reqs[5].status == 200) {
			//alert(reqs[5].responseText);
			parts = reqs[5].responseText.split(",", 2);
			rc = parseInt(parts[0]);
			if (rc !== 0) {
				alert(tx71 + " (5)" + reqs[5].responseText);
			} else {
				hentGruppe(document.SMS.grpnavn.value, '', (action == "grplist1"?"onefield":''), '');
			}
		} else {
			alert(tx71 + " (5)");
		}
	}
}

function vis(navn, typ, idx){ // opdateringsfelt
var ip =document.getElementById(navn);
var np = document.createElement("input");
np.type = typ;
np.name = navn;
np.id = navn;
np.value=ip.value;
np.onchange = function() {grptxt[idx] = this.value; document.getElementById('gemknap').style.visibility='visible';};
//alert(ip.name + "," + navn + "," + typ+ ","+idx);
ip.parentNode.replaceChild(np,ip);
}

// this function gets the cookie, if it exists
function get_cookie( name ) {

var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if (sesstimeout == 0) return phpsessid;

if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return '';
}
if ( start == -1 ) return '';
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}

function Delete_Cookie( name, path, domain ) {
if ( get_cookie( name ) ) document.cookie = name + "=" +
( ( path ) ? ";path=" + path : "") +
( ( domain ) ? ";domain=" + domain : "" ) + ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function Logout_User(typ) {
if (typ < 2) {
document.SMS.navn.value = "";
document.SMS.policy.value = "";
if (typ == 0) { // logout
document.SMS.sub.value = "";
document.SMS.id.value = "";
document.SMS.til.value = "";
document.SMS.msgtxt.value = "";
document.SMS.tid.value = "";
}
}
Delete_Cookie("besked-timer", "/", "." + host + "");
}

function CheckAll()
{
	for (var i=0;i<document.SMS.elements.length;i++) {
		var e=document.SMS.elements[i];
		if (e.name && e.name.indexOf('linje') >= 0) {
			lin = e;
		}
		if (e.name && e.name.indexOf('slet') >= 0) {
			e.checked=document.SMS.allbox.checked;
//			lin.style.visibility = 'hidden';
		}
	}
}

var RE_NUM = /^-?\d+$/;
var RE_TID = /^\d+:\d+ \d+\-\d+\-\d+$/;
var RE_TID1 = /^\d+\-\d+\-\d+ \d+:\d+(:\d)?$/;
var RE_DATO = /^\d+\-\d+\-\d+$/;
var tp1;
var tpt;
var tptd;
var normtid;

// 2008-02-04 07:00:00,1440,2009-02-02 07:01:00
// 03-03-2008 07.00,1440,02-02-2009 07.01

function chktid(fieldval) {
if (fieldval.trim() != '') {

	if (!RE_TID.exec(fieldval) && !RE_TID1.exec(fieldval)) {
		alert(tx73+': '+fieldval);
		return false;
	} else if (RE_TID.exec(fieldval)) {
		tp1 = fieldval.split(' ');
		tpt = tp1[0].split(':');
		tptd = tp1[1].split('-');
		normtid = tptd[2];
		tptd[2] = tptd[0]; tptd[0] = normtid;
	} else {
		tp1 = fieldval.split(' ');
		tpt = tp1[1].split(':');
		tptd = tp1[0].split('-');
	}
	if (chkvalue(tpt[0], 0,23) == '') return false;
	if (chkvalue(tpt[1], 0,59) == '') return false;
	if (chkvalue(tptd[0], 2008,2015) == '') return false;
	if (chkvalue(tptd[1], 1,12) == '') return false;
	if (chkvalue(tptd[2], 1,31) == '') return false;
	normtid = tptd[0] + "-" + tptd[1] + "-" + tptd[2] + " " + tpt[0] + ":" + tpt[1];
}
return true;
}

function chkvalue(field, minval, maxval) {
if (!RE_NUM.exec(field) && field != '') {
	alert(tx73+': '+field);
	return '';
}

if (field == '') return field;

if (minval > 2000) {
	field=(parseInt(field,10) < 100 ? 2000 + parseInt(field,10):field);
} else {
	field=((parseInt(field,10) < 10) && (parseInt(field,10) >= 0) ? '0' : '') + parseInt(field,10).toString();
}
if (field < minval || field > maxval) {
	alert(tx73+': '+field+' [' +minval+'-'+maxval+']');
	return '';
}
return field;
}

function chkfield(field, minval, maxval) {
var res = chkvalue(field.value, minval, maxval);
	if (res != '') {
		field.value = res;
		document.SMS.tid.value = document.SMS.hour.value+':'+document.SMS.minutes.value+' '+document.SMS.day.value+'-'+document.SMS.month.value+'-'+document.SMS.year.value;
		return true;
	} else {
		field.focus(); field.select();
		document.SMS.tid.value = '';
	}
return false;
}

function updfields(field) {
if (chktid(field.value) && (field.value.trim() != '')) {
	tp1 = normtid.split(' ');
	tptd = tp1[0].split('-');
	tpt = tp1[1].split(':');

	document.SMS.hour.value = tpt[0];
	document.SMS.minutes.value = tpt[1];
	document.SMS.day.value = tptd[2];
	document.SMS.month.value = tptd[1];
	document.SMS.year.value = tptd[0];
} else if (field.value.trim() == '') {
	document.SMS.hour.value = '';
	document.SMS.minutes.value = '';
	document.SMS.day.value = '';
	document.SMS.month.value = '';
	document.SMS.year.value = '';
}
	checkChanged(document.SMS.til, document.SMS.tid, document.SMS.tidsdiff);

//document.SMS.subst1.value = field.value;
}

function setdefaulttid(defaulttid,fhour,fmin) {
var dtid = defaulttid;
if (fhour.value.trim() == '' || fmin.value.trim() == '') {
	if (dtid == '') {
		dtid = (new Date()).getHours();
		dtid=(parseInt(dtid,10) < 10 ? '0' : '') + parseInt(dtid,10) + ':00';
	}
	fhour.value = dtid.substr(0,2);
	fmin.value = dtid.substr(3,2);
}
}

// The following code is used to support the small popups that
// give the full description of an event when the user move the
// mouse over it.

var NS4 = (document.layers) ? 1 : 0;
var IE4 = (document.all) ? 1 : 0;
var isMozilla = (document.all) ? 0 : 1;
var timeoutID;
var popupsshown = 5;

function show ( name ) {
  if (isNaN(currentY)) currentY = 0;
  y = currentY + 20;
  if ( NS4 ) {
	//Position popup correctly
	var docWidth = document.width;	 //width of current frame
	var docHeight = document.height;  //height of current frame
	var layerWidth = document.layers[name].clip.width;	//width of popup layer
	var layerHeight = document.layers[name].clip.height; //height of popup layer
	if ( ( currentX + layerWidth ) >= docWidth ) {
	  x = ( currentX - layerWidth );
	} else {
	  x = currentX;
	}
	x = 0;
	document.layers[name].xpos = parseInt ( x );
	document.layers[name].left = parseInt ( x );
	document.layers[name].ypos = parseInt ( y );
	document.layers[name].top = parseInt ( y )+'px';
	document.layers[name].visibility = "show";
  } else {
	var docHeight = document.body.offsetHeight;
	var docWidth = document.body.offsetWidth;
	myDiv=document.getElementById(name);
	var layerWidth = myDiv.offsetWidth;
	var layerHeight = myDiv.offsetHeight;
	if ( ( currentX + layerWidth ) > docWidth ) {
	  x = ( currentX - (docWidth - layerWidth ));
	}
	else {
	  x = currentX;
	}
	  x = 0;
	if ( ( currentY + layerHeight ) >= docHeight ) {
	   y = ( currentY + 0 - layerHeight );
	}
	else {
	  y = currentY + 20;
	}
	//	alert(x+' '+y);
	  myDiv.style.position='absolute';
	  myDiv.style.left = parseInt ( x );
	  myDiv.style.top = parseInt ( y ) + 'px';	 //alert(myDiv.style.top);
//	  myDiv.style.top = '0px'; //alert(myDiv.style.top);
//	  myDiv.style.top = parseInt ( y ); //alert(myDiv.style.top);
	if (popupsshown > 0) { // the first ones show immediately, so the user knows about popups
		myDiv.style.visibility = "visible"; popupsshown--;
	} else {
		timeoutID = setTimeout('myDiv.style.visibility = "visible";', 350); // ms delay to prevent flashing while mouse moves over field
	}
  }
}
function hide ( name ) {
	clearTimeout(timeoutID);
  if (NS4) {
	document.layers[name].visibility = "hide";
  } else {
	  myDiv.style.visibility = "hidden";
  }
}

var currentX = currentY = 0;
var myDiv;

function grabEl(event) {
	if ( isMozilla ) {
		//oldX = currentX; oldY = currentY;
		currentX = event.pageX;
		currentY = event.pageY;
	} else {
		//oldX = currentX; oldY = currentY;
		if (event == undefined) {   // Internet Explorer
			event = window.event;
		}
		currentX = event.x + document.body.scrollLeft;
		currentY = event.y + document.body.scrollTop
		//currentX = event.x;
		//currentY = event.y;
	}
	return false;
}

if (NS4)
{
	document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP);
}

document.onmousemove = grabEl;
document.onkeydown = KeyCheck;
document.onkeyup = KeyMod;

var submitform = '';
var keyentered;
var prevkey;

var ctrlKey = false;
var altKey = false;

function KeyMod(e){
var KeyID = (window.event && !e) ? event.keyCode : e.keyCode;
//alert(KeyID + " up");
switch(KeyID)
{
	case 17:
	ctrlKey = false;
	break;
	case 18:
	altKey = false;
	break;
	 case 48: // 0 dvs 10
	 case 49:
	 case 50:
	 case 51:
	 case 52:
	 case 53:
	 case 54:
	 case 55:
	 case 56:
	 case 57: // 9
	 if (altKey && !ctrlKey ) {
		keyentered = KeyID - 48;
		if (keyentered == 0) keyentered = 10;
//	 	alert(KeyID +','+keyentered);
		if (document.SMS.fasttekst) {
			document.SMS.fasttekst.selectedIndex = keyentered;
			brugFastTekst(document.SMS.fasttekst.selectedIndex);
			document.SMS.day.focus();
		}
		altKey = false;
		ctrlKey = false;
	 }
	  break;

	 case 112:
	 case 113:
	 case 114:
	 case 115:
	 case 116:
	 case 117:
	 case 118:
	 case 119:
	 case 120:
	 case 121:
	 case 122:
	 if (altKey) {
		keyentered = KeyID - 112 + 1;
//	 	alert(KeyID +','+keyentered);
		if (document.SMS.fasttekst) {
			document.SMS.fasttekst.selectedIndex = keyentered;
			brugFastTekst(document.SMS.fasttekst.selectedIndex);
			document.SMS.day.focus();
		}
		altKey = false;
		ctrlKey = false;
	 }
	 break;
	 case 123:
//		alert("F12");
		if (document.SMS.sendsms) {
			submitform = 'sendsms';
			document.SMS.sendsms.focus();
		}
	 break;
}
}

function KeyCheck(e)
{
   var KeyID = (window.event && !e) ? event.keyCode : e.keyCode;
//alert(KeyID);
   switch(KeyID)
   {
	  case 16:
	 keyentered = "Shift";
	  break;

	  case 17:
	 keyentered = "Ctrl"; ctrlKey = true;
	  break;

	  case 18:
	 keyentered = "Alt"; altKey = true;
	  break;

	  case 19:
	 keyentered = "Pause";
	  break;

	  case 37:
	 keyentered = "Arrow Left";
	  break;

	  case 38:
	 keyentered = "Arrow Up";
	  break;

	  case 39:
	 keyentered = "Arrow Right";
	  break;

	  case 40:
	 keyentered = "Arrow Down";
	  break;

	 case 48: // 0 dvs 10
	 case 49:
	 case 50:
	 case 51:
	 case 52:
	 case 53:
	 case 54:
	 case 55:
	 case 56:
	 case 57: // 9
	 if (altKey && !ctrlKey) {
		keyentered = KeyID - 48;
		if (keyentered == 0) keyentered = 10;
//	 	alert(KeyID +','+keyentered);
		if (document.SMS.fasttekst) {
			document.SMS.fasttekst.selectedIndex = keyentered;
			brugFastTekst(document.SMS.fasttekst.selectedIndex);
			document.SMS.day.focus();
		}
		altKey = false;
		ctrlKey = false;
	 }
	  break;

	 case 112:
	 case 113:
	 case 114:
	 case 115:
	 case 116:
	 case 117:
	 case 118:
	 case 119:
	 case 120:
	 case 121:
	 case 122:
	 if (altKey) {
		keyentered = KeyID - 112 + 1;
//	 	alert(KeyID +','+keyentered);
		if (document.SMS.fasttekst) {
			document.SMS.fasttekst.selectedIndex = keyentered;
			brugFastTekst(document.SMS.fasttekst.selectedIndex);
			document.SMS.day.focus();
		}
		altKey = false;
		ctrlKey = false;
	 }
	 break;
	 case 123:
//		alert("F12x");
		if (document.SMS.sendsms) {
			submitform = 'sendsms';
			document.SMS.sendsms.focus();
		}
	 break;

   }
}

function brugFastTekst (s) {
	var str = document.SMS.fasttekst.options[s].value;
	var arr = str.indexOf(':');
	var l = str.length - arr;
	var f = str.substr(0,arr);
	var p1 = f.indexOf('%');
	document.SMS.tidsdiff.value = 0;
	if (p1 > 0) {
		document.SMS.tidsdiff.value = f.substr(p1+1,f.length - p1-1);
		f = f.substr(0,p1);
	}
	document.SMS.fast.value = f;
	document.SMS.msgtxt.value = (str.substr(arr+1,l)).trim();
	if (document.SMS.subst1.value != '') document.SMS.msgtxt.value = document.SMS.msgtxt.value.replace('%1',document.SMS.subst1.value);
	document.SMS.msglgt.value = document.SMS.msgtxt.value.length;
}

var currentTime = new Date();
var currmonth = currentTime.getMonth() + 1;
var currday = currentTime.getDate();
var curryear = currentTime.getFullYear();

function getD(val) {
currentTime = new Date();
currmonth = currentTime.getMonth() + 1;
currday = currentTime.getDate();
curryear = currentTime.getFullYear();
currMD = parseInt(currmonth,10) * 100 +parseInt(currday,10);
currYMD =curryear * 1000 + currMD;

if (val == "D") return currday;
if (val == "M") return currmonth;
if (val == "Y") return curryear;
if (val == "DMY") return currday + '-' + currmonth + '-' + curryear;
}

function startHLR(grp, sub) {
var hlrdate = prompt(tx120,getD("DMY"));
if (hlrdate != null) {
	if (RE_DATO.exec(hlrdate)) {
		sendHttpReq(7, https + "://" + host + "/beskedutil.php?newbase="+newbase+"&action=validergrp&grp="+grp+"&sub="+sub+"&hlr=1&hlrdate="+hlrdate, '');
		alert(tx123);
		return true;
	} else {
		alert(tx121);
	}
}
return false;
}

