//**************************************************************************************
//Open the Calender
//**************************************************************************************
var g_sDefaultDate = '';
function openCoolCalendar(sField)
{
	yourCoolCalendar = window.open("./calendar.html?field_name=" + sField + "&default_date=" + g_sDefaultDate,"Calendar","width=180,height=109,left=500,top=400,resizable=no");
	
}


//**************************************************************************************
//globale Variablen
//**************************************************************************************
//die aktuellen Datumsangaben

var actDate = new Date();
var actDay = actDate.getDate();
var actMonth = actDate.getMonth(); //merke: 0 = Januar
var actYear = actDate.getFullYear();

//dient zur Anzeige des Monats im Kalender
var monthArrayWords = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");

//enthaelt die ausgewaehlten Daten
var chosenDay = actDay;
var chosenMonth = actMonth;
var chosenYear = actYear;

function fnInitialiseDate(sFieldName,sDefDate)
{
  var sUDefDate=String(sDefDate).toUpperCase();
  fieldName=sFieldName;
  
  if (sDefDate!="" && sDefDate!=null && sUDefDate!="TODAY")
  {
//    var oDefaultDate = new Date(sDefDate);
//    chosenDay = oDefaultDate.getDate();
//    chosenMonth = oDefaultDate.getMonth(); //merke: 0 = Januar
//    chosenYear = oDefaultDate.getFullYear();
	chosenDay = Number(String(sDefDate).substring(0, 2));
	chosenYear = Number(String(sDefDate).substring(7, 11));

	var i, tmpMonth = String(sDefDate).substring(3, 6);
	for(i = 0; i < 12; i++)
		if (monthArray[i] == tmpMonth.toLowerCase())
			chosenMonth = i;
  }
}

//**************************************************************************************
//Style des Kalenders
//**************************************************************************************
function styleMe(){
	//Hintergrundfarbe der Tabelle, Anzeige der Tageszahlen
	document.getElementById('calendar').style.backgroundColor = '#EFEFEF';

	for(var i = 0; i <= 30; i++){
		document.getElementsByTagName('td')[i].firstChild.data = i + 1;
		document.getElementsByTagName('td')[i].style.visibility = "visible";
	}

	//Anzeige fuer Monate mit 30 Tagen
	if(chosenMonth == 3 || chosenMonth == 5 || chosenMonth == 8 || chosenMonth == 10){
		document.getElementsByTagName('td')[30].style.visibility = "hidden";
	}
	//Anzeige fuer Februar und Schaltjahr
	if(chosenMonth == 1){
		for(var i = 28; i <= 30; i++){
			document.getElementsByTagName('td')[i].style.visibility = "hidden";
		}
		if(chosenYear % 4 == 0){
			document.getElementsByTagName('td')[28].firstChild.data = 29;
			document.getElementsByTagName('td')[28].style.visibility = "visible";
		}
	}

	//Hintergrundfarbe der Buttons
	for(var i = 31; i <= 38; i++) document.getElementsByTagName('td')[i].style.backgroundColor = '#DEDEDE';

	//Hintergrundfarbe der Jahres- und Monatsanzeige
	document.getElementsByTagName('td')[32].style.backgroundColor = '#FFFFFF';
	document.getElementsByTagName('td')[37].style.backgroundColor = '#FFFFFF';

	//gewaehltes Datum markieren
	document.getElementById(chosenDay).style.backgroundColor = '#FFFFFF';
	document.getElementById('shownMonth').firstChild.data = monthArrayWords[chosenMonth];
	document.getElementById('shownYear').firstChild.data = chosenYear;
}
//**************************************************************************************
//Funktion um den Focus zu halten
//**************************************************************************************
function pleaseStay(){
	focus();
	window.setTimeout("pleaseStay()",50);
}
//**************************************************************************************
//Funktionen fuer die Effekte
//**************************************************************************************
function hereIam(who){	//onMouseover
	document.getElementById(who).style.cursor = 'pointer';
	document.getElementById(who).style.backgroundColor = '#FFFFFF';
}

function uAreGone(who){	//onMouseout
	if(who != chosenDay){
		document.getElementById(who).style.backgroundColor = '#EFEFEF';
	}
}

