// © Copyright Jørgen Thomsen 2001

var ll = 122
var lhl = 6

function initArray()
{ this.length = initArray.arguments.length
  for (var i = 0; i < this.length; i++)
  this[i] = initArray.arguments[i]
}

var nrliste = new initArray(
"201",7,
"202",7,
"203",7,
"204",7,
"205",7,
"206",4,
"207",4,
"208",4,
"209",4,
"211",7,
"212",7,
"213",7,
"214",7,
"215",7,
"216",7,
"217",7,
"218",7,
"219",7,
"221",4,
"222",4,
"223",4,
"224",4,
"225",4,
"226",4,
"227",4,
"228",4,
"229",4,
"231",7,
"232",7,
"233",7,
"234",7,
"235",7,
"236",7,
"237",7,
"238",7,
"2390",7,
"2391",7,
"2392",7,
"2393",7,
"2394",7,
"2395",11,
"2396",7,
"2397",7,
"2398",7,
"2399",7,
"241",7,
"242",7,
"243",7,
"244",7,
"245",7,
"246",7,
"247",7,
"248",7,
"249",7,
"251",4,
"252",4,
"253",4,
"254",4,
"255",4,
"256",4,
"257",10,
"258",10,
"261",1,
"262",1,
"263",1,
"264",1,
"265",1,
"266",1,
"267",1,
"268",1,
"269",1,
"271",1,
"272",1,
"273",1,
"274",1,
"275",1,
"276",1,
"277",1,
"278",1,
"279",1,
"281",11,
"282",11,
"283",11,
"284",11,
"285",11,
"286",11,
"287",11,
"288",11,
"289",11,
"291",7,
"292",7,
"293",7,
"294",7,
"295",7,
"296",7,
"297",7,
"298",7,
"299",7,
"301",7,
"302",7,
"303",7,
"304",7,
"305",7,
"306",7,
"307",7,
"308",7,
"309",7,
"311",3,
"312",3,
"3130",3,
"401",7,
"402",7,
"403",7,
"404",7,
"405",4,
"406",4,
"407",4,
"408",4,
"409",4,
"505",2,
"509",4,
"511",7,
"512",7,
"513",7,
"514",7,
"515",7,
"516",7,
"517",7,
"5180",7,
"5181",7,
"5182",7,
"5183",7,
"5184",7,
"5185",7,
"5186",7,
"5187",7,
"5188",11,
"5189",11,
"519",7,
"601",11,
"602",11,
"606",2,
"607",2,
"608",2,
"6091",4,
"6092",4,
"6093",4,
"6094",4,
"6095",4,
"6099",6,
"611",7,
"612",7,
"613",7,
"6140",7,
"6141",7,
"6142",7,
"6143",7,
"6144",7,
"6145",7,
"6146",11,
"6147",7,
"6148",7,
"6149",7,
"615",7,
"616",7,
"617",7
);


function findOperator(tlfnr) {
var k = 0
var l = 0
var u = Math.floor(nrliste.length / 2) - 1
var t = tlfnr.substring(0,4)
var m = Math.floor((l + u) / 2)
var m2

while ((l <= u) && (k < 20)) {
k++; m2 = m * 2;
if (t > nrliste[m2]) { l = m + 1}
if (t <= nrliste[m2]) { u = m - 1}
m = Math.floor((l + u) / 2)
}

m2 = l * 2
if (m2 > nrliste.length || (nrliste[m2] != t && l > 0)) {
m2 = m2 - 2
if (nrliste[m2].length < 4) {t = t.substring(0,nrliste[m2].length)}
}

if (nrliste[m2] == t)
{return nrliste[m2+1]}
else
{return 0}

}

function numeric(w) {
return /^[+]?[0-9]+$/.test(w);
}


function alfanumeric(w) {
return /^[0-9a-zæøå][-0-9a-zæøå]+[0-9a-zæøå]$/.test(w);
}


function textCounter(field, countfield, maxSMSs, l, hl) {
var maxlimit = parseInt(maxSMSs.value) * l
eval("a=document." + "SMS" + "." + "SMSfra" + ".value.length")
eval("f=document." + "SMS" + "." + "SMSfra" + ".value")
if (f == "") {a = 1; document.SMS.SMSfra.value = "?"}
a=a+hl

c = (field.value.length - 1)
b = c + (l-a)
b = (b - b % (l-a)) / (l-a)

if (b > maxSMSs.value) { // if too long...trim it!
field.value = field.value.substring(0, maxlimit - maxSMSs.value * a)
countfield.value = 0
b = maxSMSs.value
// otherwise, update 'characters left' counter
} else
countfield.value = maxlimit - field.value.length - a * b;

document.SMS.antalSMS.value=b;
return
}

function doAntalcheck(f, l, hl) {
if (f.value > 9) {alert("Max 9 SMSer pr. besked"); f.value = 9; return false}
if (f.value.length < 1 || f.value < 1) {alert("Mindst 1 SMS"); f.value = 1; return false}
document.SMS.maxlength.value = f.value * l
textCounter(document.SMS.SMSbesked, document.SMS.remLen, f.value, l, hl)
return true
}

function doTlfcheck(w) {
eval("a=document." + "SMS" + "." + w + ".value")
if (a.length > 0) {
if (a.length < 8) {alert("Tlfnr skal være 8 eller flere tegn"); return false}
if (numeric(a) == false){alert("Tlfnr må kun bestå af tal.");return false}
}

b = findOperator(a)
document.SMS.SMSoperator.selectedIndex = b

}

function doEmailcheck(w) {
eval("a=document." + "SMS" + "." + w + ".value")
if (eval('a!=""&&(a.length<5||a.indexOf("@")==-1||a.indexOf(".")==-1)')) //Must be longer than 5 characters, have @, and at least one '.'
   { alert("Ukorrekt email-adresse!"); return false }
return true
}

function doAllchecks(l, hl) {
   return doEmailcheck("SMSemail")&&doTlfcheck("SMStlf")&&doAntalcheck(document.SMS.SMSantal,l,hl)
}

function doGruppe(g, SMSkode, lang) {
if (g.length == 0) {
alert("Angiv gruppenavn"); return false;
}
if (alfanumeric(g) == false) {alert("Gruppenavn må kun bestå af små bogstaver, tal samt '-'"); return false;}

SMSkode1=document.SMS.SMSkode.value;
SMSgruppe=document.SMS.SMSgruppe.value;
l = lang;
document.location = "./gruppe."+l+".php?SMSkode="+SMSkode1+"&SMSgruppe="+SMSgruppe;
}

var ca=String.fromCharCode(64);
function em(dom, bruger) {
if (dom == '') dom = 'SMSnu.dk';
document.write('<a href="mailto:'+bruger + ca + dom+'">'+bruger + ca + dom+'</a>');
}

