
var tm;
var stop_scroll=true;
function start_scroll(_id,direction){
	if(stop_scroll) return;
	_root=document.getElementById(_id).getElementsByTagName("span")[0];
	max_shift=_root.parentNode.offsetWidth-_root.offsetWidth+2;
	if(_root.offset==0 && direction==1) return;
	if(_root.offset<max_shift && direction==0) return;
	//alert(_root.offsetWidth+" "+_root.parentNode.offsetWidth);
	_root.offset+=(direction?10:-10);
	_root.style.marginLeft=_root.offset+"px";
	if(_root.offset<max_shift || _root.offset==0){
		stop_scroll=false;
		return;
	}
	delay=(document.all && !window.opera ? 40 : 25);
	tm = setTimeout("start_scroll('"+_id+"',"+direction+")",delay);
	 
}


var ie=(document.all && !window.opera?1:0);

function init_bookmark(_id,count){
       sum=0;
       sum2=0;
       bcount=count;
       _root=document.getElementById(_id);


       if ( _root == null ) return;

       _root.setAttribute("cur_field","d_0");
       _root.cur_field=0;
       objs=_root.getElementsByTagName("a");

       objs[0].className="act";
       for(i=0; i<objs.length;i++) {
               //document.getElementById(_root.id+"_fld_"+i).style.display="none";
               objs[i].id=_root.id+"_a_"+i;
               objs[i].name=i;
               objs[i].href=i+1;
               objs[i].onclick=function() {
                       _root=this.parentNode.parentNode;
                       document.getElementById(_root.id+"_a_"+_root.cur_field).className="";
                       this.className="act";
                       document.getElementById(_root.id+"_fld_"+_root.cur_field).style.display="none";
                       if(!ie) document.getElementById(_root.id+"_fld_"+this.name).className="field complete";
                       document.getElementById(_root.id+"_fld_"+this.name).style.display="block";
                       _root.cur_field=this.name;
                       return false;
               }

               sum+=objs[i].offsetWidth+1;
               if(count && count==i+1)
                       if(sum<100) count++;
                       else sum2=sum;
       }
       if(!ie) document.getElementById(_root.id+"_fld_"+_root.cur_field).className="field complete";
       document.getElementById(_root.id+"_fld_"+_root.cur_field).style.display="block";

       _img1=document.getElementById(_root.id+"_img1");
       _img2=document.getElementById(_root.id+"_img2");
       if(sum2<sum && bcount<objs.length){
               _fst=_root.getElementsByTagName("span")[0];
               _fst.setAttribute("offset",0);
               _fst.offset=0;


               _img1.className=_img2.className="arr";
               _img1.name=_img2.name=_root.id;
               _img1.onmouseover=function(){stop_scroll=false; start_scroll(this.name,1)}
               _img1.onmouseout=function(){stop_scroll=true;}
               _img2.onmouseover=function(){stop_scroll=false; start_scroll(this.name,0)}
               _img2.onmouseout=function(){stop_scroll=true; }
               _img2.style.marginLeft=Number(sum2+4)+"px";
               }
       else _img1.style.display=_img2.style.display="none";

       objs[0].parentNode.style.width=sum+"px";
       if(sum2){
               objs[0].parentNode.parentNode.style.width=sum2+"px";
               for(i=0; i<objs.length;i++)
                       document.getElementById(_root.id+"_fld_"+objs[i].name).style.width=sum2-11+"px";
       }
       //alert(sum);
}


