/*
 * call.js
 * interaktives Editieren
 *
 * (c) 2007 - 2011
 * All Rights reserved
 *
 * @package Web-Logbuch V4.00 SU
 *
 * @author Tobias Nowack (DG1ATN)
 *
 */

/**
 * field fuer call = 'rufz' und fur castel = 'notes'
 */ 
function searchCallData(text, field)
{
	var elem = document.getElementById(field);
	
	 if (elem.value == "") {
		 alert(text);
		 document.elem.focus();
	 } else {
		var param = "search&" + field + "=" + elem.value;
		request(param, "xml/call.php",requestCallSearch);
	}
}

/**
 * Update temQSO List nach editieren 
*/
function requestEditUpdate(req)
{
	var xmlDocument = req.responseXML;
        var qso = document.getElementById('QSO_NR');
	if (xmlDocument && qso)
	{
		var qsoNr = qso.value;
		var doc = xmlDocument.getElementsByTagName("qso");
		for (var i = 0; i < doc[0].childNodes.length; i++)
		{
			if (doc[0].childNodes[i].nodeType != 1) continue;
			var elem = doc[0].childNodes[i]; 
			var value = "";
			if (elem.firstChild != null) 
				value = elem.firstChild.nodeValue;
			var field = document.getElementById(elem.nodeName.toUpperCase()+'-'+qsoNr);
			if (field) 
			{
				eqslUpdateFieldAttribute(field, qsoNr, elem.nodeName.toUpperCase(), value);
				field.innerHTML = value;
//	Hier Weiter !!!!!!
//	Response Daten updaten!!
			}
		}
	var edit = document.getElementById('edit');
	if (edit)
		edit.innerHTML = "";
	}
}

function requestCallSearch(req)
{
	var qso = document.getElementById('QSO_NR');
	var edit = document.getElementById('edit');
	var xmlDocument = req.responseXML;
    	if (xmlDocument)
    	{
		var elem = document.getElementById('blaettern');
		if (elem)
			elem.innerHTML = 'Loading ... ';
		if (edit && !qso)
			edit.innerHTML = '';
// Auslesen der session_id
    		var elem = xmlDocument.getElementsByTagName('session_id')[0];
		if (elem && (elem.firstChild != null) && !qso)
			init_blaettern(elem.firstChild.nodeValue);
	}
	if (qso && edit)
	{
		var param = "get&qso=" + qso.value;
		request(param, "xml/call.php",requestEditUpdate);
	}

}

function clearTabel()
{
	var table = document.getElementById('listNav');
	if (table)
		for (var i = 1; i < table.rows.length; i++)
			table.rows[i].setAttribute('style', 'background-color:#FFFFFF;');
}

function getCallData(qso)
{
	clearTabel();
	var elem = document.getElementById(qso);
		if (elem)
			elem.setAttribute('style','background-color:#FFFF00');
	document.getElementById('edit').innerHTML = '';
	var form = document.createElement('form');
	form.setAttribute('id','editForm');
	form.setAttribute('name','editForm');
	form.setAttribute('action','javascript:sendQslData();');
	var input = document.createElement('input');
	input.setAttribute('id','qso');
	input.setAttribute('name','qso');
	input.setAttribute('type', 'hidden');
	input.value = qso;
	form.appendChild(input);
	document.getElementById('edit').appendChild(form);
	var param = "get&qso=" + qso;
	request(param, "xml/call.php",requestCallEdit);
}

