function colup(id)
{ id.style.background='#cccccc'; }
function coldo(id)
{ id.style.background='#ffffff'; }

function addBookmark(title,url){
if (window.sidebar) // firefox
    window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
    var elem = document.createElement('a');
    elem.setAttribute('href',url);
    elem.setAttribute('title',title);
    elem.setAttribute('rel','sidebar');
    elem.click();
} 
else if(document.all)// ie
    window.external.AddFavorite(url, title);
}

function popwhois(dom,ext)
{
//		document.getElementById(whe).innerHTML = 'Vent venligst...';
	winpops=window.open("whois.php?x=" + dom + "&e=" + ext,"","width=300,height=200");
}

function checkyear(p)
{
	var vx=document.getElementById ('qdominfo'+p);
	var px=document.getElementById ('p'+p);
	if(vx.value==3 || vx.value==2) { px.value=9999; px.disabled=true; } else px.disabled=false;
}

function checkyears()
{
	for(p=1;p<=10;p++)
	{
		var vx=document.getElementById ('qdominfo'+p);
		var px=document.getElementById ('p'+p);
		if(vx.value==3 || vx.value==2) { px.value=9999; px.disabled=true; } else px.disabled=false;
	}
}

function dnsformvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(thost,"Du mangler at angive host")==false) {thost.focus(); return false;};
		if(lengthvalidation(thost,3,64,"Host skal være på mindst 4 og maksimalt 64 karakterer")==false) {thost.focus(); return false;};
		if(legalcharsvalidation4(thost,"Host indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, og bindestreg")==false) {thost.focus(); return false;};
		var val=thost.value;
		var valend=val.length-1;
		if(val.charAt(0)=='.') {alert('Host må ikke starte med .'); thost.focus(); return false;};
		if(val.charAt(valend)=='.') {alert('Host må ikke slutte med .'); thost.focus(); return false;};
		if(val.charAt(0)=='-') {alert('Host må ikke starte med -'); thost.focus(); return false;};
		if(val.charAt(valend)=='-') {alert('Host må ikke slutte med -'); thost.focus(); return false;};
		for(var j=0; j<val.length; j++)
		{
			if(val.charAt(j)=='.' && val.charAt(j+1)=='.') {alert('Host tillader ikke ..'); thost.focus(); return false;};
			if(val.charAt(j)=='--' && val.charAt(j+1)=='--') {alert('Host tillader ikke ..'); thost.focus(); return false;};
		}

		if(emptyvalidation(tip,"Du mangler at angive værdi")==false) {tip.focus(); return false;};
		if(lengthvalidation(tip,3,64,"Værdi skal være på mindst 4 og maksimalt 64 karakterer")==false) {tip.focus(); return false;};
		if(legalcharsvalidation4(tip,"Værdi indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, og bindestreg")==false) {tip.focus(); return false;};
		var val=tip.value;
		var valend=val.length-1;
		if(val.charAt(0)=='.') {alert('Værdi må ikke starte med .'); tip.focus(); return false;};
		if(val.charAt(valend)=='.') {alert('Værdi må ikke slutte med .'); tip.focus(); return false;};
		if(val.charAt(0)=='-') {alert('Værdi må ikke starte med -'); tip.focus(); return false;};
		if(val.charAt(valend)=='-') {alert('Værdi må ikke slutte med -'); tip.focus(); return false;};
		for(var j=0; j<val.length; j++)
		{
			if(val.charAt(j)=='.' && val.charAt(j+1)=='.') {alert('Værdi tillader ikke ..'); tip.focus(); return false;};
			if(val.charAt(j)=='--' && val.charAt(j+1)=='--') {alert('Værdi tillader ikke ..'); tip.focus(); return false;};
		}
	}
}

function bestillingsformvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(qdomain1,"Du mangler at angive et domæne")==false) {qdomain1.focus(); return false;};
		if(checkDomain(qdomain1.value+'.'+qext1.value)==false) {qdomain1.focus(); return false;};
		if(qdominfo1.value==1)
		{
			alert("Vent venligst mens vi tester om domænet er ledigt til registrering. Dette kan tage et par sekunder.");
		}
	}
}

