

document.write("<script type=\"text/javascript\" src=\"/js/inet-date.js\"></script>");
document.write("<script type=\"text/javascript\" src=\"/js/jquery.selectboxes.js\"></script>");

/****** DOC INIT *******/

$(document).ready(function() {
    JH.initForm();
    initCols();
    initModal();
    initTabs();
    initLoginForm();
});

function initModal() {
    $("input.button").click(function() {
        if (!$("#dialog").hasClass("derror")) {
            $("#dialog").dialog({
			    bgiframe: true,
			    modal: true,
			    width: 200,
			    minHeight: 0
		    });
		}
    });
}

function searchsubmit() {
    $("#searchfrm").submit();
}

function bookingsubmit() {
    $("#bookingfrm").submit();
}

function setstate(state) {
    $("#state").val(""+ state +"");
}

function getstate() {
    return str2int($("#state").val());
}

/****** CALENDAR/SEARCH *******/

var JH = {};

JH.maxVisitors = 10;

JH.DT_MIN_YEAR = (new Date()).getFullYear();
JH.DT_MAX_YEAR = JH.DT_MIN_YEAR + 2;

JH.legalDates = ["2012-03-22", "2012-03-23", "2012-03-24", "2012-03-30", "2012-03-31", "2012-04-01", "2012-04-02", "2012-04-04", "2012-04-05", "2012-04-06", "2012-04-09", "2012-04-10", "2012-04-11", "2012-04-12", "2012-04-13", "2012-04-15", "2012-04-16", "2012-04-17", "2012-04-18", "2012-04-19", "2012-04-20", "2012-04-22", "2012-04-23", "2012-04-24", "2012-04-25", "2012-04-26", "2012-04-27", "2012-04-29", "2012-04-30", "2012-05-01", "2012-05-03", "2012-05-04", "2012-05-06", "2012-05-07", "2012-05-08", "2012-05-09", "2012-05-10", "2012-05-11", "2012-05-13", "2012-05-14", "2012-05-16", "2012-05-18", "2012-05-21", "2012-05-22", "2012-05-23", "2012-05-24", "2012-05-25", "2012-05-27", "2012-05-28", "2012-05-29", "2012-05-30", "2012-05-31", "2012-06-01", "2012-06-03", "2012-06-04", "2012-06-05", "2012-06-06", "2012-06-07", "2012-06-08", "2012-06-10", "2012-06-11", "2012-06-12", "2012-06-13", "2012-06-14", "2012-06-15", "2012-06-17", "2012-06-18", "2012-06-19", "2012-06-20", "2012-06-21", "2012-06-22", "2012-06-24", "2012-06-25", "2012-06-26", "2012-06-27", "2012-06-28", "2012-06-29", "2012-06-30", "2012-07-01", "2012-07-02", "2012-07-03", "2012-07-04", "2012-07-05", "2012-07-06", "2012-07-07", "2012-07-08", "2012-07-09", "2012-07-10", "2012-07-11", "2012-07-12", "2012-07-13", "2012-07-14", "2012-07-15", "2012-07-16", "2012-07-17", "2012-07-18", "2012-07-19", "2012-07-20", "2012-07-21", "2012-07-22", "2012-07-23", "2012-07-24", "2012-07-25", "2012-07-26", "2012-07-27", "2012-07-28", "2012-07-29", "2012-07-30", "2012-07-31", "2012-08-01", "2012-08-02", "2012-08-03", "2012-08-04", "2012-08-05", "2012-08-06", "2012-08-07", "2012-08-08", "2012-08-09", "2012-08-10", "2012-08-11", "2012-08-12", "2012-08-13", "2012-08-14", "2012-08-15", "2012-08-16", "2012-08-17", "2012-08-19", "2012-08-20", "2012-08-21", "2012-08-22", "2012-08-23", "2012-08-24", "2012-08-26", "2012-08-27", "2012-08-28", "2012-08-29", "2012-08-30", "2012-08-31", "2012-09-02", "2012-09-03", "2012-09-04", "2012-09-05", "2012-09-06", "2012-09-07", "2012-09-09", "2012-09-10", "2012-09-11", "2012-09-12", "2012-09-13", "2012-09-14", "2012-09-17", "2012-09-18", "2012-09-19", "2012-09-20", "2012-09-21", "2012-09-24", "2012-09-25", "2012-09-26", "2012-09-27", "2012-09-28", "2012-10-01", "2012-10-02", "2012-10-03", "2012-10-04", "2012-10-05", "2012-10-08", "2012-10-09", "2012-10-10", "2012-10-11", "2012-10-12", "2012-10-13", "2012-10-14", "2012-10-15", "2012-10-18", "2012-10-19"];

