

function newwindow(addr,w,h) {
        var NewRemote =	window.open("","New"+h,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width="+w+",height="+h);
        NewRemote.location=addr;
        }



function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
             show(id);
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
}

function hideAndWait(objectid) {
	var box=document.getElementById(objectid);
	box.innerHTML = '<img src="img/loading.gif">';
	//alert('jj');
	hide(objectid);
}


function hide(objectid)
{
	var box=document.getElementById(objectid);
	if (box!=null) {
		box.style.visibility = 'hidden';
		}
}

function show(objectid)
{
	var box=document.getElementById(objectid);
	if (box!=null) {
		box.style.visibility = 'visible';
		}
}



function showWPos(objectid)
{
	var box=document.getElementById(objectid);
	if (box!=null) {
		box.style.visibility = 'visible';
		box.style.position='relative';
		}
}

function hideWPos(objectid)
{
	var box=document.getElementById(objectid);
	if (box!=null) {
		box.style.visibility = 'hidden';
		box.style.position='absolute';
		}
}

function FadeIn(id, millisec) {
    opacity(id, 0, 100, millisec);
}


function switchState(id, millisec, from, toVal,target) {
	for (var i=from;i<toVal;i=i+1)
	{
		var Ind = id + i;
	    if (target=='visible') {
	       showWPos('rate'+Ind);
	    } else {
	       hideWPos('rate'+Ind);
	    }
	}

	if (target=='visible') {
		changeClass('visible'+id, 'item_hidden');
		changeClass('hidden'+id, 'item_visible');

	} else {
		changeClass('visible'+id, 'item_visible');
		changeClass('hidden'+id, 'item_hidden');
	}
}



function FadeOut(id, millisec) {
   opacity(id, 100, 0, millisec);
}

function changeClass(objectid,target) {
	var box=document.getElementById(objectid);
	if (box!=null) {
		box.className = target;
		}
}

function removeGuarantee() {
	var d=document.booking;
	//alert(d.Estimated_Time_of_Arrival[d.Estimated_Time_of_Arrival.selectedIndex].value);
	if (d.Estimated_Time_of_Arrival[d.Estimated_Time_of_Arrival.selectedIndex].value>=19) {
		var ll=d.Guarantee_Method.options.length;
		for (i=0;i<ll;i++) {
			if (d.Guarantee_Method.options[i].value=='XX') {
				d.Guarantee_Method.options[i] = null;
				}
			}
		}
	}



function hideGuaranteeMethods(btEpayment,btNormal) {
	var d=document.booking;
	var button = document.getElementById('button_makeabooking');

	var GM = document.getElementById('Guarantee_Method');
	var PM = document.getElementById('Payment_Method');

	var GGID = '-';

	if (PM!=null) {
		if (d.Payment_Method[d.Payment_Method.selectedIndex].text.indexOf("erkkomaksu:")>0 || d.Payment_Method[d.Payment_Method.selectedIndex].text.indexOf("payment:")>0 || d.Payment_Method[d.Payment_Method.selectedIndex].text.indexOf("edit:")>0 || d.Payment_Method[d.Payment_Method.selectedIndex].text.indexOf("uottokortti:")>0) {
			hide('GuaranteeMethodRow1');
			hide('GuaranteeMethodRow2');
			button.value=btEpayment;
            var GGID = '-';
			} else {
			show('GuaranteeMethodRow1');
			show('GuaranteeMethodRow2');
			if (GM!=null) {
			     GGID = d.Guarantee_Method.value;
			     button.value=btNormal;
			     } else {
			     button.value=btEpayment;
			     }
			}
		}
	change(GGID);

	}

function selectEPayment(Payment,btEpaymen,btNormal) {
	var d=document.booking;

	var ll=d.Payment_Method.options.length;
	for (i=0;i<ll;i++) {
		if (d.Payment_Method.options[i].value==Payment.toUpperCase()) {
			d.Payment_Method.selectedIndex = i;
			}
		}
    hideGuaranteeMethods(btEpaymen,btNormal);
	}





function checkDays() {
	checkDaysAndSync(null);
	}


function checkDaysAndSync(sbj) {

	// look if the departure is lower
	var d = document.MyfidelioSearchForm;
	var dropArrivalDate = getDateValueFromDrop(d,"cal_arrival");
	var dropDepartureDate = getDateValueFromDrop(d,"cal_departure");

	if (dropDepartureDate<=dropArrivalDate)
			{
			var Ds = new Date(dropArrivalDate.valueOf());
			Ds.setDate(Ds.getDate()+1);
			dropDepartureDate = Ds;
			}

	setDropDowns(d,dropArrivalDate,"cal_arrival");
	setDropDowns(d,dropDepartureDate,"cal_departure");

	// Sync the calendar
	if (sbj != null)
		{
		if (sbj.name.indexOf('rrival')>0)
			{
			setCalendarToDate("cal_arrival",dropArrivalDate);
			}
		if (sbj.name.indexOf('eparture')>0)
			{
			setCalendarToDate("cal_departure",dropDepartureDate);
			}
		}
	}

function initializeDays() {
	var d = document.MyfidelioSearchForm;
	var newdate = new Date();

	var startYear = newdate.getYear();

	if (startYear<2000) {
		startYear = 1900 + startYear;
		}

	for (i=0;i<5; i++) {
		var opt1 = new Option(startYear + i,startYear + i);
		var opt2 = new Option(startYear + i,startYear + i);

		d.arrivalYear.options[i] = opt1;
		d.departureYear.options[i] = opt2;
		}

	d.arrivalDay.selectedIndex = newdate.getDate()-1;
	d.arrivalMonth.selectedIndex = newdate.getMonth();
	d.arrivalYear.selectedIndex = 0

	d.departureDay.selectedIndex = newdate.getDate()-1;
	d.departureMonth.selectedIndex = newdate.getMonth();
	d.departureYear.selectedIndex = 0;
	}


