function left(str, n){
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else
        return String(str).substring(0,n);
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function appendyyyymmoption(id,value,startoffset,yyyymmoptioncount)
{
	for (var addmcount = startoffset; addmcount < (startoffset + yyyymmoptioncount); addmcount++)
	{
		getElementsByIdTagNameAttributeAndValue(id,"select","name",value)[0].appendChild(createyyyymmoption((calcyyyym(addmcount)[0]),(calcyyyym(addmcount)[1])));
	}
}

function getElementsByIdTagNameAttributeAndValue(id,tagname,attribute,value)
{
	var idtagname = document.getElementById(id).getElementsByTagName(tagname);
	var idtagnameattributevalue = new Array();
	for (var i = 0; i < idtagname.length; i++)
	{
		if (idtagname[i].getAttribute(attribute) == value)
		{
			idtagnameattributevalue.push(idtagname[i]);
		}
	}
	return idtagnameattributevalue;
}

function calcyyyym(addmcount)
{
	var now = new Date();
	if ((now.getMonth() + addmcount) < 12)
	{
		var yyyy = now.getFullYear();
	}
	else
	{
		var yyyy = now.getFullYear() + Math.floor((now.getMonth() + addmcount) / 12);
	}
	var m = (now.getMonth() + addmcount) % 12;
	return new Array(yyyy,m);
}

function createyyyymmoption(yyyy,m)
{
	var mtext = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	var option = document.createElement("option");
	/*
	if (m < 9)
	{
		var mm = "0" + (m + 1).toString();
	}
	else
	{
		var mm = (m + 1).toString();
	}
	option.setAttribute("value", yyyy.toString() + mm.toString());
	*/
	option.setAttribute("value", left(mtext[m].toUpperCase(), 3) + "-" + yyyy.toString());
	var otext = document.createTextNode(mtext[m] + " " + yyyy.toString());
	option.appendChild(otext);
	return option;
}

if (!Array.prototype.indexOf) {
	Array.prototype.indexOf = function (obj) {
		for (var i = 0; i < this.length; i++) {
			if (this[i] === obj) {
				return i;
			}
		}

		return -1;
	};
}

addLoadEvent(function() {appendyyyymmoption("teaser002js","in_month",0,12);} );
addLoadEvent(function() {appendyyyymmoption("teaser002js","out_month",0,12);} );

var changecheckout = function () {
	var checkinmonth = document.getElementById("in_month");
	var checkinday = document.getElementById("in_day");
	var checkoutmonth = document.getElementById("out_month");
	var checkoutday = document.getElementById("out_day");

	var checkinmonthoptions = document.getElementById("in_month").getElementsByTagName("option");
	var checkoutmonthoptions = document.getElementById("out_month").getElementsByTagName("option");

	var checkinmonthoptionvalues = [];
	var checkoutmonthoptionvalues = [];

	for (var i = 0; i < checkinmonthoptions.length; i++) {
		checkinmonthoptionvalues.push(checkinmonthoptions.item(i).value);
	}

	for (var i = 0; i < checkoutmonthoptions.length; i++) {
		checkoutmonthoptionvalues.push(checkoutmonthoptions.item(i).value);
	}

	if ((checkinmonth.value !== "none") && (checkinday.value !== "none")) {
		if (parseInt(checkinday.value, 10) !== 31) {
			checkoutmonth.value = checkinmonth.value;
			checkoutday.value = parseInt(checkinday.value, 10) + 1;
		}
		else {
			checkoutmonth.value = checkoutmonthoptionvalues[checkoutmonthoptionvalues.indexOf(checkinmonth.value) + 1];
			checkoutday.value = 1;
		}
	}
}

var monthNames = ["JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"];

var initialize = function () {
	var checkinmonth = document.getElementById("in_month");
	var checkinday = document.getElementById("in_day");
	var checkoutmonth = document.getElementById("out_month");
	var checkoutday = document.getElementById("out_day");

	checkinmonth.onchange = changecheckout;
	checkinday.onchange = changecheckout;
	
	var now = new Date();
	
	checkinmonth.value = monthNames[now.getMonth()] + "-" + now.getFullYear().toString();
	checkinday.value = now.getDate().toString();
	changecheckout();
}

addLoadEvent(initialize);