JH.date2str = function(dt) {
    var y = dt.getFullYear();
    var m = dt.getMonth() + 1;
    var d = dt.getDate();
    return y + "-" + (m < 10 ? "0" : "") + m + "-" + (d < 10 ? "0" : "") + d;
};

JH.date2istr = function(dt) {
    var y = dt.getFullYear();
    var m = dt.getMonth() + 1;
    var d = dt.getDate();
    return (d < 10 ? "0" : "") + d + "-" + (m < 10 ? "0" : "") + m + "-" + y;
};

JH.str2date = function(s) {
    var rx = /^(\d{4})-(\d{1,2})-(\d{1,2})$/;
    var d = new Date();
    if (s.match(rx)) {
        d.setFullYear(parseInt(s.replace(rx, "$1"), 10), 0, 1);
        d.setMonth(parseInt(s.replace(rx, "$2"), 10) - 1);
        d.setDate(parseInt(s.replace(rx, "$3"), 10));
    }
    else {
        rx = /^(\d{1,2})-(\d{1,2})-(\d{4})$/;
        if (s.match(rx)) {
            d.setFullYear(parseInt(s.replace(rx, "$3"), 10), 0, 1);
            d.setMonth(parseInt(s.replace(rx, "$2"), 10) - 1);
            d.setDate(parseInt(s.replace(rx, "$1"), 10));
        }
        else {
            return JH.str2date(JH.legalDates[0]);
        }
    }
    return d;
};

JH.calendar = null;

JH.hideCalendar = function() {
    if (JH.calendar != null) {
        $("#" + $(JH.calendar).attr("name")).css({
            "top": "0px",
            "left": "-9999px"
        });
        JH.validateDates();
    }
};

JH.positionCalendar = function(obj) {
    if (JH.calendar != null && obj != null) {
        $("#" + $(JH.calendar).attr("name")).css({
            "top": $(obj).offset().top + "px",
            "left": $(obj).offset().left + "px"
        });
    }
};

JH.dtInput = null;

/*JH.validateDates = function() {
    var objArr = $("input.arrival").get(0);
    var objDep = $("input.departure").get(0);
    if ((typeof objArr != "undefined") && (typeof objDep != "undefined")) {
        var dtArr = JH.str2date($(objArr).val());
        var dtDep = JH.str2date($(objDep).val());
        if (dtDep <= dtArr) {
            dtDep = DateAdd("d", 1, dtArr);
        }
        $(objArr).val(JH.date2istr(dtArr));
        $(objDep).val(JH.date2istr(dtDep));
    }
}*/

JH.validateDates = function() {
    var objArr = $("input.arrival").get(0);
    if ((typeof objArr != "undefined")) {
        var dtArr = JH.str2date($(objArr).val()); 
        $(objArr).val(JH.date2istr(dtArr));
    }
}

JH.callbackCalendar = function(objCal) {
    if (objCal != null) {
        if (objCal.dateClicked) {
            if (objCal.isLegalDate(objCal.date)) {
                if (JH.dtInput != null) {
                    $(JH.dtInput).val(JH.date2istr(objCal.date));
                    JH.validateDates();
                }
                JH.hideCalendar();
            }
        }
    }
};

JH.showCalendar = function(obj) {
    if (obj != null && JH.calendar != null) {
        var objIframe = JH.calendar;
        var oIframe = $("#" + $(JH.calendar).attr("name")).get(0);

        JH.dtInput = obj;

        $(obj).blur();

        //Close calendar overlay if uset somewhere else
        JH.hideCalendar();

        var objDoc = (typeof objIframe.document != "undefined" ? objIframe.document : objIframe.contentDocument);
        var objBody = (objDoc != null ? objDoc.body : null);

        if (objBody) {

            if (typeof objIframe.initializeCalendar != "undefined") {
                objIframe.initializeCalendar({
                    flat: "calendarContainer",
                    flatCallback: JH.callbackCalendar,
                    closeCallback: JH.hideCalendar,
                    date: JH.str2date($(obj).val()),
                    weekNumbers: true,
                    showOthers: false,
                    firstDay: 1,
                    legalDates: JH.legalDates,
                    range: [JH.DT_MIN_YEAR, JH.DT_MAX_YEAR]
                });

                $(oIframe).css({
                    "width": objIframe.myWidth + "px",
                    "height": objIframe.myHeight + "px"
                });

                JH.positionCalendar(obj);
            }
        }
    }
};