/*

function init_bookmark(_id,count){
	sum=0;
	sum2=0;
	bcount=count;
	_root=document.getElementById(_id);	
	
	if ( _root == null ) return;
	
	_root.setAttribute("cur_field","d_0");
	_root.cur_field=0;
	objs=_root.getElementsByTagName("a");
	
	document.getElementById(_root.id+"_fld_"+_root.cur_field).style.display="block"; 
	objs[0].className="act"; 
	for(i=0; i<objs.length;i++) {
		objs[i].id=_root.id+"_a_"+i;
		objs[i].name=i;
		objs[i].href=i+1;
		objs[i].onclick=function() { 
			_root=this.parentNode.parentNode;
			document.getElementById(_root.id+"_a_"+_root.cur_field).className="";
			this.className="act";
			document.getElementById(_root.id+"_fld_"+_root.cur_field).style.display="none"; 
			document.getElementById(_root.id+"_fld_"+this.name).style.display="block"; 
			_root.cur_field=this.name;
			return false;
		}
		
		sum+=objs[i].offsetWidth+1;
		if(count && count==i+1) 
			if(sum<100) count++;
			else sum2=sum;
	}
	
	_img1=document.getElementById(_root.id+"_img1");
	_img2=document.getElementById(_root.id+"_img2");
	if(sum2<sum && bcount<objs.length){
		_fst=_root.getElementsByTagName("span")[0];		
		_fst.setAttribute("offset",0);
		_fst.offset=0;


		_img1.className=_img2.className="arr";
		_img1.name=_img2.name=_root.id;
		_img1.onmouseover=function(){stop_scroll=false; start_scroll(this.name,1)}
		_img1.onmouseout=function(){stop_scroll=true;}
		_img2.onmouseover=function(){stop_scroll=false; start_scroll(this.name,0)}
		_img2.onmouseout=function(){stop_scroll=true; }
		_img2.style.marginLeft=Number(sum2+4)+"px";
		}
	else _img1.style.display=_img2.style.display="none";
	
	objs[0].parentNode.style.width=sum+"px";
	if(sum2){
		objs[0].parentNode.parentNode.style.width=sum2+"px";
		for(i=0; i<objs.length;i++)
			document.getElementById(_root.id+"_fld_"+objs[i].name).style.width=sum2-11+"px";
	}
	//alert(sum);
}
*/

function set_width(_cblock){
	_cblock=document.getElementById(_cblock);
	_cblock.className="cc fl";
	_cblock.parentNode.parentNode.parentNode.style.width=Number(_cblock.offsetWidth+36)+"px";
	_cblock.className="cc";
}

function close_dialog(_sender_name) {
	_obj=document.getElementById(_sender_name);
	_obj.parentNode.parentNode.parentNode.style.visibility="hidden"; 

}

function show_dialog(_obj){
	_dialog=document.getElementById(_obj).parentNode.parentNode.parentNode;
	_dialog.style.left=Number(coord.x+5)+"px";
	_dialog.style.top=Number(coord.y+5)+"px";
	_dialog.style.visibility="visible";

	if((document.documentElement.clientHeight < Number(coord.y)-document.documentElement.scrollTop+_dialog.offsetHeight)&& (Number(coord.y)-30 >= _dialog.offsetHeight) ) {
		_dialog.style.top = Number(coord.y+5) - _dialog.offsetHeight+120+"px";
	}
}
/*
function init_dialogs(){
	objs=document.getElementById("dialog").getElementsByTagName("blockquote");
	for(i=0; i<objs.length;i++) {
		//set_width(objs[i].getElementsByTagName("div")[5].id);
		}

	objs=document.getElementById("dialog").getElementsByTagName("a");
	for(i=0; i<objs.length;i++) 
		if(objs[i].parentNode.parentNode.parentNode.className=="top")
			objs[i].onclick=function() { 
				this.href="close";
				this.parentNode.parentNode.parentNode.parentNode.style.visibility="hidden"; 
				return false;
			}
}
*/

function init_dialogs(){
	objs=document.getElementById("dialog").getElementsByTagName("blockquote");
	for(i=0; i<objs.length;i++) {
		set_width(objs[i].getElementsByTagName("div")[5].id);
		init_move_obj(objs[i]);
		}

	objs=document.getElementById("dialog").getElementsByTagName("a");
	for(i=0; i<objs.length;i++) 
		if(objs[i].parentNode.parentNode.parentNode.className=="top"){
			objs[i].href="close";
			objs[i].onclick=function() { 
				this.parentNode.parentNode.parentNode.parentNode.style.visibility="hidden"; 
				return false;
			}
		}
}



var cur;
function hblock_exec(block,op){
	if(cur && cur.id!=""){
		cur.style.display="none";
		document.getElementById("but_"+cur.id).className="";
		}
	document.getElementById(block).style.display=(op?"block":"none");
	document.getElementById("but_"+block).className=(op?"act":"");
	cur=document.getElementById(block);
	return false;
}

