function displayGallery(url)
{
	window.open(url, 'w1', 'top=50,  left=200, toolbar=no, resizable=no, width=590, height=445, directories=no, status=no,  menubar=no');
}

var http_request = false;
var http_request2 = false;

function toggleServiceType(selectElement, basketId)
{
	var arrivalName = "arrivalInfo["+basketId+"]";
	var departureName = "departureInfo["+basketId+"]";
	var selectedValue = selectElement.value;
	
	if (selectedValue == 'ArriveOnly' || selectedValue == 'PickUpOnly')
	{
		$('tr[name='+arrivalName+']').show();
		$('tr[name='+departureName+']').hide();
	}
	if (selectedValue == 'DepartureOnly' || selectedValue == 'DropOffOnly')
	{
		$('tr[name='+arrivalName+']').hide();
		$('tr[name='+departureName+']').show();
	}
	if (selectedValue == 'BothWays' || selectedValue == 'FullTransfer')
	{
		$('tr[name='+arrivalName+']').show();
		$('tr[name='+departureName+']').show();
	}
}
function toggleServiceType2(selectElement, basketId)
{
	var selectedValue = selectElement.value;
	var arriveElements, element;
	var departureElements;

	var trs =  document.getElementsByTagName("tr");
	
	
	var arrivalName = "arrivalInfo["+basketId+"]";
	var departureName = "departureInfo["+basketId+"]";
	
	$('tr[name='+arrivalName+']').hide();
	
	var arriveDisplay = 1;
	var departureDisplay = 1;

	if (selectedValue == 'ArriveOnly' || selectedValue == 'PickUpOnly')
	{
		arriveDisplay = 1;
		departureDisplay = 0;
	}
	if (selectedValue == 'DepartureOnly' || selectedValue == 'DropOffOnly')
	{
		arriveDisplay = 0;
		departureDisplay = 1;
	}
	if (selectedValue == 'BothWays' || selectedValue == 'FullTransfer')
	{
		arriveDisplay = 1;
		departureDisplay = 1;
	}
alert(trs.length);
	for(var i = 0 ; i < trs.length ; i++ )
	{
		element = trs[ i ];
		if (element.name == arrivalName)
		{		
			if (arriveDisplay)
			{
				element.style.visibility = 'visible';
				element.style.display = '';
			}
			else
			{
				element.style.visibility = 'hidden';
				element.style.display = 'none';
			}
		}
		if (element.name == departureName)
		{		
			if (departureDisplay)
			{
				element.style.visibility = 'visible';
				element.style.display = '';
			}
			else
			{
				element.style.visibility = 'hidden';
				element.style.display = 'none';
			}
		}
		
	}
}

function commitTravelerName(travelerName, url)
{

	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		return false;
	}
	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				//document.getElementById("form1").submit();
				//RequestData=http_request.responseText.split("=>");
				return true;
				//for(var i=0;i<RequestData.length;i+=2)
				{
					//var elemid=RequestData[i]+HotelId;
					//if (document.getElementById(elemid))
					//document.getElementById(elemid).innerHTML=RequestData[1+i];

				}
				//	document.getElementById('selectCity').innerHTML=http_request2.responseText;
			} else {
				return false;
			}
		}

	}
	var additionalParams = '';
	if (document.getElementById("AccountAddress"))
	{
		additionalParams += "AccountId=" + document.getElementById("AccountId").value + "&";
		additionalParams += "AccountAddress=" + document.getElementById("AccountAddress").value + "&";
		additionalParams += "AccountFirstName=" + document.getElementById("AccountFirstName").value + "&";
		additionalParams += "AccountLastName=" + document.getElementById("AccountLastName").value + "&";
		additionalParams += "AccountEmail=" + document.getElementById("AccountEmail").value + "&";
		additionalParams += "AccountCountry=" + document.getElementById("AccountCountry").value + "&";
		additionalParams += "AccountCity=" + document.getElementById("AccountCity").value + "&";
		additionalParams += "AccountPhoneHome=" + document.getElementById("AccountPhoneHome").value + "&";
	}
	if (http_request.overrideMimeType)
	http_request.overrideMimeType('text/plain');
	http_request.open('GET', url+"&update=1&TravelerName="+travelerName+"&"+additionalParams+"&ajax=1&OrderId="+orderId, false);
	http_request.send(null);
}



function submitTheFormAndPay2(noreturn)
{

	if (submitTheForm())
	{
		updateBasket(0);

		document.getElementById("payment_form").submit();
		//document.payment_form.submit();
	}
	else
	{

	}
}

function submitTheFormAndPay(noreturn)
{

	if (submitTheForm())
	{
		document.form1.submit();
	}
	else
	{

	}
}

function validatePhone(phoneNumber) {
	var reg = /^([\+0-9 \-\(\)])+$/;

	if(reg.test(phoneNumber) == false) {
		return false;
	}
	return true;
}
function validateEmail(address) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if(reg.test(address) == false) {
		return false;
	}
	return true;
}

function submitTheForm()
{
	var error = 0;
	var element;
	var inputElements = document.getElementsByTagName('input');
	for ( var i = 0 ; i < inputElements.length; i++ )
	{
		try
		{
			element = inputElements[i];
			if ( $(element).is(':visible') && (element.value == '') && element.name!='P_SIGN' )
			{
				element.focus();
				//alert(element.style.visibility);
				alert("Please fill in all necessary fields!");
				return false;
			}
		}
		catch(e){
			
		}
		
	}

	if (!validateEmail(document.getElementById('AccountEmail').value))
	{
		alert("Invalid email format!");
		return false;
	}

	if (!validatePhone(document.getElementById('AccountPhoneHome').value))
	{
		alert("Invalid phone number format!");
		return false;
	}

	commitTravelerName(document.getElementById('TravelerNameInput').value,'/booking_conditions.html?&goneToPay=1');
	return true;
}