JH.initCalendar = function() {
    JH.calendar = window.frames["calendarFrame"];

    $("body").click(function() {
        JH.hideCalendar();
    });

    $("input.dt").each(function() {
        var _this = this;

        //Bind clicks on calendar icon to input field:
        var strClass = "";
        if ($(this).hasClass("arrival")) {
            strClass = "arrival";
        }
        else if ($(this).hasClass("departure")) {
            strClass = "departure";
        }

        if (strClass != "") {
            $("img." + strClass).click(function(event) {
                event.stopPropagation();
                $(_this).click();
                return false;
            });
        }

        $(this).focus(function() {
            $(this).click();
        });

        $(this).blur(function(event) {
            var v = $(this).val();
            $(this).val(JH.date2istr(JH.str2date(v)));
        });

        $(this).click(function(event) {
            event.stopPropagation();
            JH.showCalendar(this);
        });
    });


};

JH.initForm = function() {
    var objForm = $("#searchfrm");
    
    if (objForm.length > 0) {
        JH.initCalendar();
        
        //Setup validation for search form:
        var objAdults = objForm.find("select.sel-adults");
        var objChildren = objForm.find("select.sel-children");
        var objBabies = objForm.find("select.sel-babies");
        var objNumUnits = objForm.find("select.sel-numunits");

        if (str2int(objNumUnits.val()) != objAdults.length) { // Handle back click
            objNumUnits.val("1");
        }
        
        
        $(objAdults).bind("change", function() {
            var v = parseInt($(this).selectedValues()[0], 10);
            v = (isNaN(v) ? 0 : v);
            if (v == 0) {
                $(this).val("1");
            }
            var siblingSelect = $(this).parents("tr:first").find("select.sel-children:first");
            var siblingSelect2 = $(this).parents("tr:first").find("select.sel-babies:first");
            var cv = parseInt($(siblingSelect).selectedValues()[0], 10) + parseInt($(siblingSelect2).selectedValues()[0], 10);
            cv = (isNaN(cv) ? 0 : cv);
            if (cv + v > JH.maxVisitors) {
                cv = JH.maxVisitors - v;
                cv = (cv < 0 ? 0 : cv);
                $(siblingSelect).selectOptions("" + cv, true);
                $(siblingSelect2).selectOptions(""+ 0, true);
            } 
        });

        $(objChildren).bind("change", function() {
            var v = parseInt($(this).selectedValues()[0], 10);
            v = (isNaN(v) ? 0 : v);

            var siblingSelect = $(this).parents("tr:first").find("select.sel-adults:first");
            var siblingSelect2 = $(this).parents("tr:first").find("select.sel-babies:first");
            var cv = parseInt($(siblingSelect).selectedValues()[0], 10) + parseInt($(siblingSelect2).selectedValues()[0], 10);
            cv = (isNaN(cv) ? 0 : cv);
            if (cv == 0) {
                $(siblingSelect).selectOptions(""+ 1, true);
                cv = 1;
            }
            if (cv + v > JH.maxVisitors) {
                v = JH.maxVisitors - cv;
            }
            $(this).selectOptions("" + v, true);
        });
        
        $(objBabies).bind("change", function() {
            var v = parseInt($(this).selectedValues()[0], 10);
            v = (isNaN(v) ? 0 : v);

            var siblingSelect = $(this).parents("tr:first").find("select.sel-adults:first");
            var siblingSelect2 = $(this).parents("tr:first").find("select.sel-children:first");
            var cv = parseInt($(siblingSelect).selectedValues()[0], 10) + parseInt($(siblingSelect2).selectedValues()[0], 10);
            cv = (isNaN(cv) ? 0 : cv);
            if (cv == 0) {
                $(siblingSelect).selectOptions(""+ 1, true);
                cv = 1;
            }
            if (cv + v > JH.maxVisitors) {
                v = JH.maxVisitors - cv;
            }
            $(this).selectOptions("" + v, true);
        });
    }
}


/******* MISC FUNCTIONS *******/

