// Dreamwaever scripts
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_SCHMOE_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_SCHMOE_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_SCHMOE_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_SCHMOE_showHideLayers() 
// v6.0 SCHMOE Mod v.1: 
// instead of changing visibility it switches between (display:'block';) and (display:'none';)
// bsp: MM_SCHMOE_showHideLayers('swissmap','','hide') or show;
{ 
	var i, p, v, obj, k;
	var args=MM_SCHMOE_showHideLayers.arguments;
	for (i=0; i<(args.length-2); i+=3) 
	{
		if ((obj=MM_SCHMOE_findObj(args[i]))!=null) 
		{ 
			v=args[i+2];
			if (obj.style) 
			{ 
				obj=obj.style; 
				v=(v=='show')?'block':(v=='hide')?'none':v; 
			}
			obj.display=v;
		}
	}
}

// SCHMOE  scripts
// v6.0 SCHMOE Mod v.2: 
// switches between (display:'block';) and (display:'none';)
// bsp: MM_SCHMOE_showHideLayers('swissmap');
function SCHMOE_onOffLayers() 
{ 
	var i, p, v, obj, k;
	var args=SCHMOE_onOffLayers.arguments;
	for (i=0; i<(args.length); i++) 
	{
		if ((obj=MM_SCHMOE_findObj(args[i]))!=null) 
		{ 
			if (obj.style) 
			{ 
				obj=obj.style; 
				if (obj.display == 'none') { v='block'; }
				if (obj.display == 'block') { v='none'; }
				if (obj.display == '') { v='none'; }
			}
			obj.display=v;
		}
	}
}
function push2Value()
// Takes the first argument and pushes it into the value of the second argument
// Hides Layer "swissmap"
{
	var args=push2Value.arguments;
	if ((obj=MM_SCHMOE_findObj(args[1])) != null)
	{
		obj.value = args[0];
	}
	MM_SCHMOE_showHideLayers('swissmap','','hide');
}
function clearValue()
{
	var args=clearValue.arguments;
	if ((obj=MM_SCHMOE_findObj(args[0])) != null)
	{
		obj.value = '';
	}
}
function changeInnerHtml()
// Changes the innerHTML of the first arg (object ID) into the secong arg (string)
{
	var args=changeInnerHtml.arguments;
	if ((obj=MM_SCHMOE_findObj(args[0])) != null)
	{
		obj.innerHTML = args[1];
	}
}
function setSelectListToValue()
{
	var i, si, v, args=setSelectListToValue.arguments;
	if ((obj=MM_SCHMOE_findObj(args[1])) != null)
	{
		v = args[0]; // value nach dem gesucht wird
		//alert(v);
		for(i=0; i<obj.length; i++)
		{
			// alert(obj.options[i].value+' ist '+i);
			if(obj.options[i].value == v) 
			{
				//alert(i);
				si = i // Wenn Option value = gesuchter value -> selectedindex speichern
			} 
		}
		//alert(obj.length);
		obj.selectedIndex = si;
	}
	MM_SCHMOE_showHideLayers('swissmap','','hide');
}
function clearSelectList()
{
	var args=clearSelectList.arguments;
	if ((obj=MM_SCHMOE_findObj(args[0])) != null)
	{
		obj.selectedIndex = 0;
	}
}


//// Calendar
//function calculateDays()
//// Calculates the departure day in 'depday' if 'arrday' and 'quantity_nights' is filled
//{
//	// get Dep/Arrday/Days Values from form
//	var valueDepday = document.getElementById('ctl00_ContentPlaceHolder1_tbCheckOut').value;
//	var valueArrday = document.getElementById('ctl00_ContentPlaceHolder1_tbCheckIn').value;
//	var valueDays 	= document.getElementById('qantity_nights').value;

//	// BERECHNUNG: Bei offenen depday Feld
////	if (valueArrday != '' && valueDays != '')
////	{
////		var dateArrday = createDateObject(valueArrday,' | ','.'); // ArrDay holen
////		var dateDaysSeconds = valueDays*24*60*60*1000; // Tage in milSek umrechnen
////		var valueDepday = dateArrday.getTime()+dateDaysSeconds; // ArrDay und Tage addieren
////		var dateDepday = new Date(); 
////		dateDepday.setTime(valueDepday);
////		var weekdayDepday = weekdays[dateDepday.getDay()]; // Wochentag ermitteln
////		insertDate(dateDepday,weekdayDepday,'ctl00_ContentPlaceHolder1_tbCheckOut'); // in depday schreiben
////	}

