// JavaScript Document

var language = 'en'
language = querySt('language');

var waarschijnlijk_beschikbaar;
var probably_not_available;
var available;
var not_available;

switch(language) {
	case 'nl':
		waarschijnlijk_beschikbaar = 'Waarschijnlijk beschikbaar.';
		probably_not_available = 'Waarschijnlijk niet beschikbaar.';
		available = 'Beschikbaar';
		not_available = 'Niet bescikbaar';
		unable_to_connect = 'Niet mogelijk om verbinding te maken met het whois register voor ';
		manual_review = 'Klik hier voor een handmatige controle.';
		no_whois = 'Geen whois register beschikbaar voor ';
		contact_novagraaf = 'Neem contact op met Novagraaf als u de domeinnaam voor deze extensie wilt registreren.';
		try_again = 'Kan geen verbinding maken met de whois server. Probeer het later opnieuw.';
		too_many_requests = 'Te veel opvragingen. Probeer over 24 uur opnieuw.';
		general_error = 'Er is een fout opgetreden. Probeer het later opnieuw.';
		not_open_website = 'Kan de website niet vinden of openen.';
		not_redirected = 'De domeinnaam is niet naar een website doorverwezen of de website reageert niet.';
		no_snapshot = 'Kan geen afbeelding van de website maken.';
		break;
	case 'fr':
		waarschijnlijk_beschikbaar = 'Probablement disponible.';
		probably_not_available = 'Probablement disponible.';
		available = 'Disponible';
		not_available = 'Pas disponible';
		unable_to_connect = 'Ne peut se connecter au registre Whois de ';
		manual_review = 'Clickez ici pour une review manuelle.';
		no_whois = 'Pas de registre Whois disponible pour ';
		contact_novagraaf = 'Merci de contacter Novagraaf si vous souhaitez enregistrer un nom de domaine pour cette extension.';
		try_again = 'Ne peut se connecter au serveur Whois. Merci de r&eacute;essayer plus tard.';
		too_many_requests = 'Trop de requ&ecirc;tes. Merci de r&eacute;essayer dans 24 heures.';
		general_error = 'Une erreur s\'est produite. Merci de r&eacute;essayer plus tard.';
		not_open_website = 'Ne peut trouver ou acc&eacute;der au site internet.';
		not_redirected = 'Ce nom de domaine n\'est pas redirig&eacute; vers un site internet ou pas de r&eacute;ponse de ce site internet.';
		no_snapshot = 'Ne peut cr&eacute;er une image du site internet.';
		break;
	case 'de':
		waarschijnlijk_beschikbaar = 'Wahrscheinlich verf&uuml;gbar.';
		probably_not_available = 'Wahrscheinlich nicht verf&uuml;gbar.';
		available = 'Verf&uuml;gbar';
		not_available = 'Nicht verf&uuml;gbar';
		unable_to_connect = 'Keine Verbindung zum Whois Register ';
		manual_review = 'Klicken sie hier f&uuml;r eine manuelle Inspektion';
		no_whois = 'Kein Whois Register verf&uuml;gbar f&uuml;r ';
		contact_novagraaf = 'Bitte Kontakt nut Novagraaf aufnehmen, wenn Sie einen Domain-Namen mit dieser Endung registrieren wollen.';
		try_again = 'Verbindung zum Whois Register unm&ouml;glich. Nochmals sp&auml;ter versuchen.';
		too_many_requests = 'Zu viele Anfragen. In 24 Stunden nochmals versuchen.';
		general_error = 'Ein Fehler ist aufgetreten. Nochmals sp&auml;ter versuchen.';
		not_open_website = 'Die Website konnte nicht gefunden oder ge&ouml;ffnet werden.';
		not_redirected = 'Dieser Domain-Name wird zu keiner Website umgeleitet, oder die Website gibt keine Antwort.';
		no_snapshot = 'Es kann kein Bild der Website erstellt werden.';
		break;
	default:
		waarschijnlijk_beschikbaar = 'Probably available.';
		probably_not_available = 'Probably not available.';
		available = 'Available';
		not_available = 'Not available';
		unable_to_connect = 'Unable to connect to the whois register of ';
		manual_review = 'Click here for a manual review.';
		no_whois = 'No whois register available for ';
		contact_novagraaf = 'Please contact Novagraaf if you would like to register a domain name for this extension.';
		try_again = 'Unable to connect to the whois server. Please try again later.';
		too_many_requests = 'Too many requests. Please try again after 24 hours.';
		general_error = 'An error has occurred . Please try again later.';
		not_open_website = 'Can not find or open the web site.';
		not_redirected = 'The domain is not redirected to a web site or no response from the web site.';
		no_snapshot = 'Unable to create a snapshot of the web site.';
		break;
}

