//Browser-Weiche
var clientPC = navigator.userAgent.toLowerCase(); // Get client info
var clientVer = parseInt(navigator.appVersion); // Get browser version

var is_ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1)
                && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1)
                && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1));
var is_opera = (clientPC.indexOf("opera") != -1)

var is_win = ((clientPC.indexOf("win")!=-1) || (clientPC.indexOf("16bit") != -1));
var is_mac = (clientPC.indexOf("mac")!=-1);

var DOMtype = '';


if (document.getElementById) {
	DOMtype = "std";
}
else if (document.all) {
	DOMtype = "ie4";
}
else if (document.layers) {
	DOMtype = "ns4";
}

//Ersatz für getelementsbyname
function fetchObject(idname, docmode) {
	if (!docmode) {
		docmode = 'local';
	}
	
	switch (DOMtype) {
		case "std": {
			if (docmode=='local') {
				return(document.getElementById(idname));
			}
			else if (docmode=='opener') {
				return(window.opener.document.getElementById(idname));
			}
		}
		break;

		case "ie4": {
			if (docmode=='local') {
				return(document.all[idname]);
			}
			else if (docmode=='opener') {
				return(window.opener.document.all[idname]);
			}
		}
		break;

		case "ns4": {
			if (docmode=='local') {
				return(doc.layers[idname]);
			}
			else if (docmode=='opener') {
				return(window.opener.layers[idname]);
			}			
		}
		break;
	}
}

function popup(url,width,height,resizable,scrollbars) {
	var fenster = window.open(url, "popup"+width, "width="+width+",height="+height+",resizable="+(resizable ? 'yes' : 'no')+",scrollbars="+(scrollbars?'yes':'no'));
	if (fenster) {
		fenster.focus();
	}
}

function toggleView(id) {
	e = fetchObject(id);
	if((e.style)&&(e.style.display)){
		if (e.style.display == 'block') {
			e.style.display = 'none';
		}
		else {
			e.style.display = 'block';
		}
	}
}

function showDiv(id) {
	e = fetchObject(id);
	if((e.style)&&(e.style.display)){
		e.style.display = 'block';
	}
}

function hideDiv(id) {
	e = fetchObject(id);
	if((e.style)&&(e.style.display)){
		e.style.display = 'none';
	}
}


//==========================================
// Check All boxes
//==========================================
function CheckAll(fmobj) {
  for (var i=0;i<fmobj.elements.length;i++) {
    var e = fmobj.elements[i];
    if ( (e.name != 'allbox') && (e.type=='checkbox') && (!e.disabled) ) {
      e.checked = fmobj.allbox.checked;
    }
  }
}

//==========================================
// Check all or uncheck all?
//==========================================
function CheckCheckAll(fmobj) {
  var TotalBoxes = 0;
  var TotalOn = 0;
  for (var i=0;i<fmobj.elements.length;i++) {
    var e = fmobj.elements[i];
    if ((e.name != 'allbox') && (e.type=='checkbox')) {
      TotalBoxes++;
      if (e.checked) {
       TotalOn++;
      }
    }
  }
  if (TotalBoxes==TotalOn) {
    fmobj.allbox.checked=true;
  }
  else {
   fmobj.allbox.checked=false;
  }
}


function getLocation() {
	return(window.location.pathname+(window.location.search!="" ? window.location.search : ""));
}

function loginform() {
	document.location.replace('/login.do?src='+encodeURI(getLocation()));
}

function logout() {
	document.location.replace('/logout.do?src='+encodeURI(getLocation()));
}

function add2Select(select, name, value) {
	var l = select.options.length;
	
	var o = window.opener.document.createElement("option");
	var ot = window.opener.document.createTextNode(name);
	o.appendChild(ot);
	o.setAttribute("value",value);
	select.appendChild(o);
	
	select.selectedIndex=l;
}

function closePopup(id) {
	new Ajax.Request('/my/popup_close.do', {
			parameters: { popupid: id },
			method: 'post'
	});
	
	ep = fetchObject('lpopupwindow');
	e = fetchObject('lpopup_'+id);
	ep.removeChild(e);
	
	var pcount=0;
	for (var i=0;i<ep.childNodes.length;i++) {
		var n = ep.childNodes[i];
		if (n.nodeType==1) {
			pcount++;
		} 
	}
	
	if (pcount==0) {
		ep.parentNode.removeChild(ep);	
	}
}

function boardclick(checkbox) {
    id=checkbox.name.substring(6);
    div=fetchObject('sub_'+id);
    if (div==null) {
        return;
    }
    activateDiv(div, checkbox.checked);
}

function activateDiv(div, state) {
    for(var i=0;i<div.childNodes.length;i++) {
        var c=div.childNodes[i];
        if (c.nodeName=='INPUT') {
            c.checked=state;
        }
        else if (c.nodeName=='DIV') {
            activateDiv(c, state);
        }
    }
}