function str2int(str) {
	var num = parseInt(str);
	if (isNaN(num)) {
		return 0;
	}
	else {
		return num;
	}
}

function str2float(str) {
	var num = parseFloat(str);
	if (isNaN(num)) {
		return 0;
	}
	else {
		return num;
	}
}

function initCols() {

    $("#personalize .col2").click(function() {
        if ($("#refinesearch").is(":hidden")) {
            $("#refinesearch").slideDown("normal");
            $("#personalize .col2 .down").hide();
            $("#personalize .col2 .up").show();
        } else {
            $("#refinesearch").slideUp("normal");
            $("#personalize .col2 .up").hide();
            $("#personalize .col2 .down").show();
        }
    })

    $(".info").each(function(i) {
        var info = $(this);
        info.find(".tool").click(function() {
            info.toggleClass("closed");
            if (info.is(".closed")) {
                $(this).find(".up").hide();
                $(this).find(".down").show();
                info.find(".tables").slideUp("normal");
            } else {
                $(this).find(".down").hide();
                $(this).find(".up").show();
                info.find(".tables").slideDown("normal");
            }
        })
        //$("this").find(".tool").click(function() {
        //alert(this.parentNode.parentNode.parentNode.parentNode.parentNode.className);
        //$("this").find(".up").show();
        //$("this").find(".down").hide();
        //})
    })

}


function RestrictInt(field) {
    while(field.value[0]==0 && field.value.length>1)
          field.value=field.value.substring(1,field.value.length);
    while (isNaN(field.value))
          field.value=field.value.substring(0,field.value.length-1);
    if (field.value=='') field.value='0';
}

function LimitValue(field, max) {
    if (field.value>10)
          field.value=max;
    if (field.value<0)
          field.value=0;
 }
 
 function formatCurrency(num) {
    num = num.replace(".", ",");
    int = num.split(",")[0];
    cents = num.split(",")[1];
    for (var i = 0; i < Math.floor((int.length-(1+i))/3); i++) {
        int = int.substring(0,int.length-(4*i+3)) +'.'+ int.substring(int.length-(4*i+3));
    }
    return (int +','+ cents);
}


/*** VIEW 0 ***/

function search() {
    
    var objForm = $("#searchfrm");

    var objAdults = objForm.find("select.sel-adults").get(0);
    var objChildren = objForm.find("select.sel-children").get(0);
    var objBabies = objForm.find("select.sel-babies").get(0);
    var arrTypes = objForm.find("input.cb-type");

    var b = true;

    JH.validateDates();

    var c = 0;
    $.each(arrTypes, function(i, n) {
        c += (n.checked ? 1 : 0);
    });

    b = (c < 1 ? false : b);

    var v = 0;
    var ca = parseInt($(objAdults).selectedValues()[0], 10);
    var cc = parseInt($(objChildren).selectedValues()[0], 10);
    var cb = parseInt($(objBabies).selectedValues()[0], 10);

    b = (ca < 1 ? false : b);


    //No type selected: highlight step number
    if (!b) {
        $("#dialog").addClass("derror");
        $("div.type-number").addClass("error");
        $("div.type-number").fadeTo("fast", 0).fadeTo("fast", 1).fadeTo("fast", 0).fadeTo("fast", 1, function() {
            if ($.browser.msie) {
                this.style.removeAttribute('filter');
            }
            $(this).removeClass("error");
        });
    }

    if (b) {
        $("#dialog").removeClass("derror");
        mergeTypes();
        setstate(1);
        searchsubmit();
    }

    return false;
}

function mergeTypes() {
    var arrTypes = $("input.cb-type:checked");
    var inpTypes = $("input#types");
    var strTypes = "";
    var i = 1;
    arrTypes.each(function() {
        strTypes += $(this).attr("id").replace("type", "");
        if (i < arrTypes.length) {
            strTypes += ",";
        }
        i++;
    });
    inpTypes.val(strTypes);
}

