/*
 * qsl.js
 * alles rund um den qsl Austausch
 *
 * (c) 2007 - 2008
 * All Rights reserved
 *
 * @package Web-Logbuch V4.00 SU
 *
 * @author Tobias Nowack (DG1ATN)
 *
 */

/*
 * abgeschickte QSL an die DB senden
 */
function qsl_sent(sessionID)
{
	var param = "qslSent";

	var table = document.getElementById('listNav');

 	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;
				table.deleteRow(document.getElementById(e.value).rowIndex);
// nach dem delte verschieben sich die Indizes um -1
				i--;
			}
    	}
  	}

	request(param, "xml/qsl.php",'');

}

function getQslData(qso)
{
	var param = "qslReq&qso=" + qso;
	request(param, "xml/qsoannein.php",requestDoneQsl);

	var table = document.getElementById('listNav');
	for (var i = 1; i < table.rows.length; i++)
		table.rows[i].setAttribute('style', 'background-color:#e8e8e8;');
	document.getElementById(qso).setAttribute('style', 'background-color:#FFFF00;');
	document.getElementById('editCell').innerHTML = '';
}

function requestDoneQsl(req)
{
	var xmlDocument = req.responseXML;
    if (xmlDocument)
    {
		var doc = xmlDocument.getElementsByTagName("qsl")[0];
		var form = document.createElement('form');
		form.setAttribute('name','qslanForm');
		form.setAttribute('action','javascript:sendQslAnData();');
		var input = document.createElement('input');
		input.setAttribute('type','hidden');
		input.setAttribute('id','qso');
		input.setAttribute('name','qso');
		input.value = doc.getElementsByTagName("qso")[0].firstChild.nodeValue;
		form.appendChild(input);
		var table = document.createElement('table');
		var j = 100;
	 	for (var i = 2; i < doc.childNodes.length; i++)
 		{
			if (doc.childNodes[i].nodeType != 1) continue;
 			var line = document.createElement('tr');
			var cell = document.createElement('td');
			cell.setAttribute('style','text-align:right;');
 			var elem = doc.childNodes[i];
			var data = document.createTextNode(elem.getAttribute("name"));
			cell.appendChild(data);
			line.appendChild(cell);

			var cell = document.createElement('td');
 			var input = document.createElement('input');
 			input.setAttribute('type','text');
 			input.setAttribute('size',elem.getAttribute("size"));
 			input.setAttribute('name',elem.nodeName);
			input.setAttribute('tabindex',j);
			j++;
			if (elem.nodeName == 'rufz')
				var rufz = input;
			var val = elem.getAttribute("val");
 			if (elem.firstChild != null)
 			{
				input.value = elem.firstChild.nodeValue;
			}
			else if (val != null)
			{
				input.value = val;
			}
 			cell.appendChild(input);
			line.appendChild(cell);

			table.appendChild(line);
		}
		form.appendChild(table);
		var input = document.createElement('input');
		input.setAttribute('type','submit');
		input.setAttribute('value','Change');
		input.setAttribute('name','change');
		form.appendChild(input);
		document.getElementById('editCell').appendChild(form);
		rufz.focus();
	}
}

function sendQslAnData()
{
	var param = "";
	for (var i = 0; i < document.qslanForm.elements.length; i++)
 	{
    	var e = document.qslanForm.elements[i];
    	if (param != "")
    		param = param + '&';
    	param = param + e.name + "=" + e.value;
  	}
	var qso = document.getElementById('qso').value;
	request(param, "xml/qsoannein.php",requestDoneErr);
	document.getElementById('editCell').innerHTML = '';

	var table = document.getElementById('listNav');
	table.deleteRow(document.getElementById(qso).rowIndex);

	var elem = document.getElementById('rufz');
	if (elem)
		elem.focus();
}

function requestDoneErr(req)
{
document.getElementById('debug').innerHTML = req.responseText;
}

/*
 * Initiiern des qls Manager updates vor der Anzeige
 * Diese Abfrage kann mehrere Minuten dauern und wird deshalb
 * im Hintergrund durchgef"uhrt.
 */
function updateQslMgr()
{
	var param = "updateQslMgr";
	request(param, "xml/qsl.php", updateQslMgrDone);
}

/*
 * Wenn das Update Erfolgreich war, werden die QSL Daten angezeigt.
 */
function updateQslMgrDone(req)
{
	var xmlDocument = req.responseXML;
    if (xmlDocument)
    {
		var doc = xmlDocument.getElementsByTagName("done")[0];
		if (doc && (doc.firstChild != null))
			if (doc.firstChild.nodeValue == '1')
			{
				var elem = document.getElementById('session_id');
				if (elem)
					init_blaettern(elem.value);
			}
	}
}

/*
 * Damit ein Schneller Zugriff auf die Daten von QRZ.com m"oglich ist, k"onnen
 * diese Anfragen direkt gestartet werden.
 */
function qslQrzCom(QSO)
{
	var elem = document.getElementById('RUFZ-'+QSO);
	if (elem && (elem.firstChild != null))
	{
		var call = elem.firstChild.nodeValue;
		var url = "http://www.qrz.com/db/detail/" + call;
	  	popUp=window.open(url, 'QSO &auml;ndern', 'toolbar=no,location=no,directories=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=800,height=600,left=50,top=50');
	  	popUp.window.focus();
	}
}


