// JavaScript Document

function Lvl_openWin(u,n,w,h,l,t,c,f,x) { //v1.0 4LevelWebs
  	var ww=((screen.width-w)/2);
	if(c==1){
		l=ww;
		t=(screen.height-h)/2;
	}
	if(c==2){
		l=ww;
	}
	f+=',top='+t+',left='+l;
	LvlWin = window.open(u,n,f);
	if(x==1){
		LvlWin.focus()
	}
	document.MM_returnValue=false;
}

function openWin(u,w,h,show_scroller) {
	var scrollbars = 'scrollbars=yes';
	if(show_scroller == false){
		scrollbars = 'scrollbars=no';
	}
	Lvl_openWin(u,'popup',w,h,'0','0','1','width='+w+',height='+h+',' + scrollbars);
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p_length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  if(selObj.selectedIndex > 0)
  {
	  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
	  if (restore) selObj.selectedIndex=0;
  }
}

var moveSelectedEntries = function( from, to ) {
	var from = document.getElementById(from);
	var to = document.getElementById(to);
	// Copy 
	for (var i=0; i < from.options.length; i++ ) {
		if (from.options[i].selected) {
			to.options[to.options.length] = new Option( from.options[i].text, from.options[i].value, false, false);
		}
	}
	// Delete 
	for (var i=(from.options.length-1); i >= 0; i-- ) {
		if (from.options[i].selected) {
			from.options[i] = null;
		}
	}
	/// deselect
	from.selectedIndex = -1;
	to.selectedIndex = -1;	
}
var updateHiddenField = function( to, hidden ) {
	var hidden = document.getElementById(hidden);
	var to = document.getElementById(to);
	
	/// update hidden field
	hidden.value = "";
	for (var i=(to.options.length-1); i>=0; i--) {
		 hidden.value += "," + to.options[i].value;
	}	
}

function showMessageBox(link_element, type, parent)
{
	var parent_box = document.getElementById(parent);
	var box = document.getElementById("msg-box");
	var yes = document.getElementById("msg-box-yes");
	var title = document.getElementById("msg-box-title");		
	box.style.display = "block";	
	yes.href = link_element.href;
	switch(type)
	{
		case "release":
			title.innerHTML = "Willst du diesen Artikel wirklich freigeben?";	
		break;
		
		case "delete":
			title.innerHTML = "Willst du diesen Artikel wirklich löschen?";
		break;
		
		case "delete-group":
			title.innerHTML = "Willst du diese Arbeitsgruppe wirklich löschen?";
		break;
	}	
	parent_box.appendChild(box);	
	return false;
}
function hideMessageBox()
{
	var box = document.getElementById("msg-box");
	box.style.display = "none";
	return false;
}

/// IE 6/7 list radio button hack/fix
window.onload = function(){
  if(document.all && navigator.appVersion.indexOf("MSIE")>-1 && navigator.appVersion.indexOf("Windows")>-1)
  {
    var a = document.getElementsByTagName("label");
    for(var i=0,j=a.length;i<j;i++){
      if(a[i].hasChildNodes) {
		for(var k=0,l=a[i].childNodes.length;k<l;k++){
			if ( a[i].childNodes.item(k).tagName == "IMG")  {

    		    a[i].childNodes.item(k).forid = a[i].htmlFor;
				a[i].childNodes.item(k).forelement = a[i].childNodes.item(0);				
		        a[i].childNodes.item(k).onclick = function(){

				  var e = this.forelement;// document.getElementById(this.forid);
				  switch(e.type){
					case "radio": e.checked|=1;break;
					case "checkbox": e.checked=!e.checked;break;
					case "text": case "password": case "textarea": e.focus(); break;
				  } //switch
	            } //onclick
        	} // if IMG
      	} // for K
      } // if hasChildnodes
    } // for
  } // if document
} // onload



function showOverlay(id) {
	document.getElementById("project_overlay_" + id).style.visibility="visible";
}
function hideOverlay(id) {
	document.getElementById("project_overlay_" + id).style.visibility="hidden";
}
/*

	AJAX TAG CHECKBOXES

*/

