/*

	JavaScript som laver en box, ved info bnt.

*/

// selve div_layer
var divLayerID = "div_layer";

// infoBox, lige under lukBNT
var infoBox = "info_box";

// Dér hvor whois informationen
// bliver tilføjet:
var whoisBox = "whoisBox";

// Height på infoBox, når der 
// skal udføres en whois
var height = 350;

// php-fil, som skal fortage whois:
var phpSrc = "whois/whoisPopup.php";

// Whois MSG, indtil php har afhviklet
// Efter afhvikling, vil den ny data erstattet indholdet i div-tagget:
var whoisMSG = "<div id=\""+ whoisBox +"\">Whois:<br />Henter oplysninger... Vent venligst <div id=\"preloadBar\"></div></div>";

///////////////////////////////////////

/* GET POSITION */
function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	curleft += obj.x;
	return curleft;
}

function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
	curtop += obj.y;
	return curtop;
}

// update inforbøs, indhold x, y, h
function updataInfo(xpos, ypos, newheight, indhold){
	// Vis div-layer
	document.getElementById(divLayerID).style.display = "block";
	
	// Sæt yderligere styles:
	document.getElementById(divLayerID).style.position = "absolute";

	// x og y pos, hvis det er sat
	if(xpos !== "" && ypos !==""){
		document.getElementById(divLayerID).style.top = ypos+"px";
		document.getElementById(divLayerID).style.left = xpos+"px";
	}
	
	// info-box
	document.getElementById(divLayerID).style.height = "";
	
	// Vis inholdet
	document.getElementById(divLayerID).innerHTML = indhold;
	
	// Hvis w og h er sat: (Skal være efter indhold er sat.)
	if(newheight !== ""){
		document.getElementById(infoBox).style.height = newheight+"px";
		
		// overflow på info_box
		document.getElementById(infoBox).style.overflow = "auto";
	}
}

// show Info-box
function showInfo(bntID, soegeord, host, land, min, max, needTBL, statusID) {
	// Inhold i box html:
	var NewSoegord = "<span id=\"info_soegeord\">Søgeord: "+soegeord+"</span>";
	var NewLand = "<span id=\"info_land\">[ ."+host+" ] - "+land+"</span>";
	var NewMin = "<span id=\"info_min_max_chr\">Minimum antal tegn: "+min+"</span>";
	var NewMax = "<span id=\"info_min_max_chr\">Maksimum antal tegn: "+max+"</span>";
	var NewNeedTBL = "<span id=\"info_needToBeLocal\">Lokalt tilhørsforhold påkrævet: "+needTBL+"</span>";
		
	// Luk link/bnt i selve "popupen":
	var closeBNT = "<div id=\"div_luk_bnt\"><a class=\"luk_link\" href=\"JavaScript:hideInfo()\" target=\"_self\">luk</a></div>";
	
	// obj x og y position af BNT:
	var xpos = /*findPosX(bntID)*/190;
	var ypos = /*findPosY(bntID)-100*/265;

	// Samsæt indhold:
	var indhold = closeBNT + "<div id=\"info_box\">" + NewLand + NewSoegord + NewMin + NewMax + NewNeedTBL + "</div>";
	
	// om der skal fortages en "whois":
	var whoisStatus = document.getElementById(statusID).innerHTML;
	
	if(whoisStatus == "optaget"){
		// height:
		var newH = height;	
		
		// Tilføj whois meddelse:
		var indhold = closeBNT + "<div id=\"info_box\">" + NewLand + NewSoegord + NewMin + NewMax + NewNeedTBL + whoisMSG + "</div>";
		
		// Tilføj en Iframe:	
		indhold = indhold + "<iframe src =\"" + phpSrc + "?search="+ soegeord + "." + host + "&case=1" + "\" style=\"width: 1px; height:1px; border: none;\"></iframe>";

		// updataInfo indhold:
		updataInfo(xpos, ypos, newH, indhold);
	} else {
		// updataInfo indhold:
		updataInfo(xpos, ypos, "", indhold);
	}
}

// update indholdet af whoisBox'en. Bliver
// kaldt fra php! Se whois_index.php
function updataInfo_whoisBox(str){
	parent.document.getElementById(whoisBox).innerHTML += str + "<br />";
}

// hide/close info-box
function hideInfo(){
	document.getElementById(divLayerID).style.display="none";
	document.getElementById(divLayerID).innerHTML="";
}

/*
	Fejlmsg, hvis bruger indtaster noget ulovligt i
	søgningen. (Kører kun på onsubmit!)
*/
function validateInput(obj){
	var input = obj.value;
	var ErrorMsg = "Din søgning indholder ugyldige tegn.";
	var myREG;
	var results;
	var str;
	var errorArray = new Array();
	var count = 0;
	var tegn = " TEGN: [";
	
	for(var x = 0; x < input.length; x++){
		str = input.substr(x, 1);
		str = str.toLowerCase();
		
		myREG = new RegExp("[a-zA-Z0-9-æøå]");
		results = str.match(myREG);
		
		if(results == null){
			errorArray[count] = str;
			count++;
		}
	}
	
	if(errorArray.length > 0){
		for(var i = 0; i < errorArray.length; i++){
			tegn = tegn + " " + errorArray[i];
		}
		tegn = tegn + " ]";
		document.getElementById("ErrorMsg").innerHTML = ErrorMsg + tegn;
		return false;
	} else {
		return true;
	}
}