

function viewCurrentPosition(element)
{
    var idx = $(element).up('tr').rowIndex;
    
    var params = $('isycat').serialize();
    params.strIndex = idx;
    
    // Problem: Index kann nur im Link übergeben werden, nicht in der Form ...
	new Ajax.Request('index/show_cad?strIndex='+idx, {
		onComplete: function(transport) {
			var msg = transport.responseJSON.message;
            if ( msg )
            {
                msg = msg.replace(/\\n/g, "\n");
                alert( msg );
            }
		},
		parameters: params
	});
}

function  plMakeDirty(element)
{
    var idx = $(element).up('tr').rowIndex;
    
    var params = $('isycat').serialize();
    params.strIndex = idx;
    
    // Problem: Index kann nur im Link übergeben werden, nicht in der Form ...
	new Ajax.Request('index/make_plpos_dirty?strIndex='+idx, {
		onComplete: function(transport) {
			var msg = transport.responseJSON.message;
            if ( msg )
            {
                msg = msg.replace(/\\n/g, "\n");
                alert( msg );
            }
		},
		parameters: params
	});
}

function  checkWiAngebotsNr(element)
{
    if (element.value)
    {
        var wiAngeboNr = element.value;
        if (wiAngeboNr.length > 10)
        {
            message=document.getElementById('IDP_ERROR_WI_ANGEBNR_ZU_LANG').value;
            if(message){ alert(message); }
            element.value = wiAngeboNr.substr(0,10);
        }
    }
}

function  checkAusgabeFormat(strFormat)
{
	if (strFormat == "DXF")
	{
		if (! document.getElementById('IDC_WI_DXF_FORMAT_CHECK').checked)
			document.getElementById('IDC_WI_PDF_FORMAT_CHECK').checked = true;
	}
	else
	{
		if (! document.getElementById('IDC_WI_PDF_FORMAT_CHECK').checked)
			document.getElementById('IDC_WI_DXF_FORMAT_CHECK').checked = true;
	}
}

function  initFreePosition(strWo)
{
    var assiAktiv = document.getElementById('IDC_FP_ASSI').checked;
	if( assiAktiv == true)
	{
 	    componentEnable('IDC_ASSI_BUT');
	    componentDisable('IDC_TYP_EDIT');
	    // componentDisable('IDC_TYP_LABEL');
	    // componentDisable('IDC_NUMMER_LABEL');
	    componentDisable('IDC_NUMMER_EDIT');
	    componentDisable('*.DLGDATA.FP.GEWICHT');
	}
	else
	{
 	    componentDisable('IDC_ASSI_BUT');
	    componentEnable('IDC_TYP_EDIT');
	    // componentEnable('IDC_TYP_LABEL');
	    // componentEnable('IDC_NUMMER_LABEL');
	    componentEnable('IDC_NUMMER_EDIT');
	    componentEnable('*.DLGDATA.FP.GEWICHT');
	}
	if (strWo == "NO_ASSI")
	{
		document.getElementById('IDC_PREIS_EDIT').value = '';
		document.getElementById('IDC_NUMMER_EDIT').value = '';

		document.getElementById('IDC_OBFLSCHUTZ_LABEL').style.visibility = 'hidden';
		document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_COMBO').style.visibility = 'hidden';
		document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_EDIT').style.visibility = 'hidden';
		document.getElementById('IDC_OBFLSCHUTZ_HINWEIS').style.visibility = 'hidden';
		
		document.getElementById('*.DLGDATA.FP.IDC_ROHMASSPOS').value = "0";
	}
	if (strWo == "INIT")
	{
		onChangedObflSchutz();
	}
}

