var strgKey = false;

function realLength(array)
{
	var length = 0;
	for (a = 0;a < array.length;a++)
	{
//		alert(array[a]);
		if (array[a] != null) length++;
	}	
	return length;
}


function imgOver(element)
{
	element.className = 'over';
}

function imgOut(element)
{
	element.className = 'out';
}
function setKeyDown()
{
	if (event.keyCode == 17) strgKey = true;
	else strgKey = false;
}
function setKeyUp()
{
	if (event.keyCode != 17) strgKey = true;
	else strgKey = false;
}
function deletePosition(array,pos)
{
	array[pos] = null;
}
function deleteNotMarkedPositions(element,array,wert)
{
	//alle ev. markierten Zellen demarkieren
	container = element.parentElement.parentElement.parentElement;
	for (a = 0;a < container.rows.length;a++)
	{
		container.rows[a].children[0].children[0].className = 'outCells';
	}
	array = new Array();
	array[0] = wert;
}

function getFreeArrayPosition(array)
{
	for (a = 0;a < array.length;a++)
	{
//		alert(array[a]);
		if (array[a] == null) return a;
	}
	return a;
}

function getWert(array,wert)
{
	for (a = 0;a < array.length;a++)
	{
		if (array[a] == wert) return a;
	}
	return null;
}

function viewSelect(element,row)
{
	wert  = getWert(selected,row);
//	alert("WERT -----------> " + row);
//	alert(event.scrElement);
	if (wert != null) 
	{
		if (!strgKey)
		{
			deleteNotMarkedPositions(element,selected,wert);				
		}	
		deletePosition(selected,wert);			
		element.className = 'outCells';
	}
	else
	{
		if (strgKey) 
		{
			pos = getFreeArrayPosition(selected);
			selected.splice(pos,1,row);
		}
		else
		{
			deleteNotMarkedPositions(element,selected,wert);
			selected = new Array();
			selected[0] = row;
		}
		element.className = 'overCells';
	}
	delButton = document.getElementsByName('viewDel')[0]
	editButton = document.getElementsByName('viewEdit')[0]
	newButton = document.getElementsByName('viewNew')[0]	
		
//	alert(realLength(selected));
	if (realLength(selected) > 1)
	{
		delButton.className = 'out';
		editButton.className = 'over';		
		newButton.className = 'out';				
	}
	else if (realLength(selected) == 1)
	{
		delButton.className = 'out';
		editButton.className = 'out';				
		newButton.className = 'out';						
	}
	else
	{
		delButton.className = 'over';
		editButton.className = 'over';				
		newButton.className = 'over';						
	}	
	document.getElementsByName('selected')[0].value = selected;
//	alert(document.getElementsByName('selected')[0].value);
//	alert("ARRAY ------- > " + selected);
}

function viewOver(element)
{
	element.className = 'overCells';
}
function viewOut(element)
{
	element.className = 'outCells';
}

function editPos(klasse,element)
{
	if (element.className == 'over') return false;
	else alert("Sie beabsichten eine Position der Klasse " + klasse + " zu bearbeiten!");
}
function delPos(klasse,element)
{
	if (element.className == 'over') return false;
	else alert("Sie beabsichten Position(en) der Klasse " + klasse + " zu loeschen!" + selected);
}
function eventHandler(title,klasse,id,event,width,height)
{

	url = 'eventHandler.php?title=' + title + '&target=' + klasse;
	if (id != null && id == '' && event != '') id = selected[0];
	if (id != '')	url +=  '&id=' + id;
	if (event != null) url +=  '&event=' + event;	

	form = document.forms[0];

	if (form)
	{
		for ( var e = 0; e < form.elements.length; e++ )
		{
			url += '&';		     
//			alert(form.elements[e].type);
			if (form.elements[e].type == 'hidden')
			{
//				alert('isHidden');
				url += form.elements[e].name +  '=' + form.elements[e].value;		     
//				alert(url);
			}		
		}	
	}

	settings = 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;status:no;';
	a = window.showModalDialog(url,'Eigenschaften',settings);


//	 status = "status=0,scrollingbars=0,width=" + width + ",height=" + height;	
//	a = window.open(url,'Eigenschaften',status);

}
function erase(klasse)
{

//	url = 'eventHandler.php?klasse=' + klasse + '&id=' + id + '&event=' + event;
	url = "Object.php?klasse=" + klasse + "&selected=" + selected + "&event=erase";
	status = "status=0,scrollingbars=0,width=500,height=500";	

	a = window.open(url,'ERASER',status);
}

function sendIt()
{
	alert('Hallo');
}

function submitForm(form,script,klasse,name,width,height,radio,pwneu,pwrep)
{
	
     if (passwortwiederholung(form,radio,pwneu,pwrep))
     {
  	    url = 'eventHandler.php?title=' + name + '&target=' + script;
     	    	     for ( var e = 0; e < form.elements.length; e++ )
		     {
			   if (!form.elements[e].checked && form.elements[e].name != "TIPPER")
			       url += '&' + form.elements[e].name + '=' + form.elements[e].value;
		          else if (form.elements[e].checked && form.elements[e].name == "TIPPER")
		   	       url += '&' + form.elements[e].name + '=' + form.elements[e].value;
		     	   

		     }
		     url += "&klasse=" + klasse;
			settings = 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;status:no;'
			a = window.showModalDialog(url,name,settings);
//			 status = "status=0,scrollingbars=0,width=" + width + ",height=" + height;
		
		 
//	    		 window.open(url,name,status);
    	}
 }

  function passwortwiederholung(form,radio,pwneu,pwrep)
  {
	
	if (form.elements[radio][1].checked)
	{
		var passw1=form.elements[pwneu].value;
		var passw2=form.elements[pwrep].value;

		if ( passw1 !=  passw2)
		{
			alert('Die Passworteingaben stimmen nicht überein! Bitte neu eingeben!');
			form.elements[pwneu].value ='';
			form.elements[pwrep].value ='';			
			form.elements[pwneu].focus();
			return false;
		}
   	}
   	return true;
}
function openWindow(name,url,width,height)
{
		 status = "status=0,resizeable=1,width=" + width + ",height=" + height + ",scrollbars=1,menubar=1";
		 window.open(url,name,status);
		 
 }
 
function checkDate(feld)
{
	a = feld.value.split(".");
	if (a.length != 3 | a[0] < 1 | a[0] > 31 | a[1] < 1 | a[1] > 12 | a[2] < 2000 | a[2] > 2099) 
	{
		alert('Bitte gültiges Datum eingeben! (tt.mm.YYYY)');
		feld.focus();
		feld.select();
		return false;
	}
}

function checkFloat(feld) 
{ 
      if(feld.value.length==0)
      {
      		alert('Bitte gültigen Wert eintragen!');
		feld.focus();
		feld.select();
       		return false;
      }
      
      for(n=0;n<feld.value.length;n++)
         {
            	if((feld.value.charAt(n)<"0"||feld.value.charAt(n)>"9") && feld.value.charAt(n) != ",")
            	{
      			feld.focus();
			feld.select();
            		alert('Bitte gültigen Wert eintragen! (####0,00)');
            		return false;
            	}
        }
}