function querySt(ji) {
	hu = window.location.search.substring(1);
	gy = hu.split("&");
	for (i=0;i<gy.length;i++) {
		ft = gy[i].split("=");
		if (ft[0] == ji) {
			return ft[1];
		}
	}
}

/*submitform*/
function submitForm(frm) {
	document.getElementById(frm).submit();
}

/*Filter functions*/
function fTimer(what) {
	if (fTimer.timerID) clearTimeout(fTimer.timerID);
	switch(what) {
		case 'merken': 
			fTimer.timerID = setTimeout(function() { fTimer.timerID = null; FilterMerken(); }, 100);
			break;
		case 'typos':
			fTimer.timerID = setTimeout(function() { fTimer.timerID = null; FilterTypos(); }, 100);
			break;
		case 'handelsnamen':
			fTimer.timerID = setTimeout(function() { fTimer.timerID = null; FilterHandelsnamen(); }, 100);
			break;
	}
}

function FilterMerken() {
	var zoekwoord = document.getElementById("zoekresult").value;
	var regExp = new RegExp(zoekwoord, "i");
	oldrow = -1;
	var applyFilter = function(ds, row, rowNumber) {
		var str = row["Trademark"]+row["Src"]+row["Regnr"]+row["ClassLine"]
		
		if (str && str.search(regExp) != -1) {
			return row;
		}
		return null;
	};
	merken.filter(applyFilter);
}

function FilterTypos() {
	var zoekwoord = document.getElementById("zoekresult").value;
	var regExp = new RegExp(zoekwoord, "i");
	oldrow = -1;
	var applyFilter = function(ds, row, rowNumber) {
		var str = row["domein"]+row["Src"]+row["description"]
		
		if (str && str.search(regExp) != -1) {
			return row;
		}
		return null;
	};
	typos.filter(applyFilter);
}

function FilterHandelsnamen() {
	var zoekwoord = document.getElementById("zoekresult").value;
	var regExp = new RegExp(zoekwoord, "i");
	oldrow = -1;
	var applyFilter = function(ds, row, rowNumber) {
		var str = row["naam"]+row["nummer"]+row["type"]
		
		if (str && str.search(regExp) != -1) {
			return row;
		}
		return null;
	};
	handelsnamen.filter(applyFilter);
}

var oldrow = -1;
var domoldrow = -1;
var canopen = true;
var domcanopen = true;

function openDetailsMerken(detailrow, src, nr) {
	if (navigator.appName == 'Microsoft Internet Explorer') {
		bl = 'block';
	} else {
		bl = 'table-cell';
	}

	if (canopen) {
	
		// reset previous
		if (oldrow >= 0) {
			document.getElementById('tm_'+oldrow).style.display = bl;
			document.getElementById('src_'+oldrow).style.display = bl;
			document.getElementById('nr_'+oldrow).style.display = bl;
			document.getElementById('class_'+oldrow).style.display = bl;
			document.getElementById('but_'+oldrow).style.display = bl;
			
			document.getElementById('details_'+oldrow).style.display = 'none';
			
//			document.getElementById('logo_'+oldrow).width = 100;
		}
	
		oldrow = detailrow;
	
		document.getElementById('tm_'+detailrow).style.display = 'none';
		document.getElementById('src_'+detailrow).style.display = 'none';
		document.getElementById('nr_'+detailrow).style.display = 'none';
		document.getElementById('class_'+detailrow).style.display = 'none';
		document.getElementById('but_'+detailrow).style.display = 'none';
		
		document.getElementById('details_'+detailrow).style.display = bl;
		
		// create obj for callback
		var myObj = new Object;
		myObj.detailrow = detailrow;
		
		// get landen
		Spry.Utils.loadURL("GET", "/IP2checkCorporate/showDetails_"+src+".asp?src="+src+"&nr="+nr, true, merkdetailsOK, { userData: myObj });
		
	} else {
		canopen = true;
		document.getElementById('but_'+detailrow).style.display = bl;
	}
}