// In freier Position:
function onChangedObflSchutz()
{
	var rohMassPos   = document.getElementById('*.DLGDATA.FP.IDC_ROHMASSPOS').value;
	var selectedObfl = document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_COMBO').options[document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_COMBO').selectedIndex].value;
	if (rohMassPos == "1")
	{
		if (selectedObfl == "OB_SONST")
			document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_EDIT').style.visibility = 'visible';
		else	
			document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_EDIT').style.visibility = 'hidden';
		document.getElementById('IDC_OBFLSCHUTZ_LABEL').style.visibility = 'visible';
		document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_COMBO').style.visibility = 'visible';
		document.getElementById('IDC_OBFLSCHUTZ_HINWEIS').style.visibility = 'visible';
	}
	else
	{
		document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_EDIT').style.visibility = 'hidden';
		document.getElementById('IDC_OBFLSCHUTZ_LABEL').style.visibility = 'hidden';
		document.getElementById('*.DLGDATA.FP.IDC_OBFLSCHUTZ_COMBO').style.visibility = 'hidden';
		document.getElementById('IDC_OBFLSCHUTZ_HINWEIS').style.visibility = 'hidden';
	}
}

function  allMakeDirty(element)
{
    // Die Params müssen unbedingt übergeben werden,
    // damit die Session richtig zugeordnet werden kann.
    var params = $('isycat').serialize();
	new Ajax.Request('index/make_allpos_dirty', {
		onComplete: function(transport) {
			var msg = transport.responseJSON.message;
            if ( msg )
            {
                msg = msg.replace(/\\n/g, "\n");
                alert( msg );
            }
		},
		parameters: params
	});
}

function showPDF(url)
{
 	 window.open(url,height=800,width=600);

}

function flexibleShowAlertOnLoad(strHiddenVar)
{
	message=document.getElementById(strHiddenVar).value;

	if (message == strHiddenVar) return;
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');

	if(message){ alert(message); }

	document.getElementById(strHiddenVar).value='';
}

function makePWvisible()
{
	document.getElementById('IDC_PWINTERN_EDIT').style.visibility = 'visible';
	document.getElementById('IDC_PWINTERN_EDIT').focus();
}

function askClose()
{
	flag = document.getElementById('PROJ_MODIFIED_FLAG').value;
	cdmode = document.getElementById('IDC_CDMODE').value;
	if (flag == 'MODIFIED')
	{
		message = document.getElementById('ProjDeleteMessage').value;
		ret = window.confirm(message);
		if (ret)
        {
            if (cdmode == "true")
                ekSubmit('CLOSE_PROGRAM');
            else
                self.close();
        }
	}
	else
    {
        if (cdmode == "true")
            ekSubmit('CLOSE_PROGRAM');
        else
            self.close();
    }
}

// Submit in neues Fenster, danach sind 2 Programmfenster da!
function ekTestSubmit(element)
{
    if (!(checkRequiredFormFields()))
    {
    	return;
    }

    if (typeof(element) == "string")
    {
    	document.isycat.EKSUBMITEVENT.value = element;
    }
    else
    {
	if (element.id == null)
	{
		if ((element = getElementFrom(element)) == null)
		{
			return;
		}
	}

    	document.isycat.EKSUBMITEVENT.value = element.getAttribute('id');
    }

	// document.getElementById('IsyDisable_CONTAINER').style.visibility = 'visible';
	// waitElement = document.getElementById('IsyDisable_CONTAINER');

	// makeWaitcursor(waitElement);
	checkHiddenFormFields();

    window.open('', 'Flexnew', 'menubar=no,toolbar=no,width=800,height=600');
	oldtarget = document.isycat.target;
	document.isycat.target = 'Flexnew';
	document.isycat.submit();
	document.isycat.target = oldtarget;
}



function ShowDatenblatt()
{
	filename=document.getElementById('RTF_FILENAME').value;
	if(filename){ self.open(filename); }
	document.getElementById('RTF_FILENAME').value='';
	// alert ('Datenblatt gezeigt!');
}

function ShowConfirmMessage()
{
	var message=document.getElementById('CONFIRM_MESSAGE').value;
	document.getElementById('CONFIRM_MESSAGE').value='';
	if(message)
	{
		document.getElementById('CONFIRM_DONE').value="1";
	/*  der folgende Code führt zum Programmabsturz durch Öffnen eines neuen kleinen Fensters EasyWeb, bei Auswahl KP und Temp. 0...300 Kelvin:
		if(confirm(message)==true)
		{
			document.getElementById('CONFIRM_DONE').value="1";
			// KP:
			// Meldung kann anscheinend aus SUche bereits erzeugt werden und auch durch Änderung im Ergänzen-Dialog
			// ekSubmit(document.getElementById('IDC_UEBERNEHMEN_BUT'));
		}
	*/
	}
}