function uChoseMe(who){ //onClick auf Tag
	document.getElementById(chosenDay).style.backgroundColor = '#EFEFEF';
	document.getElementById(who).style.backgroundColor = '#FFFFFF';
	chosenDay = who;
}
//**************************************************************************************
//Funktionen fuer die Buttons
//**************************************************************************************
function oneBefore(who){
	if(who == 'year'){
		chosenYear = chosenYear - 1;
		styleMe();
	}
	if(who == 'month'){
		if(chosenMonth != 0) chosenMonth = chosenMonth - 1;
		else chosenMonth = 11;

		styleMe();
	}
}

function nextOne(who){
	if(who == 'year'){
		chosenYear = chosenYear + 1;
		styleMe();
	}
	if(who == 'month'){
		if(chosenMonth != 11) chosenMonth = chosenMonth + 1;
		else chosenMonth = 0;

		styleMe();
	}
}

function ImDone(who){
	
	if(who == 'ok'){
		if(chosenDay < 10) chosenDay = "0" + chosenDay;
		
		opener.document.getElementsByName(fieldName)[0].value = chosenDay + " " + monthArrayWords[chosenMonth] + " " + chosenYear;
		window.close();
	}
	else{
		if(actDay < 10) actDay = "0" + actDay;

		//opener.document.getElementsByName(fieldName)[0].value = actDay + " " + monthArrayWords[actMonth] + " " + actYear;
		window.close();
	}
}

