function ShowFreesearchHelp ()
{
	if (document.getElementById("FreeSearchHelp").style.display == "block")
	{
		document.getElementById("FreeSearchHelp").style.display = "none";
		return;
	}

	document.getElementById("FreeSearchHelp").style.display = "block";
}	

function AjaxCalendarDepart (monthYear, TourUID, TourNumber, blockHide, currency)
{
        if (document.getElementById("DepartingMatches").style.display == "block" && blockHide != "1")
        {
                document.getElementById("DepartingMatches").style.display = "none";
                return;
        }

        ajaxCalendarDepartRequest = initCalendarAjax();

        if (ajaxCalendarDepartRequest == null)
        {
                //fail silently... ?
                return;
        }

        ajaxCalendarDepartRequest.onreadystatechange = function()
        {
                if(ajaxCalendarDepartRequest.readyState == 4)
                {
                        if ( ajaxCalendarDepartRequest.responseText != "" )
                        {
                                document.getElementById("DepartingMatches").style.display = "block";
                                document.getElementById("DepartingMatches").innerHTML = ajaxCalendarDepartRequest.responseText;
                        }
                        else
                        {
                                document.getElementById("DepartingMatches").style.display = "none";
                        }
                }
                else
                {
                        //document.getElementById("DepartingMatches").style.display = "none";
                }
        }

        var url = "/tours/TourCalendar.php?type=depart&monthYear="+monthYear+"&TourUID="+TourUID+"&TourNumber="+TourNumber+"&Currency="+currency;

	ajaxCalendarDepartRequest.open("GET", url, true);
        ajaxCalendarDepartRequest.send(null);
}

function AjaxCalendarArrive (monthYear)
{
	if (document.getElementById("ArrivingMatches").style.display == "block")
	{
		document.getElementById("ArrivingMatches").style.display = "none";
		return;
	}

	ajaxCalendarArriveRequest = initCalendarAjax();

        if (ajaxCalendarArriveRequest == null)
        {
		//fail silently... ?
                return;
        }

        ajaxCalendarArriveRequest.onreadystatechange = function()
        {
                if(ajaxCalendarArriveRequest.readyState == 4)
                {
			if ( ajaxCalendarArriveRequest.responseText != "" )
			{
				document.getElementById("ArrivingMatches").style.display = "block";
	                        document.getElementById("ArrivingMatches").innerHTML = ajaxCalendarArriveRequest.responseText;
			}
			else
			{
				document.getElementById("ArrivingMatches").style.display = "none";
			}
                }
		else
		{
			document.getElementById("ArrivingMatches").style.display = "none";
		}
        }

        var url = "/tours/TourCalendar.php?type=arrive&monthYear="+monthYear;

        ajaxCalendarArriveRequest.open("GET", url, true);
        ajaxCalendarArriveRequest.send(null);
}

function initCalendarAjax()
{
        //function to create and return a XMPHTTP object
        var ajaxCalendarRequest;
        ajaxCalendarRequest = false;
        try
        {
                // create Opera 8.0+/Firefox/Safari XMPHTTP object
                ajaxCalendarRequest = new XMLHttpRequest();
                return ajaxCalendarRequest;
        }
        catch (e)
        {
                // try creating IE object if above fails
                try
                {
                        ajaxCalendarRequest = new ActiveXObject("Msxml2.XMLHTTP");
                        return ajaxCalendarRequest;
                }
                catch (e)
                {

                        try
                        {
                                ajaxCalendarRequest = new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        catch (e)
                        {
                                //browser doesn't support ajax
                                return false;
                        }
                }
        }
        return;
}

function setCalendarArriveAjax (val)
{
	document.getElementById("ArrivingMatches").style.display = "none";
	document.getElementById("Arriving").value = val;
}

function setCalendarDepartAjax (val, price, deposit, currencyVal)
{
	
	document.getElementById("DepartingMatches").style.display = "none";
	//document.getElementById("Departing").value = val;
	document.theForm.TourDate.value = val;
	document.theForm.DepositValue.value = deposit;
	document.theForm.PriceValue.value = price;
	//document.getElementById("SelDate").innerHTML= val;
	
	guests = document.theForm.Persons.options[document.theForm.Persons.selectedIndex].value;
	
	price = price * guests;
	deposit = deposit * guests;
	
	price = roundNumber(price,2);
    deposit = roundNumber(deposit,2);
    
	
  if(price > 0.00) {
	  document.getElementById("TotalPrice").innerHTML= "Total Price: <b>"+currencyVal+""+price+" //</b>";
	  document.getElementById("hwTourStartDateTxt").value = val;
	  document.getElementById("Deposit").innerHTML= "Payable Now: <b>"+currencyVal+""+deposit+"</b>";
  }
}

function setGuestPrice(guests, currency) {	
  
  Price = document.theForm.PriceValue.value * guests;
  
  var DepositVal = document.theForm.DepositValue.value * guests;

  if ( currency == "EUR" ) {
    currencyVal = "&euro;";
  } else if ( currency == "GBP" ) {
    currencyVal = "&pound;";
  } else if ( currency == "USD" ) {
    currencyVal = "$";
  } else {
    currencyVal = currency+" ";
  }

  
  Price = roundNumber(Price,2);
  
  DepositVal = roundNumber(DepositVal,2);
  	
  document.getElementById("TotalPrice").innerHTML= "Total Price: "+currencyVal+""+Price;
  document.getElementById("Deposit").innerHTML= "Payable Now: "+currencyVal+""+DepositVal;	
}

function calcPrices(currency, TourUID, TourNumber) {
  var date = document.getElementById('hwTourStartDateTxt').value;

  if(!date) {
    return false;
  }

  var url = "/tours/TourCalendar.php?mode=price&Currency="+currency+"&Date="+date+"&TourNumber="+TourNumber+"&TourUID="+TourUID;
  var conn = initCalendarAjax();
 
  if(!conn) {
    return false;
  }

  conn.onreadystatechange = function() 
  {
    if(conn.readyState == 4)
    {
      if ( conn.responseText != "" )
      {
        bits = conn.responseText.split(":");
        setCalendarDepartAjax (date, bits[1], bits[2], bits[0]);
      }
      else
      {
      }
    }
    else
    {
    }
  }

	conn.open("GET", url, true);
  conn.send(null);
}

function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	
	return formatCurrency(result);
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (num + '.' + cents);
}
