function parseDate(s){
 var d = (s.substring(0,s.indexOf(".")));
 var m = (s.substring((s.indexOf(".")+1),s.lastIndexOf(".")));
 var y = (s.substring((s.lastIndexOf(".")+1),s.length));
 d *= 1; m *= 1; y *= 1;
 y+=2000;
 return new Date(y, m, d);
}
function syncToHidden(form) {
 var day = eval("document."+form+".input_day0.value;");
 var year = eval("document."+form+".input_year0.value;");

 var temp = year;
 temp = temp.split("_");
 var month = temp[0];
 month *= 1;
 month++;
 var year = temp[1];
 temp = "document."+form+".dato0.value = '"+day+"."+month+"."+year+"';";
 eval(temp);
}
function syncDays(field,value,periodS,periodE) {

 periodS = new Date();
 periodS.setDate(1);
 periodE = new Date();
 periodE.setMonth(periodS.getMonth()+5)
 periodE.setDate(periodE.getDaysInMonth());

 value = value.split("_");
 var td = new Date(value[1],value[0],1);

 var input = document.getElementById(field);
 var saveit = input.value;


 if((periodS) && (periodE)) {
 //var start = parseDate(periodS);
 //var end = parseDate(periodE);

 //periodS = start;
 //periodE = end;

 var monthS = periodS.getMonth();
 var yearS = periodS.getFullYear();

 var monthE = periodE.getMonth();
 var yearE = periodE.getFullYear();

 var thismonth = td.getMonth();
 var thisyear = td.getFullYear();
 var dayS = 1;
 var dayE = td.getDaysInMonth();

 var td = new Date(td);
 td.setDate(1);

 if ( ( (thismonth == monthS) && (thisyear == yearS) )) {
 if (periodS.getDate() > td.getDate()) {
 dayS = periodS.getDate();
 } else {
 dayS = 1;
 }
 if ( (periodS.getDate() < td.getDate() ) ) {
 dayE = periodS.getDate();
 } else {
 dayE = td.getDaysInMonth();
 }
 }

 if ( (thismonth == monthE) && (thisyear == yearE) ) {
 dayS = 1;
 if ( (periodE.getDate() < td.getDaysInMonth() ) ) {
 dayE = periodE.getDate();
 saveit = (periodE.getDate() < saveit) ? periodS.getDate() : saveit;
 } else {
 dayE = td.getDaysInMonth();
 }
 }
 }
 var d = -1;
 var o = input.options;
 var anz = o.length;
 for (var i = 0; i < anz;i++) {
 o[0] = null;
 }

 for (var i = 1; i <= td.getDaysInMonth(); i++) {
 if( (i >= dayS) && (i <= dayE) ) {
 d++;
 o[d] = new Option(i,i);
 if (i == saveit) {
 o[d].selected = true; }
 }
 }
}

function printDays(path, field, periodS, preselection) {

 periodS = new Date();
 periodS.setDate(1);

 var o = document.getElementById(field).options; //eval("document."+path+"."+field+".options");
 var anz = o.length;
 for (var i = 0; i < anz;i++) {
 o[0] = null;
 }

 for (var i = 1; i <= periodS.getDaysInMonth(); i++) {
 if (i == preselection.getDate()) {
 o[o.length] = new Option(i,i,true,true);
 o[o.length-1].selected = true;
 } else {
 o[o.length] = new Option(i,i);
 }
 }
}

function printMonths(path, field, periodS, periodE, preselection) {

 var o = document.getElementById(field).options; //eval("document."+path+"."+field+".options");
 var anz = o.length;
 for (var i = 0; i < anz;i++) {
 o[0] = null;
 }

 //var dateS = new Date(periodS);
 //var dateE = new Date(periodE);
 var dateS = new Date();
 dateS.setDate(1);
 var dateE = new Date();
 dateE.setMonth(dateS.getMonth()+5)
 dateE.setDate(dateE.getDaysInMonth());

 while (dateS.getTime() <= dateE.getTime()) {
 if ( (dateS.getMonth() == preselection.getMonth()) && (dateS.getFullYear() == preselection.getFullYear()) ) {
 o[o.length] = new Option(monthsTextsShort[dateS.getMonth()]+' '+dateS.getFullYear(),dateS.getMonth()+"_"+dateS.getFullYear(),true,true);
 o[o.length-1].selected = true;
 } else {
 o[o.length] = new Option(monthsTextsShort[dateS.getMonth()]+' '+dateS.getFullYear(),dateS.getMonth()+"_"+dateS.getFullYear());
 }
 dateS.setDate(1);
 dateS.setMonth(dateS.getMonth()+1);
 }
}
