

/******************************************************************************/
/*****************  this code-lines MUST NOT be deleted ***********************/
/******************************************************************************/
/** author    : seso media group gmbh vienna **********************************/
/** copyright :	2006-2009 seso media group vienna *****************************/
/** contact   : kl@seso.at  ***************************************************/
/** commercial and private usage is forbidden and only after consulting  ******/
/** seso media group approved *************************************************/
/******************************************************************************/


function initFormChecker(frm) {
checker={};
collectCheckers(frm);
}

//checker={};
//collectCheckers(frm);

function collectCheckers(frm)
{	// todo: onsubmit optional setzen
	checktags=['input','select','textarea'];
	checker.els=[];
	checker.frm=document.forms[frm];
	for(var i=0;i<checktags.length;i++)
	{	var t=document.getElementsByTagName(checktags[i]);
		for(var j=0;j<t.length;j++)
		{	var p=t[j].name.split(' ');
			if(t[j].name!=p[0])
			{	t[j].name=p[0];
				checker.frm.elements[t[j].name]=t[j];
				p.shift();
				t[j].check=p;
				checker.els[checker.els.length]=t[j];
			}
		}
	}
	checker.frm.onsubmit=function(){return false;};
   if(typeof(document.addEventListener)!="undefined")
   {	checker.frm.addEventListener("submit",checkRequiredFields,true);
	}
   else if(typeof(document.attachEvent)!=undefined)
		checker.frm.attachEvent("onsubmit",checkRequiredFields);  
}

function required(f)
{	if(getVal(f)=='')
		return false;
	return true;
}

function checkRequiredFields()
{	succ=true;
	for(var i=0;i<checker.els.length;i++)
	{	
		for(var j=0;j<checker.els[i].check.length;j++)
		{	
			eval('var fkt='+checker.els[i].check[j]);
			if(fkt!=undefined && !fkt(checker.els[i]))
			{	succ=false;
				checker.els[i].style.borderColor='ED1847';
				checker.els[i].onfocus=function()
				{	this.style.borderColor='999999';
					this.onfocus=null;
				}
				j+=99;
			}
		}
	}
	if(succ)
	{	if(typeof(document.addEventListener)!="undefined")
			this.submit();
		else
			return succ;
	}
	return false;
}

function getVal(obj)
{	if((obj.type=="textarea")||(obj.type=="text")||(obj.type=="hidden")||(obj.type=="password"))
	{	if(obj.value)
			return obj.value;
		return "";
	}
	if(obj.type=="checkbox")
	{	if(obj.checked)
			return obj.value;
		return '';
	}
	if(obj.options)
	{	retval='';
		if(obj.selectedIndex>=0)
		{	retval=obj.options[obj.selectedIndex].value;
			if(retval==0)
				retval="";
			return retval;
		}
		else
			return "";
	}
	else if(obj.length>1)
	{	for(l=0;l<obj.length;l++)
		{	if(obj[l].checked)
				return obj[l].value;
		}
		return "";
	}
}

function searchInArr(arr,txt)
{	for(var i=0;i<arr.length;i++)
		if(arr[i]==txt)
			return true;
	return false;
}

var m=0;
function padding(laenge)
	{
	result = '';
	for (i = 0; i < laenge; i++)
		result = result + '___';
	return result;
	}
function print_r(das_array, ebene)
	{
	var result = '';  
	for (var wert in das_array)
	    {
	    if(wert!="pv"&&wert!="nx"&&wert!="pr"&&wert!="parentNode"&&wert!="childNodes")
	    	{
		    if (typeof das_array[wert] == "object")
		      result = result + ' ' + padding(ebene) + wert + "\n" + print_r(das_array[wert], ebene + 1);
		    else
		      result = result + ' ' + padding(ebene) + wert + ' = ' + das_array[wert] + "\n";
		    m++;
			}
		if(m>500)
			return result;
		}
	return result;
	}
	
	
	
	
	
	function garbageCollector(element)
	{
		// Löscht verpflichtende Formularelemente aus dem checkarray, welche dynamisch aus dem DOM-Baum entfernt wurden  
		// element ist ein umschließendes Element der Formularelemente
		var garbage=[];
		
		checktags=['input','select','textarea'];
		for(var i=0;i<checktags.length;i++)
		{
			var t=document.getElementById(element).getElementsByTagName(checktags[i]);
			for(var j=0;j<t.length;j++)
			{	
				garbage.push(t[j].name);
			}
		}
		
		checker2={};
		checker2.els=[];
		
		nolist=[];
		
		for(var i=0;i<checker.els.length;i++)
		{	
			for(var j=0;j<garbage.length;j++)
			{
				if(garbage[j]==checker.els[i].name)
				{
					nolist[i]='set';	
				}
			}	
		}
		for(var i=0;i<checker.els.length;i++)
		{	
			if(nolist[i]!='set')
				checker2.els[checker2.els.length] = checker.els[i]; 
		}
		
		checker=checker2;
	}