function contestRequest()
{
	var input_element = document.getElementById("rufz");
	var input_value = input_element.value;

	var conId_element = document.getElementById("contestID");
	var conId_value = conId_element.value;

	var param = "rufz="+input_value+"&contestId="+conId_value;

	var elem = document.getElementById("freq");
	if (elem)	
		param = param + "&freq="+elem.value;

	var elem = document.getElementById("mode");
	if (elem)	
		param = param + "&mode="+elem.value;
	
	var elem = document.getElementById("srxDig");
	if (elem)
		param = param + "&dig";

	request(param, "xml/input_contest.php", requestDoneConId);

}

function getResult(contID, qrg)
{
	var param = "contestId="+contID+"&qrg="+qrg;
	request(param,"xml/ukw_ergebnis.php",requestDoneUkwResult);
}

function getList(contID, qrg)
{
	var param = "contestId="+contID+"&qrg="+qrg;
	request(param,"xml/ukw_list.php",requestDoneUkwList);
}

function ukwDirRequest()
{
	var myLoc = document.getElementById("myLoc").value;
	var Loc = document.getElementById("gridsquare").value;

	var param = "myLoc="+myLoc+"&Loc="+Loc;
	request(param,"xml/input_contest.php",requestDoneUkwDir);
}

/**
 * Funktion um im UKW Contest bei Bandwechsel die richtige lfd Nr zu bekommen.
 */
function lfdNrRequest()
{
	getLfdNr();
		
	getResult(contId, qrg);
	getList(contId, qrg);
}

/**
 * Funktion zur Abfrage der aktuellen lfdNr aus dem Datenbestand mit AJAX Rquests
 */
function getLfdNr()
{
	var elem = document.getElementById("contestID");
	if (elem)
	{
		var contId = elem.value;
		var param = "contestId=" + contId;
	}

	var elem = document.getElementById("freq");
	if (elem)
	{
		var qrg = elem.value;
		param =  param + "&qrgLfdNr=" + qrg;
	}
	
	var elem = document.getElementById("mode");
	if (elem)
		param = param + "&modeLfdNr=" + elem.value;
	
	request(param,"xml/input_contest.php",requestDoneLfdNr);
}

function requestDoneConId(req)
{
	var xmlDocument = req.responseXML;
	var info = '';
    if (xmlDocument)
    {
		clean();
		var doc = xmlDocument.getElementsByTagName("qso")[0];
		var elem = doc.getElementsByTagName('gridsquare')[0];

		if (elem)
		{
			var fild = document.getElementById('gridsquare');
			if (fild && (elem.firstChild != null))
			{
				fild.value = elem.firstChild.nodeValue;
				ukwDirRequest();
			}
		}
	
		elem = doc.getElementsByTagName('alert')[0];
		if (elem)
		{
			var fild = document.getElementById('alert');
			if (fild && (elem.firstChild != null))
				fild.innerHTML = elem.firstChild.nodeValue;
		}

		elem = doc.getElementsByTagName('dok')[0];
		if (elem)
		{
			var fild = document.getElementById('srx_dok');
			if (fild && (elem.firstChild != null))
				fild.value = elem.firstChild.nodeValue;
		}

		elem = doc.getElementsByTagName('namen')[0];
		if (elem)
		{
			var fild = document.getElementById('srx_name');
			if (fild && (elem.firstChild != null))
				fild.value = elem.firstChild.nodeValue;
			if (elem.firstChild != null)
				info = elem.firstChild.nodeValue;
		}
		elem = doc.getElementsByTagName('qth')[0];
		if (elem)
		{
			var fild = document.getElementById('srx_qth');
			if (fild && (elem.firstChild != null))
				fild.value = elem.firstChild.nodeValue;
			if (elem.firstChild != null)
				info = info + " - " + elem.firstChild.nodeValue;
		}
		elem = doc.getElementsByTagName('dig')[0];
		if (elem)
		{
			var fild = document.getElementById('srxDig');
			if (fild && (elem.firstChild != null))
				fild.value = elem.firstChild.nodeValue;
		}
		if (info.length > 1)
		{
			var elem = document.getElementById('qso_info');
			if (elem) 
				elem.innerHTML = info;
		}
	}
}

