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("searchby3").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 submitForm(formid)
{
        document.getElementById(formid).submit();
}

function checkSearchFieldsHb(searchtype, formid)
{
        var godate = document.getElementById("godate_"+searchtype).value;
        var retdate = document.getElementById("retdate_"+searchtype).value;
        var destzone = document.getElementById("destzone_"+searchtype).value;
         if (godate !='gg/mm/aaaa' && retdate!='gg/mm/aaaa'  && (destzone != 0)){
                document.getElementById('errormsg').style.display = 'none';
                return true;
        }else {
                document.getElementById('errormsg').style.display = 'block';
                return false;
        }
        return false;
}

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;
}

//
var hotelopened;
hotelopened=0;
function showhiderooms(num, count){
    if(hotelopened==num){
                document.getElementById('detailshotel'+num).style.display = "none";
                hotelopened=0;
    }
    else{
        for (var i=1; i <= count; i++){
                if(num == i){
                        document.getElementById('detailshotel'+num).style.display = "block";
                        hotelopened=num;
                }
                else{
                        document.getElementById('detailshotel'+i).style.display = "none";
                }
        }
    }
    return false;
}