function validateDate(startDateElement, endDateElement)
{
	var checkIn = document.getElementById(startDateELement).value;
	var checkOut = document.getElementById(endDateElement).value;
	var todayDate = document.getElementById("TODAY").value;

	var checkInTS = getDateFromFormat(checkIn + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
	var checkOutTS = getDateFromFormat(checkOut + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
	var todayTS = getDateFromFormat(todayDate + ' 00:00:00','dd.MM.yyyy HH:mm:ss');

	if ( checkInTS < todayTS )
	{
		alert('You can not select a date before today!');
		document.getElementById(startDateElement).value = todayDate;

		return false;
	}
	if ( checkOutTS <= todayTS )
	{
		alert('You can not select a date before tomorrow!');

		var date1 = new Date( 86400000 + 1 * todayTS);
		document.getElementById(endDateElement).value = formatDate(date1,'dd.MM.yyyy');

		return false;
	}
	if ( checkInTS >= checkOutTS )
	{
		var date1 = new Date(86400000 + 1 * checkInTS);
		document.getElementById(endDateElement).value = formatDate(date1,'dd.MM.yyyy');

		return false;
	}

	return true;
}

function checkPeriod()
{
	if (document.getElementById('CheckInId') && document.getElementById('CheckOutId'))
	{
		var checkInTS = getDateFromFormat(document.getElementById('CheckInId').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
		var checkOutTS = getDateFromFormat(document.getElementById('CheckOutId').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
		var todayTS = getDateFromFormat(document.getElementById('todayDate').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
	
		if ( checkInTS < todayTS )
		{
			alert('You can not select a date before today!');
			document.getElementById('CheckInId').value = document.getElementById('todayDate').value;
		}
		if ( checkOutTS <= todayTS )
		{
			alert('You can not select a date before tomorrow!');
	
			var date1 = new Date(86400000 + 1 * getDateFromFormat(document.getElementById('todayDate').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss'));
			document.getElementById('CheckOutId').value = formatDate(date1,'dd.MM.yyyy');
	
			//		document.getElementById('CheckOutId').value=document.getElementById('todayDate').value;
		}
		if ( checkInTS >= checkOutTS )
		{
			var date1 = new Date(86400000 + 1 * getDateFromFormat(document.getElementById('CheckInId').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss'));
			document.getElementById('CheckOutId').value = formatDate(date1,'dd.MM.yyyy');
		}
	}
}

function checkCustomPeriod(checkInId,checkOutId)
{
	var checkInTS = getDateFromFormat(document.getElementById(checkInId).value + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
	var checkOutTS = getDateFromFormat(document.getElementById(checkOutId).value + ' 00:00:00','dd.MM.yyyy HH:mm:ss');
	var todayTS = getDateFromFormat(document.getElementById('todayDate').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss');

	var result = true;
	if ( checkInTS < todayTS )
	{
		alert('You can not select a date before today!');
		document.getElementById(checkInId).value=document.getElementById('todayDate').value;

		result = false;
	}
	if ( checkOutTS <= todayTS )
	{
		alert('You can not select a date before tomorrow!');

		var date1 = new Date(86400000 + 1 * getDateFromFormat(document.getElementById('todayDate').value + ' 00:00:00','dd.MM.yyyy HH:mm:ss'));
		document.getElementById(checkOutId).value = formatDate(date1,'dd.MM.yyyy');

		result = false;
	}
	if ( checkInTS >= checkOutTS )
	{
		var date1 = new Date(86400000 + 1 * getDateFromFormat(document.getElementById(checkInId).value + ' 00:00:00','dd.MM.yyyy HH:mm:ss'));
		document.getElementById(checkOutId).value = formatDate(date1,'dd.MM.yyyy');

		result = false;
	}
	return result;
}


var http_request = false;

function updateBasket( goneToPay )
{
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		//http_request.setRequestHeader("Content-Type", "text/html")
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		return false;
	}

	http_request.onreadystatechange = function()
	{
		if (http_request.readyState == 4)
		{
			if (http_request.status == 200)
			{
				var xmlDoc = http_request.responseXML;

				var fields = xmlDoc.getElementsByTagName("BASKET_ITEM");
				var amountElement;
				for(var i = 0; i < fields.length; i++ )
				{
					amounElementId = fields[i].getAttribute("name");

					amountElement = document.getElementById( amounElementId );

					if (amountElement)
					{
						amountElement.innerHTML = fields[i].getAttribute("value");
					}
				}


				var fields = xmlDoc.getElementsByTagName("OCS_XML_REQUEST");
				var amountElement;
				for(var i = 0; i < fields.length; i++ )
				{
					amounElementId = fields[i].getAttribute("name");

					amountElement = document.getElementById( amounElementId );

					if (amountElement)
					{
						amountElement.value = fields[i].getAttribute("value");
					}
				}
			}
			else
			{
				return false;
			}
		}
	}

	var url = "/booking_conditions.html?getCost=1";

	if (goneToPay) url += "&goneToPay=1";

	var parameters = '';
	var inputElements = document.getElementsByTagName("input");
	var selectElements = document.getElementsByTagName("select");

	for(var i=0;i<inputElements.length;i++)
	{
		parameters += "&" + inputElements[i].getAttribute('name') + "=" + inputElements[i].value;
	}
	for(var i=0;i<selectElements.length;i++)
	{
		parameters += "&" + selectElements[i].getAttribute('name') + "=" + selectElements[i].value;
	}


	http_request.open("POST", url, true);

	//Send the proper header information along with the request
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");

	if (http_request.overrideMimeType)
	{
		http_request.overrideMimeType('text/xml');
	}
	http_request.send(parameters);
}

