
oldAnzeigenArt = new Array('','');
Save = new Array();
offeneFlaechen = new Array();
checkText = new Array();
Position = 1;
Zeichen = 500;
diverenz = 0;
PreisArt = 'PreiseA';
PreisArray = new Array();

function setFehler()
{
	text = "";	
	
	for (var key in error)
	{
		if(document.getElementById(key))
		{
			document.getElementById(key).style.background = '#ff0000';
			document.getElementById(key).style.color 			= '#ffffff';
		}
		text += key +": "+ error[key] +'\n';

	}

	//alert(text);

}


function setFelder()
{
	Save['art'] = DATA['art'];

	for(i=1;i <= AnzahlPositionen[DATA['art']];i++)
	{
		setAnzeigenFlaesche(i);
		Position = i;
	}

	document.getElementById('Art').value=DATA['art'];

	for (var key in DATA)
	{
		obj = document.getElementById(key);

		if(obj)
		{
			switch(obj.type)
			{
				case "text":
				case "input":
				case "textarea":

					obj.disabled = false;

					if(obj.disabled == false)
					{
						obj.value = unescape(DATA[key]);
						PreisArray[obj.id] = obj.value;
					}
					break;


				case "radio":

					radio =  eval("document.form.elements");

					for(i=0;i < radio.length;i++)
					{
						if(radio[i].type == "radio" && radio[i].name == "DATA["+key+"]" && radio[i].value == DATA[key])
						{
						radio[i].checked = true;
						PreisArray[radio[i].id] = radio[i].value;

							if(radio[i].name == "DATA[ZeichenAnzahl]")
							{
								Zeichen = radio[i].value;
								document.getElementById('Counter').innerHTML = (radio[i].value - document.getElementById('TextFeld').value.length);
							}
						}
					}
					break;

				case "checkbox":

					obj.checked = true;

					if(obj.checked == true)
					{
					PreisArray[obj.id] = true;
					}
					break;

				case "select-one":

					for (i=0;i < obj.length;i++)
					{
						if(obj[i].value == DATA[key])
						{
							obj.selectedIndex = i;
							PreisArray[obj.id] = obj[i].value; 
						}
					}

					break;
			}
		}	
	}

	document.getElementById('vorschauanzeigen').disabled=false;
	aendereAnzahlZeichen(Zeichen);

	checkSelectedonload(AnzeigenKontakt);
	getPreis();

	if(error)
	{
		setFehler();
	}
}

function setAnzeigenFlaesche(name)
{
	eval('obj = document.getElementById("Position'+name+'")');
	
	if(obj.id)
	{
		obj.style.display = "block";
	 	offeneFlaechen['Position'+name]= obj;
	}
}

function clearAnzeigenFlaesche(name)
{	
	for(i = name; i < AnzeigenArten[Save['art']].length;i++)
	{	
		eval('obj = document.getElementById("Position'+i+'")');	

		if(obj.id)
		{
			obj.style.display = "none";
			offeneFlaechen['Position'+i]= '';
		}
	}
	
	if(name = 1)
	{	
		document.getElementById('vorschauanzeigen').disabled=true;	
	}
}


function checkSelectBox(Pos)
{ 
	checkSetArray(AnzeigenArten[Save['art']][Pos],Pos+1,Pos,'');
}

function checkInputs(obj,Pos)
{ 
	checkSetArray(AnzeigenArten[Save['art']][Pos],Pos+1,Pos,obj);
}

function CountTextarea(obj,counter,max)
{
	StrLen = obj.value.length
	if (StrLen == 1 && obj.value.substring(0,1) == " ")
	{
    	obj.value = ""
        StrLen = 0
    }
    
    if (StrLen > max )
    {
    	obj.value = obj.value.substring(0,max)
        CharsLeft = 0
    }
    else
    {
    	CharsLeft = max - StrLen
    }
    document.getElementById(counter).innerHTML = CharsLeft;
}


