/**
 * @deprec Funktionen zum Aendern von Daten mit tabEditView
 * @deprec Funktionen zum Aendern der eQSL-Eintraege 
 *
 * @package Web-Logbuch 
 * @version V4.00
 * @subpackage Javascript
 *
 * @author Tobias Nowack DG1ATN
 * @author Detlef Karau DL4NTC (Anpassungen an IE)
 *
 * @version $Id: eqsl.js 1122 2011-12-16 13:55:11Z dg1atn $
 *
*/

function eqslAccept(qso, eQSL)
{
	var param = "qso="+qso+"&eQSL="+eQSL+"&accept";
	request(param, "xml/eqsl.php",'');
	var elem = document.getElementById(qso);
	if (elem)
		elem.innerHTML = '&nbsp;';
	var elem = document.getElementById(eQSL);
	if (elem)
		elem.innerHTML = '&nbsp;';
	var elem = document.getElementById("EQSL_RCVD-"+qso);
	if (elem)
		elem.innerHTML = 'Y';
}

function eqslReject(eQSL)
{
	var param = "eQSL="+eQSL+"&reject";
	request(param, "xml/eqsl.php",'');
	var elem = document.getElementById(eQSL);
	if (elem)
		elem.innerHTML = '&nbsp;';
}

function eqslAdd(eQSL)
{
	var param = "add&eQSL="+eQSL;
	request(param, "xml/eqsl.php",eqslCallEdit);	
}

function eqslCallEdit(req)
{
	var xmlDocument = req.responseXML;
    if (xmlDocument)
    {
 		var elem = xmlDocument.getElementsByTagName("qsoNr")[0];
  		if (elem && (elem.firstChild != null))
  		{
			var qsoNr = elem.firstChild.nodeValue;
			getCallData(qsoNr); 
		}
    }
}

function eqslSelectField(qso, sqlField, value)
{
	var field = document.getElementById(sqlField+'-'+qso);
	field.innerHTML = '';
	var input = document.createElement('input');
	input.id = qso+'_'+sqlField;
	input.name = sqlField;
	input.type = 'text';
	input.onblur = function() {eqslChangeField(qso, sqlField, value);}
	input.value = value;
	field.appendChild(input);
	input.focus();
}

/**
 * Update der Feldfunktionen nach Aenderung des Wertes
 */ 
function eqslUpdateFieldAttribute(field, qsoNr, name, value)
{
	field.removeAttribute('onClick');
	field.setAttribute('onClick','eqslSelectField(\"'+qsoNr+'\", \"'+name+'\", \"'+value+'\")');
                                 
	if (name == "DXCC")
	{
		field.removeAttribute("onmouseover");
		field.setAttribute("onmouseover","showTT(showDXCC('"+value+"'))");
	}
	if (name == "DOK")
	{
		field.removeAttribute("onmouseover");
		field.setAttribute("onmouseover","showTT(showDOK('"+value+"'))");
	}
}

function eqslChangeField(qso, sqlField, value)
{
	var input = document.getElementById(qso+'_'+sqlField);
	var field = document.getElementById(sqlField+'-'+qso);
	field.innerHTML = input.value;
	if (input.value != value)
	{
		eqslUpdateFieldAttribute(field, qso, sqlField, input.value);
		//field.onClick = function() {eqslSelectField(qso, sqlField, value);}
		var param = "change&qso="+qso+"&sqlField="+sqlField+"&value="+input.value;
		request(param, "xml/eqsl.php",'');
		//document.getElementById('debug').innerHTML = 'value = ' + value + '<br> input.value = ' + input.value + '<br/>';
	}
}

/* 
 * Funktion zum suchen von QSO's, zu denen es keinen korrespondierende Datenbankeintraege gibt.
 * Es werden QSO's aus dem Zeitfenster 1h vor bis 1h nach dem entsprechenden QSO angezeigt.
 */
function eqslSearch(eQSL)
{
	var param = "eQSL="+eQSL+"&search";
	request(param, "xml/eqsl.php",eqslSearchDone);	
}
/* 
 * Funktion um die uebertragenen QSO's unterhalb des betreffenden eQSL eintrages anzuzeigen.
 */
 function eqslSearchDone(req)
 {
	var xmlDocument = req.responseXML;
    if (xmlDocument)
    {
// Ermitteln der Tabelle
		var table = document.getElementById('eQSL-Table');
// Bestimmen der Zeile die erweitert werden soll.
		var eQSL = xmlDocument.getElementsByTagName("eQSL")[0].firstChild.nodeValue;
// L"oschen des Suchen Button
		document.getElementById(eQSL).removeChild(document.getElementById("searchButton-"+eQSL));
// Ermitteln der neuen Zeilennummer
		var newLineNumber = document.getElementById("row-"+eQSL).rowIndex + 1;
		var doc = xmlDocument.getElementsByTagName("qso");
		if (doc.length > 0)
		{
			rowID = document.getElementById("search-"+eQSL).rowIndex;
			table.deleteRow(rowID);
		}
	 	for (var i = 0; i < doc.length; i++)
 		{

// Neue Zeile anlegen
			var line = table.insertRow(newLineNumber);	
			line.setAttribute('style','background-color:#FFFFFF');
// QSO Nummer ermitteln
 			var elem = doc[i].getElementsByTagName("qso_nr")[0];
 			if (elem && (elem.firstChild != null))
				var qsoNr = elem.firstChild.nodeValue;
			
 			for (var j = 0; j < doc[i].childNodes.length; j++)
 			{
 				if (doc[i].childNodes[j].nodeType != 1) continue;
 	 			var cell = document.createElement('td');
	 			var elem = doc[i].childNodes[j];
	 			if (elem.firstChild != null)
	 			{
	 	 			cell.setAttribute('id',elem.nodeName+'-'+qsoNr);
	 	 			cell.setAttribute('onClick','eqslSelectField(\"'+qsoNr+'\", \"'+elem.nodeName+'\", \"'+elem.firstChild.nodeValue+'\")');
					var data = document.createTextNode(elem.firstChild.nodeValue); //alle Daten in <td>
					cell.appendChild(data);
					if (elem.firstChild.nodeValue != qsoNr)
					line.appendChild(cell);
				}
 			}
 			var cell = document.createElement('td');
			line.appendChild(cell);
 			var cell = document.createElement('td');
			line.appendChild(cell);
 			var cell = document.createElement('td');
 			
 			var link = document.createElement('a');
 			link.setAttribute('href','javascript:eqslAccept('+qsoNr+','+eQSL+')');
 			link.setAttribute('title','Accept');
 			var img = document.createElement('img');
 			img.setAttribute('src','images/accept.gif');
 			img.setAttribute('alt','Accept');
 			
 			link.appendChild(img);
 			cell.appendChild(link);

			line.appendChild(cell); 			
		}		
	}	
 }

