function formshowhide(id)
{

        if(id == "flighthotel")
        {
                document.getElementById('flighthotel').style.display = "block";
                document.getElementById('flight').style.display = "none";
                document.getElementById('round').style.display = "none";
                document.getElementById('oneway').style.display = "none";
                document.getElementById('car').style.display = "none";
                document.getElementById('hotel').style.display = "none";
                document.getElementById('topoffer').style.display = "none";
                document.getElementById('_type').value = "flighthotel";
        }
        else if(id == "flight")
        {
                document.getElementById('flighthotel').style.display = "none";
                document.getElementById('flight').style.display = "block";
                document.getElementById('round').style.display = "block";
                document.getElementById('oneway').style.display = "none";
                document.getElementById('car').style.display = "none";
                document.getElementById('hotel').style.display = "none";
                document.getElementById('topoffer').style.display = "none";
                document.getElementById('_type').value = "flight";
        }
        else if(id == "hotel")
        {
                document.getElementById('flighthotel').style.display = "none";
                document.getElementById('flight').style.display = "none";
                document.getElementById('round').style.display = "none";
                document.getElementById('oneway').style.display = "none";
                document.getElementById('car').style.display = "none";
                document.getElementById('hotel').style.display = "block";
                document.getElementById('topoffer').style.display = "none";
                document.getElementById('_type').value = "hotel";
        }
        else if(id == "car")
        {
                document.getElementById('flighthotel').style.display = "none";
                document.getElementById('flight').style.display = "none";
                document.getElementById('round').style.display = "none";
                document.getElementById('oneway').style.display = "none";
                document.getElementById('car').style.display = "block";
                document.getElementById('hotel').style.display = "none";
                document.getElementById('topoffer').style.display = "none";
                document.getElementById('_type').value = "car";
        }
        else if(id == "topoffer")
        {
                document.getElementById('flighthotel').style.display = "none";
                document.getElementById('flight').style.display = "none";
                document.getElementById('round').style.display = "none";
                document.getElementById('oneway').style.display = "none";
                document.getElementById('car').style.display = "none";
                document.getElementById('hotel').style.display = "none";
                document.getElementById('topoffer').style.display = "block";
                document.getElementById('_type').value = "topoffer";
        }
}

function flightformshowhide(id)
{
        if(id == "round")
        {
		document.getElementById("searchroundflight").checked = true;
                document.getElementById('round').style.display = "block";
                document.getElementById('oneway').style.display = "none";

        }
        else if(id == "oneway")
        {
		document.getElementById("searchroundflight").checked = false;
                document.getElementById('round').style.display = "none";
                document.getElementById('oneway').style.display = "block";

        }
}

function resetRoomChildrenFields()
{
	document.getElementById("numrooms").value = 1;
	document.getElementById("children_room_1").value = 0;
	document.getElementById("searchby1").checked = true;
	document.getElementById("searchroundflight").checked = true;
}

function checkSearchFields(searchtype, formid)
{

        if(searchtype == "flighthotel")
        {
		var godate = document.getElementById("godate").value;
		var retdate = document.getElementById("retdate").value;
		var origzone = document.getElementById("origzone").value;
		var destzone = document.getElementById("destzone").value;
		if (isDate(godate) && isDate(retdate) && (origzone != 0) && (destzone != 0) && compareDates(godate,retdate)){
			document.getElementById('errormsg').style.display = 'none';
			document.getElementById(formid).submit();
		}else {
			document.getElementById('errormsg').style.display = 'block';
		}
	}

        if(searchtype == "flight")
        {

		if(document.getElementById("searchroundflight").checked == true) 
		{

			var godate = document.getElementById("godate_flight_round").value;
			var retdate = document.getElementById("retdate_flight_round").value;
			var origzone = document.getElementById("origzone_flight_round").value;
			var destzone = document.getElementById("destzone_flight_round").value;
			if (isDate(godate) && isDate(retdate) && (origzone != 0) && (destzone != 0)){
				document.getElementById('errormsg').style.display = 'none';
				document.getElementById(formid).submit();
			}else {
				document.getElementById('errormsg').style.display = 'block';
			}
		}else{

			var godate = document.getElementById("godate_flight_oneway").value;
			var origzone = document.getElementById("origzone_flight_oneway").value;
			var destzone = document.getElementById("destzone_flight_oneway").value;
			if (isDate(godate) && (origzone != 0) && (destzone != 0)){
				document.getElementById('errormsg').style.display = 'none';
				document.getElementById(formid).submit();
			}else {
				document.getElementById('errormsg').style.display = 'block';
			}
		}
	}

        if(searchtype == "hotel")
        {
		var godate = document.getElementById("godate_hotel").value;
		var retdate = document.getElementById("retdate_hotel").value;
		var destzone = document.getElementById("destzone_hotel").value;
		if (isDate(godate) && isDate(retdate) && (destzone != 0)){
			document.getElementById('errormsg').style.display = 'none';
			document.getElementById(formid).submit();
		}else {
			document.getElementById('errormsg').style.display = 'block';
		}
	}

        if(searchtype == "car")
        {
		var godate = document.getElementById("godate_car").value;
		var retdate = document.getElementById("retdate_car").value;
		var destzone = document.getElementById("destzone_car").value;

		if (isDate(godate) && isDate(retdate) && (destzone != 0)){
			document.getElementById('errormsg').style.display = 'none';
			document.getElementById(formid).submit();
		}else {
			document.getElementById('errormsg').style.display = 'block';
		}
	}

        if(searchtype == "topoffer")
        {
		var godate = document.getElementById("godate_topoffer").value;
		var origzone = document.getElementById("origzone_topoffer").value;
		var destzone = document.getElementById("destzone_topoffer").value;

		if (isDate(godate) && (origzone != 0) && (destzone != 0)){
			document.getElementById('errormsg').style.display = 'none';
			document.getElementById(formid).submit();
		}else {
			document.getElementById('errormsg').style.display = 'block';
		}
	}


}