function ShowAlertOnLoad()
{
	message=document.getElementById('errormessage').value;
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');
	message = message.replace(/#/,'\n');

	if(message){ alert(message); }
	document.getElementById('errormessage').value='';

}


function resetTable(tableID)
{
	var table = dialog[tableID];
	
	table.reset();
	table.empty();
	
/*
	for ( var i=table.fixedLines; i < table.element.rows.length; i++ )
	{
	    table.element.rows[i].parentNode.removeNode( table.element.rows[i] );
 	}
	//alert('table loeschen');
	table.setSubmitValue('');
*/
}

function tableSubmit(evt)
{
	var column = getElementFrom(evt);
	var rowid = getRowFrom(column);
	// tableid = getTableFrom(column);
	
	var element = $(column).up('DIV');
	var tableid = element.id;
	
	dialog[tableid].setSubmitValue(rowid);
	
	//alert(rowid);
	// alert(tableid);

	// Abfangen, dass in eine der ersten Zeilen geclickt wurde...
	if (rowid == 'IDC_MS_ANSCHLUESSE_ERGEBNIS_TABELLE_COLDESC')
		return;

	// if (rowid.Right(7) == 'COLDESC')
	// 	return;

	// Jetzt den newcode noch der Formvariable für die Tabelle zuweisen:
	//document.isycat[tableid].value = rowid;

	// Das ist OK:
	ekSubmit(tableid);
}

/**
function start_cdmode()
{
	cd_mode = document.getElementById('IDC_CDMODE').value;
	// alert(cd_mode);
	// if (cd_mode == 'true')
	// {
		document.getElementById('IDC_LOG_IN_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_PASSWORT_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_GAST_LABEL').style.visibility = 'hidden';
		document.getElementById('IDC_LOG_IN').style.visibility = 'hidden';
		document.getElementById('IDC_PASSWORT').style.visibility = 'hidden';
	// }
}
**/

function askNewProject()
{
	checkDeleteProject('IDC_NEUESPROJEKT_BUT');
}

function askLoadProject()
{
	checkDeleteProject('IDC_LADEN_BUT');
}

function checkDeleteProject(submitParam)
{
	flag = document.getElementById('PROJ_MODIFIED_FLAG').value;
	if (flag == 'MODIFIED')
	{
		message = document.getElementById('ProjDeleteMessage').value;
		ret = window.confirm(message);
		if (ret)
			ekSubmit(submitParam);
	}
	else
		ekSubmit(submitParam);
}

function checkPositive(element)
{
	if (parseFloat(element.value) < 0)
		element.value = -1 * parseFloat(element.value);
}

function calcProjEndpreis()
{
	// !!! nicht für Kundenversion
   	var stype = document.getElementById('systemtype').value;
	if (stype != 'SALESVERSION') return;

	var pGesamt = GetZahlFromEdit('IDC_WI_PROJGESAMTPREIS_EDIT');

	var pRabatt = GetZahlFromEdit('IDC_WI_PROJRABATT_EDIT');

	var pVerpack = GetZahlFromEdit('IDC_WI_VERPACKUNGPREIS_EDIT');
	var pFracht  = GetZahlFromEdit('IDC_WI_FRACHTPREIS_EDIT');
	var pRuest   = GetZahlFromEdit('IDC_WI_RUESTPREIS_EDIT');
	var pKennz   = GetZahlFromEdit('IDC_WI_KENNZPOSPREIS_EDIT');

    var pGesamtNetto = pGesamt;
	if (pRabatt != 0)
		pGesamtNetto = Round2(pGesamt * (1 - (pRabatt / 100)));

	if (pGesamtNetto < 0)
		pGesamtNetto = 0;

    var pGesamtBrutto = pGesamtNetto + pVerpack + pFracht + pRuest + pKennz;

	if (pGesamtBrutto < 0)
		pGesamtBrutto = 0;

	SetZahlInEdit('IDC_WI_PROJNETTOPREIS_EDIT', pGesamtNetto);
	SetZahlInEdit('IDC_WI_PROJENDPREIS_EDIT', pGesamtBrutto);
}


function GetZahlFromEdit(elementID)
{
	sZahl = document.getElementById(elementID).value;
	sZahl = sZahl.replace(/,/,'.');
	if (sZahl == '')
		return(0);
	else
	{
		nZahl = parseFloat(sZahl);
		if (isNaN(nZahl) == true)
			return(0);
		else
			return(nZahl);
	}
}

function GetZahlFromStatic(elementID)
{
	sZahl = document.getElementById(elementID).innerHTML;
	sZahl = sZahl.replace(/,/,'.');
	if (sZahl == '')
		return(0);
	else
	{
		nZahl = parseFloat(sZahl);
		if (isNaN(nZahl) == true)
			return(0);
		else
			return(nZahl);
	}
}

function SetZahlInEdit(elementID, sZahl)
{
	sZahl = sZahl.toFixed(2);
	ssZahl = sZahl.toString();
	ssZahl = ssZahl.replace(/\./,',');
	document.getElementById(elementID).value = ssZahl;
	return;
}

function SetZahlInStatic(elementID, sZahl)
{
	sZahl = sZahl.toFixed(2);
	ssZahl = sZahl.toString();
	ssZahl = ssZahl.replace(/\./,',');
	document.getElementById(elementID).innerHTML = ssZahl;
	return;
}

function Round2(Zahl)
{	GroZahl = Zahl * 100;
	GroZahl = Math.round(GroZahl);
	RoundZahl = GroZahl / 100;
	return (RoundZahl);
}

function recalcPrices()
{

	// !!! nicht für Kundenversion
   	stype = document.getElementById('systemtype').value;
	if (stype != 'SALESVERSION') return;

	pListe   = GetZahlFromEdit('IDC_LISTENPREIS');
	pZu      = GetZahlFromEdit('IDC_ZUSCHLAG');
	pAb      = GetZahlFromEdit('IDC_NACHLASS');
	pPruefZu = GetZahlFromEdit('IDC_ZUSCHLAG_PRUEFUNG');

	Erg1 = Round2(pListe + pZu);
	if (pAb == 0)
		Erg2 = Erg1;
	else
		Erg2 = Round2(Erg1 * (1 - (pAb / 100)));
	Erg3 = Round2(pPruefZu);
	Erg4 = Round2(Erg3 + Erg2);

	SetZahlInEdit('IDC_ANGEBOTSPREIS', Erg1);
	SetZahlInEdit('IDC_PREIS_NETTO', Erg2);

	SetZahlInEdit('IDC_GESAMTPREIS', Erg4);
}

/**
 * Dokumente Export-Routine aus Projektliste per XMLHttpRequest starten
 */
function schreibeDOKfileFromProjectlist()
{
	new Ajax.Request('index/write_dok_from_projectlist', {
		onComplete: function(transport) {
			var msg = transport.responseJSON.message;
            if ( msg )
                alert( msg );
		},
		parameters: $('isycat').serialize()
	});
}

/**
 * Dokumente Export-Routine aus Projektliste per XMLHttpRequest starten
 */
function importTCAfile()
{
	new Ajax.Request('index/import_tca_file', {
		onComplete: function(transport) {
			var msg = transport.responseJSON.message;
            if ( msg )
                alert( msg );
		},
		parameters: $('isycat').serialize()
	});
}

/**
 * Typnummer prüfen
 */
function analysiereTypnummer()
{
	new Ajax.Request('index/analysiere_typnummer', {
		onComplete: function(transport) {
			var msg = transport.responseJSON.message;
            if ( msg != "" )
                alert( msg );
			ekSubmit('IDC_PREISE_AKTUALISIEREN_BUT');
		},
		parameters: $('isycat').serialize()
	});
}
/*** ***/
document.observe('dom:loaded', function() {
	var x = $('IDC_LASTJUSTIERBARKEIT_EDIT');
	if (x)
	{
		x.observe('change', function(evt) {
			var el = Event.element(evt);
			y = $('IDP_LASTJUSTIERUNG_EINGABE');
			
			if ( isNaN(el.value) )
			{
				el.value = 15;
				alert(y.value);
				return;
			}
				
			if ( el.value < 5 || el.value > 20 )
			{
				el.value = 15;
				alert(y.value);
				return;
			}
		});
	}
});