function merkdetailsOK(req) {
	document.getElementById('merkdetails_'+req.userData.detailrow).innerHTML = req.xhRequest.responseText;
}

function closeDetailsMerken(row) {
	if (navigator.appName == 'Microsoft Internet Explorer') {
		bl = 'block';
	} else {
		bl = 'table-cell';
	}
	document.getElementById('tm_'+row).style.display = bl;
	document.getElementById('src_'+row).style.display = bl;
	document.getElementById('nr_'+row).style.display = bl;
	document.getElementById('class_'+row).style.display = bl;
		
	document.getElementById('details_'+row).style.display = 'none';
	canopen = false;
}

function loadingImg(id) {
	try {
		document.getElementById('logo_'+id).style.display='block';
		document.getElementById('enlarge_'+id).style.display='block';
	}
	catch(err) {
		
	}
}

var smallimg = true;

function setImagesize(row) {
	if (smallimg) {
		document.getElementById('logo_'+row).width = 300;
		document.getElementById('enlargetekst_'+row).innerHTML = 'Click on the image<br />to zoom out';
		smallimg = false;
	} else {
		document.getElementById('logo_'+row).width = 100;
		document.getElementById('enlargetekst_'+row).innerHTML = 'Click on the image<br />to zoom in';
		smallimg = true;
	}
}

function getQueryVariable(variable) {
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}
	}
}

// Whois functies
function getDns(row, domein, extensie) {
	if (extensie!='{extension}'&&domein!='{domein}') {
		var myObj = new Object;
		myObj.row = row;
		myObj.domein = domein;
		myObj.extensie = extensie.toUpperCase();
		
		Spry.Utils.loadURL("GET", "/V3/XML/getDns.asp?domein="+domein+"&extensie="+extensie, true, getDnsSuccess, { userData: myObj });
	}
}

function getDnsSuccess(req) {
	var res = document.getElementById('dnsResult_'+req.userData.row);
	var detres = document.getElementById('detres_'+req.userData.row);
	switch(req.xhRequest.responseText) {
		case '-2':
			res.innerHTML = waarschijnlijk_beschikbaar;
			res.className = 'nietgevonden';
			detres.className = 'nietgevonden';
			break;
		case '-1':
			res.innerHTML = probably_not_available;
			res.className = 'gevonden';
			detres.className = 'gevonden';
			break;
		case '0':
			res.innerHTML = available;
			res.className = 'nietgevonden';
			detres.className = 'nietgevonden';
			break;
		case '1':
			res.innerHTML = not_available;
			res.className = 'gevonden';
			detres.className = 'gevonden';
			break;
			break;
		case '2':
			res.innerHTML = waarschijnlijk_beschikbaar;
			res.className = 'maybe';
			detres.className = 'maybe';
			break;
		default:
			res.innerHTML = waarschijnlijk_beschikbaar;
			res.className = 'maybe';
			detres.className = 'maybe';
			break;
	}
}