function requestDoneUkwDir(req)
{
	var xmlDocument = req.responseXML;
    if (xmlDocument)
    {
		var doc = xmlDocument.getElementsByTagName("qso")[0];

		var beam = doc.getElementsByTagName('beam')[0].firstChild.nodeValue;
		var dist = doc.getElementsByTagName('dist')[0].firstChild.nodeValue;

		document.getElementById('info').innerHTML= beam +"� <br />"+dist+"km";
	}
}

function requestDoneLfdNr(req)
{
	var xmlDocument = req.responseXML;
    if (xmlDocument)
    {
		var doc = xmlDocument.getElementsByTagName("qso")[0];

		var lfdNr = doc.getElementsByTagName('lfdNr')[0].firstChild.nodeValue;
		
		document.getElementById('lfdNr').value = lfdNr;
	}
}

function clean()
{
	var elem = document.getElementById('qso_info');
	if (elem)
		elem.innerHTML = '';
	var elem = document.getElementById('alert');
	if (elem)
		elem.innerHTML = "";
	elem = document.getElementById('info');
	if (elem)
		elem.innerHTML = "";
}

function contestClean()
{
	clean();
	var elem = document.getElementById('rufz');
	if (elem)
		elem.focus();
}

function ukw_reset()
{
	clean();
	var elem = document.getElementById('rufz');
	if (elem)
		elem.value = '';
	var elem = document.getElementById('srx_string');
	if (elem)
		elem.value = '';
	var elem = document.getElementById('gridsquare');
	if (elem)
		elem.value = '';
	var elem = document.getElementById('srx_dok');
	if (elem)
		elem.value = '';
	var elem = document.getElementById("srxDig");
	if (elem)
		elem.value = '';
	var elem = document.getElementById('rufz');
	if (elem)
		elem.focus();
	
}

function requestDoneUkwResult(req)
{
	document.getElementById('result').innerHTML = req.responseText;
}

function requestDoneUkwList(req)
{
	document.getElementById('conlist').innerHTML = req.responseText;
}

function conEdit(contid, qso)
{
	url = "kontest/kontedi.php?contid="+contid+"&qso="+qso;
  	popUp=window.open(url, 'QSO &auml;ndern', 'toolbar=no,location=no,directories=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=620,height=200,left=200,top=400');
  	popUp.window.focus();
}

function addKontest()
{
	var param = "conts="

	var elem = document.getElementById('contwahl');
	if (elem)
		param = param  + elem.value;

	var elem = document.getElementById('incId');
	if (elem)	
		param = param + "&incId="+elem.value;

	request(param, "xml/change_kontest.php",reqKontestDone);
}

function reqKontestDone(req)
{
	document.getElementById('auswahl').innerHTML = req.responseText;
}

function addKontestFree()
{
	document.getElementById('contwahlField').innerHTML = "<input type=text id='contwahl' size=50>";	
}

function contest_init_mode_change()
{
	var elem = document.getElementById('mode');
	if (elem)
		elem.setAttribute("onChange", "lfdNrRequest();");
}

function changeMode()
{
	var elem = document.getElementsByName('MODE')
	if (elem)
		var mode = elem[0].value;
	var rst_sent = document.getElementById('rst_sent');
	var rst_rcvd = document.getElementById('rst_rcvd');
	if ((mode == 'SSB' || mode == 'FM' || mode == 'SAT' || mode == 'DV'))
	{
		if (rst_sent)
			rst_sent.value = '59';
		if (rst_rcvd)
			rst_rcvd.value = '59';
	}
	else
	{
		if (rst_sent)
			rst_sent.value = '599';
		if (rst_rcvd)
			rst_rcvd.value = '599';
	}	
}

function changeModeNr()
{
	changeMode();
	getLfdNr();	
}

// Funktion zum Ergaenzen von QSOs zu einem Contest
function addQso2ContestId(sessID)
{
	var param = 'edit&CONTEST_ID=' + document.getElementById('contId').value;

	var cont_name = '';

	var elem = document.getElementById('contwahl');
	if (elem)
		cont_name = elem.value +" ";		

	var elem = document.getElementById('incId');
	if (elem)
		param  = param + "&incId="+elem.value;


	elem = document.getElementById('month');
	if (elem)
		cont_name = cont_name + elem.value + ".";		

	elem = document.getElementById('jahr');
	if (elem)
		cont_name = cont_name + elem.value;	
	
	if (cont_name)
		param = param + '&cont_name=' + cont_name;

 	for (var i = 0; i < document.listForm.elements.length; i++) 
 	{
    	var e = document.listForm.elements[i];
    	if ((e.type == 'checkbox')) 
    	{
			if (e.checked == true)
				param = param + '&' + e.name + '=' + e.value;
    	}
  	}
	request(param, "kontest/contedit.php",'');	
	init_blaettern(sessID);
}