function updateNumPersons(numUnits) {
    var numUnitsCur = $("tr.numpersons_row").length;
    var diff = numUnits - numUnitsCur;
    if (diff > 0) {
        for (c = (numUnitsCur + 1); c <= numUnits; c++) {        
            var trToClone = $("tr#numpersons1");
            var trClone = trToClone.clone(true);
            trClone.attr("id", "numpersons"+ c);
            var cAdults = trClone.find("select.sel-adults");
            var cChildren = trClone.find("select.sel-children");
            var cBabies = trClone.find("select.sel-babies");
            cAdults.attr("name", "adults"+ c);
            cAdults.val(2);
            cChildren.attr("name", "children"+ c);
            cChildren.val(2);
            cBabies.attr("name", "babies"+ c);
            cBabies.val(0);
            if (trToClone.siblings(".numpersons_row").length > 0) {
                trToClone.siblings(".numpersons_row:last").after(trClone);
            }
            else {
                trToClone.after(trClone);
            }   
        }
    }
    else if (diff < 0) {
        for (c = numUnitsCur; c > numUnits; c--) {
            $("tr#numpersons"+ c).remove();
        }
    }
}


/*** VIEW 1 ***/

function selectPackage(href) {
    location.href = href;
}


/*** VIEW 2 ***/


function initStreetLists(unitCount, arrSelPackages) {
	var arrA = $("div.streetAll a.toggleall");

	arrA.bind("click", function() {
		var objA = $(this);
		var objRest = objA.parents("div.streetFooter:first").siblings("div.streetNumsRest:first");
		if (objRest.is(":hidden")) {
			objRest.slideDown("normal", function() {
				objA.find("span.showfirst").show();
				objA.find("span.showall").hide();
			});
		}
		else {
			objRest.slideUp("normal", function() {
				objA.find("span.showfirst").hide();
				objA.find("span.showall").show();
			});
		}
		
		return false;
	});

	returnFalseForSafari(arrA);
	
	arrSelUnits = new Array(unitCount);
	var arrInp;
	
	if (unitCount > 1) {
	    
	    arrInp = $(".streetNum input:checkbox");

	    var numCheckedOnInit = arrInp.filter(":checked").length; 
	    if (numCheckedOnInit > 0) { // Handle back clicks
	        arrInp.removeAttr("checked");
	    }
        
        arrInp.bind("click", function() {
            var inp = $(this);
            var numChecked = arrInp.filter(":checked").length;
            
            if (numChecked <= unitCount) {
                if (inp.is(":checked")) {
                    for (var c = 0; c < unitCount; c++) {
                        if (arrSelUnits[c] == undefined) {
                            arrSelUnits[c] = inp.val();
                            $("#ph_"+ inp.val()).html(arrSelPackages[c]);
                            break;
                        }
                    }    
                }
                else {
                    for (var c = 0; c < unitCount; c++) {
                        if (arrSelUnits[c] == inp.val()) {
                            arrSelUnits[c] = undefined;
                            $("#ph_"+ inp.val()).html("");
                            break;
                        }
                    }   
                    
                }
                //alert(arrSelUnits.toString());
                if (numChecked == unitCount) {
                    arrInp.filter(":not(:checked)").attr("disabled", "disabled");
                }
                else {
                    arrInp.removeAttr("disabled");
                }
            }
            
        });
    }
    else {
        arrInp = $(".streetNum input:radio");
        arrInp.bind("click", function() {
            var inp = $(this);
            arrSelUnits[0] = inp.val();
            //alert(arrSelUnits.toString());
        });
    }
}


function setUnit(unitCount) {
    if ($(".streetNum input.selunit").filter(":checked").length == unitCount) { 
        var href = "Default.aspx?state=3&units="+ arrSelUnits.toString();
        location.href = href;
        $("#dialog").removeClass("derror");
    }
    else {
        alert(" "+ unitCount + " "+ (unitCount > 1 ? "" : ""));   
        $("#dialog").addClass("derror");
    }
}


/*** VIEW 3 ***/

function accessories() {

    setstate(4);
    bookingsubmit();
    
}


/*** VIEW 4 ***/


function activities() {
    var proceed = true;
    var errmsg = "";
    
    $("select.selTime").each(function() {
        var arrParams = $(this).attr("id").split("_");
        var actType = arrParams[0];
        var selDate = arrParams[2];
        var totalPersons = 0;
        
        $("input."+ actType +"_inp_"+ selDate).each(function() {
            totalPersons += str2int($(this).val());
        });
        if (totalPersons > 0) {
            if ($(this).val() == "0") {
                errmsg += " "+ selDate +"\n";
                proceed = false;
            }
            else {
                 var objSelected = $("select#"+ $(this).attr("id") +" option:selected");
                 var avail = str2int(objSelected.attr("id").split("_")[3]);
                 if (totalPersons > avail) {
                    errmsg += " "+ selDate +" \n";
                    proceed = false;
                 }
                 var adults = $("input#"+ actType +"_inpAdults_"+ selDate);
                 if (!str2int(adults.val()) > 0) {
                    errmsg += " "+ selDate;
                    proceed = false;
                 }
                 
            }
        } 
    });
    
    if (proceed) {
        $("#dialog").removeClass("derror");
    }
    else {
        $("#dialog").addClass("derror");
        alert(errmsg);
        return false;
    }
    
    setstate(5);
    bookingsubmit(); 
}

