/* cursor functions */

function cursor_wait() {
  document.body.style.cursor = 'wait';
}

function cursor_clear() {
  document.body.style.cursor = 'default';
}

/* overlay loading functions */

function show(id){
   var elm = document.getElementById(id)
   if(elm!=null) elm.style.display='block';
}
function hide(id){
   var elm = document.getElementById(id)
   if(elm!=null) elm.style.display='none';
}

var id_where=new Array();
var xmlhttp=new Array();

var busy=0;

function loadArgs(what,where,skin,args) {
   cursor_wait();
   id_where[0]=where;
   busy=1;
   loadXMLDoc(0,what+"?skin="+skin+"&"+args);
}

function load(what,where,skin){
   loadArgs(what,where,skin,'');
}

function loadDoubleArgs(what0,where0,skin0,args0,what1,where1,skin1,args1) {
   cursor_wait();
   id_where[0]=where0;
   id_where[1]=where1;
   busy=2;
   loadXMLDoc(0,what0+"?skin="+skin0+"&"+args0);
   loadXMLDoc(1,what1+"?skin="+skin1+"&"+args1);
}

function loadDouble(what0,where0,skin0,what1,where1,skin1) {
   loadDoubleArgs(what0,where0,skin0,'',what1,where1,skin1,'');
}


function loadXMLDoc(idx,url) {
   xmlhttp[idx]=null
   // code for Mozilla, etc.
   if (window.XMLHttpRequest) {
   	xmlhttp[idx]=new XMLHttpRequest()
   }
   // code for IE
   else if (window.ActiveXObject) {
  	xmlhttp[idx]=new ActiveXObject("Microsoft.XMLHTTP")
   }
   if (xmlhttp[idx]!=null) {
	if(idx==0) xmlhttp[idx].onreadystatechange=state_Change0;
	else xmlhttp[idx].onreadystatechange=state_Change1;
  	xmlhttp[idx].open("GET",url,true)
  	xmlhttp[idx].send(null)
   } else {
  	alert("Your browser does not support XMLHTTP.")
	busy--;
        if(busy<=0) cursor_clear();
   }
}

function state_Change0() {
  state_Change(0);
}
function state_Change1() {
  state_Change(1);
}

function state_Change(idx) {

   // if xmlhttp shows "loaded"
   if (xmlhttp[idx].readyState==4) { // if "OK"
  	if (xmlhttp[idx].status==200) {
		document.getElementById(id_where[idx]).innerHTML=xmlhttp[idx].responseText;
 		show(id_where[idx]);
		window.scrollTo(0,0);
	        busy--;
                if(busy<=0) cursor_clear();
      	} else {
    		alert("Problem retrieving XML data")
	        busy--;
                if(busy<=0) cursor_clear();
     	}
   }
}



/* rightbar functions */

// mark the text in element with id 
function changeColor(id,col) {
  var elm = document.getElementById(id);

  if(elm==null) return;

  elm.style.color=col;
}

function changeColorAll(container,prefix,col) {
  var elm = document.getElementById(container);

  if(elm==null) return;

  var elms = elm.getElementsByTagName("div");

  for(i=0;i<elms.length;i++) {
    if(elms[i].id.indexOf(prefix)==0) {
      elms[i].style.color=col;
    }
  } 
}

function showImage(container,img,text,code,bijschrift) {
  var pic = document.getElementById(container+'pic').getElementsByTagName('img');
  var hpicelm = document.getElementById(container+'pichidden');
  var hpic = null;
  if(hpicelm!=null) {
    hpic = hpicelm.getElementsByTagName('img');
  }
  var codeelm = document.getElementById(container+'code');
  var caption = document.getElementById(container+'caption');
  var bijschriftelm = document.getElementById(container+'bijschrift');

  if(pic!=null) {
    pic[0].setAttribute('src',img);
  }
  if(hpic!=null) {
    hpic[0].setAttribute('src',img);
  }
  if(caption!=null) {
    caption.innerHTML=text;
  }
  if(codeelm!=null) {
    codeelm.innerHTML=code;
  }

  if(bijschriftelm!=null) {
    bijschriftelm.innerHTML=bijschrift;
  }

  window.scrollTo(0,0);
}


function exclusiveCityCountry(changeName,resetName) {
  reset=document.getElementById(resetName);

  reset.selectedIndex=0;
}

/* these should be in seperate js loaded only on admin, but no budget left */
function setPublish(name,prefix) {
  var src=document.getElementsByName(name);

  if(src.length<1) return;

  var value=src[0].checked;

  var elms=document.getElementsByTagName('input');
  for(i=0;i<elms.length;i++) {
    if(elms[i].name && elms[i].name.substring(0,prefix.length)==prefix && elms[i].name!=name) {
      elms[i].checked=value;
    }
  }
}

function setInzender(name) {
  var src=document.getElementsByName(name);

  if(src.length<1) return;

  var value=src[0].value;

  var elms=document.getElementsByTagName('input');
  for(i=0;i<elms.length;i++) {
    if(elms[i].name && elms[i].name.substring(0,9)=='inzender_') {
      elms[i].value=value;
    }
  }
}


/* new media related functions, after rewrite */

function activateMedia(id) {
  window.scrollTo(0,0);
  // hide all media
  var i=0;
  var elm=document.getElementById('mainpicshow0');
  while(elm!=null) {
    hide('mainpicshow'+i);
    hide('media'+i);
    i++;
    var elm=document.getElementById('mainpicshow'+i);
  }
  // show active media
  show('mainpicshow'+id);
  show('media'+id);
}

function sdtags(path) {
  document.getElementById('sdtagmsg').innerHTML='  Wacht..';

  var form=document.getElementById('sdtagform');

  var inputs=form.getElementsByTagName('input');

  var add="";
  var del="";

  for(i=0;i<inputs.length;i++) {
    if(inputs[i].type=='checkbox') {
      if(inputs[i].checked) {
        if(add.length) add=add+',';
        add+=inputs[i].name;
      } else { 
        if(del.length) del=del+',';
        del+=inputs[i].name;
      }
    }
  }

  var title=document.getElementById('dossiertitle').value;
  var desc=document.getElementById('dossierdesc').value;

  var select=form.getElementsByTagName('select');
  var prio=select[0].selectedIndex+1;

  loadArgs(path,'content','dossiertopic','add='+add+'&del='+del+'&priority='+prio+'&title='+escape(title)+'&desc='+escape(desc));
}


function dossierNav(idx) {
  elm=document.getElementById('navi'+idx);
  if(elm==null) return;

  var onclick=elm.onclick.toString().split("\n");

  var code='';
  // find right line
  for(i=0;i<onclick.length;i++) {
    if(onclick[i].indexOf('loadArgs')!=-1) code=onclick[i];
  }

  if (window.execScript) {
      window.execScript(code);
  } else {
      window.eval(code);
  }
}