var loadTags = function() {
	var category_select_box = document.getElementById("category_id");
	var old_selection_field = document.getElementById("tags_db");
	var section_div = document.getElementById("tag_section");
	var tag_container = document.getElementById("tag_container");
	
	if (!section_div || !old_selection_field || !tag_container)
		return;
		
	if (category_select_box) {
		var params = new Object();
		params.category_id = category_select_box.options[category_select_box.selectedIndex].value;
		http("POST", "custom/modules/tag/tag.cfc?method=getTagsByCategoryIdAjax", onTagsLoaded, params);
	}
}

var removeAllChildren = function (targetElement) {
	if (targetElement && targetElement.childNodes) {
		for (var rloop = targetElement.childNodes.length -1; rloop >= 0 ; rloop--) {
			targetElement.removeChild(targetElement.childNodes[rloop]);
		}
	}
}

var onTagsLoaded = function(q_tags) {

	var old_selection_field = document.getElementById("tags_db");
	var section_div = document.getElementById("tag_section");
	var tag_container = document.getElementById("tag_container");
	
	if (!section_div || !old_selection_field || !tag_container)
		return;
	
	if (!q_tags || !q_tags.tag_id || !q_tags.tag_id.length) {
		section_div.style.display = "none";
		return;
	}
				
	var old_selection = old_selection_field.value;
	var selectionArray = old_selection.split(",");	
		
	section_div.style.display = "block";
	removeAllChildren(tag_container);

	for (var i = 0; i < q_tags.tag_id.length; i++) {
		var tag_div = document.createElement("label");
		tag_div.className = "tag-entry";
		
		var tag_radio = document.createElement("input");
		tag_radio.id = "tag" + q_tags.tag_id[i]; 
		tag_radio.setAttribute("type", "checkbox");
		tag_radio.setAttribute("name", "tag");
		tag_radio.value = q_tags.name[i];

		if (selectionArray.indexOf(q_tags.name[i]) != -1)
			tag_radio.checked = true;
			
		var text_tag = document.createElement("span");
		text_tag.innerHTML = q_tags.name[i];
		
		tag_div.appendChild(tag_radio);
		tag_div.appendChild(text_tag);
		tag_container.appendChild(tag_div);
	}	
	
	var clearer = document.createElement("div");
	clearer.className = "clearer";
	clearer.innerHTML = "<!-- -->";
	
	tag_container.appendChild(clearer);
}

var resizeHomepageFlashFeature = function () {
	//return;
	if (document.getElementById("siteFeature")) {
		var pagewrapper = document.getElementById("page-wrapper");
		
		document.getElementById("feature-wrapper").style.height = parseInt(pagewrapper.offsetHeight) + "px";
		
		if($.browser.msie & ($.browser.version).indexOf("6.0") == -1)
			return;
			
		document.getElementById("siteFeature").height = parseInt(pagewrapper.offsetHeight);
		//document.getElementById("feature-wrapper").style.width = Math.max(parseInt(pagewrapper.offsetWidth), 1024) + "px";
		document.getElementById("siteFeature").width = Math.max(parseInt(pagewrapper.offsetWidth), 1024);
		
		document.getElementById("feature-wrapper").style.visibility="hidden";
		var redrawFix = document.getElementById("feature-wrapper").offsetHeight;
		document.getElementById("feature-wrapper").style.visibility="visible";
	}
}

var setActiveStyleSheet = function (title) {
   	var i, a, main;
	
	if(title == "invert")
   		initFacebookFanBox(true);
	else
		initFacebookFanBox(false);
		
   	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
     	if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
       		//a.disabled = (a.getAttribute("title") != title);
     		a.href = "css/" + title + ".css";
		}
   }
}

if (window.addEventListener)
	window.addEventListener("load", resizeHomepageFlashFeature, false);
else if (window.attachEvent)
	window.attachEvent("onload", resizeHomepageFlashFeature);
	
if (window.addEventListener)
	window.addEventListener("resize", resizeHomepageFlashFeature, false);
else if (window.attachEvent)
	window.attachEvent("onresize", resizeHomepageFlashFeature);