if(document.all && !window.opera)
	document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"ie.css\" />");


function copy2Clipboard(text_block){
	if (document.body.createTextRange) {
        var BodyRange = document.body.createTextRange(); 
        BodyRange.moveToElementText(text_block); 
        BodyRange.execCommand('Copy');  
      } else {
        alert("Don't support");
      }
      return false;
}


/*--only for CMS */

function add_shadow(name, path){
if(path==null) path="";
	document.write("<style> ."+name+" {");
	if(document.all && !window.opera) {
		if (/MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32") {
		document.write("filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='imgs/"+path+name+".png', sizingMethod='crop');");
    	}
    } 
	else if (document.getElementById) {
    document.write("background:url('imgs/"+path+name+".png') no-repeat;");
	}
	document.write("}</style>");
}

function init_cms_icons(){
	add_shadow("ico_timed");
	add_shadow("ico_invis");
	add_shadow("ico_invis_timed");
	insert_cms_icons(document.getElementById("menu").getElementsByTagName("li"));
	insert_cms_icons(document.getElementById("top_nav").getElementsByTagName("span"));
	insert_cms_icons(document.getElementById("nav").getElementsByTagName("span"));

}
function insert_cms_icons(objs){
	for(i=0;i<objs.length;i++){
		if(objs[i].className){
			if(objs[i].tagName=="LI") cur=objs[i].getElementsByTagName("a")[0];
			else cur=objs[i];
			cur.innerHTML='<img src="imgs/dot.gif" class="ico_'+objs[i].className+'" alt="" />'+cur.innerHTML
		}
	}
}
//*/


function CheckAZ09Only( str ) {
	re = /^[a-zA-Z0-9\-_]+$/;
	if (! str.match(re) ) {
		return false;
	}
	return true;
}

function CheckMail( str ) {
	
	re = /^[a-zA-Z0-9\-_\.]+@[a-zA-Z0-9\-_\.]+\.[a-zA-Z0-9]+?$/ ;
	if (! str.match(re) ) {
		return false;
	}
	return true;


}


function CheckValues( form, name ) {
	for ( i =0; i < form.elements.length; i++ ) {
		var str = form.elements[i].name;
		if ( str.indexOf(name+'[') == 0) {
			if ( form.elements[i].value == "" ) {
				return false;
			} else {
				return true;
			}
		}
	}
	return true;
}



function CollectValues( form, name ) {
	count = 0;
	for ( i =0; i < form.elements.length; i++ ) {
		var str = form.elements[i].name;
		if ( str.indexOf(name+'[') == 0 )
			count++;
	}
	
	
	arr = new Array(count);
	for ( i =0; i < form.elements.length; i++ ) {
		var str = form.elements[i].name;
		if ( str.indexOf(name+'[') == 0 ) {
			ind = str.substring( str.indexOf('[')+1,str.indexOf(']') );
			//alert( str + ' ' + str.indexOf( '[' ) + ' ' +  str.indexOf(']') + ' ' + ind );
			arr[ind] = form.elements[i];
		}
	}
	return arr;
}


function GetRadioValue ( form, name ) {
	for ( i =0; i < form.elements.length; i++ ) {
		var str = form.elements[i].name;
		if ( str ==  name ) {
			if ( form.elements[i].checked == true ) {
				return form.elements[i].value;
			}
		}
	}
	return null;
}