/* Andrew Urquhart : Client-Side Request Object for javascript : http://andrewu.co.uk/tools/request/
COPYRIGHT:You are free to use this script for any use you wish if this comment is left intact. Feel free to enhance the script and send me the updated version. Please don't redistribute. This script is provided as is,with no warranty of any kind. Use it at your own risk. Copyright Andrew R Urquhart; VERSION:#1.3 2005-05-11 17:52 UTC*/
function RObj(ea){var LS="";var QS=new Object();var un="undefined";var x=null;var f="function";var n="number";var r="string";var e1="ERROR:Index out of range in\r\nRequest.QueryString";var e2="ERROR:Wrong number of arguments or invalid property assignment\r\nRequest.QueryString";var e3="ERROR:Object doesn't support this property or method\r\nRequest.QueryString.Key";function Err(arg){if(ea){alert("Request Object:\r\n"+arg)}};function URID(t){var d="";if(t){for(var i=0;i<t.length;++i){var c=t.charAt(i);d+=(c=="+"?" ":c)}};return unescape(d)};function OL(o){var l=0;for(var i in o){if(typeof o[i]!=f){l++}};return l};function AK(key){var auk=true;for(var u in QS){if(typeof QS[u]!=f&&u.toString().toLowerCase()==key.toLowerCase()){auk=false;return u}}if(auk){QS[key]=new Object();QS[key].toString=function(){return TS(QS[key])};QS[key].Count=function(){return OL(QS[key])};QS[key].Count.toString=function(){return OL(QS[key]).toString()};QS[key].Item=function(e){if(typeof e==un){return QS[key]}else {if(typeof e==n){var a=QS[key][Math.ceil(e)];if(typeof a==un){Err(e1+"(\""+key+"\").Item("+e+")")};return a}else {Err("ERROR:Expecting numeric input in\r\nRequest.QueryString(\""+key+"\").Item(\""+e+"\")")}}};QS[key].Item.toString=function(e){if(typeof e==un){return QS[key].toString()}else {var a=QS[key][e];if(typeof a==un){Err(e1+"(\""+key+"\").Item("+e+")")};return a.toString()}};QS[key].Key=function(e){var t=typeof e;if(t==r){var a=QS[key][e];return(typeof a!=un&&a&&a.toString()?e:"")}else {Err(e3+"("+(e?e:"")+")")}};QS[key].Key.toString=function(){return x}};return key};function AVTK(key,val){if(key!=""){var key=AK(key);var l=OL(QS[key]);QS[key][l+1]=val}};function TS(o){var s="";for(var i in o){var ty=typeof o[i];if(ty=="object"){s+=TS(o[i])}else if(ty!=f){s+=o[i]+", "}};var l=s.length;if(l>1){return(s.substring(0,l-2))}return(s==""?x:s)};function KM(k,o){var k=k.toLowerCase();for(var u in o){if(typeof o[u]!=f&&u.toString().toLowerCase()==k){return u}}}if(window.location&&window.location.search){LS=window.location.search;var l=LS.length;if(l>0){LS=LS.substring(1,l);var preAmpAt=0;var ampAt=-1;var eqAt=-1;var k=0;var skip=false;for(var i=0;i<l;++i){var c=LS.charAt(i);if(LS.charAt(preAmpAt)=="="||(preAmpAt==0&&i==0&&c=="=")){skip=true}if(c=="="&&eqAt==-1&&!skip){eqAt=i}if(c=="&"&&ampAt==-1){if(eqAt!=-1){ampAt=i}if(skip){preAmpAt=i+1};skip=false}if(ampAt>eqAt){AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,ampAt)));preAmpAt=ampAt+1;eqAt=ampAt=-1;++k}}if(LS.charAt(preAmpAt)!="="&&(preAmpAt!=0||i!=0||c!="=")){if(preAmpAt!=l){if(eqAt!=-1){AVTK(URID(LS.substring(preAmpAt,eqAt)),URID(LS.substring(eqAt+1,l)))}else if(preAmpAt!=l-1){AVTK(URID(LS.substring(preAmpAt,l)),"")}}if(l==1){AVTK(LS.substring(0,1),"")}}}};var TC=OL(QS);if(!TC){TC=0};QS.toString=function(){return LS.toString()};QS.Count=function(){return(TC?TC:0)};QS.Count.toString=function(){return(TC?TC.toString():"0")};QS.Item=function(e){if(typeof e==un){return LS}else {if(typeof e==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof QS[i]!=f&&++c==e){return QS[i]}};Err(e1+"().Item("+e+")")}else {return QS[KM(e,QS)]}};return x};QS.Item.toString=function(){return LS.toString()};QS.Key=function(e){var t=typeof e;if(t==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof QS[i]!=f&&++c==e){return i}}}else if(t==r){var e=KM(e,QS);var a=QS[e];return(typeof a!=un&&a&&a.toString()?e:"")}else {Err(e2+"().Key("+(e?e:"")+")")};Err(e1+"().Item("+e+")")};QS.Key.toString=function(){Err(e2+"().Key")};this.QueryString=function(k){if(typeof k==un){return QS}else {var k=KM(k,QS);if(typeof QS[k]==un){t=new Object();t.Count=function(){return 0};t.Count.toString=function(){return "0"};t.toString=function(){return x};t.Item=function(e){return x};t.Item.toString=function(){return x};t.Key=function(e){Err(e3+"("+(e?e:"")+")")};t.Key.toString=function(){return x};return t}if(typeof k==n){return QS.Item(k)}else {return QS[k]}}};this.QueryString.toString=function(){return LS.toString()};this.QueryString.Count=function(){return(TC?TC:0)};this.QueryString.Count.toString=function(){return(TC?TC.toString():"0")};this.QueryString.Item=function(e){if(typeof e==un){return LS.toString()}else {if(typeof e==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof QS[i]!=f&&++c==e){return QS[i]}};Err(e1+".Item("+e+")")}else {return QS[KM(e,QS)]}}if(typeof e==n){Err(e1+".Item("+e+")")};return x};this.QueryString.Item.toString=function(){return LS.toString()};this.QueryString.Key=function(e){var t=typeof e;if(t==n){var e=Math.ceil(e);var c=0;for(var i in QS){if(typeof QS[i]=="object"&&(++c==e)){return i}}}else if(t==r){var e=KM(e,QS);var a=QS[e];return(typeof a!=un&&a&&a.toString()?e:"")}else {Err(e2+".Key("+(e?e:"")+")")};Err(e1+".Item("+e+")")};this.QueryString.Key.toString=function(){Err(e2+".Key")};this.Version=1.3;this.Author="Andrew Urquhart (www.andrewu.co.uk)"};var Request=new RObj(false);