function bestillingsformvalidationreseller(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(qdomain1,"Du mangler at angive et domæne")==false) {qdomain1.focus(); return false;};
		if(checkDomain(qdomain1.value+'.'+qext1.value)==false) {qdomain1.focus(); return false;};
		if(qdominfo1.value==1)
		{
			alert("Vent venligst mens vi tester om domænet er ledigt til registrering. Dette kan tage et par sekunder.");
		}
	}
}

function domainchangevalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(qdomain1,"Du mangler at angive et domæne")==false) {qdomain1.focus(); return false;};
		if(checkDomain(qdomain1.value+'.'+qext1.value)==false) {qdomain1.focus(); return false;};
		if(qdominfo1.value==1)
		{
			alert("Vent venligst mens vi tester om domænet er ledigt til registrering. Dette kan tage et par sekunder.");
		}
	}
}

function domseekvalidation(thisform,qdomain,qext)
{
	with (thisform)
	{
		if(emptyvalidation(qdomain,"Du mangler at angive et domæne")==false) {qdomain.focus(); return false;};
		if(checkDomain(qdomain.value+'.'+qext.value)==false) {qdomain.focus(); return false;};
		alert("Vent venligst mens vi tester om domænet er ledigt til registrering. Dette kan tage et par sekunder.");
	}

}

function tipformvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(email,"Du mangler at angive en email")==false) {email.focus(); return false;};
		if(emailvalidation(email,"Din E-mail er ikke udfyldt korrekt")==false) {email.focus(); return false;};
	}

}

function gavekortformvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(email,"Du mangler at angive en email")==false) {email.focus(); return false;};
		if(emailvalidation(email,"Din E-mail er ikke udfyldt korrekt")==false) {email.focus(); return false;};
	}

}

function kundeformvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(qnavn,"Du mangler at angive dit navn")==false) {qnavn.focus(); return false;};
		if(emptyvalidation(qadresse,"Du mangler at angive din adresse")==false) {qadresse.focus(); return false;};
		if(emptyvalidation(qpost,"Du mangler at angive dit postnummer")==false) {qpost.focus(); return false;};
		if(emptyvalidation(qby,"Du mangler at angive din by")==false) {qby.focus(); return false;};
		if(emptyvalidation(qtelefon,"Du mangler at angive dit telefonnummer")==false) {qtelefon.focus(); return false;};
		if(emailvalidation(qemail,"Din E-mail er ikke udfyldt korrekt")==false) {qemail.focus(); return false;};
	}
} 

function ftpvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(ftpusername,"Du mangler at angive dit FTP brugernavn")==false) {ftpusername.focus(); return false;};
		if(lengthvalidation(ftpusername,3,64,"FTP brugernavn skal være på mindst 3 og maksimalt 64 karakterer")==false) {ftpusername.focus(); return false;};
		if(legalcharsvalidation(ftpusername,"FTP brugernavn indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, punktum, bindestreg og underscore")==false) {ftpusername.focus(); return false;};
		if(emptyvalidation(ftppassword,"Du mangler at angive dit FTP password")==false) {ftppassword.focus(); return false;};
		if(lengthvalidation(ftppassword,4,16,"FTP password skal være på mindst 4 og maksimalt 16 karakterer")==false) {ftppassword.focus(); return false;};
		if(legalcharsvalidation(ftppassword,"FTP password indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, punktum, bindestreg og underscore")==false) {ftppassword.focus(); return false;};
		if(legalcharsvalidation3(folder,"FTP mappe indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, bindestreg og underscore")==false) {folder.focus(); return false;};
		if(rootvalidation(folder,"FTP mappe SKAL starte med / som er din rod")==false) {folder.focus(); return false;};
	}
} 

function statistikvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(username,"Du mangler at angive dit statistik brugernavn")==false) {username.focus(); return false;};
		if(lengthvalidation(username,3,64,"Statistik brugernavn skal være på mindst 3 og maksimalt 64 karakterer")==false) {username.focus(); return false;};
		if(legalcharsvalidation(username,"Statistik brugernavn indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, punktum, bindestreg og underscore")==false) {username.focus(); return false;};
		if(emptyvalidation(password,"Du mangler at angive dit statistik password")==false) {password.focus(); return false;};
		if(lengthvalidation(password,4,16,"Statistik password skal være på mindst 4 og maksimalt 16 karakterer")==false) {password.focus(); return false;};
		if(legalcharsvalidation(password,"Statistik password indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal, punktum, bindestreg og underscore")==false) {password.focus(); return false;};
	}
} 

function databasevalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(sqldatabase,"Du mangler at angive dit database navn")==false) {sqldatabase.focus(); return false;};
		if(lengthvalidation(sqldatabase,3,64,"Database navn skal være på mindst 3 og maksimalt 64 karakterer")==false) {sqldatabase.focus(); return false;};
		if(legalcharsvalidation2(sqldatabase,"Database navn indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal og underscore")==false) {sqldatabase.focus(); return false;};
	}
} 

function databasebrugervalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(sqlusername,"Du mangler at angive dit database brugernavn")==false) {sqlusername.focus(); return false;};
		if(lengthvalidation(sqlusername,3,16,"Database brugernavn skal være på mindst 3 og maksimalt 16 karakterer")==false) {sqlusername.focus(); return false;};
		if(legalcharsvalidation2(sqlusername,"Database brugernavn indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal og underscore")==false) {sqlusername.focus(); return false;};

		if(emptyvalidation(sqlpassword,"Du mangler at angive dit database brugernavn password")==false) {sqlpassword.focus(); return false;};
		if(lengthvalidation(sqlpassword,3,16,"Database brugernavn password skal være på mindst 3 og maksimalt 16 karakterer")==false) {sqlpassword.focus(); return false;};
		if(legalcharsvalidation2(sqlpassword,"Database brugernavn password indeholder ulovlige tegn. Du kan kun anvende bogstaver, tal og underscore")==false) {sqlpassword.focus(); return false;};
	}
} 

function pegningvalidation(thisform)
{
	with (thisform)
	{
		if(emptyvalidation(domdest,"Du mangler at angive din domæne destination")==false) {domdest.focus(); return false;};
		if(lengthvalidation(domdest,3,64,"Domæne destination skal være på mindst 3 og maksimalt 64 karakterer")==false) {domdest.focus(); return false;};
		if(checkDomain(domdest.value)==false) {domdest.focus(); return false;};
	}
} 

function confirmformvalidation(thisform)
{
	with (thisform)
	{
		if(checkcheckbox(qterms,"Betingelserne skal accepteres.")==false) {qterms.focus(); return false;};
	}
}

function emailvalidation(entered, alertbox)
{
	with (entered)
	{
		apos=value.indexOf("@"); 
		dotpos=value.lastIndexOf(".");
		lastpos=value.length-1;
		if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) 
		{
			if (alertbox) {alert(alertbox);} return false;
		}
		else return true;
	}
} 

function emptyvalidation(entered, alertbox)
{
	with (entered)
	{
		if (value==null || value=="")
		{if (alertbox!="") {alert(alertbox);} return false;}
		else return true;
	}
}

function rootvalidation(entered, alertbox)
{
	with (entered)
	{
		if (value.charAt(0)!='/')
		{if (alertbox!="") {alert(alertbox);} return false;}
		else return true;
	}
}

function emptycheckboxvalidation(entered, alertbox)
{
	with (entered)
	{
		if (value!="on")
		{if (alertbox!="") {alert(alertbox);} return false;}
		else return true;
	}
} 

function valuevalidation(entered, min, max, alertbox, datatype)
{
	with (entered)
	{
		checkvalue=parseFloat(value);
		if (datatype)
		{
			smalldatatype=datatype.toLowerCase();
			if (smalldatatype.charAt(0)=="i") {checkvalue=parseInt(value)};
		}
		if ((parseFloat(min)==min && checkvalue<min) || (parseFloat(max)==max && checkvalue>max) || value!=checkvalue)
		{
			if (alertbox!="") {alert(alertbox);} return false;
		}
		else return true;
	}
}