function requestCallEdit(req)
{
	var xmlDocument = req.responseXML;
	var t = 100;
    if (xmlDocument)
    {
    	var debug = xmlDocument.getElementsByTagName("debug")[0];
    	if (debug)
		document.getElementById('debug').innerHTML = debug.firstChild.nodeValue;
    	var form = document.getElementById('editForm');
		document.getElementById('edit').innerHTML = '';
 		var hr = document.createElement('hr');
 		hr.setAttribute("width","60%");
		document.getElementById('edit').appendChild(hr);
		var doc = xmlDocument.getElementsByTagName("qso");
		var start = ["1", "25", "35"];
		var end = ["24", "34", "48"];
		for (var k = 0; k < 3; k++)
		{
			var html = document.createElement('table');
			html.setAttribute('class', 'table');
			html.setAttribute('width','95%');
			html.setAttribute('align','center');
			var line = document.createElement('tr');
			for (var i = start[k]; i < end[k]; i++)
			{
				if (doc[0].childNodes[i].nodeType != 1) continue;
	 			var cell = document.createElement('td');
	 			cell.setAttribute("align","left");
	 			var elem = doc[0].childNodes[i];
				var data = document.createTextNode(elem.getAttribute("name"));
				cell.appendChild(data);
				line.appendChild(cell);
			}
			html.appendChild(line);

			var line = document.createElement('tr');
			line.setAttribute('style','vertical-align:center;');
			for (var i = start[k]; i < end[k]; i++)
			{
				if (doc[0].childNodes[i].nodeType != 1) continue;
	 			var cell = document.createElement('td');
	 			cell.setAttribute("align","left");
	 			var elem = doc[0].childNodes[i];
	 			var input = document.createElement('input');
	 			input.setAttribute('tabindex',t); t++;
	 			input.setAttribute('type','text');
	 			input.setAttribute('size',elem.getAttribute("size"));
	 			input.setAttribute('name',elem.nodeName);
	 			input.setAttribute('id',elem.nodeName);
	 			if (elem.firstChild != null)
	 			{
					input.value = elem.firstChild.nodeValue;
				}
				cell.appendChild(input);
				line.appendChild(cell);
			}
			if (k == 2)
			{
				var cell = document.createElement('td');
				cell.setAttribute('width','50');
				line.appendChild(cell);
				var cell = document.createElement('td');
				var input = document.createElement('input');
	 			input.setAttribute('tabindex',t); t++;
	 			input.setAttribute('type','submit');
				input.setAttribute('name', 'change');
				input.value = 'Change';
				cell.appendChild(input);
				line.appendChild(cell);
				var cell = document.createElement('td');
				var input = document.createElement('input');
	 			input.setAttribute('type','button');
				input.setAttribute('name', 'delete');
				input.setAttribute('onClick','deleteQSLData();');
				input.value = 'Delete';
				cell.appendChild(input);
				line.appendChild(cell);
				var cell = document.createElement('td');
				var elem = document.getElementById('QRZ_KEY');
				if (elem)
				{
					var val = elem.value;
					if (val > '')
					{
				var input = document.createElement('input');
	 			input.setAttribute('tabindex',t); t++;
	 			input.setAttribute('type','button');
				input.setAttribute('name', 'qrz');
				input.setAttribute('onClick',"qrzRequest('editForm');");
				input.value = 'QRZ.com';
				cell.appendChild(input);

					}
				}
				line.appendChild(cell);
			}
			html.appendChild(line);

			form.appendChild(html);
		}
 		document.getElementById('edit').appendChild(form);
 		var show = document.createElement('input');
 		show.setAttribute('type','hidden');
 		show.setAttribute('id','showEdit');
 		document.getElementById('edit').appendChild(show);
 		form.rufz.focus();
	}
}

/**
 * Senden der QSL Daten
*/
function sendQslData()
{
	var param = "edit";
	var elem = document.getElementById('input');	
	for (var i = 0; i < document.editForm.elements.length; i++)
 	{
    		var e = document.editForm.elements[i];
 		param = param + '&' +e.name + "=" + e.value;
		if (elem && (e.name == "qso"))
			var editQSO = e.value;
  	}
  	var input = document.getElementById('input');
  	if (input)
		sendEditClean(param);
    	else
		request(param, "xml/call.php",requestCallSearch);

	var edit = document.getElementById('edit');
	if (edit)
	{
		edit.innerHTML = "";
		if (elem)
		{
			var input = document.createElement('input');
			input.setAttribute('type','hidden');
			input.setAttribute('name','QSO_NR');
			input.setAttribute('id','QSO_NR');
			input.setAttribute('value',editQSO);
		}
		edit.appendChild(input);
	}
}

function deleteQSLData()
{
	var param = "delete";
	var elem = document.getElementById('qso');
	if (elem)
		param = param + "&qso=" + elem.value;
	var elem = document.getElementById('rufz');
	if (elem)
		param = param + "&rufz=" + elem.value;
	request(param, "xml/call.php",requestCallSearch);

	var edit = document.getElementById('edit');
	if (edit)
		edit.innerHTML = "";
}