function updateprice(v, p, o) {
    var num = (parseInt(v) * p);
    document.getElementById(o).innerHTML = "DKK " + formatCurrency(num.toFixed(2));
}

function updateActAvail(objSel) {
    var objSelect = $(objSel);
    var timeStr = objSelect.val();
    var objSelected = $("select#"+ objSelect.attr("id") +" option:selected");
    var arrParams = objSelected.attr("id").split("_");
    var actType = arrParams[0];
    var dateStr = arrParams[2];
    var avail = arrParams[3];
    var spanAvailNum = $("#"+ actType +"_spanAvailNum_"+dateStr);
    var spanAvail = spanAvailNum.parents("span.spanAvail:first"); 
    if (timeStr != "0") {
        spanAvailNum.html(avail);
        spanAvail.css("visibility", "visible");
    }
    else {
        spanAvail.css("visibility", "hidden");
        spanAvailNum.html("00");
    }
    return false;
}

function updateActPrice(obj) {
    var arrParams = $(obj).attr("id").split("_");
    var actType = arrParams[0];
    var dateStr = arrParams[2];
    var babyCount = str2int($("input#"+ actType +"_inpBabies_"+ dateStr).val());
    var childCount = str2int($("input#"+ actType +"_inpChildren_"+ dateStr).val());
    var adultCount = str2int($("input#"+ actType +"_inpAdults_"+ dateStr).val());
    var babyPrice = str2int($("input#"+ actType +"_babyPrice").val());
    var childPrice = str2int($("input#"+ actType +"_childPrice").val());
    var adultPrice = str2int($("input#"+ actType +"_adultPrice").val());
    var sum = (babyCount * babyPrice) + (childCount * childPrice) + (adultCount * adultPrice);
    var spanPrice = $("span#"+ actType +"_spanPrice_"+ dateStr);
    spanPrice.html(formatCurrency(sum.toFixed(2)));
    
    // Adjust total jungleparty price
    var jpSum = 0;
    $("span.jp_spanPrice").each(function() {
        var thisPrice = str2float($(this).html().replace(".", "").replace(",", "."));
        jpSum += thisPrice;
    });
    var inpJpSum = $("input#jpSum");
    inpJpSum.val(jpSum);
    
    updateActPageSum();
    
    return false;
}


function updateActPageSum() {
    var baseSum = str2float($("input#baseSum").val());
    var jpSum = str2float($("input#jpSum").val());
    var bwSum = str2float($("input#bwSum").val());
    var pageSum = baseSum + jpSum + bwSum;
    
    var spanJpSum = $("span#jp_spanSum");
    spanJpSum.html(formatCurrency(jpSum.toFixed(2)));
    
    var spanBwSum = $("span#bw_spanSum");
    spanBwSum.html(formatCurrency(bwSum.toFixed(2)));
     
    var spanPageSum = $("span#spanPageSum");
    spanPageSum.html(formatCurrency(pageSum.toFixed(2)));
}

/*** VIEW 5 ***/

function customer() {
    var errmsg = "";

    var _form = document.forms['bookingfrm'];

    if (_form.firstname.value == "") {
        errmsg += "\n";
    }
    if (_form.lastname.value == "") {
        errmsg += "\n";
    }
    if (_form.address.value == "") {
        errmsg += "\n";
    }

    if (_form.postcode.value == "") {
        errmsg += "\n";
    }

    if (_form.city.value == "") {
        errmsg += "\n";
    }

    if (_form.countryid.value == "") {
        errmsg += "\n";
    }

    if (_form.tel.value == "" && _form.mob.value == "") {
        errmsg += "\n";
    }

    if (_form.email.value == "") {
        errmsg += "\n";
    }
    else if(! isEmail(_form.email.value)) {
        errmsg += "\n";
    }

    if (!_form.conditions.checked) {
        errmsg += "";
    }

    if (errmsg.length > 0) {
        $("#dialog").addClass("derror");
        alert(errmsg);
        return false;
    }
    else {
        $("#dialog").removeClass("derror");
    }
    
    setstate(6);
    bookingsubmit();
}

