/* (C) netforge Internet & Networks GmbH 2006-2007 All rights reserved. */

function fillFormFields (Data)
{
    for (var key in Data) {
        if (dojo.byId(key)) {
            dojo.byId(key).value = Data[key];
        }
    }
}

/* General functions */
function Runden(x,s)
{
	if(x.toFixed) {
		return x.toFixed(s);
	} else {
		return parseInt(x*Math.pow(10,s)+0.5)/Math.pow(10,s);
	}
}

function numberFormat1000 (Num, Char_1000)
{
	Num = Num.toString(10);
	NewNumber = '';
	Negative = false;
	
	if (Num.substr(0, 1) == "-") {
		Negative = true;
		Num = Num.substr(1);
	}
	
	while (Num.length > 0) {
		NumStart = Num.length-3;
		if (NumStart < 0) {
			NumStart = 0;
		}
		NewNumber = Num.substr(NumStart, 3)+Char_1000+NewNumber;
		Num = Num.substring(0, Num.length-3);
	}
	NewNumber = NewNumber.substr(0, NewNumber.length-1);
	
	if (Negative) {
		NewNumber = "-" + NewNumber;
	}
	
	return NewNumber;
}


function numEuropToAnglo (Number)
{
	Number = Number.replace(/\./, "");
	Number = Number.replace(/,/, ".");
	return Number;
}
function numberFormat (Num, Decimals, Sep_Dec, Sep_Thousands)
{
	Num = parseFloat(Num);
	Num = Runden(Num, Decimals);
	Num = Num.toString(10);
	var NumberParts = Num.split(".");
	if (typeof NumberParts[1] == "undefined") {
		NumberParts[1] = '00';
	}
	while (NumberParts[1].length < Decimals) {
		NumberParts[1] = NumberParts[1]+'0';
	}
	if (Decimals > 0) {
	   NewNumber = numberFormat1000(NumberParts[0], Sep_Thousands) + Sep_Dec + NumberParts[1];
	} else {
	   NewNumber = numberFormat1000(NumberParts[0], Sep_Thousands);
	}
	
	return NewNumber;
}
function numForm_de (Number) {
    return numberFormat(Number, 2, ',', '.');
}

function findFormatObject(FormatName)
{
	var FormateGruppen = new Array("DIN", "ohne Weiterverarbeitung", "mit Weiterverarbeitung");
	for (var k=0; k<FormateGruppen.length; k++) {
		var Obj = Formate[FormateGruppen[k]];
		if (Obj)
		{
			if (Obj[FormatName])
			{
				return Obj[FormatName];
			}
		}
	}
	return false;
}




function showPreise(Format)
{
    createMengeTable(Preise[Format], Format);
    return;
	var Stueck = new Array();
	var trElements = document.getElementById('menge').getElementsByTagName('tr');
	for (i=0; i<trElements.length; i++) {
		id = trElements[i].id;
		if (id.substr(0, 6) == 'preis_') {
			Stueck[Stueck.length] = id.substring(6, (id.length-4));
		}
	}
	
	for (k=0; k<Stueck.length; k++) {
		var preis_vk1_netto = Runden(Preise[Format][Stueck[k]]['Preis_Vk1'], 2);
		var preis_vk1_brutto = Runden(Preise[Format][Stueck[k]]['Preis_Vk1']*Mehrwertsteuer, 2);
		document.getElementById("preis_"+Stueck[k]+"_vk1_netto").innerHTML = preis_vk1_netto.toString(10) + " &euro;";
		document.getElementById("preis_"+Stueck[k]+"_vk1_brutto").innerHTML = preis_vk1_brutto.toString(10) + " &euro;";
		
		var preis_vk2_netto = Runden(Preise[Format][Stueck[k]]['Preis_Vk2'], 2);
		var preis_vk2_brutto = Runden(Preise[Format][Stueck[k]]['Preis_Vk2']*Mehrwertsteuer, 2);
		document.getElementById("preis_"+Stueck[k]+"_vk2_netto").innerHTML = preis_vk2_netto.toString(10) + " &euro;";
		document.getElementById("preis_"+Stueck[k]+"_vk2_brutto").innerHTML = preis_vk2_brutto.toString(10) + " &euro;";
		
		var preis_vk3_netto = Runden(Preise[Format][Stueck[k]]['Preis_Vk3'], 2);
		var preis_vk3_brutto = Runden(Preise[Format][Stueck[k]]['Preis_Vk3']*Mehrwertsteuer, 2);
		document.getElementById("preis_"+Stueck[k]+"_vk3_netto").innerHTML = preis_vk3_netto.toString(10) + " &euro;";
		document.getElementById("preis_"+Stueck[k]+"_vk3_brutto").innerHTML = preis_vk3_brutto.toString(10) + " &euro;";
	}
}




