function deleteDevice(devId)
{
	document.getElementById("aktion").value = "DeleteDevice";
	document.getElementById("Device_id").value = devId;
	document.formular.submit();
}

function addDevice(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
		   		   nameCh, nameRu, nameFi, nameSv, heatLoss, lang)
{
	document.getElementById("aktion").value = "AddDevice";
		
	openNewDevicePrompt(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
						nameCh, nameRu, nameFi, nameSv, heatLoss, lang);
}

function editDevice(devId, nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					nameCh, nameRu, nameFi, nameSv, heatLoss, lang)
{
	document.getElementById("aktion").value = "EditDevice";
	document.getElementById("Device_id").value = devId;

	openNewDevicePrompt(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
						nameCh, nameRu, nameFi, nameSv, heatLoss, lang);
}

// The first is the value of the button clicked.
// The second is a jQuery object of the message within the active state when the user clicked the button.
// The third is an object of key/value pairs of the form values. The keys are the name attribute for the form element.

function newDeviceCallbackForm(v, m, f)
{
	if (v == true)
	{
		an = m.children('#nameEn');
		
		
		if (f.nameEn == "")
		{
			$.prompt("<div style='width: 350px; margin-top:20px;'><center>" + document.getElementById("English_device_name_required").value + "</center></div><br/><br/>");
    		an.css("border","solid #ff0000 1px"); // it doesn't work !! why ??
        	return false;
        }
        
        document.formular.Device_name_en.value = f.nameEn;
		document.formular.Device_name_fr.value = f.nameFr;
		document.formular.Device_name_de.value = f.nameDe;
		document.formular.Device_name_es.value = f.nameEs;	
		document.formular.Device_name_it.value = f.nameIt;
		document.formular.Device_name_pt.value = f.namePt;
		document.formular.Device_name_no.value = f.nameNo;
		document.formular.Device_name_ne.value = f.nameNe;
		document.formular.Device_name_cz.value = f.nameCz;
		document.formular.Device_name_pl.value = f.namePl;
		document.formular.Device_name_ch.value = f.nameCh;
		document.formular.Device_name_ru.value = f.nameRu;
		document.formular.Device_name_fi.value = f.nameFi;
		document.formular.Device_name_sv.value = f.nameSv;
		document.formular.Device_hlvalue.value = f.heatLossValue;
		
		document.formular.submit();
    }
	
	return true;
}

function getLangText(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 nameCh, nameRu, nameFi, nameSv, lang)
{
	switch (lang)
	{
		case "english":
			return nameEn;
		case "francais":
			return nameFr;
		case "polski":
			return namePl;
		case "deutsch":
			return nameDe;
		case "espanol":
			return nameEs;
		case "italiano":
			return nameIt;
		case "portugues":
			return namePt;
		case "norwegisch":
			return nameNo;
		case "nederlan":
			return nameNe;
		case "tschechisch":
			return nameCz;
		case "chinese":
			return nameCh;
		case "russisch":
			return nameRu;
		case "finish":
			return nameFi;
		case "svenska":
			return nameSv;
		default:
			return nameEn;
	}
}