function getDateValueFromDrop(form,type)
	{
	var dd=0;
	var mm=0;
	var yy=0;
	//alert('getvalue'+form.arrivalYear.value);
	 if (type=='cal_arrival')
	 	{

		  dd=form.arrivalDay.value;
		  mm=form.arrivalMonth.value-1;
		  yy=form.arrivalYear.value;
		}
		else
		{
		  dd=form.departureDay.value;
		  mm=form.departureMonth.value-1;
		  yy=form.departureYear.value;
		}
	return new Date(yy,mm,dd);
	}


function setDropDowns(form,dateObject,type)
	{

	  var now = new Date();
	  year = now.getYear();

	  if (year<=1900) {year = year + 1900;}

	  var y = dateObject.getFullYear()-year;

	  var m = dateObject.getMonth();     // integer, 0..11
	  var dd = dateObject.getDate();      // integer, 1..31

	  form.allow_change.value='false';
	  if (type=='cal_arrival')
	  	{
	  	  setDays(form.arrivalDay,dateObject.getFullYear(),dateObject.getMonth());
		  form.arrivalDay.selectedIndex = dd-1;
		  form.arrivalMonth.selectedIndex = m;
		  form.arrivalYear.selectedIndex = y;
		}
		else
		{
	  	  setDays(form.departureDay,dateObject.getFullYear(),dateObject.getMonth());
		  form.departureDay.selectedIndex = dd-1;
		  form.departureMonth.selectedIndex = m;
		  form.departureYear.selectedIndex = y;
		}
	   form.allow_change.value='true';
	}


function setDays(selectDay,year,month)
	{

	  selectDay.options.length = 0;
	  var days = new Array(31, ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	  for(i = 0; i < days[month]; i++)
	  {
	    selectDay.options.length = selectDay.options.length + 1;

	    var txt = i + 1;

	    if (i + 1<10) {txt='0'+(i + 1);}

	    selectDay.options[i].value = txt;
	    selectDay.options[i].text = txt;
	  }
	}


function setCalendarToDate(elemID,date) {
	field = document.getElementById(elemID);
	field.value = date.print("%m/%d/%Y");
	}


function changeDates(calendar) {
    // Takes care of changing dates
    if (calendar.dateClicked)
    	{
    	var d = document.MyfidelioSearchForm;
	var field = document.getElementById("cal_arrival");

	if (field == calendar.params.inputField)
		{
		// Set arrival drops to selected date
		setDropDowns(d,calendar.date,"cal_arrival");
		setCalendarToDate("cal_departure",calendar.date);
		}
		else
		{
		setDropDowns(d,calendar.date,"cal_departure");
		}
	checkDays();

  	}
  }

function DateStatusFunc(date, y, m, d) {
	var n = new Date();

	n.setDate(n.getDate()-1);

	if (date<n)
		{
		return true;
		}
		else
		{
		return false;
		}
	};



function changeDropsArrival(calendar) {
	changeDates(calendar);
	}


function changeDropsDeparture(calendar) {
	changeDates(calendar);
	}



function help(id,status) {

		var box=document.getElementById(id);

		if (status=='show' && box!=null) {
			box.className = 'HelpShow';
			}
			else
			{
			box.className = 'HelpHidden';
			}

		}



   var loadedobjects=""
   var rootdomain="http://"+window.location.hostname


   function findcorpid(url,searchval,containerid) {
   		if (searchval.length>1) {
   			ajaxpage2(url+'&findByCompany='+searchval, containerid);
   		}
   }

   function hidecorpid() {
   		document.getElementById('corpidlist').innerHTML='';
   }

   function ajaxpage(url, id){

	   var page_request = false
       var containerid = 'container'+id;
       var contentid = 'content'+id;


	   if (document.getElementById(contentid).innerHTML!='') {
	       show(containerid);
	   	} else {

		      if (window.XMLHttpRequest){ // if Mozilla, Safari etc
			   page_request = new XMLHttpRequest()
		       }
		       else if (window.ActiveXObject){ // if IE
			   try {
			      page_request = new ActiveXObject("Msxml2.XMLHTTP")

			   }
			   catch (e){
			       try{
				   page_request = new ActiveXObject("Microsoft.XMLHTTP")
			       }
			       catch (e){

			       }
			   }
		       }
		       else{
			   return false
		       }


		   page_request.onreadystatechange=function(){
		       loadpage(page_request, contentid);
		   }


		  page_request.open('GET', url+"&containerid="+id, true)
		  page_request.send(null)
		  hide(containerid);
	  }

   }

   function ajaxpage2(url, containerid){

	   var page_request = false


	      if (window.XMLHttpRequest){ // if Mozilla, Safari etc
		   page_request = new XMLHttpRequest()
	       }
	       else if (window.ActiveXObject){ // if IE
		   try {
		      page_request = new ActiveXObject("Msxml2.XMLHTTP")

		   }
		   catch (e){
		       try{
			   page_request = new ActiveXObject("Microsoft.XMLHTTP")
		       }
		       catch (e){

		       }
		   }
	       }
	       else{
		   return false
	       }


	   page_request.onreadystatechange=function(){
	       loadpage(page_request, containerid)
	   }
	  //alert(url);
	  page_request.open('GET', url, true)
	  page_request.send(null)


   }

   function loadpage(page_request, contentrid){

      if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
           if (page_request.responseText!='') {
          	document.getElementById(contentrid).innerHTML=page_request.responseText;
          	//alert(page_request.responseText);
           	}
           }
       }
