function str_date2arr(str_date)
{
	pattern = /-/;
	var arr_date = str_date.split (pattern);
	return arr_date;
}

function getDaysInMonth(month,year)
{
	var days;
	if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)  days=31;
	else if (month==4 || month==6 || month==9 || month==11) days=30;
	else if (month==2)
	{
		if (isLeapYear(year))
		{
			days=29;
		} else
		{
			days=28;
		}
	}
	return (days);
}

function isLeapYear (Year)
{
	if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) 
	{
		return (true);
	} else
	{
		return (false);
	}
}

function str_date2ms( str_date, str_locale )
{
	var arr_date = str_date2arr (str_date);
	if ( str_locale == 'de' )
	{
		str_date_int = new Date (arr_date[2], arr_date[1], arr_date[0]);
	} else
	{
		str_date_int = new Date (arr_date[2], arr_date[1], arr_date[0]);
	}
	return Date.parse(str_date_int);
}
function arrdmy_correctDayOffset ( dateObj )
{
	offset = dateObj.getDate() - getDaysInMonth( dateObj.getMonth()+1,dateObj.getFullYear() );
	if ( offset > 0)
	{	
		dateObj.setDate ( offset );
    	
	    if (dateObj.getMonth()+1>11 )
		{
	    	dateObj.setMonth (1);
    		dateObj.setFullYear ( dateObj.getFullYear()+1 );
	   	} else
		{
	    	dateObj.setMonth ( dateObj.getMonth() + 1 );
 	   	}
	}
	return dateObj;
}

function lz(x) {return(x<0||x>9?"":"0")+x}

function date2str ( dateObj, str_locale )
{
	month = dateObj.getMonth() + 1;
	if ( str_locale == 'de' )
	{
		var str_date =  new String ( lz(dateObj.getDate()) + "-" + lz(month) + "-" + dateObj.getFullYear() );
	} else
	{
		var str_date =  new String ( lz(dateObj.getDate()) + "-" + lz(month) + "-" + dateObj.getFullYear() );
	}

	return str_date;
}

function str_nextDay ( str_arrival, str_locale )
{
	var arr_arrival = str_date2arr (str_arrival);
	nextDayObj = new Date (arr_arrival[2], arr_arrival[1]-1, arr_arrival[0]);

	nextDayObj.setDate( nextDayObj.getDate()+1 );

	nextDayObj = arrdmy_correctDayOffset ( nextDayObj );
	return date2str(nextDayObj, str_locale);
}

function str_dayFirstPossibleArrival ( str_locale )
{
	fpdayObj = new Date ();

	fpdayObj.setDate(fpdayObj.getDate());

	fpdayObj = arrdmy_correctDayOffset ( fpdayObj );
	return date2str(fpdayObj, str_locale);
}
/////////////////////////
function getsel(sbobj,sval,bval){
	for(i=0; i<sbobj.options.length;i++) {
		if(sbobj.options[i].value == sval) break;
	}
	sbobj.options[i].selected = bval;
}

function myFunc(){

	var smesch1 = 0;//date in first calendar is automatically set to today + smesch1 days
	var sbobj = cal1.TC1Z("seldata");
	var sb = sbobj.options[sbobj.selectedIndex].value;
	var maxsb = sbobj.options[sbobj.options.length-1].value;
	var sbmin = sbobj.options[0].value;
//	var sb = sbmin;
					
	if(arguments[0]=='page') {
		mindate1 = cal1.TC05(smesch1,cal1.TC0L);
		mindate1 = cal1.TC1V(mindate1);
		cal1.TC0O=cal1.TC2f(mindate1);
		cal1.TC0H=cal1.TC05(mindate1);
		cal1.TC2D();
	}
	
	if(arguments[0]=='1') {
		if (cal2.TC0L.valueOf() <= cal1.TC0L.valueOf())
		{
		mindate2 = cal2.TC05(sbmin,cal1.TC0L);
		mindate2 = cal2.TC1V(mindate2);
		maxdate2  =  cal2.TC05(maxsb,cal1.TC0L);
		maxdate2  =  cal2.TC1V(maxdate2);
		cal2.TC0O=cal2.TC2f(cal2.TC1V(cal1.TC0L));
		cal2.TC0L=cal2.TC05(sb,cal2.TC0O,true);
//		cal2.TC0H=cal2.TC05(mindate2);
//		cal2.TC0F=cal2.TC05(maxdate2);
		cal2.TC2D();
		}
	}
	
	else {
		var today = new Date ();
		if (cal1.TC0L.valueOf() < today.valueOf())
		{
			cal1.TC0O= today ;
			cal1.TC0L= today ;
			cal1.TC2D();
		}
		if (cal2.TC0L.valueOf() <= cal1.TC0L.valueOf())
		{
		mindate2 = cal2.TC05(sbmin,cal1.TC0L);
		mindate2 = cal2.TC1V(mindate2);
		maxdate2  =  cal2.TC05(maxsb,cal1.TC0L);
		maxdate2  =  cal2.TC1V(maxdate2);
		cal2.TC0O=cal2.TC2f(cal2.TC1V(cal1.TC0L));
		cal2.TC0L=cal2.TC05(sb,cal2.TC0O,true);
//		cal2.TC0H=cal2.TC05(mindate2);
//		cal2.TC0F=cal2.TC05(maxdate2);
		cal2.TC2D();
		}
	}
	
}