//if (valueArrday != '' && valueDays != '')
//	{
//		var dateArrday = createDateObject(valueArrday,' | ','.'); // ArrDay holen
//		var dateDaysSeconds = valueDays*24*60*60*1000; // Tage in milSek umrechnen
//				
//			//Ergänzung zu 2000
//			var date
//		
//		
//		var valueDepday = dateArrday.getTime()+dateDaysSeconds; // ArrDay und Tage addieren
//		var dateDepday = new Date(); 
//		dateDepday.setTime(valueDepday);
//		var weekdayDepday = weekdays[dateDepday.getDay()]; // Wochentag ermitteln
//		insertDate(dateDepday,weekdayDepday,'ctl00_ContentPlaceHolder1_tbCheckOut'); // in depday schreiben
//	}
//}
//// Helper functions from XPCalendar plugins.js
////function createDateObject(dateString,firstSperator,secondSeperator)
////{
////	var dateValue, temp = dateString.split(firstSperator);
////	if (temp.length == 1) dateValue = temp[0].split(secondSeperator);
////	else if (temp.length == 2) dateValue = temp[1].split(secondSeperator);
////	var dateObject = new Date(dateValue[2], dateValue[1]-1, dateValue[0]); // JS counts months from 0 to 11
////	return dateObject;
////}
//// Helper functions from XPCalendar plugins.js


// Calendar
function calculateDays()
// Calculates the departure day in 'depday' if 'arrday' and 'quantity_nights' is filled
{
	// get Dep/Arrday/Days Values from form
	var valueDepday = document.getElementById('ctl00_ContentPlaceHolder1_tbCheckOut').value;
	var valueArrday = document.getElementById('ctl00_ContentPlaceHolder1_tbCheckIn').value;
	var valueDays 	= document.getElementById('qantity_nights').value;
	
	// if (valueArrday != '') var dateArrday = createDateObject(valueArrday,' | ','.'); // ArrDay holen
	// if (valueDepday != '') var dateDepday = createDateObject(valueDepday,' | ','.'); // DepDay holen
	
	// BERECHNUNG: Bei offenen depday Feld
	if (valueArrday != '' && valueDays != '')
	{
		// valueDays++; // Ergaenzen
		
		var dateArrday = createDateObject(valueArrday,' | ','.'); // ArrDay holen
		var dateDaysSeconds = valueDays * 24 * 60 * 60 * 1000; // Tage in milSek umrechnen
		
		var valueDepday = dateArrday.getTime()+ dateDaysSeconds; // ArrDay und Tage addieren

		var dateDepday = new Date(); 
		dateDepday.setTime(valueDepday);

		// debug(dateArrday.toUTCString() + ' + ' + dateDaysSeconds + ' = ' + dateDepday.getUTCFullYear() + ' - ' + dateDepday.getUTCMonth() + ' - ' + dateDepday.getUTCDate());

		var weekdayDepday = weekdays[dateDepday.getUTCDay()]; // Wochentag ermitteln
		
		insertDate(dateDepday,weekdayDepday,'ctl00_ContentPlaceHolder1_tbCheckOut'); // in depday schreiben
	} 

	
	setToWeekDayFormat(document.getElementById('ctl00_ContentPlaceHolder1_tbCheckOut'));
	setToWeekDayFormat(document.getElementById('ctl00_ContentPlaceHolder1_tbCheckIn'));
	
	// debug("----------------------");
		
	
}



//function createDateObject(dateString,firstSperator,secondSeperator)
//{
//	var dateValue, temp = dateString.split(firstSperator); 
//	if (temp.length == 1) dateValue = temp[0].split(secondSeperator); // ohne Wochentag
//	else if (temp.length == 2) dateValue = temp[1].split(secondSeperator); // mit Wochentag
//	if (dateValue[2]['length'] == 2) dateValue[2] = '20' + dateValue[2]; // Jahr von xx -> 20xx
//	var dateObject = new Date(dateValue[2], dateValue[1]-1, dateValue[0]); // JS counts months from 0 to 11
//	return dateObject;
//}


function createDateObject(dateString,firstSperator,secondSeperator)
{
	var dateValue, temp = dateString.split(firstSperator); 
	if (temp.length == 1) dateValue = temp[0].split(secondSeperator); // ohne Wochentag
	else if (temp.length == 2) dateValue = temp[1].split(secondSeperator); // mit Wochentag
	if (dateValue[2]['length'] == 2) dateValue[2] = '20' + dateValue[2]; // Jahr von xx -> 20xx
	
	// debug(dateValue[2]+'-'+dateValue[1]+'-'+dateValue[0]);

	var dateObject = new Date(dateValue[2], dateValue[1]-1, dateValue[0], 12, 0,0,0); // JS counts months from 0 to 11

	// debug(dateObject.toUTCString() + ' = ' + dateObject.getUTCFullYear() + ' - ' + dateObject.getUTCMonth() + ' - ' + dateObject.getUTCDate());

	return dateObject;
}

