var my_date = new Date();

var curr_day=my_date.getDate();
var curr_month=my_date.getMonth();
var curr_year=my_date.getFullYear();
var curr_wd=0;

var wd=0;
var day=curr_day;
var month=curr_month;
var year=curr_year;
var currd_flagged=0;
var date_set=false;
var curr_cid="";
var curr_lang=-1;
var length_month_begin=0;
var length_month_end=0;

var lom=new Array ("Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember","January","February","March","April","May","June","July","August","September","October","November","December");
var lod=new Array ("Mo","Di","Mi","Do","Fr","Sa","So","Mo","Tu","We","Th","Fr","Sa","Su");
var notification=new Array ("Bitte beachten Sie dass der Mindestaufenthalt 5 Tage beträgt", "Please note that the minimum stay is 5 days");

function new_cal(action,cid,lang)
{
if (curr_lang==-1){curr_lang=lang;}

if (cid!="fct"){
curr_cid=cid;
month=curr_month;
year=curr_year;
}

if (action=="hide")
{show_hide="hidden"; 
 date_set=true;
}
else
{show_hide="visible";}

if (currd_flagged>0)
  {
  document.getElementById(currd_flagged).style.fontWeight="normal";
  document.getElementById(currd_flagged).style.color="000000";
  document.getElementById(currd_flagged).style.backgroundColor="#ffffff";
  currd_flagged=0;
  }

var cpy_date=new Date();
cpy_date.setMonth(month);
cpy_date.setMonth(month);
cpy_date.setYear(year);
cpy_date.setDate(1);
wd=cpy_date.getDay()-1;
if (wd==-1){wd=6;}
curr_wd=wd;

var i=0;
while (cpy_date.getMonth()==month)
{
i=i+1;
cpy_date.setDate(i);
}
var len_month=i;
if (curr_cid=="begin"){length_month_begin=len_month;}else{length_month_end=len_month;}

document.getElementById("mup").style.visibility=show_hide;
if (month>curr_month || year>curr_year){
document.getElementById("mod").style.visibility=show_hide;
}
else
{
document.getElementById("mod").style.visibility="hidden";
}

document.getElementById("month").style.visibility=show_hide;
document.getElementById("month").innerHTML=lom[month+12*lang];
document.getElementById("year").style.visibility=show_hide;
document.getElementById("year").innerHTML=year;
document.getElementById("mo").style.visibility=show_hide;
document.getElementById("mo").innerHTML=lod[0+7*lang];
document.getElementById("tu").style.visibility=show_hide;
document.getElementById("tu").innerHTML=lod[1+7*lang];
document.getElementById("we").style.visibility=show_hide;
document.getElementById("we").innerHTML=lod[2+7*lang];
document.getElementById("th").style.visibility=show_hide;
document.getElementById("th").innerHTML=lod[3+7*lang];
document.getElementById("fr").style.visibility=show_hide;
document.getElementById("fr").innerHTML=lod[4+7*lang];
document.getElementById("sa").style.visibility=show_hide;
document.getElementById("sa").innerHTML=lod[5+7*lang];
document.getElementById("su").style.visibility=show_hide;
document.getElementById("su").innerHTML=lod[6+7*lang];

for (i=1; i<=wd; i++)
{
document.getElementById(i).style.visibility="hidden";}

for (i=len_month; i<=37; i++)
{
document.getElementById(i).style.visibility="hidden";}

for (i=1; i<(len_month); i++)
{
document.getElementById(wd+i).innerHTML=i;
document.getElementById(wd+i).style.visibility=show_hide;
if (i==curr_day && month==curr_month && year==curr_year && currd_flagged==0)
  {
  document.getElementById(wd+i).style.fontWeight="bold";
  document.getElementById(wd+i).style.color="c00000";
  document.getElementById(wd+i).style.backgroundColor="#b0b0b9";
  currd_flagged=(wd+i);
  }
}
document.getElementById("cal").style.visibility=show_hide;

if (date_set==true)
  {
   if (curr_cid=="begin")
    {
    document.forms["dates"].startday.value=day-wd;
    document.forms["dates"].startmonth.value=month+1;
    document.forms["dates"].startyear.value=year;
    document.forms["dates"].startdate.value=day-wd+"."+(month+1)+"."+year;
    }
  if (curr_cid=="end")
    {
    document.forms["dates"].endday.value=day-wd;
    document.forms["dates"].endmonth.value=month+1;
    document.forms["dates"].endyear.value=year;
    document.forms["dates"].enddate.value=day-wd+"."+(month+1)+"."+year;
    }
   date_set=false;
   }
  
  if (document.forms["dates"].startday.value != 0 && document.forms["dates"].endday.value != 0)
  {
    sd=parseInt(document.forms["dates"].startday.value);
  sm=parseInt(document.forms["dates"].startmonth.value);
  sy=parseInt(document.forms["dates"].startyear.value);
  ed=parseInt(document.forms["dates"].endday.value);
  em=parseInt(document.forms["dates"].endmonth.value);
  ey=parseInt(document.forms["dates"].endyear.value);
  day_diff=length_month_begin-sd+ed;
  
/*    if ((ey==sy && em==sm && (ed - sd < 5)) || ((ey==(sy+1) && sm-em==11 && day_diff <5) || (sy==ey && em==(sm+1) && //day_diff <5)) || (sm>em && sy==ey) || (sy>ey))
    {
    alert (notification[lang]);
    document.forms["dates"].startday.value="";
    document.forms["dates"].startmonth.value="";
    document.forms["dates"].startyear.value="";
    document.forms["dates"].startdate.value="";
    document.forms["dates"].endday.value="";
    document.forms["dates"].endmonth.value="";
    document.forms["dates"].endyear.value="";
    document.forms["dates"].enddate.value="";
    } */
   }  
}

function month_up()
{
month+=1;
if (month>11)
{month=0;
year=year+1;}
new_cal("show", "fct", curr_lang);
}

function month_down()
{
month-=1;
if (month==-1)
{month=11;
year=year-1;}
new_cal("show", "fct", curr_lang);
}

function my_select(x)
{
if ((x-curr_wd)<curr_day && month==curr_month && year==curr_year){return;}
else
  {
  day=x;
  date_set=true;
  new_cal("hide", "fct",curr_lang);
  }
}