/*
function UserSubmitForm() {
	
	form = document.getElementById('userform');

	for ( i =0; i < form.elements.length; i++ ) {
		var str = form.elements[i].name;
		if ( str.indexOf('!') == 0 ) {
			if (form.elements[i].value == ""  ) {
				alert(_PAGE_FORM_REQUEIRED_NOT_ENTERED_);
				return false;
			}
		}
	}

	return formchecker(form);

}


function formchecker(theForm) {
	var allvalid = true;
	var alertstr = "";
	var num_of_elements = theForm.length;
	var radios = "";
	var checkboxes = "";

	for (var i=0; i<num_of_elements; i++) {
		var theElement = theForm.elements[i];
		var element_type = theElement.type;
		var element_name = theElement.name;
		var element_value = theElement.value;
		var element_required = (element_name.indexOf ("!") == 0) ? true : false;

// Muss dieses element geprueft werden?
		if (element_required) {

// Textfelder pruefen...
			if (element_type == "text") {
				if (element_value.length == 0) {
					alertstr += "Das Feld '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordert eine Eingabe.\n\n";
					allvalid = false;
				}
			}

// Mehrzeilige Textfelder pruefen...
			if (element_type == "textarea") {
				if (element_value.length == 0) {
					alertstr += "Das Feld '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordert eine Eingabe.\n\n";
					allvalid = false;
				}
			}

// Dropdown-Menues pruefen...
			if (element_type.indexOf("select") > -1) {
				var index = theElement.selectedIndex;
				if (index <= 0) {
					alertstr += "Das Dropdownmen? '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordert eine Auswahl.\n\n";
					allvalid = false;
				}
			}

// Radio-buttons pruefen...
			if (element_type == "radio" ) {
				if (theElement.checked == true) {
					radios += element_name;
				}
			}

// Checkboxen pruefen...
			if (element_type == "checkbox") {
				if (theElement.checked == true) {
					checkboxes += element_name;
				}
			}

// Buttons pruefen...
			if (element_type == "button") {
				// Buttons nicht pruefen - onClick event verwenden, um Functionen aufzurufen.
			}

// Ende des zu pruefenden Bereichs?
		}

 	// .... Ende der Schleife durch die einzelnen Form-Elemente ....
	}

// Schleife durch Radio-Buttons und Checkboxen fuer die Pruefung
	for (var i=0; i<num_of_elements; i++) {
		var theElement = theForm.elements[i];
		var element_type = theElement.type;
		var element_name = theElement.name;
		var element_required = (element_name.indexOf ("_obligatorisch") > 0) ? true : false;
		if (element_type == "radio" && element_required && radios.indexOf (element_name) == -1) {
			alertstr += "Die Radio-Buttons '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "' erfordern eine Auswahl.\n\n";
			radios += element_name;
			allvalid = false;
		}
		if (element_type == "checkbox" && element_required && checkboxes.indexOf (element_name) == -1) {
			alertstr += "Die Checkbox '" + element_name.replace(/ _obligatorisch/, '').replace(/_obligatorisch/, '') + "'  erfordert eine Auswahl.\n\n";
			checkboxes += element_name;
			allvalid = false;
		}
	}


// Alle Elemente wurden geprueft - jetzt wird ermittelt, ob das Formular korrekt ausgefuellt wurde oder nicht...
	if (allvalid) {
		return true; 
	} else {
		alert (alertstr);
		return false;
	}
}

*/


function UserSubmitForm() {

	form = document.getElementById('userform');
	alert('form'+form.name);
       for ( i =0; i < form.elements.length; i++ ) {
               var str = form.elements[i].name;
//               alert(i+') '+form.elements[i].name+' = '+form.elements[i].value);
               if ( str.indexOf('!') == 0 ) {
                       if(form.elements[i].type=="checkbox"){
                               if(!form.elements[i].checked){
                                       alert(_PAGE_FORM_REQUEIRED_NOT_ENTERED_);
                                       return false;
                               }
                       }
                       else if(form.elements[i].type=="radio"){
                               ok=0;
                               el=form.elements[i].name;
                               for ( j =0; j < form.elements[el].length; j++ ) {
                                       if(form.elements[el][j].checked){
                                               ok=1;
                                               break;
                                       }
                               }
                               if(!ok){
                                       alert(_PAGE_FORM_REQUEIRED_NOT_ENTERED_);
                                       return false;
                               }
                       }
                       else if (form.elements[i].value == ""  ) {
                               alert(_PAGE_FORM_REQUEIRED_NOT_ENTERED_);
                               return false;
                       }
               }
       }

       return true;

}


function RegisterLang(id) {

	_lang=(navigator.language?navigator.language:navigator.userLanguage);

	JsHttpRequest.query(
        'module.php',
        { 
			module: id,
			lang: _lang
		}, 
        function(responseJS, responseText) {
//			alert (responseText);
        },
        true
	);
	//alert(_lang);
	
}