function showDruckdatenVorgabe(FormatName)
{
	FormatObject = findFormatObject(FormatName);
	document.getElementById("druckdatenvorschau").src = "colorpic.php?image=images/icons_formats/" + FormatObject["Img_gr"] + "&color=" + theme_color;
	document.getElementById("formatDruckdaten").innerHTML = FormatObject["Datenformat"];
	document.getElementById("formatEnd").innerHTML = FormatObject["Endformat"];
	
	showPreise(FormatName);
	
	if (FormatName == 'DIN A4 Falzung') {
		FormatName = 'DIN A4';
	}

	if (FormatName == 'Visitenkarte 55 x 85 mm') {
		document.getElementById("vorlage").innerHTML = '<a href="downloads/psd/vorlage_VK.psd">Photoshop</a>';
	} else if (FormatName == 'DIN A8'){
		document.getElementById("vorlage").innerHTML = '<a href="downloads/psd/vorlage_DIN_A8.psd">Photoshop</a>';
	} else {
		document.getElementById("vorlage").innerHTML = '<a href="downloads/freehand/vorlage_'+FormatName.replace(/ /,"_")+'.fh">Freehand</a> <a href="downloads/psd/vorlage_'+FormatName.replace(/ /,"_")+'.psd">Photoshop</a>';
	}
}




var preisHighlightedRow = "";
var preisHighlightedVk = "";
var preisHighlightedClass = "";
var preisHighlightedRadio = "";
function preisHighlight (Menge, Vk, elem)
{
	if (preisHighlightedRow != "" && preisHighlightedVk != "") {
		document.getElementById("preis_"+preisHighlightedRow+"_menge").className = "";
		
		document.getElementById("lzeitclass_"+preisHighlightedVk).className = preisHighlightedClass;
		document.getElementById("lzeit_"+preisHighlightedVk).className = preisHighlightedClass;
		
		document.getElementById("preis_"+preisHighlightedRow+"_"+preisHighlightedVk+"_radio").className = preisHighlightedClass;
		document.getElementById("preis_"+preisHighlightedRow+"_"+preisHighlightedVk+"_brutto").className = preisHighlightedClass;
		document.getElementById("preis_"+preisHighlightedRow+"_"+preisHighlightedVk+"_netto").className = preisHighlightedClass;

		css = preisHighlightedRadio.className.split("_");
		switch (preisHighlightedVk){
			case "vk1":	css = css[0] + "_70"; break; 
			case "vk2":	css = css[0] + "_60"; break; 
			case "vk3":	css = css[0] + "_50"; break; 
		}
		preisHighlightedRadio.className = css;

	}
	
	preisHighlightedRadio = elem;
	preisHighlightedRow = Menge;
	preisHighlightedVk = Vk;
	preisHighlightedClass = document.getElementById("preis_"+Menge+"_"+Vk+"_radio").className;
	
	css = preisHighlightedRadio.className.split("_");
	css = css[0] + "_30";
	preisHighlightedRadio.className = css;


	document.getElementById("preis_"+Menge+"_menge").className = "preise_highlight";
	document.getElementById("lzeitclass_"+Vk).className = "preise_highlight";
	document.getElementById("lzeit_"+Vk).className = "preise_highlight";
	
	document.getElementById("preis_"+Menge+"_"+Vk+"_radio").className = "preise_highlight";
	document.getElementById("preis_"+Menge+"_"+Vk+"_brutto").className = "preise_highlight";
	document.getElementById("preis_"+Menge+"_"+Vk+"_netto").className = "preise_highlight";
}