// Funktion zum einblenden des Locatorfeldes fuer 2m u. 70cm beim VFDB Contest
function vfdbChangeBand(stxLoc)
{
	var elem = document.getElementById('myLoc');
	if (elem)
		stxLoc = elem.value;
	var elem = document.getElementById('freq');
	if (elem)
	{
		var qrg = elem.value;
		var func = 'vfdbChangeBand("'+stxLoc+'");';
		elem.setAttribute('onChange',func);
	}
	
	var stx_loc = document.getElementById('stx_loc');	
	var srx_loc = document.getElementById('srx_loc');	
	var stx_field = document.getElementById('STX_GRIDSQUARE');
	var srx_field = document.getElementById('SRX_GRIDSQUARE');

	if ((qrg == '144.0')||(qrg == '432.0'))
	{
		stx_loc.innerHTML = '';
		srx_loc.innerHTML = '';
		srx_field.innerHTML = '';
		stx_field.innerHTML = '';
		stx_loc.appendChild(document.createTextNode('Locator'));
		srx_loc.appendChild(document.createTextNode('Locator'));
		var input = document.createElement('input');
		input.setAttribute('type','text');
		input.setAttribute('name','SRX_GRIDSQUARE');
		input.setAttribute('id','gridsquare');		
		input.setAttribute('size','10');
		input.setAttribute('tabindex','4');
		input.setAttribute('onChange','ukwDirRequest();');
		srx_field.appendChild(input);
		var input = document.createElement('input');
		input.setAttribute('type','text');
		input.setAttribute('name','STX_GRIDSQUARE');
		input.setAttribute('id','myLoc');		
		input.setAttribute('size','10');
		input.setAttribute('value',stxLoc);
		stx_field.appendChild(input);
	}
	if ((qrg == '3.5')||(qrg == '7.0'))
	{
		stx_loc.innerHTML = '';
		srx_loc.innerHTML = '';
		srx_field.innerHTML = '';
		stx_field.innerHTML = '';
	}
	getLfdNr();
}

// Senden des Contest Eingabeformulars per AJAX
function contestSend()
{
	var param = '';
	for (var i=0; i< document.contestForm.elements.length; i++)
	{
			if (document.contestForm.elements[i].type == "checkbox")
			{
				if (document.contestForm.elements[i].checked)
					param += document.contestForm.elements[i].name + "&";
			}
			else
			{
				param += document.contestForm.elements[i].name + "=" + document.contestForm.elements[i].value + "&";
				if (document.contestForm.elements[i].name == "rufz")
					document.contestForm.elements[i].value = ""; 	
				if (document.contestForm.elements[i].name.substr(0,4) == "SRX_")
					document.contestForm.elements[i].value = ""; 	
			}
	}
	document.getElementById('rufz').focus();

	request(param, "kontest/contestXML.php",conlist);
	
	clean();
	
	var elem = document.getElementById('lfdNr');
	if (elem)
	{
		var lfdNr = elem.value; 
		if (lfdNr.length == 3)
		{
			lfdNr = parseInt('1'+lfdNr);
			lfdNr = lfdNr + 1;
			str = lfdNr.toString();
			str = str.substr(1,4);			
		}
		else
		{
			lfdNr = parseInt(lfdNr)+1;
			var str = lfdNr;
		}	

		elem.value = str;
	}
	var elem = document.getElementById('time_on');
	if (elem)
	{
		updateTime('time_on');
	}
}
// Darstellung einer Tabelle unterhalb der der Eingabe Maske. Diese Tabelle soll die
// letzten 10 Eintraege enthalten sein.
function conlist(req)
{
	document.getElementById('conlist').innerHTML = req.responseText;
	if(document.getElementById('result'))
	{
		var conId = document.getElementById("contestID").value;
		var freq = document.getElementById("freq").value;
		getResult(conId,freq);
	}
}

