var IE6=navigator.appVersion.indexOf("MSIE 6")!=-1 && navigator.appVersion.indexOf("MSIE 6")<10;

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);
	 
}

if(IE6)
	window.onscroll=function (){
		document.getElementById("footer").style.top=Number(document.documentElement.scrollTop+document.documentElement.clientHeight-document.getElementById("footer").clientHeight)+"px";
	}


addEvent(window, "load", function(){_("main").style.minHeight=_("contents").offsetHeight+205+"px"})	
	
	
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 set_width(_cblock,fix){
	_cblock=document.getElementById(_cblock);
	var blockquote=_cblock.parentNode.parentNode.parentNode;
	var title=blockquote.getElementsByTagName("span")[0];
	_cblock.className="cc fl";
	var w=_cblock.offsetWidth>title.offsetWidth?_cblock.offsetWidth:title.offsetWidth;
	blockquote.style.width=Number(w+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";
}
*/
function show_dialog(_id,pos){
	_dialog=_(_id).parentNode.parentNode.parentNode;
	
	set_width(_id);
	
	if(pos!="center") pos_dialog_by_cursor(_id);
	else pos_dialog_by_center(_id);
	
	
	_dialog.style.visibility="visible";
	return false;
}

function pos_dialog_by_cursor(_obj){
		_dialog=_(_obj).parentNode.parentNode.parentNode;
	_max_left=document.body.offsetWidth-_dialog.offsetWidth-20;
	_left=Number(coord.x+5);
	_top=Number(coord.y+5);
	if((document.documentElement.clientHeight<coord.y-document.documentElement.scrollTop+_dialog.offsetHeight) && (coord.y-30 >= _dialog.offsetHeight)) 
		_top-=_dialog.offsetHeight+60;
	_dialog.style.left=(_max_left>_left?_left:_max_left)+"px";
	_dialog.style.top=_top+"px";
}

function pos_dialog_by_center(_obj){
	_obj=_(_obj).parentNode.parentNode.parentNode;
	_scrTop=document.documentElement.scrollTop;
	if(ie) document.body.style.overflow="hidden";
	_t=Math.round((document.body.offsetHeight/2)-_obj.offsetHeight+110+_scrTop);
	_l=Math.round((document.body.offsetWidth/2-_obj.offsetWidth+40));
	_obj.style.top=_t+"px";
	_obj.style.left=_l+"px";
	if(ie){
		document.body.style.overflow="visible";
		window.scrollTo(0, _scrTop);
	}
}


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"; 
//				ifrm = _("gToday:contrast:agenda.js");
//				alert(ifrm);
//				alert(typeof(gfPop));
//				if (typeof(gfPop) == "object") {delete(gfPop);}
//				alert('type = '+typeof(gfPop)+'  name = '+gfPop.name);
//				alert(gfPop.name);
//				alert(self.gfPop);
//				alert(gfPop.fStartPop);
				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;
}



function copy2Clipboard(text_block){
	if (document.body.createTextRange) {
        var BodyRange = document.body.createTextRange(); 
        BodyRange.moveToElementText(text_block); 
        BodyRange.execCommand('Copy');  
      } else {
         alert(_MENU_COPY_LINK_DO_NOT_WORK_);
      }
      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 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');

       for ( i =0; i < form.elements.length; i++ ) {
               var str = form.elements[i].name;
//               alert(i+') '+form.elements[i].name+' = '+form.elements[i].value);
//               alert(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);
	
}





function _(_id){
	if(document.getElementById && document.getElementById(_id)) return document.getElementById(_id);
	else return null;
}


function addEvent(parent, ev, func){
	if (parent.attachEvent) parent.attachEvent('on'+ev, func);
	else parent.addEventListener(ev, func, true);
}


function init_wysiwyg_icons(root){
	root=(root && root.tagName)?root:document;
	objs=root.getElementsByTagName("*");
	for(i=0;i<objs.length;i++){
		if(objs[i].getAttribute("wi"))
		{	//alert(objs[i].getAttribute("wi"));
			var t;
			(objs[i].insertBefore(t=document.createElement("i"), objs[i].firstChild)).className="wi wi_"+objs[i].getAttribute("wi");
			t.innerHTML="&nbsp;";
		}
		if(objs[i].ondblclick)
			objs[i].onmouseup=function(e){
				but=(window.event?event.button:e.button);
				if((window.event && but!=1) || (!window.event && but==2)){
					this.ondblclick()
				}
			}
	}
			
	initPNG(document);
}

//init png in IE6
function initPNG(root){
	//return false;
	if(!IE6) return false;
	var all=root.getElementsByTagName("*");
	var src;
	for(var i in all){
		if(all[i].currentStyle && all[i].currentStyle["backgroundAttachment"]!="fixed"){
			var src=all[i].tagName.toLowerCase()=="img" ? all[i].src : all[i].currentStyle["backgroundImage"];
			if( !(/\.png/i).test(src)) continue;
			if(all[i].tagName.toLowerCase()=="img"){
				all[i].style.width=all[i].offsetWidth;
				all[i].style.height=all[i].offsetHeight;
				all[i].src=IMGS_PATH+"dot.gif"; 
			}
			else src=src.replace(/url\(\"(.*)\"\)$/i,"$1");
			
			var sizing=all[i].currentStyle["backgroundRepeat"]=="no-repeat"?"crop":"scale";
			all[i].style["filter"]="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"',sizingMethod="+sizing+")";
			all[i].style["backgroundImage"]="none";
			all[i].style["backgroundPosition"]="-1000px -1000px";
		}
	}
}




