/******************************
 * Copyright© GardenaNet 2007 *
 * ****************************
 * info@gardena.net           *
 * ***************************/

// Funktion die mit dem event-handler onload in body gestartet wird
function load()
{
	painttablerows('prezzi', '#ffffff', '#EEEEEE');  // Preis-Tabellen formattieren
	parse_title();
	if (document.getElementById('date'))
	{
		var date = new Date();
		Calendar.setup({
			simple : true,
			inputField : 'date',
			ifFormat : "%d/%m/%Y",
			showsTime : false,
			button : 'icon1',
			singleClick : true,
			firstDay : 1,
			range : new Array(date.getFullYear(), date.getFullYear()+6),
			dateRange : {start: new Date(date.getFullYear(), date.getMonth(), date.getDate())},
			weekNumbers : false,
			step : 1
		})
	}
	// Preise Winter
	mark_column('winter', 1, 1, 'dark', 'middle');
	mark_column('winter', 7, 1, 'white');	
	
	// Preise Sommer
	mark_column('sommer', 1, 1, 'dark', 'middle', 'light');
	mark_column('sommer', 10, 1, 'white');
}

function book()
{
	var formobj = document.getElementById('toprequest');
	if (!formobj) return;
	//formobj.method = 'GET';
	var arrivalobj = document.getElementById('toparrival');
	var departureobj = document.getElementById('topdeparture');
	if (!arrivalobj || !departureobj) return;
	arrivalobj.onchange = function(){};
	departureobj.onchange = function(){};
	var arrival = arrivalobj.value.replace('/', '.').replace('/', '.');
	var departure = departureobj.value.replace('/', '.').replace('/', '.');
	arrival = arrival.substr(0, 6)+'20'+arrival.substr(6);
	departure = departure.substr(0, 6)+'20'+departure.substr(6);
	formobj.action = '/'+shortlang+'/anfragen-buchen/online-buchen.html?&arrival='+arrival+'&departure='+departure+'&service=3&room1=18,18';
}

function hgvBookingSuccess(bookingData) {
	// Dies Funktion wird bei einer erfolgreichen Buchung aufgerufen.
}

// hs dummy
if (!hs) { var hs = {
	expand : function(a, params, custom, type) {}
	}
}

// Funktion zum abwechselnden darstellen der Farben bei Preistabellen
function painttablerows (tableclass, color1, color2, exception)
{
    if (tableclass == '')
	{
		tableclass = 'prezzi';
	}
    var tableobjects = document.getElementsByTagName('table');
    for (var i = 0; i < tableobjects.length; i++)
    {
        if (tableobjects[i].className == tableclass)
        {
            var color = color2;
            var trobjects = tableobjects[i].getElementsByTagName('tr');
            for (var a = 0; a < trobjects.length; a++)
            {
                var tdobjects = trobjects[a].getElementsByTagName('td');
                for (var b = 0; b < tdobjects.length; b++)
                {
                	if (typeof(exception) == 'undefined' || tdobjects[b].className != exception)
					{
						tdobjects[b].style.background = color;
					}
                }
                if (color == color1)
				{
                    color = color2;
				} else {
                    color = color1;
                }
            }
        }
	}
}

// Funktion zum entfernen der title-Attribute
function parse_title()
{
	var formobjs = document.getElementsByTagName('form');
	for (var i = 0; i < formobjs.length; i += 1)
	{
		var objs = formobjs[i].getElementsByTagName('*');
		for (var a = 0; a < objs.length; a += 1)
		{
			if (objs[a].title)
			{
				objs[a].content = objs[i].title;
				objs[a].title = '';
			}
		}
	}
}

// Funktion zum abwechselnden darstellen der Klassen bei Preistabellen
// basiert auf Spalten
// einfach die Namen der Klassen ab dem 4. Parameter hinzufügen
// mit startfromcolumn und startfromrow kann bestimmt werden ab welcher
// Spalte bzw. Zeile mit dem setzen der Klasse begonnen werden soll
// falls nur eine Spalte markiert werden soll, einen negativen Wert angeben
function mark_column(tableclass, startfromcolumn, startfromrow)
{
	if (typeof(tableclass) == 'undefined') tableclass = 'contenttable';
	if (typeof(startfromcolumn) == 'undefined' || isNaN(startfromcolumn)) startfromcolumn = 0;
	if (typeof(startfromrow) == 'undefined' || isNaN(startfromrow)) startfromrow = 0;
	var classNames = new Array();
	for (var i = 3; i < mark_column.arguments.length; i += 1)
	{
		classNames[classNames.length] = mark_column.arguments[i];
	}
	if (classNames.length == 0) return false;
	var tableobjects = document.getElementsByTagName('table');
	
	var tableobjects = document.getElementsByTagName('table');
	for (var i = 0; i < tableobjects.length; i++)
	{
		if (tableobjects[i].className.indexOf(tableclass) != -1)
		{
			var trobjects = tableobjects[i].getElementsByTagName('tr');
			for (var a = startfromrow; a < trobjects.length; a += 1)
			{
				if (a < 0) a *= -1;
				var objects = trobjects[a].getElementsByTagName('*');
				var c = 0;
				var x = 0;
				for (var b = 0; b < objects.length; b += 1)
				{
					if (objects[b].tagName.toUpperCase() == 'TD' || objects[b].tagName.toUpperCase() == 'TH')
					{
						if (objects[b].tagName.toUpperCase() == 'TD') c += 1;
						if (startfromcolumn >= 0 && c <= startfromcolumn) continue;
						if (startfromcolumn < 0 && c != startfromcolumn * -1) continue;
						objects[b].className += ' '+classNames[x];
						x += 1;
						if (x >= classNames.length) x = 0;
					}
				}
				if (startfromrow < 0) return;
			}
		}
	}
}