//function insertDate(dateObject,weekDay,inputName)
//{
//	var month = dateObject.getMonth() + 1; // JS counts months from 0 to 11
//	document.getElementById(inputName).value = weekDay+' | '+dateObject.getDate()+'.'+month+'.'+dateObject.getFullYear();
//}

function insertDate(dateObject,weekDay,inputName)
{
	// debug(dateObject.toUTCString() +' -> '+ dateObject.getUTCDate());
	var month = dateObject.getUTCMonth() + 1; // JS counts months from 0 to 11
	document.getElementById(inputName).value = weekDay+' | '+dateObject.getUTCDate()+'.'+month+'.'+dateObject.getUTCFullYear();
}

// Tab Navigation
function menuClick(aobject,cid) 
{
	var tabActiveID 		= 'active';
	var storeActiveLayer 	= 'store_active_layer'; 	// hidden input element to store the active layer name -> IE 5.0 compatibility
	var args 				= menuClick.arguments;
	var layerDeactivateOrigin, menuDeactivate;
	
	// Active Button Style
	menuDeactivate = MM_SCHMOE_findObj(tabActiveID); 		// get active tab
	menuDeactivate.id = "";		 					// kill active tab
	args[0].id = tabActiveID; 					// set new active tab
	
	// Active Layer Visibility
	layerDeactivateOrigin = MM_SCHMOE_findObj(storeActiveLayer); 				// get active layer name
	MM_SCHMOE_showHideLayers(layerDeactivateOrigin.value,'','hide'); 	// kill active layer
	MM_SCHMOE_showHideLayers(args[1],'','show');						// show new active
	layerDeactivateOrigin.value = args[1];								// save new active layer name

	//document.getElementById('debug').innerHTML += ' layerDeactivateOrigin: '+layerDeactivateOrigin.value+'<br />';


	return expandcontent(cid, aobject);
}
	var previoustab="Hoteldetails"

function expandcontent(cid, aobject){
	if (document.getElementById){
	if (previoustab!="")
		document.getElementById(previoustab).style.display="none"
		document.getElementById(cid).style.display="block"
	previoustab=cid
	if (aobject.blur)
		aobject.blur()
	return false
	}
	else
	return true
}

// init Page
function pageInit(activeLayer,activeTab) 
{
	var storeActiveLayer = 'store_active_layer';
	
	// create handler
	var activeTabHandle = MM_SCHMOE_findObj(activeTab);
	var storeActiveLayerHandle = MM_SCHMOE_findObj(storeActiveLayer);

	// menu + active layer
	activeTabHandle.id = 'active';
	storeActiveLayerHandle.value = activeLayer
	MM_SCHMOE_showHideLayers(activeLayer,'','show'); 
	
	// No JavaScript
	MM_SCHMOE_showHideLayers('nojavascript','','hide');
	
	//document.getElementById('debug').innerHTML += ' storeActiveLayer: '+storeActiveLayer+'<br />';
}

window.onload=function()
{
	
}

function switchColor(field) {
	var var1 = document.getElementById(field).firstChild.style.color =  "#FFFFFF";
	var var2 = document.getElementById(field).firstChild.style.textDecoration =  "none";
}
function undoSwitchColor(field) {
	var var1 = document.getElementById(field).firstChild.style.color =  "#000000";
	var var2 = document.getElementById(field).firstChild.style.textDecoration =  "underline";
}

function setToWeekDayFormat(form_field)
{
	var date_string = form_field.value;
	
	// check if allready filled
	var date_string_components = date_string.split('|')
	if (date_string_components.length == 2)
	{
		return false;	
	} 
	// convert
	else if(isValidDate(date_string))
	{
		var date_components = date_string.split('.'); // seperate parts
		// debug(date_components[2]+' - '+date_components[1]+' - '+date_components[0]);
		var date_object = new Date(date_components[2],date_components[1]-1,date_components[0],12,0,0,0);
		// debug(date_object.toUTCString());
		var weekday = weekdays[date_object.getUTCDay()]; // Wochentag ermitteln
		insertDate(date_object,weekday,form_field.id); // in depday schreiben
		calculateDays();
		return true;
	}

}

function isValidDate(datestring) // checks is in dd.mm.yyyy format and year must be at least curretn year
{
	
	var is_date = false
	
	if(datestring != '')
	{
		var components = datestring.split('.'); // seperate parts
		
		if(components.length == 3 ) // check parts count
		{
			if(components[0] < 32) // check days
			{
				if(components[1] < 13) // check month
				{
					var current_year = new Date();
					current_year = current_year.getUTCFullYear();
					
					if(components[2] >= current_year) // check year
					{
						is_date = true;
					} 
					else { alert(error_msg_wrongyear); }
				} 
				else { alert(error_msg_wrongmonth); }
			} 
			else { alert(error_msg_wrongday); }
		} 
		else { alert(error_msg_wrongdate); }
	}

	
	return is_date;
}