function enableField (FieldName, FormName)
{
	F = document.forms[FormName].elements[FieldName];
	if (F.length == undefined) {
    	F.disabled = false;
    	F.className = "input_enable";
	} else {
	    for (i=0;i<F.length;i++) {
        	F[i].disabled = false;
        	F[i].className = "input_enable";
	    }
	}
  if(document.getElementById(FieldName+"_label")) document.getElementById(FieldName+"_label").className = "formlabel_enabled";
}
function disableField (FieldName, FormName)
{
	F = document.forms[FormName].elements[FieldName];
	if (F.length == undefined) {
    	F.disabled = true;
    	F.className = "input_disable";
	} else {
	    for (i=0;i<F.length;i++) {
        	F[i].disabled = true;
        	F[i].className = "input_disable";
	    }
	}
  if(document.getElementById(FieldName+"_label")) document.getElementById(FieldName+"_label").className = "formlabel_disabled";
}

function enableFieldGroup (FieldGroup, FormName)
{
	for (k=0; k<document.forms[FormName].elements.length; k++) {
		F = document.forms[FormName].elements[k];
		if (
		    typeof(F.name) != "undefined"
		    &&
			(F.name.substr(0, FieldGroup.length) == FieldGroup)
			&&
			(F.name != FieldGroup+"[Typ]")
		) {
			enableField(F.name, FormName);
		}
	}
}
function disableFieldGroup (FieldGroup, FormName)
{
	for (k=0; k<document.forms[FormName].elements.length; k++) {
		F = document.forms[FormName].elements[k];
		if (
		    typeof(F.name) != "undefined"
		    &&
			(F.name.substr(0, FieldGroup.length) == FieldGroup)
			&&
			(F.name != FieldGroup+"[Typ]")
		) {
			disableField(F.name, FormName);
		}
	}
}


function checkRechnungsadresse()
{
	if (document.forms["FormAuftrag"].elements["Auftrag[Rechnungsadresse][Typ]"][1].checked == true) {
		enableFieldGroup("Auftrag[Rechnungsadresse]", "FormAuftrag");
	} else {
		disableFieldGroup("Auftrag[Rechnungsadresse]", "FormAuftrag");
    	disableFieldGroup("Auftrag[Rechnunglabel]", "FormAuftrag");
	}
}
function checkLieferadresse()
{
	if (document.forms["FormAuftrag"].elements["Auftrag[Lieferadresse][Typ]"][2].checked == true) {
		enableFieldGroup("Auftrag[Lieferadresse]", "FormAuftrag");
	} else {
		disableFieldGroup("Auftrag[Lieferadresse]", "FormAuftrag");
	}
}


function openUploadWindow(urlParameter)
{
	window.open('auftrag_druckdatenupload.php'+urlParameter+"&seiten="+seiten+"&tuv="+tuv, 'flyer_upload', 'top=100,left=100,width=540,height=500,menubar=no,toolbar=no,resizable=yes,scrollbars=yes');
}
function openKundenUploadWindow(urlParameter)
{
	window.open('kunden_druckdatenupload.php'+urlParameter, 'flyer_upload', 'top=100,left=100,width=540,height=500,menubar=no,toolbar=no,resizable=yes,scrollbars=yes');
}
function checkUploadWindow(Obj, urlParameter, openWindow)
{
	if (Obj.checked == true) {
		if (openWindow == true) {
			openUploadWindow(urlParameter);
		}
		document.getElementById("druckdatenUploadLink").style.visibility = "visible";
	} else {
		document.getElementById("druckdatenUploadLink").style.visibility = "hidden";
	}
}