function isDate(dateStr) {
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) {
		// alert('Please enter correct date as dd/mm/yyyy. Your current selection reads: ' + dateStr);
		return false;
	}

	day = matchArray[1]; // p@rse date into variables
	month = matchArray[3];
	year = matchArray[5];

	if (month < 1 || month > 12) { // check month range
		alert('Month must be between 1 and 12.');
		return false;
	}

	if (day < 1 || day > 31) {
		alert('Day must be between 1 and 31.');
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert('Month '+month+' doesn`t have 31 days!');
		return false;
	}

	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			alert('February ' + year + ' doesn`t have ' + day + ' days!');
			return false;
		}
	}
	return true; // date is valid
}

function compareDates(d1,d2)
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var matchArray = d1.match(datePat); 
	day1 = matchArray[1]; 
	month1 = matchArray[3] - 1;
	year1 = matchArray[5];

	matchArray = d2.match(datePat); 
	day2 = matchArray[1]; 
	month2 = matchArray[3] - 1;
	year2= matchArray[5];

	var date1 = new Date(year1,month1,day1);
	var date2 = new Date(year2,month2,day2);
	var date1Comp = date1.getTime(); // milliseconds
	var date2Comp = date2.getTime();

	if (date1Comp < date2Comp)
	{
		return true;
	}
	return false;
}

// flight + hotel
function showBirthMask(room){
         var children = document.getElementById('children_room_'+room).value * 1;
         var output = ' ';
         for (var i=1; i <= children; i++){
                var tmp = document.getElementById('birth_mask').innerHTML;
                var tmp2 = tmp.replace(/\{rrr\}/gi,room);
                output += tmp2.replace(/\{ccc\}/gi,i);
         }
         document.getElementById('birth_mask_sel_children_'+room).innerHTML = '';
         document.getElementById('birth_children_'+room).innerHTML = output;
}

function showAdultsChildrenMask(){
         var numrooms = document.getElementById('numrooms').value * 1;
         var output = ' ';
         for (var i=2; i <= numrooms; i++){
                var tmp = document.getElementById('adults_children_mask').innerHTML;
                output += tmp.replace(/\{rrr\}/gi,i);
         }

         document.getElementById('adults_children_mask_sel').innerHTML = '';
         document.getElementById('adults_children').innerHTML = output;
}
// hotel
function showBirthMaskHotel(room){
         var children = document.getElementById('children_room_hotel_'+room).value * 1;
         var output = ' ';
         for (var i=1; i <= children; i++){
                var tmp = document.getElementById('birth_mask_hotel').innerHTML;
                var tmp2 = tmp.replace(/\{rrr\}/gi,room);
                output += tmp2.replace(/\{ccc\}/gi,i);
         }
         document.getElementById('birth_mask_sel_children_hotel_'+room).innerHTML = '';
         document.getElementById('birth_children_hotel_'+room).innerHTML = output;
}

function showAdultsChildrenMaskHotel(){
         var numrooms = document.getElementById('numrooms_hotel').value * 1;
         var output = ' ';
         for (var i=2; i <= numrooms; i++){
                var tmp = document.getElementById('adults_children_mask_hotel').innerHTML;
                output += tmp.replace(/\{rrr\}/gi,i);
         }

         document.getElementById('adults_children_mask_sel_hotel').innerHTML = '';
         document.getElementById('adults_children_hotel').innerHTML = output;
}
// flights
function showBirthMaskFlightRound(){

         var children = document.getElementById('children_flight_round').value * 1;
         var output = ' ';

         for (var i=1; i <= children; i++){
                var tmp = document.getElementById('birth_mask_flight_round').innerHTML;
                output += tmp.replace(/\{ccc\}/gi,i);
         }
         document.getElementById('birth_mask_sel_children_flight_round').innerHTML = '';
         document.getElementById('birth_children_flight_round').innerHTML = output;
}

function showBirthMaskFlightOneWay(){

         var children = document.getElementById('children_flight_oneway').value * 1;
         var output = ' ';

         for (var i=1; i <= children; i++){
                var tmp = document.getElementById('birth_mask_flight_oneway').innerHTML;
                output += tmp.replace(/\{ccc\}/gi,i);
         }
         document.getElementById('birth_mask_sel_children_flight_oneway').innerHTML = '';
         document.getElementById('birth_children_flight_oneway').innerHTML = output;
}

function showBirthMaskTopOffer(){
         var children = document.getElementById('children_topoffer').value * 1;
         var output = ' ';
         for (var i=1; i <= children; i++){
                var tmp = document.getElementById('birth_mask_topoffer').innerHTML;
                output += tmp.replace(/\{ccc\}/gi,i);
         }
         document.getElementById('birth_mask_sel_children_topoffer').innerHTML = '';
         document.getElementById('birth_children_topoffer').innerHTML = output;
}