function openDetailsDomeinen(detailrow, domein, extensie, server, type) {
	if (navigator.appName == 'Microsoft Internet Explorer') {
		bl = 'block';
	} else {
		bl = 'table-cell';
	}

	if (domcanopen) {
		document.getElementById('detres_'+detailrow).innerHTML = document.getElementById('dnsResult_'+detailrow).innerHTML;

		// reset previous
		if (domoldrow >= 0) {
			
			document.getElementById('country_'+domoldrow).style.display = bl;
			document.getElementById('domein_'+domoldrow).style.display = bl;
			document.getElementById('dnsResult_'+domoldrow).style.display = bl;
			document.getElementById('typos_'+domoldrow).style.display = bl;
			document.getElementById('dombut_'+domoldrow).style.display = bl;
			
			document.getElementById('domdetails_'+domoldrow).style.display = 'none';
		}
	
		domoldrow = detailrow;
	
		document.getElementById('country_'+detailrow).style.display = 'none';
		document.getElementById('domein_'+detailrow).style.display = 'none';
		document.getElementById('dnsResult_'+detailrow).style.display = 'none';
		document.getElementById('typos_'+detailrow).style.display = 'none';
		document.getElementById('dombut_'+detailrow).style.display = 'none';
	
		document.getElementById('domdetails_'+detailrow).style.display = bl;

		// create obj for callback
		var myObj = new Object;
		myObj.row = detailrow;
		myObj.domein = domein;
		myObj.extensie = extensie;

		switch(type) {
			case '1': // get whois
				Spry.Utils.loadURL("GET", "/V3/XML/getWhois.asp?domein="+domein+"&extensie="+extensie+"&server="+server, true, getWhoisOK, { userData: myObj });
				break;
			case '2': // present website link
				document.getElementById('whois_'+detailrow).innerHTML = unable_to_connect+extensie+'. <a href="/ip2checkCorporate/'+server+'" target="_blank">'+manual_review+'</a>';
				break;
			default: // say 'no whois register available'
				document.getElementById('whois_'+detailrow).innerHTML = no_whois+ extensie +'. '+contact_novagraaf;
				break;
		}

		// get website snapshot
		Spry.Utils.loadURL("GET", "/V3/XML/getWebsite.asp?domein="+domein+"&extensie="+extensie, true, getWebsiteOK, { userData: myObj });

	} else {
		domcanopen = true;
		document.getElementById('dombut_'+detailrow).style.display = bl;
	}
}

function getWhoisOK(req) {
	switch(req.xhRequest.responseText.substring(0,1)) {
		case '0':
			tmsg =  available;
			txt = req.xhRequest.responseText.substring(4);
			document.getElementById('dnsResult_'+req.userData.row).className = 'nietgevonden';
			document.getElementById('detres_'+req.userData.row).className = 'nietgevonden';
			break;
		case '1': 
			tmsg = not_available;
			txt = req.xhRequest.responseText.substring(4);
			document.getElementById('dnsResult_'+req.userData.row).className = 'gevonden';
			document.getElementById('detres_'+req.userData.row).className = 'gevonden';
			break;
		case '2':
			tmsg = '';
			txt = try_again;
			break;
		case '3':
			tmsg = '';
			txt = try_again;
			break;
		case '4':
			tmsg = '';
			txt = too_many_requests;
			break;
		default:
			tmsg = '';
			txt = general_error;
			break;
	}
	if (tmsg.length > 0) {
		document.getElementById('dnsResult_'+req.userData.row).innerHTML = tmsg;
		document.getElementById('detres_'+req.userData.row).innerHTML = tmsg;
	}
	document.getElementById('whois_'+req.userData.row).innerHTML = txt;
}

function getWebsiteOK(req) {
	switch(req.xhRequest.responseText.substring(0,1)) {
		case '0':
			tmsg = '<a href="http://www.'+req.userData.domein+req.userData.extensie+'" target="_blank"><img src="/V3/xml/showSite.asp?id='+req.xhRequest.responseText.substring(4)+'" width="100px" border="0"></a>';
			break;
		case '1':
			tmsg = not_open_website;
			break;
		case '2':
			tmsg = not_redirected;
			break;
		default:
			tmsg = no_snapshot;
			break;
	}
	document.getElementById('site_'+req.userData.row).innerHTML = tmsg;
}

function closeDetailsDomeinen(row) {
	if (navigator.appName == 'Microsoft Internet Explorer') {
		bl = 'block';
	} else {
		bl = 'table-cell';
	}
	document.getElementById('country_'+row).style.display = bl;
	document.getElementById('domein_'+row).style.display = bl;
	document.getElementById('dnsResult_'+row).style.display = bl;
	document.getElementById('typos_'+row).style.display = bl;
	document.getElementById('dombut_'+row).style.display = bl;
		
	document.getElementById('domdetails_'+row).style.display = 'none';
	domcanopen = false;
}