function aendereAnzahlZeichen(anzahl)
{	
	Zeichen = anzahl;
	if(document.getElementById('Counter'))
	{	
		document.getElementById('Counter').innerHTML = (Zeichen - document.getElementById('TextFeld').value.length);
		CountTextarea(document.getElementById('TextFeld'),'Counter',Zeichen);
	}
}

function CheckboxtoText(obj1,obj2)
{	
	objects = obj2.split(',');
	for(i=0;i < objects.length;i++)
	{
		obj2 = document.getElementById(objects[i]);
	
	if(obj1.checked == true)
		{
			obj2.disabled=false;
		}
		if(obj1.checked == false)
		{
			obj2.disabled=true;
		}
	}
}

function checkSetArray(frompos,gotopos,AktuellePos,getobj)
{ 		
	objvalue = '';
	Set = true;
	aendereAnzahlZeichen(Zeichen);
 	
 	for(i=0;i < AnzeigenPositionen[frompos].length;i++)
 	{	 	 
		if(!getobj)
		{ 	
			obj = document.getElementById(AnzeigenPositionen[frompos][i]); 
		 }
		 else
		 {	
		 	obj = getobj;
		 }


if(obj)
{
	PreisArray[obj.id] = obj.value; 

		switch(obj.type)
		{
		case "text":
		case "textarea":

			if(obj.value.length > 4)
			{
				objvalue = obj.value.length;	
				if(obj.id == 'TextFeld')
				{
					CountTextarea(obj,'Counter',Zeichen);
				}
			}
			else
			{
				objvalue = "";	

				if(obj.id == 'TextFeld')
				{		
					CountTextarea(obj,'Counter',Zeichen);
				}
			}
			break;


		case "checkbox":

			if(obj.checked == true)
			{
				objvalue = 'okay';	
			}
			else
			{
				objvalue = '';
			}
			break;


		case "radio":
			objvalue = obj.value;
			break;

		case "select-one":
			objvalue = obj.options[obj.selectedIndex].value;
			break; 
		}

	}
	else
	{
		objvalue = "";
	}

	if(objvalue == "")
	{
	Set = false;				
	}
	
}
	
if(getobj.id)
{
	if(getobj.type == 'checkbox')
	{
		
		if(getobj.checked == true)
		{
			PreisArray[getobj.id] = true; 
		}
		else
		{
			KillArrayKey(PreisArray,getobj.id)
		}
	}
	else
	{
		PreisArray[getobj.id] = getobj.value;
	}
}



if(AnzahlPositionen[Save['art']] == AktuellePos)
{  		
	document.getElementById('vorschauanzeigen').disabled=false;
}
else
{
	if(Set == true)
	{			
	
		if(AnzeigenArten[Save['art']].length > gotopos)
		{			
			Position = gotopos;
		}
		
		setAnzeigenFlaesche(gotopos);
	}
	
	getPreis();
}

}

function Belegexemplar(obj)
{
	AusgabePreis = Number(preis);
	
	if(obj.checked == true)
	{
		AusgabePreis = (AusgabePreis + 1250);	
	}
	else
	{
		AusgabePreis = (AusgabePreis - 1250);
	}
	
	preis = AusgabePreis;
	document.getElementById('preis').innerHTML = number_format(Number(AusgabePreis / 100),"2",",",".") + " &euro;";
	document.getElementById('kosten').value = AusgabePreis;
}

function getPreis()
{
	
			document.getElementById('preis').innerHTML = "";
			AusgabePreis = 0;
			
			if(document.getElementById('Laufzeit'))
			{
				Anzahl = (Number(document.getElementById('Laufzeit').options[document.getElementById('Laufzeit').selectedIndex].value) / 2);
	 		}
	 
			for (var key in PreisArray)
			{ 
				if(Preis[Save['art']][PreisArt][key])
				{
					if(Preis[Save['art']][PreisArt][key] != undefined)
					{
						if(isArray(Preis[Save['art']][PreisArt][key]))
						{
							AusgabePreis = (Number(Preis[Save['art']][PreisArt][key][PreisArray[key]]) + Number(AusgabePreis));

						}
						else
						{
							AusgabePreis = (Number(Preis[Save['art']][PreisArt][key]) + Number(AusgabePreis));
						}
					}
				}
			}
				
	  		AusgabePreis = Number(AusgabePreis * Anzahl);
	 
	 		document.getElementById('preis').innerHTML = number_format(Number(AusgabePreis / 100),"2",",",".") + " &euro;";
			document.getElementById('kosten').value = AusgabePreis;
}


