// JavaScript Document



function setHTML(id,html) {
	var element=document.getElementById(id);
	element=(element.innerHTML?element:null);
	element.innerHTML=(html?html:'&nbsp;');
}

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_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_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_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 in_array(value, array){
	for (var i=0;i<array.length;i++) {
		if (value==array[i]) return true;
	}
	return false;
}

function hideShowDiv(name,hideshow) {
	var myDiv = document.getElementById(name);
	if (myDiv) {
		if (hideshow=='show') {
			myDiv.style.visibility='visible';
			myDiv.style.display='block';
		} else {
			myDiv.style.visibility='hidden';
			myDiv.style.display='none';
		}
	}
}

function toggleDiv(name,caller) {
	var myDiv = document.getElementById(name);
	//alert(caller);
	var hideshow;
	if (myDiv) {
		if (myDiv.style.display=='none' || caller.checked==true) hideshow='show';
		else hideshow='hide';
			
		if (hideshow=='show') {
			myDiv.style.visibility='visible';
			myDiv.style.display='block';
		} else {
			myDiv.style.visibility='hidden';
			myDiv.style.display='none';
		}
	}
}

function appendToSelect(select, value, content) {
    var opt;
    opt = document.createElement("option");
    opt.value = value;
    opt.appendChild(content);
    select.appendChild(opt);
}

function optionsGetDays(selectObj) {
	var days=31;
	var	myObj = document.getElementById(selectObj);

	if (myObj) {
		for (var i=1;i<=days;i++) {
			var str = i.toString();
			if (str.length==1) str='0'+str;
			appendToSelect(myObj,i,document.createTextNode(str));
		}
	}
}

function optionsGetMonths(selectObj) {
	var months=12;
	var	myObj = document.getElementById(selectObj);

	if (myObj) {
		for (var i=1;i<=months;i++) {
			var str = i.toString();
			if (str.length==1) str='0'+str;
			appendToSelect(myObj,i,document.createTextNode(str));
		}
	}
}

function optionsGetYears(selectObj,timespan) {
	
	// timespan:
	// 2 for current year till current year + 2 (ie: 2006,2007,2008)
	// -2 for current year - 2 till the current year (ie: 2004,2005,2006)
	
	var	myObj = document.getElementById(selectObj);
	
	if (myObj) {
		
		var now = new Date();
		var now_year = now.getYear();
		if (now_year<2000)now_year=1900+now_year;
		
		var start_year,end_year;

		if (timespan>0) {
			start_year=now_year;
			end_year=now_year+timespan;
		} else {
			start_year=now_year+timespan;
			end_year=now_year;
		}
		
		
		
		for (var i=start_year;i<=end_year;i++) {
			appendToSelect(myObj,i,document.createTextNode(i));
		}
		
	}
}

var DateSelector={

	init:
	function(config) {
	
		var now=new Date();

    this.form=document.forms[config[0]];
    this.year=this.form[config[1]];
    this.month=this.form[config[2]];
    this.day=this.form[config[3]];
    
		
		/*
		*/
		this.range= new Array(now.getFullYear()+config[4],now.getFullYear()+config[5]);
			this.fillDateBox(this.year,'Jahr');
		this.range= new Array(1,12);
			this.fillDateBox(this.month,'Monat');
		this.range= new Array(1,31);
			this.fillDateBox(this.day,'Tag');
	},

	fillDateBox:
	function(box,first) {
	
		with (box) {
    	var a=0;
      	if (first) {
      		options[a] = new Option(first,'');
      		a++;
      	
      	}
			for(var b=this.range[0];b<=this.range[1];b++) {
        options[a] = new Option(b,b);
    		a++;
    	}
		}
		
	},
	
	update:
  function() {
	  	
    var dayselindex = this.day.selectedIndex;

    timeA=new Date(this.year.value, this.month.value,'1');
    timeB=new Date(timeA - 86400000);
    var daysInMonth=timeB.getDate();
  	 
    for (var i = 0; i < this.day.length; i++) {
    	this.day.options[i] = null;
    }
		
    this.range= new Array(1,daysInMonth);
    	this.fillDateBox(this.day,'Tag');
    this.day.options[dayselindex].selected = true;
  }
}