function updateDiscount() {
    var errmsg = "";

    var _form = document.forms['discountfrm'];

    if (_form.brochurecode.value == "" && _form.referalcode.value == "") {
        errmsg += "\n";
    }

    if (errmsg.length > 0) {
        $("#dialog").addClass("derror");
        alert(errmsg);
        return false;
    }
    else {
        $("#dialog").removeClass("derror");
    }
    
    _form.submit();
}

function isEmail(s) {
    var rx = /^[a-z0-9\-_\.]*[a-z0-9\-_]@([a-z0-9\-\.])+\.[a-z]{2,4}$/i;
    return s.match(rx);
}




/*** VIEW 6 ***/






/***** CHOOSE PLACE ******/


function initTabs() {
	var oA = $(".tab a");
	oA.bind("click", function() {
		var objA = $(this);
		var objParent = objA.parent(".tab:first");
		var tId = objA.attr("href").substring(1);

		objParent.addClass("selected");
		objParent.siblings(".tab").removeClass("selected");

		$("div.chooseplacecontent").each(function() {
			$(this).css("display", ($(this).attr("id") == tId ? "block" : "none"));
		});

		return false;
	});

	returnFalseForSafari(oA);
}

function returnFalseForSafari(obj) {
	if ($.browser.safari && ($.browser.version.substr(0, 1) == "3")) {
		$.each(obj, function() {
			this.onclick = function() { return false; }
		});
	}
}


/******* LOGIN *******/

function sifr4Thickbox() {
    var font = {
        src: "http://www.jesperhus.dk/site/utils/neo.swf"
    };
    sIFR.activate(font);

    runSifr();

    $(document).ready(function() { setTimeout(runSifr, 100); });

    function runSifr() {
         sIFR.replace(font, {
            selector : "#popup_document h1",
            wmode : "transparent",
            css : {
            ".sIFR-root" : {
            "font-size" : "22px",
            "margin" : "0px",
            "font-weight" : "normal",
            "color" : "#222222"
            }
            },
            tuneHeight : "2"
        });
    }
}

function valLoginForm() {
    var res = true;
    var errMsg = "";
    
    var objForm = $("#loginfrm");
    var arrLabels = objForm.find("label");
    arrLabels.removeClass("error");
    
    if (objForm.length > 0) {
        var objEmail = objForm.find("#loginEmail");
        var objPassword = objForm.find("#loginPassword");
        
        if (!isEmail(objEmail.val())) {
            var objEmailLabel = getLabel(objEmail);
            errMsg = objEmailLabel.html() +"\n";
            objEmailLabel.addClass("error");
        }
        if (!objPassword.val().length > 0) {
            var objPasswordLabel = getLabel(objPassword);
            errMsg += objPasswordLabel.html() +"\n";
            objPasswordLabel.addClass("error");
        }
        if (errMsg.length > 0) {
            errMsg = "\n"+ errMsg;
            res = false;
        }
        
        if (res) {
            objForm.submit();
        }
        else {
            alert(errMsg);
        }
    }
}

function valSendUserInfoForm() {
    var res = true;
    var errMsg = "";
    
    var objForm = $("#senduserinfofrm");
    
    if (objForm.length > 0) {
        var objEmail = objForm.find("#loginEmail");
      
        if (!isEmail(objEmail.val())) {
            errMsg = "\n"+ errMsg;
            res = false;
        }
        if (res) {
            objForm.submit();
        }
        else {
            alert(errMsg);
        }
    }
}

function initLoginForm() {
    var objForm = $("form#loginfrm");
    if (objForm.length > 0) {
        var arrInp = objForm.find("input.text,input.input");
        arrInp.keydown(function(event) {
			if (event.keyCode == 9) {
			    var sibInp = $(this).parents("table:first").find("input.text,input.input[id!="+ $(this).attr("id") +"]:first");
			    if (sibInp.length > 0) {
			        sibInp.focus();
			        return false;
			    }
			}
			else if (event.keyCode == 13) {
			    $("#loginSubmit").click();
			}
		})
    }
}

function getLabel(objElement) {
	return $("label[for="+$(objElement).attr("name")+"]");
}