/*

function checkSelectedonload(checkarray)
{
	for (var key in checkarray)
	{
		obj2 = document.getElementById(key);
		
		if(obj2)
		{
			if(checkarray[key] == 1)
			{
				for (var key in checkarray)
				{
					obj3 = document.getElementById(key);
							 
					if(checkarray[key] == 2)
					{
						if(obj2.checked == true)
						{
							obj3.disabled = true;
							PreisArt = 'PreiseB';
							getPreis();
						}
					}
				}
			}
			else
			{
				for (var key in checkarray)
				{
					obj3 = document.getElementById(key);

					if(checkarray[key] == 1)
					{
						if(obj2.checked == true)
						{
							obj3.disabled = true;
							PreisArt = 'PreiseA';
							getPreis();	
						}
					}
				}
			}				
		}
	}	
}


function checkSelected(obj,checkarray)
{
	s=0;
	checkvalue = checkarray[obj.id]
	
	if(checkvalue == 1)
	{
		PreisArt = 'PreiseB';
		getPreis();
	}
	else
	{
		PreisArt = 'PreiseA';
		getPreis();	
	}

	for (var key in checkarray)
	{		  
		obj2 = eval("document.form."+key);
		
		if(checkarray[key] == checkvalue)
		{
			if(obj2.checked == true)
			{
				s++;
			}
			
			if(checkarray[key] == 2)
			{				
				for (var key in checkarray)
				{
					obj3 = eval("document.form."+key);

					if(checkarray[key] != checkvalue)
					{			 
						if(obj2.checked == true)
						{
							obj3.disabled = true;
						}
						else
						{
							obj3.disabled = false;
						}
					}
				}
			}
		}
		else
		{
			if(obj2.checked == true)
			{			
				s++;
			}
			if(s > 0)
			{
				obj2.disabled = true;
			}
			else
			{
				obj2.disabled = false;
			}
		}
	}
}
*/
function KillArrayKey(ArraytoKill,KillKey,Arrayname)
{
	PreisArray = new Array();	

	for (var key in ArraytoKill)
	{ 
		if(key != KillKey)
		{
			PreisArray[key] = ArraytoKill[key];
		}
	}
}


function  number_format(number, laenge, sep, th_sep )
{

  number = Math.round( number * Math.pow(10, laenge) ) / Math.pow(10, laenge);
  str_number = number+"";
  arr_int = str_number.split(".");
  if(!arr_int[0]) arr_int[0] = "0";
  if(!arr_int[1]) arr_int[1] = "";
  if(arr_int[1].length < laenge){
    nachkomma = arr_int[1];
    for(i=arr_int[1].length+1; i <= laenge; i++){  nachkomma += "0";  }
    arr_int[1] = nachkomma;
  }
  if(th_sep != "" && arr_int[0].length > 3){
    Begriff = arr_int[0];
    arr_int[0] = "";
    for(j = 3; j < Begriff.length ; j+=3){
      Extrakt = Begriff.slice(Begriff.length - j, Begriff.length - j + 3);
      arr_int[0] = th_sep + Extrakt +  arr_int[0] + "";
    }
    str_first = Begriff.substr(0, (Begriff.length % 3 == 0)?3:(Begriff.length % 3));
    arr_int[0] = str_first + arr_int[0];
  }
  return arr_int[0]+sep+arr_int[1];
}

function isArray(a) {
    return isObject(a) && a.constructor == Array;
}

function isFunction(a) {
    return typeof a == 'function';
}
function isNull(a) {
    return typeof a == 'object' && !a;
}
function isNumber(a) {
    return typeof a == 'number' && isFinite(a);
}
function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}