function getLangRowInput(lang, val, appLang)
{
	if (lang == appLang && lang != "english" && lang != "francais" ||
	    (appLang == "--" && (lang == "english" || lang == "francais")))
	{
		return '';
	}
	else if (lang == "english")
	{
		return '<tr><td>English:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameEn" name="nameEn" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "francais")
	{
		return '<tr><td>Francais:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameFr" name="nameFr" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "deutsch")
	{
		return '<tr><td>Deutsch:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameDe" name="nameDe" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "espanol")
	{
		return '<tr><td>Espanol:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameEs" name="nameEs" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "italiano")
	{
		return '<tr><td>Italiano:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameIt" name="nameIt" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "portugues")
	{
		return '<tr><td>Portugues:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="namePt" name="namePt" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "norwegisch")
	{
		return '<tr><td>Norwegisch:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameNo" name="nameNo" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "nederlan")
	{
		return '<tr><td>Nederlan:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameNe" name="nameNe" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "tschechisch")
	{
		return '<tr><td>Tschechisch:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameCz" name="nameCz" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "chinese")
	{
		return '<tr><td>Chinese:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameCh" name="nameCh" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "russisch")
	{
		return '<tr><td>Russisch:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameRu" name="nameRu" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "finish")
	{
		return '<tr><td>Finish:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameFi" name="nameFi" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "svenska")
	{
		return '<tr><td>Svenska:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="nameSv" name="nameSv" value="'
			   + val + '" /></td></tr>';
	}
	else if (lang == "polski")
	{
		return '<tr><td>Polish:</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="namePl" name="namePl" value="'
			   + val + '" /></td></tr>';
	}
	else return '';	
}

function getLangRowHidden(lang, val, appLang)
{
	if (lang == appLang && lang != "english" && lang != "francais" ||
	    (appLang == "--" && (lang == "english" || lang == "francais")))
	{
		return '';
	}
	else if (lang == "english")
	{
		return '<input type="hidden" name="nameEn" value="' + val + '">';
	}
	else if (lang == "francais")
	{
		return '<input type="hidden" name="nameFr" value="' + val + '">';
	}
	else if (lang == "deutsch")
	{
		return '<input type="hidden" name="nameDe" value="' + val + '">';
	}	
	else if (lang == "espanol")
	{
		return '<input type="hidden" name="nameEs" value="' + val + '">';
	}
	else if (lang == "italiano")
	{
		return '<input type="hidden" name="nameIt" value="' + val + '">';
	}
	else if (lang == "portugues")
	{
		return '<input type="hidden" name="namePt" value="' + val + '">';
	}
	else if (lang == "norwegisch")
	{
		return '<input type="hidden" name="nameNo" value="' + val + '">';
	}	
	else if (lang == "nederlan")
	{
		return '<input type="hidden" name="nameNe" value="' + val + '">';
	}
	else if (lang == "tschechisch")
	{
		return '<input type="hidden" name="nameCz" value="' + val + '">';
	}
	else if (lang == "chinese")
	{
		return '<input type="hidden" name="nameCh" value="' + val + '">';
	}
	else if (lang == "russisch")
	{
		return '<input type="hidden" name="nameRu" value="' + val + '">';
	}
	else if (lang == "finish")
	{
		return '<input type="hidden" name="nameFi" value="' + val + '">';
	}
	else if (lang == "svenska")
	{
		return '<input type="hidden" name="nameSv" value="' + val + '">';
	}	
	else if (lang == "polski")
	{
		return '<input type="hidden" name="namePl" value="' + val + '">';
	}
	else return '';
}

function openNewDevicePrompt(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 		 nameCh, nameRu, nameFi, nameSv, heatLoss, lang)
{
	var name = getLangText(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 	   nameCh, nameRu, nameFi, nameSv, lang);
	
	var dev_name_prompt_text = document.getElementById("Input_device_name_prompt").value;
	var heat_loss_prompt_text = document.getElementById("Enter_heat_loss_prompt").value;
	var heat_loss_text = document.getElementById("Heat_loss_prompt").value;
	
	var txt = '<table name="tab" style="margin-top:6px; margin-bottom:8px;"><tr><td><b>' + dev_name_prompt_text + '</b></td></tr>'
			 + getLangRowInput("english",     nameEn, lang)
			 + getLangRowInput("francais",    nameFr, lang)
			 + getLangRowInput(lang,          name,   "--")
			 + getLangRowHidden("deutsch",    nameDe, lang)
			 + getLangRowHidden("espanol",    nameEs, lang)
			 + getLangRowHidden("italiano",   nameIt, lang)
			 + getLangRowHidden("portugues",  namePt, lang)
			 + getLangRowHidden("norwegisch", nameNo, lang)
			 + getLangRowHidden("nederlan",   nameNe, lang)
			 + getLangRowHidden("tschechisch",nameCz, lang)
			 + getLangRowHidden("polski",     namePl, lang)
			 + getLangRowHidden("chinese",    nameCh, lang)
			 + getLangRowHidden("russisch",   nameRu, lang)
			 + getLangRowHidden("finish",     nameFi, lang)
			 + getLangRowHidden("svenska",    nameSv, lang)
			 + '<tr><td><b>' + heat_loss_prompt_text + '</b></td></tr>'
			 + '<tr><td>' + heat_loss_text + ':</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="heatLossValue" name="heatLossValue" value="'
			 + heatLoss + '" /></td></tr>'
			 + '</table>';
	
	$.prompt(txt,{
		submit: function (v, m, f)
		{
			if (newDeviceCallbackForm(v, m, f))
			{
				jQuery.ImpromptuClose();
				if (v == "more")
				{
					openNewDevicePromptMore(f.nameEn, f.nameFr, f.nameDe, f.nameEs, f.nameIt, f.namePt,
					 	f.nameNo, f.nameNe, f.nameCz, f.namePl, f.nameCh, f.nameRu, f.nameFi, f.nameSv,
					 	f.heatLossValue, lang);
				}
			}
		},
		buttons: { OK: true, Cancel: false, More: "more" }
	},'');
}

function openNewDevicePromptMore(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 			 nameCh, nameRu, nameFi, nameSv, heatLoss, lang)
{
	var name = getLangText(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 	   nameCh, nameRu, nameFi, nameSv, lang);
	
	var dev_name_prompt_text = document.getElementById("Input_device_name_prompt").value;
	var heat_loss_prompt_text = document.getElementById("Enter_heat_loss_prompt").value;
	var heat_loss_text = document.getElementById("Heat_loss_prompt").value;
	
	var txt = '<table name="tab" style="margin-top:6px; margin-bottom:8px;"><tr><td><b>' + dev_name_prompt_text + '</b></td></tr>'
			 + getLangRowInput("english",    nameEn, lang)
			 + getLangRowInput("francais",   nameFr, lang)
			 + getLangRowInput(lang,         name,   "--")
			 + getLangRowInput("deutsch",    nameDe, lang)
			 + getLangRowInput("espanol",    nameEs, lang)
			 + getLangRowInput("italiano",   nameIt, lang)
			 + getLangRowInput("portugues",  namePt, lang)
			 + getLangRowInput("norwegisch", nameNo, lang)
			 + getLangRowInput("nederlan",   nameNe, lang)
			 + getLangRowInput("tschechisch",nameCz, lang)
			 + getLangRowInput("polski",     namePl, lang)
			 + getLangRowInput("chinese",    nameCh, lang)
			 + getLangRowInput("russisch",   nameRu, lang)
			 + getLangRowInput("finish",     nameFi, lang)
			 + getLangRowInput("svenska",    nameSv, lang)
			 + '<tr><td><b>' + heat_loss_prompt_text + '</b></td></tr>'
			 + '<tr><td>' + heat_loss_text + ':</td><td><input style="border: solid 1px #5F5D5A; width: 200px" type="text" id="heatLossValue" name="heatLossValue" value="'
			 + heatLoss + '" /></td></tr>'
			 + '</table>';
	
	$.prompt(txt,{
		submit: function (v, m, f) 
		{
			if (newDeviceCallbackForm(v, m, f))
			{
				jQuery.ImpromptuClose();			
				if (v == "back")
				{
					openNewDevicePrompt(f.nameEn, f.nameFr, f.nameDe, f.nameEs, f.nameIt, f.namePt, f.nameNo,
					 	f.nameNe, f.nameCz, f.namePl, f.nameCh, f.nameRu, f.nameFi, f.nameSv, f.heatLossValue, lang);
				}
			}
		},
		buttons: { OK: true, Cancel: false, Back: "back" }
	},'long');
}

// -------------------- Loss group ----------------------

function addLossGroup(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
		   		  	  nameCh, nameRu, nameFi, nameSv, lang)
{
	document.getElementById("aktion").value = "AddLossGroup";
	
	openNewLossGroupPrompt(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
						   nameCh, nameRu, nameFi, nameSv, lang);
}

function editLossGroup(groupId, nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
		   		  	   nameCh, nameRu, nameFi, nameSv, lang)
{
	document.getElementById("aktion").value = "EditLossGroup";
	document.getElementById("LossGroup_id").value = groupId;

	openNewLossGroupPrompt(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
						   nameCh, nameRu, nameFi, nameSv, lang);
}

function deleteLossGroup(groupId)
{
	document.getElementById("aktion").value = "DeleteLossGroup";
	document.getElementById("LossGroup_id").value = groupId;
	document.formular.submit();
}

function selectLossGroupId(groupId)
{
  	document.getElementById("LossGroup_id").value = groupId;
}

function newLossGroupCallbackForm(v, m, f)
{
	if (v == true)
	{
		an = m.children('#nameEn');
		if (f.nameEn == "")
		{
		
			$.prompt("<div style='width: 350px; margin-top:20px;'><center>" + document.getElementById("English_group_name_required").value + "</center></div><br/><br/>");
    		an.css("border","solid #ff0000 1px"); // it doesn't work !! why ??
        	return false;
        }
                
        document.formular.LossGroup_name_en.value = f.nameEn;
		document.formular.LossGroup_name_fr.value = f.nameFr;
		document.formular.LossGroup_name_de.value = f.nameDe;
		document.formular.LossGroup_name_es.value = f.nameEs;	
		document.formular.LossGroup_name_it.value = f.nameIt;
		document.formular.LossGroup_name_pt.value = f.namePt;
		document.formular.LossGroup_name_no.value = f.nameNo;
		document.formular.LossGroup_name_ne.value = f.nameNe;
		document.formular.LossGroup_name_cz.value = f.nameCz;
		document.formular.LossGroup_name_pl.value = f.namePl;
		document.formular.LossGroup_name_ch.value = f.nameCh;
		document.formular.LossGroup_name_ru.value = f.nameRu;
		document.formular.LossGroup_name_fi.value = f.nameFi;
		document.formular.LossGroup_name_sv.value = f.nameSv;
        document.formular.submit();
    }
	
	return true;
}

function openNewLossGroupPrompt(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 		 	nameCh, nameRu, nameFi, nameSv, lang)
{
	var name = getLangText(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 	   nameCh, nameRu, nameFi, nameSv, lang);
	
	var prompt_text = document.getElementById("Input_group_name_prompt").value;
	var txt = '<table name="tab" style="margin-top:8px; margin-bottom:15px;"><tr><td><b>' + prompt_text + '</b></td></tr><tr><td>&nbsp;</td></tr>'
			 + getLangRowInput("english",     nameEn, lang)
			 + getLangRowInput("francais",    nameFr, lang)
			 + getLangRowInput(lang,          name,   "--")
			 + getLangRowHidden("deutsch",    nameDe, lang)
			 + getLangRowHidden("espanol",    nameEs, lang)
			 + getLangRowHidden("italiano",   nameIt, lang)
			 + getLangRowHidden("portugues",  namePt, lang)
			 + getLangRowHidden("norwegisch", nameNo, lang)
			 + getLangRowHidden("nederlan",   nameNe, lang)
			 + getLangRowHidden("tschechisch",nameCz, lang)
			 + getLangRowHidden("polski",     namePl, lang)
			 + getLangRowHidden("chinese",    nameCh, lang)
			 + getLangRowHidden("russisch",   nameRu, lang)
			 + getLangRowHidden("finish",     nameFi, lang)
			 + getLangRowHidden("svenska",    nameSv, lang)
			 + '</table>';
	
	$.prompt(txt,{
		submit: function (v, m, f)
		{
			if (newLossGroupCallbackForm(v, m, f))
			{
				jQuery.ImpromptuClose();
				if (v == "more")
				{
					openNewLossGroupPromptMore(f.nameEn, f.nameFr, f.nameDe, f.nameEs, f.nameIt, f.namePt,
					 	f.nameNo, f.nameNe, f.nameCz, f.namePl, f.nameCh, f.nameRu, f.nameFi, f.nameSv, lang);
				}
			}
		},
		buttons: { OK: true, Cancel: false, More: "more" }
	},'');
}

function openNewLossGroupPromptMore(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 			 	nameCh, nameRu, nameFi, nameSv, lang)
{
	var name = getLangText(nameEn, nameFr, nameDe, nameEs, nameIt, namePt, nameNo, nameNe, nameCz, namePl,
					 	   nameCh, nameRu, nameFi, nameSv, lang);
					 	   
	var prompt_text = document.getElementById("Input_group_name_prompt").value;
	var txt = '<table name="tab" style="margin-top:10px; margin-bottom:25px;"><tr><td><b>' + prompt_text + '</b></td></tr><tr><td>&nbsp;</td></tr>'
			 + getLangRowInput("english",    nameEn, lang)
			 + getLangRowInput("francais",   nameFr, lang)
			 + getLangRowInput(lang,         name,   "--")
			 + getLangRowInput("deutsch",    nameDe, lang)
			 + getLangRowInput("espanol",    nameEs, lang)
			 + getLangRowInput("italiano",   nameIt, lang)
			 + getLangRowInput("portugues",  namePt, lang)
			 + getLangRowInput("norwegisch", nameNo, lang)
			 + getLangRowInput("nederlan",   nameNe, lang)
			 + getLangRowInput("tschechisch",nameCz, lang)
			 + getLangRowInput("polski",     namePl, lang)
			 + getLangRowInput("chinese",    nameCh, lang)
			 + getLangRowInput("russisch",   nameRu, lang)
			 + getLangRowInput("finish",     nameFi, lang)
			 + getLangRowInput("svenska",    nameSv, lang)
			 + '</table>';
	
	$.prompt(txt,{
		submit: function (v, m, f) 
		{
			if (newLossGroupCallbackForm(v, m, f))
			{
				jQuery.ImpromptuClose();			
				if (v == "back")
				{
					openNewLossGroupPrompt(f.nameEn, f.nameFr, f.nameDe, f.nameEs, f.nameIt, f.namePt, f.nameNo,
					 	f.nameNe, f.nameCz, f.namePl, f.nameCh, f.nameRu, f.nameFi, f.nameSv, lang);
				}
			}
		},
		buttons: { OK: true, Cancel: false, Back: "back" }
	},'long');
}

// --- Device/group list selection --- begin 

function DeSelectRow(RowIDX)
{
	if (document.getElementById("RowIDXcache").value != "")
	{
		document.getElementById(document.getElementById("RowIDXcache").value).style.backgroundColor = DeMarkColBackground;
		document.getElementById(document.getElementById("RowIDXcache").value).style.color           = DeMarkColFont;
	}

	SelectRow(RowIDX);
}

function SelectRow(RowIDX)
{
	if (RowIDX != "")
	{
	    document.getElementById(RowIDX).style.backgroundColor = MarkColBackground;
		document.getElementById(RowIDX).style.color           = MarkColFont;
	}

	document.getElementById("RowIDXcache").value = RowIDX;
	return true;
}

// --- Device/group list selection --- end