function checkcheckbox(box, alertbox)
{
	if (!box.checked)
	{if (alertbox!="") {alert(alertbox);} return false;}
	else return true;
}

function lengthvalidation(entered, min, max, alertbox)
{
	with (entered)
	{
		if (value.length<min || value.length>max) {alert(alertbox); return false;}
		else return true;
	}
}

function legalcharsvalidation(entered, alertbox)
{
	var validChary;

	validChary="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅÄÖÜabcdefghijklmnopqrstuvwxyzæøåäöü_-.";

	with (entered)
	{
		for(i=0;i<value.length;i++)
		{
			if(validChary.indexOf(value.charAt(i))<0) {alert(alertbox); return false;}
		}
		return true;
	}
}

function legalcharsvalidation2(entered, alertbox)
{
	var validChary;

	validChary="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅÄÖÜabcdefghijklmnopqrstuvwxyzæøåäöü_";

	with (entered)
	{
		for(i=0;i<value.length;i++)
		{
			if(validChary.indexOf(value.charAt(i))<0) {alert(alertbox); return false;}
		}
		return true;
	}
}

function legalcharsvalidation3(entered, alertbox)
{
	var validChary;

	validChary="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅÄÖÜabcdefghijklmnopqrstuvwxyzæøåäöü_-/";

	with (entered)
	{
		for(i=0;i<value.length;i++)
		{
			if(validChary.indexOf(value.charAt(i))<0) {alert(alertbox); return false;}
		}
		return true;
	}
}

function legalcharsvalidation4(entered, alertbox)
{
	var validChary;

	validChary="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅÄÖÜabcdefghijklmnopqrstuvwxyzæøåäöü-.";

	with (entered)
	{
		for(i=0;i<value.length;i++)
		{
			if(validChary.indexOf(value.charAt(i))<0) {alert(alertbox); return false;}
		}
		return true;
	}
}

function checkDomain(nname)
{
	var arr = new Array(
	'.com','.net','.org','.biz','.coop','.info','.museum','.name','.eu',
	'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
	'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
	'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
	'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
	'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
	'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
	'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
	'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
	'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
	'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
	'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
	'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
	'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
	'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
	'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
	'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
	'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
	'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
	'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
	'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
	'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
	'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
	'.wf','.ye','.yt','.yu','.za','.zm','.zw');

	var mai = nname;
	var val = true;
	
	var dot = mai.lastIndexOf(".");
	var dname = mai.substring(0,dot);
	var ext = mai.substring(dot,mai.length);
	//alert(ext);
		
	if(dot>1 && dot<57)
	{
		for(var i=0; i<arr.length; i++)
		{
		  if(ext == arr[i])
		  {
		 	val = true;
			break;
		  }	
		  else
		  {
		 	val = false;
		  }
		}
		if(val == false)
		{
		  	 alert("Domæne extension "+ext+" er ikke korrekt");
			 return false;
		}
		else
		{
			for(var j=0; j<dname.length; j++)
			{
			  var dh = dname.charAt(j);
			  var hh = dh.charCodeAt(0);
	//		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
			  if((hh > 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==230 || hh==198 || hh==248 || hh==216 || hh==229 || hh==197)		//0-9,-,a-z,A-Z,æøå,ÆØÅ
			  {
				 if((j==0 || j==dname.length-1) && hh == 45)	
			  	 {
			 	  	 alert("Domæne navnet må ikke ende eller starte med '-'");
				      return false;
			 	 }
			  }
			else	{
			  	 alert("Domæne navnet må ikke have specielle karakterer. Kun bogstaver og tal samt bindestreg.");
				 return false;
			  }
			}
		}
	}
	else
	{
	 alert("Domæne navnet er ugyldigt");
	 return false;
	}	
	
	return true;
}
