$.ajaxSetup({ cache: false });

$(".CornerMe").corner('5px');
$(".CornerTop").corner('top 5px');
$(".CornerBottom").corner('bottom 5px');
$(".CornerMeLarge").corner('10px');

function bookmark_us(url, title) {
    if (window.sidebar) window.sidebar.addPanel(title, url, "");
    else if (window.opera && window.print) {
        var elem = document.createElement('a');
        elem.setAttribute('href', url);
        elem.setAttribute('title', title);
        elem.setAttribute('rel', 'sidebar');
        elem.click();
    } else if (document.all) window.external.AddFavorite(url, title);
}
function dialogueCorner(elementToCorner) {
    if (elementToCorner == undefined) {
        elementToCorner = ".DialogueBoxChild";
    }
    $(elementToCorner).each(function () {
        $(this).corner("round 5px").parent().css('padding', '1px').corner("round 5px");
    });
}
function cycleBannerAdvert(advertContainer, specifiedZone, extraParameters) {
    var loadScript = "../PageScripts/CycleBannerAdvert.php";
    var dataToSend = 'z=' + specifiedZone;
    if (extraParameters != undefined) {
        dataToSend += '&' + extraParameters;
    }
    $.ajax({
        type: "GET",
        async: true,
        url: loadScript,
        data: dataToSend,
        success: function (data) {
            advertContainer.html(data);
        },
        error: function (data) {
            alert('failed to load advert');
        }
    });
}
function handleFlashClick(cbid) {
    var categoryBannerID = cbid.toString();
    handleBannerClick(categoryBannerID);
}
function handleBannerClick(categoryBannerID) {    
    var loadScript = "../PageScripts/DoBannerRedirect.php";
    var dataToSend = "code=" + categoryBannerID;
    $.ajax({
        type: "GET",
        async: false,
        url: loadScript,
        data: dataToSend,
        dataType: 'json',
        success: function (data) {
            var linkType = 0;
            if (data['url'] != undefined) {
                linkType = 1;
            }
            if (data['category'] != undefined) {
                linkType = 2;
            }
            if (data['listing'] != undefined) {
                linkType = 3;
            }
            if (linkType == 0) {
                alert('dont know what to do with this link!');
            } else {
                if (linkType == 1) {
                    window.open(base64.decode(data['url']));
                } else if (linkType == 2) {
                    var pPerPage = 5;
                    var pOffset = 0;
                    var loadScript = "../Pages/ViewSubSubCategory.php";     
                    var dataToSend = "Ref=" + data['category'];
                    dataToSend += "&pOffset=" + pOffset + "&pPerPage=" + pPerPage;
                    var refNumber = str_replace('Ref=', '', dataToSend);
                    var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
                    var panelContent = $("#SiteContent");
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: loadScript,
                        data: dataToSend,
                        beforeSend: function () {
                            panelToRefresh.block({
                                message: '<img src="../Media/Site/Animated/circle2.gif" />',
                                css: {
                                    border: '0px',
                                    backgroundColor: 'transparent'
                                },
                                overlayCSS: {
                                    backgroundColor: '#FFF',
                                    opacity: '0.8'
                                },
                                fadeIn: 500,
                                fadeOut: 300
                            });
                        },
                        success: function (data) {
                            $(this).delay(300, function () {
                                panelContent.html(data);
                                $('html').animate({
                                    scrollTop: 0
                                }, 500);
                                panelToRefresh.unblock();
                                dialogueCorner("#ListingSummaryChild");
                                cycleBannerAdvert($('.BannerTop'), 4, dataToSend + "&type=c");
                            });
                        },
                        error: function (data) {}
                    });
                } else if (linkType == 3) {
                    var loadScript = "../Pages/ViewListingDetails.php";
                    var dataToSend = "Ref=" + data['listing'];
                    var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
                    var panelContent = $("#SiteContent");
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: loadScript,
                        data: dataToSend,
                        beforeSend: function () {
                            panelToRefresh.block({
                                message: '<img src="../Media/Site/Animated/circle2.gif" />',
                                css: {
                                    border: '0px',
                                    backgroundColor: 'transparent'
                                },
                                overlayCSS: {
                                    backgroundColor: '#FFF',
                                    opacity: '0.8'
                                },
                                fadeIn: 500,
                                fadeOut: 300
                            });
                        },
                        success: function (data) {
                            $(this).delay(300, function () {
                                panelContent.html(data);
                                $('html').animate({
                                    scrollTop: 0
                                }, 500);
                                panelToRefresh.unblock();
                                dialogueCorner("#ListingSummaryChild");
                                $(".CornerTop").corner('top 5px');
                                Date.firstDayOfWeek = 0;
                                Date.format = 'dd mmm yyyy';
                                $('.RentalStartDate').datePicker({
                                    clickInput: true,
                                    renderCallback: function ($td, thisDate, month, year) {
                                        var dateString = thisDate.asString();
                                        dateString = dateString.split(' ');
                                        if (dateString[0] > 28) {
                                            $td.addClass('disabled');
                                        }
                                    }
                                });
                                $('.RentalStartDate').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
                                $('.RentalStartDate').dpSetOffset(22, 4);
                                $('.RentalEndDate').datePicker({
                                    clickInput: true,
                                    renderCallback: function ($td, thisDate, month, year) {
                                        var dateString = thisDate.asString();
                                        dateString = dateString.split(' ');
                                        if (dateString[0] > 28) {
                                            $td.addClass('disabled');
                                        }
                                    }
                                });
                                $('.RentalEndDate').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
                                $('.RentalEndDate').dpSetOffset(22, 4);
                                $('#RentalStartDate').bind('dpClosed', function (e, selectedDates) {
                                    var dateStart = selectedDates[0];
                                    if (dateStart) {
                                        dateStart = new Date(dateStart);
                                        $('#RentalEndDate').dpSetStartDate(dateStart.addDays(1).asString());
                                    }
                                });
                                $('#RentalEndDate').bind('dpClosed', function (e, selectedDates) {
                                    var dateFinish = selectedDates[0];
                                    if (dateFinish) {
                                        dateFinish = new Date(dateFinish);
                                        $('#RentalStartDate').dpSetEndDate(dateFinish.addDays(-1).asString());
                                    }
                                });
                                $('a[rel=lightbox]').lightBox({
                                    overlayBgColor: '#132531',
                                    overlayOpacity: '0.8',
                                    imageLoading: '../Media/Site/Animated/circle2.gif',
                                    imageBtnClose: '../Media/Site/Icon/lightbox-close.gif'
                                });
                            });
                        },
                        error: function (data) {}
                    });
                } else {
                    alert('dont know what to do with this link!');
                }
            }
        },
        error: function () {
            alert('click failed');
        }
    });
}
$(document).ready(function () {
    dialogueCorner();    

    
    Date.firstDayOfWeek = 0;
    Date.format = 'dd mmm yyyy';
    $('.RentalStartDate').datePicker({
        clickInput: true,
        renderCallback: function ($td, thisDate, month, year) {
            var dateString = thisDate.asString();
            dateString = dateString.split(' ');
            if (dateString[0] > 28) {
                $td.addClass('disabled');
            }
        }
    });
    $('.RentalStartDate').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
    $('.RentalStartDate').dpSetOffset(22, 4);
    $('.RentalEndDate').datePicker({
        clickInput: true,
        renderCallback: function ($td, thisDate, month, year) {
            var dateString = thisDate.asString();
            dateString = dateString.split(' ');
            if (dateString[0] > 28) {
                $td.addClass('disabled');
            }
        }
    });
    $('.RentalEndDate').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
    $('.RentalEndDate').dpSetOffset(22, 4);
    $('#RentalStartDate').bind('dpClosed', function (e, selectedDates) {
        var dateStart = selectedDates[0];
        if (dateStart) {
            dateStart = new Date(dateStart);
            $('#RentalEndDate').dpSetStartDate(dateStart.addDays(0).asString());
        }
    });
    $('#RentalEndDate').bind('dpClosed', function (e, selectedDates) {
        var dateFinish = selectedDates[0];
        if (dateFinish) {
            dateFinish = new Date(dateFinish);
            $('#RentalStartDate').dpSetEndDate(dateFinish.addDays(0).asString());
        }
    });
    $('#TopSearchTerm').livequery('focus', function () {
        if ($(this).val() == "search for an item") {
            $(this).val('');
            $(this).css('color', '#142632');
        }
    });
    $('#TopSearchLocation').livequery('focus', function () {
        if ($(this).val() == "any town/city") {
            $(this).val('');
            $(this).css('color', '#142632');
        }
    });
    $('#TopSearchTerm').livequery('blur', function () {
        if ($(this).val() == "") {
            $(this).val('search for an item');
            $(this).css('color', '#AEBED1');
        }
    });
    $('#TopSearchLocation').livequery('blur', function () {
        if ($(this).val() == "") {
            $(this).val('any town/city');
            $(this).css('color', '#AEBED1');
            $("#TopSearchLocationHidden").removeAttr('value');
        }
    });
    $('#VehicleSearchLocation').livequery('focus', function () {
        if ($(this).val() == "any town/city") {
            $(this).val('');
        }
    });
    $('#VehicleSearchLocation').livequery('blur', function () {
        if ($(this).val() == "") {
            $(this).val('any town/city');
            $("#VehicleSearchLocationHidden").removeAttr('value');
        }
    });
    $("#LoginBox").livequery('keypress', function (e) {
        if (e.which == 13) {
            $("#Button-Login-Submit").trigger('click');
            return false;
        }
    });
    /*$(".TagCloudTag").livequery(function () {
        $(".TagCloudTag").hover(function () {
            $(this).css({
                'background-color': '#EEEEEE',
                'border-color': '#CCCCCC',
                'color': '#5E6CA7'
            });
        }, function () {
            $(this).css({
                'background-color': 'transparent',
                'border-color': 'transparent',
                'color': '#333333'
            });
        });
    });*/
    $("#Button-Login-Submit").livequery('click', function () {
        $("#LoginPassword").val(base64.encode($("#LoginPassword").val()));
        var loadScript = "../PageScripts/DoLogin.php";
        var dataToSend = $('#LoginBox').serialize();
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                $("#AccountBox").children('.DialogueBoxChild').block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    jQuery.easing.def = "easeInBack";
                    var oldHeight = $("#AccountBox").children().children('.Content').height();
                    $("#AccountBox").css('overflow', 'hidden');
                    if (str_contains(data, "Error: ")) {
                        $("#DialogueErrorMessage").remove();
                        $("<div>").attr('id', 'DialogueErrorMessage').addClass('DialogueErrorMessage').html(data).insertBefore("#LoginBox").corner('5px');
                        $("#AccountBox").children().children('.Content').css('height', 'auto');
                        $("#LoginPassword").val('');
                    } else {
                        $.ajax({
                            type: "GET",
                            async: false,
                            url: "Elements/init.AccountBox.php",
                            data: "AliasID=" + data,
                            success: function (data_accountbox) {
                                $("#AccountBox").html(data_accountbox);
                                dialogueCorner("#AccountBoxChild");
                            }
                        });
                    }
                    var newHeight = $("#AccountBox").children().children('.Content').height();
                    $("#AccountBox").children().children('.Content').css({
                        'height': oldHeight + "px"
                    });
                    $("#AccountBox").css('overflow', 'auto');
                    $("#AccountBox").children().children('.Content').animate({
                        'height': newHeight
                    }, 400, '', function () {
                        $(this).delay(100, function () {
                            jQuery.easing.def = "easeInQuint";
                            $("#AccountBox").unblock();
                        });
                    });
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $("#Button-Logout").livequery('click', function () {
        var loadScript = "../PageScripts/DoLogout.php";
        var dataToSend = $(this).children('.Link').attr('href');
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                $("#AccountBox").children('.DialogueBoxChild').block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    jQuery.easing.def = "easeInBack";
                    var oldHeight = $("#AccountBox").children().children('.Content').height();
                    $("#AccountBox").css('overflow', 'hidden');
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "Elements/init.LoginBox.php",
                        success: function (data_accountbox) {
                            $("#AccountBox").html(data_accountbox);
                            dialogueCorner("#LoginBoxChild");
                        }
                    });
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "Elements/ListingLoginBox.php",
                        success: function (dataLoginBox) {
                            $("#EnquiryLoginBox").html(dataLoginBox);
                        }
                    });
                    var newHeight = $("#AccountBox").children().children('.Content').height();
                    $("#AccountBox").children().children('.Content').css({
                        'height': oldHeight + "px"
                    });
                    $("#AccountBox").css('overflow', 'auto');
                    $("#AccountBox").children().children('.Content').animate({
                        'height': newHeight
                    }, 400, '', function () {
                        $(this).delay(100, function () {
                            jQuery.easing.def = "easeInQuint";
                            $("#AccountBox").unblock();
                        });
                    });
                });
            },
            error: function (data) {}
        });
        return false;
    });   
    $("#TopSearchTerm, #TopSearchLocation").livequery('keypress', function (e) {
        if (e.which == 13) {
            $("#FindButton").trigger('click');
            return false;
        }
    });
    $("#FindButton").livequery('click', function () {
        var loadScript = "../PageScripts/DoSearch.php";
        var dataToSend = $('#TopSearch').serialize();
        var doSearch = false;                          
        if ($("#TopSearchLocationHidden").val() != '' && $("#TopSearchLocationHidden").val() != undefined) {
            doSearch = true;
        } else {
            if ($("#TopSearchTerm").val() != '' && $("#TopSearchTerm").val() != undefined && $("#TopSearchTerm").val() != 'search for an item') {
                if ($("#TopSearchLocation").val() == 'any town/city') {
                    doSearch = true;
                }
            }
        }
        if (doSearch) {
            $.ajax({
                type: "POST",
                async: true,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {
                    jQuery.easing.def = "easeInQuint";
                    $("#SearchLeft").css({
                        'background-image': 'url(../Media/Site/Background/SearchLeft_Open.png)'
                    });
                    $("#FindButton").attr({
                        'src': '../Media/Site/Icon/FindButton_Open.png'
                    });
                    $("#SearchResultsBox").animate({
                        'height': '130px'
                    }, 400, '', function () {
                        $("#SearchResultsContent").animate({
                            'opacity': '0.4'
                        }, 100);
                        $("#SearchResultsBox").block({
                            message: '<img src="../Media/Site/Animated/circle3.gif" />',
                            css: {
                                border: '0px',
                                backgroundColor: 'transparent'
                            },
                            overlayCSS: {
                                opacity: '0.0'
                            },
                            fadeIn: 300,
                            fadeOut: 300
                        });
                    });
                },
                success: function (data) {
                    var thisContainer = $("#SearchResultsBox");
                    jQuery.easing.def = "easeInQuint";
                    var oldHeight = thisContainer.height();
                    $(this).delay(400, function () {
                        $(this).delay(100, function () {
                            thisContainer.html(data);
                            thisContainer.css('height', 'auto');
                            thisContainer.css({
                                'width': '330px'
                            });
                            var newHeight = thisContainer.height();
                            thisContainer.css({
                                'height': oldHeight + "px"
                            });
                            thisContainer.animate({
                                'height': newHeight + "px"
                            }, 300);
                            /*var myColors = [{
                                param: 'color',
                                colorList: ["#AEBED1", "#5C7180"],
                                fps: 16,
                                cycles: 10,
                                duration: 2000
                            }];
                            
                            $("#ExactText").colorBlend(myColors);*/
                            thisContainer.corner("bottom 5px");
                        });
                    });
                },
                error: function (data) {}
            });
        }
        return false;
    });         
    $(".LessLink").livequery('click', function () {
        var refNumber = str_replace('Ref=', '', $(this).attr('href'));
        $('#DivChevron_' + refNumber).trigger('click');
        return false;
    });
    /*$(".MoreLink").livequery('click', function () {
        var refNumber = str_replace('Ref=', '', $(this).attr('href'));
        $('#DivChevron_' + refNumber).trigger('click');
        return false;
    });*/
    $(".CategoryChevron").livequery('click', function () {
        var loadScript = "../PageScripts/FetchAllSubSubCategories.php";
        var dataToSend = $(this).children('a').attr('href');
        var refNumber = str_replace('Ref=', '', dataToSend);
        if ($(this).children('a').hasClass('Show')) {
            var actionToTake = "Show";
        } else {
            var actionToTake = "Hide";
        }
        var thisElement = $(this).children('a');
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend + '&Type=' + actionToTake,
            beforeSend: function () {
                jQuery.easing.def = "easeInQuint";
                if (actionToTake == "Show") {
                    $("#SSCContainer_" + refNumber).block({
                        message: '<img src="../Media/Site/Animated/circle2.gif" />',
                        css: {
                            border: '0px',
                            backgroundColor: 'transparent'
                        },
                        overlayCSS: {
                            backgroundColor: '#FFF',
                            opacity: '0.7',
                            width: '200px'
                        },
                        fadeIn: 300,
                        fadeOut: 200
                    });
                }
            },
            success: function (data) {
                $(this).delay(50, function () {
                    if (actionToTake == "Show") {
                        var thisContainer = $("#SSCContainer_" + refNumber);
                        jQuery.easing.def = "easeInQuint";
                        var oldHeight = thisContainer.height();
                        thisContainer.unblock();
                        $(this).delay(200, function () {
                            thisContainer.html(data);
                            thisContainer.css('height', 'auto');
                            thisContainer.css({
                                'padding-left': '0px',
                                'width': '200px'
                            });
                            var newHeight = thisContainer.height();
                            thisContainer.css({
                                'height': oldHeight + "px"
                            });
                            thisContainer.animate({
                                'height': newHeight + "px"
                            }, 300);
                            thisContainer.corner("bottom 5px");
                        });
                        thisElement.removeClass('Show').addClass('Hide');
                        thisElement.children('img').attr({
                            'src': '../Media/Site/Icon/chevron.png'
                        });
                    } else {
                        var thisContainer = $("#SSCContainer_" + refNumber);
                        jQuery.easing.def = "easeOutBounce";
                        var oldHeight = thisContainer.height();
                        thisContainer.html(data);
                        thisContainer.css('height', 'auto');
                        thisContainer.css({
                            'padding-left': '23px',
                            'width': '180px'
                        });
                        var newHeight = thisContainer.height();
                        thisContainer.css({
                            'height': oldHeight + "px"
                        });
                        thisContainer.animate({
                            'height': newHeight + "px"
                        }, 500);
                        thisElement.removeClass('Hide').addClass('Show');
                        thisElement.children('img').attr({
                            'src': '../Media/Site/Icon/chevron-expand.png'
                        });
                    }
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $("#VehicleSearchLocation").livequery(function () {
        var inputValue;                                            
        $("#VehicleSearchLocation").autocomplete("../PageScripts/FetchSearchLocations.php", {
            loadingClass: "AjaxAutoCompleteLocationSearch2",
            resultsClass: "ac_resultsLocationSearch_New",
            alignPosition: 'right',
            positionOffsetRight: -4,
            selectFirst: true,
            heightOffset: 9,
            widthOffset: 1,
            cacheLength: 0,
            width: 310,
            max: 15,
            delay: 50,
            formatItem: function (row) {
                inputValue = $("#VehicleSearchLocation").val();
                suburbName = row[0];
                cityName = row[1];
                groupName = row[2];
                provName = row[3];
                countryName = row[4];
                suburbID = row[5];
                cityID = row[6];
                groupID = row[7];
                provID = row[8];
                countryID = row[9];
                cityPostCode = row[10];
                suburbPostCode = row[11];
                var output = '';
                var mainLocationName = '';
                var subLocation = '';
                if (!str.is_empty(suburbName) || !str.is_empty(cityName)) {
                    if (!str.is_empty(groupID)) {
                        if (!str.is_empty(suburbID) && suburbID != 0) {
                            mainLocationName = suburbName + ' and surrounds<br /><span style="color: rgb(95,118,156); font-size: 11px; font-weight: bold;">' + groupName + '</span>';
                        } else {
                            mainLocationName = cityName + ' and surrounds<br /><span style="color: rgb(95,118,156); font-size: 11px; font-weight: bold;">' + groupName + '</span>';
                        }
                        output = '<div style="position: relative; color: rgb(19,37,49);"><span style="font-size: 12px; font-weight: bold;">' + mainLocationName + '</span></div><div style="color: #777777; font-size: 10px;">' + provName + ', ' + countryName + '</div>';
                    } else {
                        if (!str.is_empty(suburbID) && suburbID != 0) {
                            mainLocationName = suburbName;
                            subLocation = cityName + " (" + provName + ', ' + countryName + ")";
                        } else {
                            mainLocationName = cityName;
                            subLocation = provName + ', ' + countryName;
                        }
                        output = '<div style="position: relative; color: rgb(19,37,49);"><span style="font-size: 12px; font-weight: bold;">' + mainLocationName + '</span></div><div style="color: #777777; font-size: 10px;">' + subLocation + '</div>';
                    }
                } else {
                    output = '<div>No matches found.</div>';
                }
                return output;
            }
        }).result(function (event, data, formatted) {
            suburbName = data[0];
            cityName = data[1];
            groupName = data[2];
            provName = data[3];
            countryName = data[4];
            suburbID = data[5];
            cityID = data[6];
            groupID = data[7];
            provID = data[8];
            countryID = data[9];
            cityPostCode = data[10];
            suburbPostCode = data[11];
            if (str.is_empty(suburbName)) {
                $(this).val(cityName);
            } else {
                $(this).val(suburbName);
            }
            var locationCode;
            if (!str.is_empty(groupID)) {
                locationCode = "G" + groupID;
                if (!str.is_empty(suburbID) && suburbID != 0) {
                    locationCode += ":S" + suburbID;
                } else {
                    locationCode += ":C" + cityID;
                }
            } else {
                if (!str.is_empty(suburbID) && suburbID != 0) {
                    locationCode = "S" + suburbID;
                } else {
                    locationCode = "C" + cityID;
                }
            }
            $("#VehicleSearchLocationHidden").val(locationCode);
        });
    });
    $("#TopSearchLocation").livequery(function () {
        var inputValue;
        $("#TopSearchLocation").autocomplete("../PageScripts/FetchSearchLocations.php", {
            loadingClass: "AjaxAutoCompleteLocationSearch",
            resultsClass: "ac_resultsLocationSearch_New",
            minChars: 5,
            alignPosition: 'right',
            positionOffsetRight: -4,
            selectFirst: true,
            heightOffset: 9,
            widthOffset: 1,
            cacheLength: 0,
            width: 310,
            max: 15,
            delay: 50,
            formatItem: function (row) {
                inputValue = $("#TopSearchLocation").val();
                suburbName = row[0];
                cityName = row[1];
                groupName = row[2];
                provName = row[3];
                countryName = row[4];
                suburbID = row[5];
                cityID = row[6];
                groupID = row[7];
                provID = row[8];
                countryID = row[9];
                cityPostCode = row[10];
                suburbPostCode = row[11];
                var output = '';
                var mainLocationName = '';
                var subLocation = '';
                if (suburbName == 'manylocations') {
                    output = '<div style="font-weight: bold; color: #A32800;">Found too many results, please be more specific!</div>';
                } else if (!str.is_empty(suburbName) || !str.is_empty(cityName)) {
                    if (!str.is_empty(groupID)) {
                        if (!str.is_empty(suburbID) && suburbID != 0) {
                            mainLocationName = suburbName + ' and surrounds<br /><span style="color: rgb(95,118,156); font-size: 11px; font-weight: bold;">' + groupName + '</span>';
                        } else {
                            mainLocationName = cityName + ' and surrounds<br /><span style="color: rgb(95,118,156); font-size: 11px; font-weight: bold;">' + groupName + '</span>';
                        }
                        output = '<div style="position: relative; color: rgb(19,37,49);"><span style="font-size: 12px; font-weight: bold;">' + mainLocationName + '</span></div><div style="color: #777777; font-size: 10px;">' + provName + ', ' + countryName + '</div>';
                    } else {
                        if (!str.is_empty(suburbID) && suburbID != 0) {
                            mainLocationName = suburbName;
                            subLocation = cityName + " (" + provName + ', ' + countryName + ")";
                        } else {
                            mainLocationName = cityName;
                            subLocation = provName + ', ' + countryName;
                        }
                        output = '<div style="position: relative; color: rgb(19,37,49);"><span style="font-size: 12px; font-weight: bold;">' + mainLocationName + '</span> (only this town / city)</div><div style="color: #777777; font-size: 10px;">' + subLocation + '</div>';
                    }
                } else {
                    output = '<div>No matches found.</div>';
                }
                return output;
            }
        }).result(function (event, data, formatted) {
            suburbName = data[0];
            cityName = data[1];
            groupName = data[2];
            provName = data[3];
            countryName = data[4];
            suburbID = data[5];
            cityID = data[6];
            groupID = data[7];
            provID = data[8];
            countryID = data[9];
            cityPostCode = data[10];
            suburbPostCode = data[11];
            if (str.is_empty(suburbName)) {
                $(this).val(cityName);
            } else {
                $(this).val(suburbName);
            }
            var locationCode;
            if (!str.is_empty(groupID)) {
                locationCode = "G" + groupID;
                if (!str.is_empty(suburbID) && suburbID != 0) {
                    locationCode += ":S" + suburbID;
                } else {
                    locationCode += ":C" + cityID;
                }
            } else {
                locationCode = "C" + cityID;
                locationCode = "S" + suburbID;
            }
            $("#TopSearchLocationHidden").val(locationCode);
            $("#FindButton").trigger('click');
        });
    });             
    $(".CategoryLinks").livequery("click", function () {
        var pPerPage = 5;
        var pOffset = 0;
        var loadScript = "../Pages/ViewSubSubCategory.php";
        var dataToSend = $(this).attr('href');
        dataToSend += "&pOffset=" + pOffset + "&pPerPage=" + pPerPage;
        var refNumber = str_replace('Ref=', '', dataToSend);
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                    cycleBannerAdvert($('.BannerTop'), 4, dataToSend + "&type=c");
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $(".pCategoryLinks").livequery("click", function () {
        var loadScript = "../Pages/ViewSubSubCategory.php";
        var dataToSend = $(this).attr('href');
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    if ($("#RefinedSearch").css('display') == 'none') {
                        var displayRefined = "none";
                    } else {
                        var displayRefined = "block";
                    }
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                    $("#RefinedSearch").css({
                        "display": displayRefined
                    });
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $(".SearchLinks").livequery("click", function () {
        var pPerPage = 5;
        var pOffset = 0;
        var loadScript = "../Pages/ViewSearchResults.php";
        var dataToSend = $(this).attr('href');
        dataToSend += "&pOffset=" + pOffset + "&pPerPage=" + pPerPage;
        var refNumber = str_replace('SearchTerm=', '', dataToSend);
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $(".pSearchLinks").livequery("click", function () {
        var loadScript = "../Pages/ViewSearchResults.php";
        var dataToSend = $(this).attr('href');
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $(".LocationLinks").livequery("click", function () {
        var pPerPage = 5;
        var pOffset = 0;
        var loadScript = "../Pages/ViewLocationSearchResults.php";
        var dataToSend = $(this).attr('href');
        dataToSend += "&pOffset=" + pOffset + "&pPerPage=" + pPerPage;
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $(".pLocationLinks").livequery("click", function () {
        var loadScript = "../Pages/ViewLocationSearchResults.php";
        var dataToSend = $(this).attr('href');
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                });
            },
            error: function (data) {}
        });
        return false;
    });    
    $(".ButtonLink-AddToCart").livequery("click", function () { 
        var thisElement = $(this);                                     
        var loadScript = "../PageScripts/AddToBasket.php";
        var dataToSend = $(this).attr('href');
        var refNumber = str_replace('Ref=', '', dataToSend);
        var blockMessage = '<span style="font-size: 11px; font-weight: bold; color: #333333;">adding to cart</span>';
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                thisElement.children().block({
                    message: blockMessage,
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent',
                        width: '100%'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(50, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "../PageScripts/FetchCartInfo.php",
                        success: function (output) {
                            $("#LoginAccountClientSummary").html(output);
                        }
                    });
                    thisElement.children().removeClass('Button-AddToCart');
                    thisElement.children().addClass('Button-RemoveFromCart');
                    thisElement.children().children('.ButtonIcon').children('img').attr({
                        'src': '../Media/Site/Icon/shopping-basket-minus.png'
                    });
                    thisElement.children().children('.ButtonText').html('remove from cart');
                    thisElement.removeClass('ButtonLink-AddToCart');
                    thisElement.addClass('ButtonLink-RemoveFromCart');
                    thisElement.children().unblock();
                });
            },
            error: function (data) {
                alert('there was an error!');
            }
        });
        return false;
    });
    $(".ButtonLink-RemoveFromCart").livequery("click", function () {
        var thisElement = $(this);
        var loadScript = "../PageScripts/RemoveFromBasket.php";
        var dataToSend = $(this).attr('href');
        var refNumber = str_replace('Ref=', '', dataToSend);
        var blockMessage = '<span style="font-size: 11px; font-weight: bold; color: #333333;">removing</span>';
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                thisElement.children().block({
                    message: blockMessage,
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent',
                        width: '100%'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(50, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "../PageScripts/FetchCartInfo.php",
                        success: function (output) {
                            $("#LoginAccountClientSummary").html(output);
                        }
                    });
                    thisElement.children().removeClass('Button-RemoveFromCart');
                    thisElement.children().addClass('Button-AddToCart');
                    thisElement.children().children('.ButtonIcon').children('img').attr({
                        'src': '../Media/Site/Icon/shopping-basket-plus.png'
                    });
                    thisElement.children().children('.ButtonText').html('add to my cart');
                    thisElement.removeClass('ButtonLink-RemoveFromCart');
                    thisElement.addClass('ButtonLink-AddToCart');
                    thisElement.children().unblock();
                });
            },
            error: function (data) {
                alert('there was an error!');
            }
        });
        return false;
    });
    $("#Button-FullCatList-SearchResults").livequery('click', function () {
        var loadScript = "../PageScripts/FetchFullCategoryList.php";
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            beforeSend: function () {
                $("#Button-FullCatList-SearchResults").children('.ToolBoxButtonLabel').css({
                    'color': '#637886'
                }).html('loading ...');
                $("#Button-FullCatList-SearchResults").children('.ToolBoxButtonIcon').children('img').attr({
                    'src': '../Media/Site/Animated/smallcircle_toolbox.gif'
                });
            },
            success: function (data) {
                $(this).delay(100, function () {
                    $("<div>").attr('id', 'FullCategoryList').css({
                        'position': 'absolute',
                        'margin-top': '-29px',
                        'left': '0px',
                        'width': '350px',
                        'z-index': '100'
                    }).html(data).appendTo($("#ListingSummaryBox"));
                    $("#Button-FullCatList-SearchResults").children('.ToolBoxButtonLabel').css({
                        'color': 'inherit'
                    }).html('view categories');
                    $("#Button-FullCatList-SearchResults").children('.ToolBoxButtonIcon').children('img').attr({
                        'src': '../Media/Site/Icon/document-hf.png'
                    });
                    $("div.CategoryDropdownWrapper2").corner('5px bottom');
                    $("div.CategoryContent").hide();
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $("#HideCategoryList").livequery("click", function () {
        $("#FullCategoryList").remove();
    });
    $('div.CategoryHeader').livequery('click', function () {
        $('div.CategoryContent').slideUp('fast');
        $(this).next().slideDown('normal');
    });
    $("#SearchBoxClose").livequery("click", function () {
        $("#SearchResultsBox").animate({
            'height': "10px"
        }, 300);
        $(this).delay(300, function () {
            $("#SearchResultsContent").empty();
            $("#SearchLeft").css({
                'background-image': 'url(../Media/Site/Background/SearchLeft.png)'
            });
            $("#FindButton").attr({
                'src': '../Media/Site/Icon/FindButton.png'
            });
        });
    });
    $("#SearchBoxClose").livequery(function () {
        $("#SearchBoxClose").hover(function () {
            $("#SearchBoxCloseText").css({
                'visibility': 'visible'
            });
        }, function () {
            $("#SearchBoxCloseText").css({
                'visibility': 'hidden'
            });
        });
    });
    $("#AccountBox-EnquiryBasket").livequery("click", function () {
        var loadScript = "../Pages/ViewEnquiryBasket.php";
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    Date.firstDayOfWeek = 0;
                    Date.format = 'dd mmm yyyy';
                    $('.RentalStartDateBasket').datePicker({
                        clickInput: true,
                        renderCallback: function ($td, thisDate, month, year) {
                            var dateString = thisDate.asString();
                            dateString = dateString.split(' ');
                            if (dateString[0] > 28) {
                                $td.addClass('disabled');
                            }
                        }
                    });
                    $('.RentalStartDateBasket').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
                    $('.RentalStartDateBasket').dpSetOffset(22, 4);
                    $('.RentalEndDateBasket').datePicker({
                        clickInput: true,
                        renderCallback: function ($td, thisDate, month, year) {
                            var dateString = thisDate.asString();
                            dateString = dateString.split(' ');
                            if (dateString[0] > 28) {
                                $td.addClass('disabled');
                            }
                        }
                    });
                    $('.RentalEndDateBasket').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
                    $('.RentalEndDateBasket').dpSetOffset(22, 4);
                    $('#RentalStartDateBasket').bind('dpClosed', function (e, selectedDates) {
                        var dateStart = selectedDates[0];
                        if (dateStart) {
                            dateStart = new Date(dateStart);
                            $('#RentalEndDateBasket').dpSetStartDate(dateStart.addDays(0).asString());
                        }
                    });
                    $('#RentalEndDateBasket').bind('dpClosed', function (e, selectedDates) {
                        var dateFinish = selectedDates[0];
                        if (dateFinish) {
                            dateFinish = new Date(dateFinish);
                            $('#RentalStartDateBasket').dpSetEndDate(dateFinish.addDays(0).asString());
                        }
                    });
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                });
            },
            error: function (data) {}
        });
    });
    $(".CartListingBlock").livequery(function () {
        $(".CartListingBlock").hover(function () {
            $(this).css({
                'background-color': '#EEEEEE'
            });
        }, function () {
            $(this).css({
                'background-color': '#FFFFFF'
            });
        });
    });
    $(".ButtonLink-RemoveFromCartList").livequery("click", function () {
        var thisElement = $(this);
        var loadScript = "../PageScripts/RemoveFromBasket.php";
        var dataToSend = $(this).attr('href');
        var refNumber = str_replace('Ref=', '', dataToSend);
        var blockMessage = '<span style="font-size: 11px; font-weight: bold; color: #333333;">removing</span>';
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                thisElement.children().block({
                    message: blockMessage,
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent',
                        width: '100%'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(50, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "../PageScripts/FetchCartInfo.php",
                        success: function (output) {
                            $("#LoginAccountClientSummary").html(output);
                        }
                    });
                    thisElement.children().unblock();
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "../Pages/Listings/RecentlyRemoved.php",
                        data: dataToSend,
                        success: function (data) {
                            $("#Container-RecentlyRemoved").append(data);
                            thisElement.parent().parent().fadeTo(300, '0.0', function () {
                                $(this).css({
                                    'display': 'none'
                                });
                            });
                        },
                        error: function (data) {}
                    });
                });
            },
            error: function (data) {
                alert('there was an error!');
            }
        });
        return false;
    });
    $(".ButtonLink-AddToCartList").livequery("click", function () {
        var thisElement = $(this);
        var loadScript = "../PageScripts/AddToBasket.php";
        var dataToSend = $(this).attr('href');
        var refNumber = str_replace('Ref=', '', dataToSend);
        var blockMessage = '<span style="font-size: 11px; font-weight: bold; color: #333333;">adding to cart</span>';
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                thisElement.children().block({
                    message: null,
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(50, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "../PageScripts/FetchCartInfo.php",
                        success: function (output) {
                            $("#LoginAccountClientSummary").html(output);
                        }
                    });
                    thisElement.children().unblock();
                    thisElement.parent().parent().fadeTo(300, '0.0', function () {
                        $("#Listing_" + refNumber).css({
                            'display': 'block'
                        }).fadeTo(300, '1.0', function () {
                            thisElement.parent().parent().remove();
                        });
                    });
                });
            },
            error: function (data) {
                alert('there was an error!');
            }
        });
        return false;
    });
    $("#Button-RemoveSelectedFromCart").livequery("click", function () {
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        panelToRefresh.block({
            message: '<img src="../Media/Site/Animated/circle2.gif" />',
            css: {
                border: '0px',
                backgroundColor: 'transparent'
            },
            overlayCSS: {
                backgroundColor: '#FFF',
                opacity: '0.8'
            },
            fadeIn: 500,
            fadeOut: 300
        });
        $(this).delay(200, function () {
            $(".EnquiryBasket-Checkbox :checked").each(function () {
                var thisVal = $(this).val();
                var thisElement = $(this).parent().parent().parent().parent().parent();
                $.ajax({
                    type: "GET",
                    async: false,
                    url: "../PageScripts/RemoveFromBasket.php",
                    data: "Ref=" + thisVal,
                    success: function (data) {
                        $(this).delay(50, function () {
                            $.ajax({
                                type: "GET",
                                async: false,
                                url: "../Pages/Listings/RecentlyRemoved.php",
                                data: "Ref=" + thisVal,
                                success: function (data) {
                                    $("#Container-RecentlyRemoved").append(data);
                                    thisElement.parent().parent().fadeTo(300, '0.0', function () {
                                        $(this).css({
                                            'display': 'none'
                                        });
                                    });
                                }
                            });
                        });
                    }
                });
                $.ajax({
                    type: "GET",
                    async: false,
                    url: "../PageScripts/FetchCartInfo.php",
                    success: function (output) {
                        $("#LoginAccountClientSummary").html(output);
                    }
                });
            });
            panelToRefresh.unblock();
            return false;
        });
    });
    $(".ButtonLink-MoreInfo").livequery("click", function () {
        var loadScript = "../Pages/ViewListingDetails.php";
        var dataToSend = $(this).attr('href');
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");                
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });                 
                $("#Button-EnqSignup-Submit-Enq").css('display', 'block');
                $("#Button-LoggedIn-Continue-Enq").css('display', 'block');
            },
            success: function (data) {
                $(this).delay(300, function () {
                    panelContent.html(data);
                    $('html').animate({
                        scrollTop: 0
                    }, 500);
                    panelToRefresh.unblock();
                    dialogueCorner("#ListingSummaryChild");
                    $(".CornerTop").corner('top 5px');
                    Date.firstDayOfWeek = 0;
                    Date.format = 'dd mmm yyyy';
                    $('.RentalStartDate').datePicker({
                        clickInput: true,
                        renderCallback: function ($td, thisDate, month, year) {
                            var dateString = thisDate.asString();
                            dateString = dateString.split(' ');
                            if (dateString[0] > 28) {
                                $td.addClass('disabled');
                            }
                        }
                    });
                    $('.RentalStartDate').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
                    $('.RentalStartDate').dpSetOffset(22, 4);
                    $('.RentalEndDate').datePicker({
                        clickInput: true,
                        renderCallback: function ($td, thisDate, month, year) {
                            var dateString = thisDate.asString();
                            dateString = dateString.split(' ');
                            if (dateString[0] > 28) {
                                $td.addClass('disabled');
                            }
                        }
                    });
                    $('.RentalEndDate').dpSetPosition($.dpConst.POS_TOP, $.dpConst.POS_RIGHT);
                    $('.RentalEndDate').dpSetOffset(22, 4);
                    $('#RentalStartDate').bind('dpClosed', function (e, selectedDates) {
                        var dateStart = selectedDates[0];
                        if (dateStart) {
                            dateStart = new Date(dateStart);
                            $('#RentalEndDate').dpSetStartDate(dateStart.addDays(0).asString());
                        }
                    });
                    $('#RentalEndDate').bind('dpClosed', function (e, selectedDates) {
                        var dateFinish = selectedDates[0];
                        if (dateFinish) {
                            dateFinish = new Date(dateFinish);
                            $('#RentalStartDate').dpSetEndDate(dateFinish.addDays(-0).asString());
                        }
                    });
                    $('a[rel=lightbox]').lightBox({
                        overlayBgColor: '#132531',
                        overlayOpacity: '0.8',
                        imageLoading: '../Media/Site/Animated/circle2.gif',
                        imageBtnClose: '../Media/Site/Icon/lightbox-close.gif'
                    });
                });
                var loadScript = "../PageScripts/FetchListingTitle.php";
                $.ajax({
                    type: "GET",
                    async: true,
                    url: loadScript,
                    data: dataToSend,
                    dataType: 'json',
                    success: function (dataTitle) {
                        $('meta[property=og:title]').attr('content', dataTitle[0]);
                        $('meta[property=og:url]').attr('content', dataTitle[1]);
                        $('meta[property=og:site_name]').attr('content', dataTitle[2]);
                        $('meta[property=og:description]').attr('content', dataTitle[3]);
                        $('meta[property=og:image]').attr('content', dataTitle[4]);
                    }
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $('.ListingViewLocation').livequery('click', function () {
        var loadScript = "../PageScripts/FetchListingLocations.php";
        var dataToSend = $(this).attr('href');
        var divNumber = str_replace('Ref=', '', dataToSend);
        var thisLink = $(this);
        if ($('#LL_' + divNumber).css('z-index') != undefined) {
            $('#LL_' + divNumber).remove();
        } else {
            $.ajax({
                type: "GET",
                async: false,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {
                    $('<div>').attr('id', 'LL_' + divNumber).css({
                        'width': '200px',
                        'max-height': '200px',
                        'min-height': '40px',
                        'background-color': '#FFFFFF',
                        'z-index': '99',
                        'border': '1px solid black',
                        'position': 'relative',
                        'padding': '5px',
                        'overflow': 'auto'
                    }).appendTo(thisLink.parent()).block({
                        message: '<img src="../Media/Site/Animated/circle2.gif" />',
                        css: {
                            border: '0px',
                            backgroundColor: 'transparent'
                        },
                        overlayCSS: {
                            backgroundColor: '#FFF',
                            opacity: '0.8'
                        },
                        fadeIn: 500,
                        fadeOut: 300
                    });
                },
                success: function (data) {
                    $(this).delay(200, function () {
                        $('#LL_' + divNumber).html(data);
                    });
                },
                error: function (data) {
                    $('#LL_' + divNumber).html('There was an error :(');
                }
            });
        }
        return false;
    });    
    $("#EnqSignUpUsername").livequery("blur", function () {
        $.ajax({
            type: "GET",
            async: false,
            url: "../PageScripts/CheckUsername.php",
            data: "Lookup=" + $("#EnqSignUpUsername").val(),
            success: function (data) {
                if (data == 2) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>You provided an empty or invalid username!').css({
                        'display': 'block'
                    });
                } else if (data == 1) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>The username you provided is already taken!').css({
                        'display': 'block'
                    });
                } else {
                    $("#UserNameErrorMesssage").html('<!-- -->').css({
                        'display': 'none'
                    });
                }
            }
        });
    });
    $("#EnqSupplierSignUpUsername").livequery("blur", function () {
        $.ajax({
            type: "GET",
            async: false,
            url: "../PageScripts/CheckUsername.php",
            data: "Lookup=" + $("#EnqSupplierSignUpUsername").val(),
            success: function (data) {
                if (data == 2) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px; height: 60px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>You provided an empty or invalid email address!').css({
                        'display': 'block'
                    });
                } else if (data == 1) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px; height: 60px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>The email address you provided is already taken!').css({
                        'display': 'block'
                    });
                } else {
                    $("#UserNameErrorMesssage").html('<!-- -->').css({
                        'display': 'none'
                    });
                }
            }
        });
    });
    $("#EnqClientSignUpUsername").livequery("blur", function () {
        $.ajax({
            type: "GET",
            async: false,
            url: "../PageScripts/CheckUsername.php",
            data: "Lookup=" + $("#EnqClientSignUpUsername").val(),
            success: function (data) {
                if (data == 2) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px; height: 60px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>You provided an empty or invalid email address!').css({
                        'display': 'block'
                    });
                } else if (data == 1) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px; height: 60px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>The email address you provided is already taken!').css({
                        'display': 'block'
                    });
                } else {
                    $("#UserNameErrorMesssage").html('<!-- -->').css({
                        'display': 'none'
                    });
                }
            }
        });
    });
    $("#EnqSignupCountry").livequery('change', function () {
        if ($(this).val() != '') {
            var loadScript = "../PageScripts/FetchDropdownLocations.php";
            var dataToSend = "LookingFor=province&Parent=" + $(this).val();
            $.ajax({
                type: "GET",
                async: false,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {
                    $("#EnqSignupProvince").parent().parent().remove();
                    $("#EnqSignupCity").parent().parent().remove();
                    $("#EnqSignupSuburb").parent().parent().remove();
                },
                success: function (data) {
                    $("#LocationTable").append(data);
                },
                error: function (data) {
                    alert("Error fetching province information");
                }
            });
        }
    });
    $("#EnqSignupProvince").livequery('change', function () {
        if ($(this).val() != '') {
            var loadScript = "../PageScripts/FetchDropdownLocations.php";
            var dataToSend = "LookingFor=city&Parent=" + $(this).val();
            $.ajax({
                type: "GET",
                async: false,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {
                    $("#EnqSignupCity").parent().parent().remove();
                    $("#EnqSignupSuburb").parent().parent().remove();
                },
                success: function (data) {
                    $("#LocationTable").append(data);
                },
                error: function (data) {
                    alert("Error fetching province information");
                }
            });
        }
    });
    $("#EnqSignupCity").livequery('change', function () {
        if ($(this).val() != '') {
            var loadScript = "../PageScripts/FetchDropdownLocations.php";
            var dataToSend = "LookingFor=suburb&Parent=" + $(this).val();
            $.ajax({
                type: "GET",
                async: false,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {
                    $("#EnqSignupSuburb").parent().parent().remove();
                },
                success: function (data) {
                    $("#LocationTable").append(data);
                    var loadScriptPostalCodeSearch = "../PageScripts/FetchPostalCode.php";
                    var dataToSendPostalCodeSearch = "LookingFor=city&Location=" + $("#EnqSignupCity").val();
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: loadScriptPostalCodeSearch,
                        data: dataToSendPostalCodeSearch,
                        success: function (dataPostalCodeSearch) {
                            $('#EnqSignupPostCode').val(dataPostalCodeSearch);
                        }
                    });
                },
                error: function (data) {
                    alert("Error fetching province information");
                }
            });
        }
    });
    $("#EnqSignupSuburb").livequery("change", function () {
        var loadScriptPostalCodeSearch = "../PageScripts/FetchPostalCode.php";
        var dataToSendPostalCodeSearch = "LookingFor=suburb&Location=" + $("#EnqSignupSuburb").val();
        $.ajax({
            type: "GET",
            async: false,
            url: loadScriptPostalCodeSearch,
            data: dataToSendPostalCodeSearch,
            success: function (dataPostalCodeSearch) {
                $('#EnqSignupPostCode').val(dataPostalCodeSearch);
            }
        });
    });
    $(".EnqSignupField").livequery("click", function () {
        $("#EnquiryForm_NewClient").trigger('click');
    });
    $(".EnqLoginField").livequery("click", function () {
        $("#EnquiryForm_ExistingAccount").trigger('click');
    });
    $("#EnquiryForm_NewClient").livequery("click", function () {
        $("#EnqNewClientBox").css({
            'border': '1px solid #617685'
        });
        $("#EnqExistingAccountBox").css({
            'border': '1px solid #C6D2DD'
        });
    });
    $("#EnquiryForm_ExistingAccount").livequery("click", function () {
        $("#EnqExistingAccountBox").css({
            'border': '1px solid #617685'
        });
        $("#EnqNewClientBox").css({
            'border': '1px solid #C6D2DD'
        });
    });

    function enquiryShowEnquirySummary(dataToSend) {
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        var loadScript = "../Pages/StartNewEnquiry.php";
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            success: function (data) {
                panelToRefresh.unblock();
                panelContent.html(data);
                dialogueCorner("#EnquiryConfirmChild");
            },
            error: function (data) {
                alert('connection failure');
            }
        });
    }
    $("#EnquiryBox").livequery('keypress', function (e) {
        $targ = $(e.target);
        if (e.which == 13 && !$targ.is("textarea")) {
            if ($('#EnquiryForm_NewClient').attr('checked') == true) {
                $("#Button-EnqSignup-Submit-Enq").trigger('click');
            }
            if ($('#EnquiryForm_ExistingAccount').attr('checked') == true) {
                $("#Button-Login-Submit-Enq").trigger('click');
            }
            return false;
        }
    });
    $("#Button-LoggedIn-Continue-Enq").livequery('click', function () {
        $("#EnquiryForm_ExistingAccount").trigger('click');
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var dataToSend = $('#EnquiryBox').serialize();
        panelToRefresh.block({
            message: '<img src="../Media/Site/Animated/circle2.gif" />',
            css: {
                border: '0px',
                backgroundColor: 'transparent'
            },
            overlayCSS: {
                backgroundColor: '#FFF',
                opacity: '0.7'
            },
            fadeIn: 300,
            fadeOut: 300
        });
        $.ajax({
            type: "GET",
            async: false,
            url: "../PageScripts/LoggedInStatus.php",
            success: function (data) {
                $(this).delay(200, function () {
                    if (data == 'error') {
                        window.location = "home-page.php";
                    } else {
                        $("#Button-LoggedIn-Continue-Enq").css('display', 'none');
                        enquiryShowEnquirySummary(dataToSend);
                    }
                });
            },
            error: function (data) {
                alert('There was an error attempting to verify your log-in status. Please try again shortly!');
                return false;
            }
        });
        return false;
    });
    $("#Button-Login-Submit-Enq").livequery('click', function () {
        $("#EnqLoginPassword").val(base64.encode($("#EnqLoginPassword").val()));
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var loadScript = "../PageScripts/DoLogin.php";
        var dataToSend = $('#EnquiryBox').serialize();
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(200, function () {
                    if (str_contains(data, "Error: ")) {
                        $("#DialogueErrorMessage2").remove();
                        $("<div>").attr('id', 'DialogueErrorMessage2').addClass('DialogueEnquiryErrorMessage').html(data).insertBefore("#EnquiryLoginBox");
                        panelToRefresh.unblock();
                    } else {
                        $.ajax({
                            type: "GET",
                            async: false,
                            url: "Elements/init.AccountBox.php",
                            data: "AliasID=" + data,
                            success: function (data_accountbox) {
                                $("#AccountBox").html(data_accountbox);
                                dialogueCorner("#AccountBoxChild");
                            }
                        });
                        enquiryShowEnquirySummary(dataToSend);
                    }
                });
            },
            error: function (data) {}
        });
        return false;
    });
    $("#Button-Submit-Basket-Enq").livequery('click', function () {
        var loadScript = "../PageScripts/SubmitCartEnquiry.php";
        var dataToSend = $('#BasketCheckoutForm').serialize();
        $.ajax({
            type: "POST",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {},
            success: function (data) {
                $("#SiteContent").html(data);
                var loadScript = "../PageScripts/ReturnAliasID.php";
                $.ajax({
                    type: "GET",
                    async: false,
                    url: loadScript,
                    beforeSend: function () {},
                    success: function (data2) {
                        $(this).delay(200, function () {
                            $.ajax({
                                type: "GET",
                                async: false,
                                url: "Elements/init.AccountBox.php",
                                data: "AliasID=" + data2,
                                success: function (data_accountbox) {
                                    $("#AccountBox").html(data_accountbox);
                                    dialogueCorner("#AccountBoxChild");
                                }
                            });
                        });
                    },
                    error: function (data2) {}
                });
            },
            error: function (data) {}
        });
    });
    /*$("#Button-EnqSignup-Submit-Enq").livequery("click", function () {
        $("#EnqSignUpPassword").val(base64.encode($("#EnqSignUpPassword").val()));
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var loadScript = "../PageScripts/DoEnquirySignup.php";
        var dataToSend = $('#EnquiryBox').serialize();
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(200, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "Elements/init.AccountBox.php",
                        data: "AliasID=" + data,
                        success: function (data_accountbox) {
                            $("#AccountBox").html(data_accountbox);
                            dialogueCorner("#AccountBoxChild");
                        }
                    });
                    enquiryShowEnquirySummary(dataToSend);
                });
            },
            error: function (data) {}
        });
        return false;
    }); */
    
    $("#EnqSignUpEmail").livequery("blur", function () {
        $.ajax({
            type: "GET",
            async: false,
            url: "../PageScripts/CheckUsername.php",
            data: "Lookup=" + $("#EnqSignUpEmail").val(),
            success: function (data) {
                if (data == 2) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>You provided an empty or invalid email!').css({
                        'display': 'block'
                    });
                /*} else if (data == 1) {
                    $("#UserNameErrorMesssage").html('<div style="float: left; margin-right: 4px;"><img src="../Media/Site/Icon/exclamation-red.png" /></div><strong>Error: </strong>The username you provided is already taken!').css({
                        'display': 'block'
                    });*/
                } else {
                    $("#UserNameErrorMesssage").html('<!-- -->').css({
                        'display': 'none'
                    });
                }
            }
        });
    });
    
    
    $("#Button-EnqSignup-Submit-Enq").livequery("click", function () {                        
                
        if (ValidateEmail("EnqSignUpEmail") == false) { return false;}        
            
        if ($("#UserNameErrorMesssage").css('display') == "block") {
            alert('You cannot proceed with an invalid email address, or one that is already in use.'); return;
        } else if ($("#EnqSignupFirstName").val() == '') {
            alert('Please enter your First Name.');        
            document.getElementById('EnqSignupFirstName').focus(); return;
        } else if ($("#EnqSignupLastName").val() == '') {
            alert('Please enter your Last Name.');            
            document.getElementById('EnqSignupLastName').focus(); return;        
        } else if ($("#EnqSignupContactNumber").val() == '') {
            alert('Please enter your ContactNumber.');    
            document.getElementById('EnqSignupContactNumber').focus(); return;            
        } else if ($("#ELAgreement").attr('checked') == false) {
            alert('You cannot continue if you don\'t agree to the terms and conditions.'); return;
        } else {
            //do nothing
        }
        
        //$("#EnqSignUpPassword").val(base64.encode($("#EnqSignUpPassword").val()));
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var loadScript = "../PageScripts/DoCustomerFreeSignup.php";
        var dataToSend = $('#EnquiryBox').serialize();        
        
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {                
                $(this).delay(200, function () {
                    /*$.ajax({
                        type: "GET",
                        async: false,
                        url: "Elements/init.AccountBox.php",
                        data: "AliasID=" + data,
                        success: function (data_accountbox) {
                            $("#AccountBox").html(data_accountbox);
                            dialogueCorner("#AccountBoxChild");
                        }
                    });*/                    
                    $("#Button-EnqSignup-Submit-Enq").css('display', 'none');
                    enquiryShowEnquirySummary(dataToSend);
                    
                    /*jQuery.easing.def = "easeInBack";
                    var oldHeight = $("#AccountBox").children().children('.Content').height();
                    $("#AccountBox").css('overflow', 'hidden');
                    if (str_contains(data, "Error: ")) {
                        $("#DialogueErrorMessage").remove();
                        $("<div>").attr('id', 'DialogueErrorMessage').addClass('DialogueErrorMessage').html(data).insertBefore("#LoginBox").corner('5px');
                        $("#AccountBox").children().children('.Content').css('height', 'auto');
                        $("#LoginPassword").val('');
                    } else {
                        $.ajax({
                            type: "GET",
                            async: false,
                            url: "Elements/init.AccountBox.php",
                            data: "AliasID=" + data,
                            success: function (data_accountbox) {
                                $("#AccountBox").html(data_accountbox);
                                dialogueCorner("#AccountBoxChild");
                            }
                        });
                    }
                    var newHeight = $("#AccountBox").children().children('.Content').height();
                    $("#AccountBox").children().children('.Content').css({
                        'height': oldHeight + "px"
                    });
                    $("#AccountBox").css('overflow', 'auto');
                    $("#AccountBox").children().children('.Content').animate({
                        'height': newHeight
                    }, 400, '', function () {
                        $(this).delay(100, function () {
                            jQuery.easing.def = "easeInQuint";
                            $("#AccountBox").unblock();
                        });
                    });*/
                });
            },
            error: function (data) {}
        });
        return false;
    }); 
    
    
    $(".editable_Field").livequery(function () {
        var editableBoxWidth = 'auto';
        if ($(this).hasClass('editableDatePicker')) {
            editableBoxWidth = 120;
        }
        if ($(this).hasClass('editableQuantity')) {
            editableBoxWidth = 60;
        }
        $(this).editable(function (value, settings) {
            $("#EnqConf_" + settings['id']).val(value);
            return (value);
        }, {
            submit: '&nbsp;',
            cancel: '&nbsp;',
            id: $(this).attr('id'),
            style: 'display: inline;',
            width: editableBoxWidth,
            cssclass: 'inlineStandardInputField'
        });
    });
    $(".editable_Field").livequery("click", function () {
        $(this).children().children('button[type=cancel]').each(function () {
            $(this).css({
                'background-image': 'url(../Media/Site/Icon/slash.png)'
            });
        });
    });
    $(".editable_Select").livequery(function () {
        var editableBoxWidth = 'auto';
        var editableData = '';
        if ($(this).hasClass('editableStartTimePicker')) {
            editableBoxWidth = 80;
            editableData = $("#RentalStartTimeJSON").html();
        }
        if ($(this).hasClass('editableEndTimePicker')) {
            editableBoxWidth = 80;
            editableData = $("#RentalEndTimeJSON").html();
        }
        if ($(this).hasClass('editableLocationPicker')) {
            editableBoxWidth = 280;
            editableData = $("#RentalLocationJSON").html();
        }
        $(this).editable(function (value, settings) {
            $("#EnqConf_" + settings['id']).val(value);
            if ($(this).hasClass('editableLocationPicker')) {
                return ($(this).children().children().children('option[value=' + value + ']').html());
            } else {
                return (value);
            }
        }, {
            type: 'select',
            data: editableData,
            submit: '&nbsp;',
            cancel: '&nbsp;',
            id: $(this).attr('id'),
            style: 'display: inline;',
            width: editableBoxWidth,
            cssclass: 'inlineSelectField'
        });
    });
    $(".editable_Select").livequery("click", function () {
        $(this).children().children('button[type=cancel]').each(function () {
            $(this).css({
                'background-image': 'url(../Media/Site/Icon/slash.png)'
            });
        });
    });
    $(".editable_Textarea").livequery(function () {
        var editableBoxWidth = 'auto';
        if ($(this).hasClass('editableTextarea')) {
            editableBoxWidth = 72;
        }
        $(this).editable(function (value, settings) {
            $("#EnqConf_" + settings['id']).val(value);
            return (value);
        }, {
            type: 'textarea',
            submit: '&nbsp;',
            cancel: '&nbsp;',
            style: 'display: inline;',
            cols: editableBoxWidth,
            rows: 3,
            cssclass: 'inlineTextareaField'
        });
    });
    $(".editable_Textarea").livequery("click", function () {
        $(this).children().children('textarea').append('<br /><br /><br />');
        $(this).children().children('textarea').css({
            'margin-left': '-16px'
        });
        $(this).children().children('button[type=cancel]').each(function () {
            $(this).css({
                'background-image': 'url(../Media/Site/Icon/slash.png)'
            });
        });
    });
    $(".EnquiryConfirmationBasket-Checkbox").livequery("click", function () {
        var thisListing = $(this).val();
        if ($(this).attr('checked')) {
            $("#EnqConfDetails_" + thisListing).css({
                'display': 'block'
            });
        } else {
            $("#EnqConfDetails_" + thisListing).css({
                'display': 'none'
            });
        }
    });
    $(".ButtonLink-SendEnquiry").livequery("click", function () {
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        var loadScript = "../PageScripts/SubmitEnquiry.php";
        var dataToSend = $('#EnquiryConfirmation').serialize();        
        $.ajax({
            type: "POST",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {},
            success: function (data) {                
                $(this).delay(200, function () {
                    panelContent.html(data);                                        
                });
                                
            },
            error: function (data) {}
        });
        return false;
    });
    
    
    
    
    $(".GalleryButtonLink").live('click', function () {
        var dataToSend = $(this).attr('href');
        var imageSize = $(this).attr('rel');
        var imageToLoad = str_replace('Ref=', '', dataToSend);
        if (!$(this).children('div').hasClass('GalleryButtonSelected')) {
            $(".GalleryButtonLink > div").each(function () {
                $(this).removeClass('GalleryButtonSelected');
            });
            $(this).children('div').addClass('GalleryButtonSelected');
            $(".ListingImageBox").parent().block({
                message: '<img src="../Media/Site/Animated/circle2.gif" />',
                css: {
                    border: '0px',
                    backgroundColor: 'transparent'
                },
                overlayCSS: {
                    backgroundColor: '#FFF',
                    opacity: '1.0'
                },
                fadeIn: 300,
                fadeOut: 300
            });
            var loadScript = "Listings/DisplayImage.php";
            var dataToSend = "f=../../Media/Uploaded/Mini_" + imageToLoad;
            $.ajax({
                type: "GET",
                async: false,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {},
                success: function (data) {
                    $(this).delay(200, function () {
                        $(".ListingImageBox").html(data);
                        $('a[rel=lightbox]').lightBox({
                            overlayBgColor: '#132531',
                            overlayOpacity: '0.8',
                            imageLoading: '../Media/Site/Animated/circle2.gif',
                            imageBtnClose: '../Media/Site/Icon/lightbox-close.gif'
                        });
                        $(this).delay(100, function () {
                            $(".ListingImageBox").parent().unblock();
                        });
                    });
                },
                error: function (data) {}
            });
        }
        return false;
    });
    
    $(".GalleryButtonLink2").live('click', function () {
        var dataToSend = $(this).attr('href');
        var imageSize = $(this).attr('rel');
        
        
        //if (!$(this).children('div').hasClass('GalleryButtonSelected')) {
        	
        	
        	
        	
        	
		//} else {
		//	alert ('this is already selected');
		//}
        	
        //var imageToLoad = str_replace('Ref=', '', dataToSend);
        var imageToLoad = str_replace('#', '', dataToSend);
        
    	
        if (!$(this).children('div').hasClass('GalleryButtonSelected')) {
            $(".GalleryButtonLink2 > div").each(function () {
                $(this).removeClass('GalleryButtonSelected');
            });
            $(this).children('div').addClass('GalleryButtonSelected');
            $(".ListingImageBox").parent().block({
                message: '<img src="../Media/Site/Animated/circle2.gif" />',
                css: {
                    border: '0px',
                    backgroundColor: 'transparent'
                },
                overlayCSS: {
                    backgroundColor: '#FFF',
                    opacity: '1.0'
                },
                fadeIn: 300,
                fadeOut: 300
            });
            var loadScript = "Listings/DisplayImage.php";
            var dataToSend = "f=../../Media/Uploaded/Mini_" + imageToLoad;
            $.ajax({
                type: "GET",
                async: false,
                url: loadScript,
                data: dataToSend,
                beforeSend: function () {},
                success: function (data) {
                    $(this).delay(200, function () {
                        $(".ListingImageBox").html(data);
                        $('a[rel=lightbox]').lightBox({
                            overlayBgColor: '#132531',
                            overlayOpacity: '0.8',
                            imageLoading: '../Media/Site/Animated/circle2.gif',
                            imageBtnClose: '../Media/Site/Icon/lightbox-close.gif'
                        });
                        $(this).delay(100, function () {
                            $(".ListingImageBox").parent().unblock();
                        });
                    });
                },
                error: function (data) {}
            });
        }
        
        
        
        
        return false;
    });
    
    
    
    $('div.CategoryName, a.DetailCategoryName').livequery('click', function () {
        
        /*
        var loadScript = "../Pages/ViewCategory.php";
        if ($(this).hasClass('DetailCategoryName')) {
            var dataToSend = $(this).attr('href');
        } else {
            var dataToSend = $(this).children('h3').children('a').attr('href');
        }
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                panelContent.html(data);
                $('html').animate({
                    scrollTop: 0
                }, 500);
                panelToRefresh.unblock();
                dialogueCorner("#CategorySummaryChild");
            },
            error: function (data) {}
        });
        return false;
        */
        return true;
    });
    $("#Button-FullCategoryList").livequery('click', function () {
        var loadScript = "../Pages/ViewAllCategory.php";
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                panelContent.html(data);
                $('html').animate({
                    scrollTop: 0
                }, 500);
                panelToRefresh.unblock();
                dialogueCorner("#CategorySummaryChild");
            },
            error: function (data) {}
        });
        return false;
    });
    $("#Button-RefineSearch-Category").livequery('click', function () {
        if ($("#RefinedSearch").css('display') == 'none') {
            $("#RefinedSearch").css({
                'display': 'block'
            });
            $(this).children('.ToolBoxButtonLabel').children('.Link').html('hide options');
        } else {
            $("#RefinedSearch").css({
                'display': 'none'
            });
            $(this).children('.ToolBoxButtonLabel').children('.Link').html('refine search');
        }
        return false;
    });
    $("#RefineSearchButton").livequery("click", function () {
        var dataToSend = $("#RefineSearchForm").serialize();
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var panelContent = $("#SiteContent");
        $.ajax({
            type: "GET",
            async: false,
            url: "../Pages/ViewSubSubCategory.php",
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                panelContent.html(data);
                panelToRefresh.unblock();
                dialogueCorner("#ListingSummaryChild");
                $("#RefinedSearch").css({
                    "display": "block"
                });
            },
            error: function (data) {}
        });
    });
    $("#IGZoom").livequery(function () {
        $("#IGZoom").hover(function () {
            $("#IGZoom").fadeTo(400, '1.0');
        }, function () {
            $("#IGZoom").fadeTo(400, '0.35');
        });
    });
    $(".DetailsTab").livequery("click", function () {
        var thisTab = $(this);
        var selectedTab = str_replace('DetailsTab_', '', thisTab.attr('id'));
        $(".ProductDetails").each(function () {
            $(this).css({
                'display': 'none'
            });
        });
        $("#ProductDetails_" + selectedTab).css({
            'display': 'block'
        });
        $(".DetTab").each(function () {
            $(this).removeClass("DetailsTabSelected");
            if (!$(this).hasClass("DetailsTab")) {
                $(this).addClass("DetailsTab");
            }
        });
        thisTab.addClass("DetailsTabSelected");
        thisTab.removeClass("DetailsTab");
    });
    $("#TCBranchSelect").livequery('change', function () {
        var loadScript = "../PageScripts/FetchBranchTerms.php";
        var dataToSend = "Branch=" + $(this).val();
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            success: function (data) {
                $("#BranchRentalDetails").html(data);
            }
        });
    });
    $("#HCIBranchSelect").livequery('change', function () {
        var loadScript = "../PageScripts/FetchBranchContactDetails.php";
        var dataToSend = "Branch=" + $(this).val();
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            success: function (data) {
                $("#BranchContactDetails").html(data);
            }
        });
    });
    
    $("#Contact-Submit").click(function() {        
        $("#Form-Contact").submit();
    }); 

    function DoEnqSupplierSignup() {
        $("#EnqSupplierSignUpPassword").val(base64.encode($("#EnqSupplierSignUpPassword").val()));
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var loadScript = "../PageScripts/DoSupplierSignup.php";
        var dataToSend = $('#SignupSupplierBox').serialize();
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(200, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "Elements/init.AccountBox.php",
                        data: "AliasID=" + data,
                        success: function (data_accountbox) {
                            $("#AccountBox").html(data_accountbox);
                            dialogueCorner("#AccountBoxChild");
                        }
                    });
                });
                var loadScript = "SupplierSignupThankYou.php";
                $.ajax({
                    type: "GET",
                    async: false,
                    url: loadScript,
                    beforeSend: function () {},
                    success: function (data2) {
                        $("#SiteContent").html(data2);
                        $('html').animate({
                            scrollTop: 0
                        }, 500);
                        panelToRefresh.unblock();
                    },
                    error: function (data) {}
                });
            },
            error: function (data) {}
        });
        return false;
    }
    
    $("#Button-EnqSupplierSignup-Submit").livequery("click", function () {
        /*if ($("#TCAgreement").attr('checked') == false) {
            alert('You cannot continue if you don\'t agree to the terms and conditions.');
        } else if ($("#UserNameErrorMesssage").css('display') == "block") {
            alert('You cannot proceed with an invalid email address, or one that is already in use.');
        } else if ($("#SignupSearchLocationHidden").val() == '') {
            alert('Your location has not been set. Please specify a city or suburb for your main branch.');
        } else {
            DoEnqSupplierSignup();
        }*/
        if (ValidateEmail("EnqSupplierSignUpUsername") == false) { return false;}        
            
        if ($("#UserNameErrorMesssage").css('display') == "block") {
            alert('You cannot proceed with an invalid email address, or one that is already in use.');
        } else if ($("#EnqSupplierSignUpPassword").val() == '') {
            alert('Please enter a Password.');        
            document.getElementById('EnqSupplierSignUpPassword').focus();
        } else if ($("#EnqSupplierSignupFirstName").val() == '') {
            alert('Please enter your First Name.');        
            document.getElementById('EnqSupplierSignupFirstName').focus();
        } else if ($("#EnqSignupLastName").val() == '') {
            alert('Please enter your Last Name.');            
            document.getElementById('EnqSignupLastName').focus();
        } else if (ValidateTelephone("EnqSupplierSignupTelephone") == false) { 
            return false;        
        } else if ($("#EnqSupplierSignupCompany").val() == '') {
            alert('Please enter a Company Name.');    
            document.getElementById('EnqSupplierSignupCompany').focus();           
        } else if ($("#EnqSupplierSignupCompanyRegNum").val() == '') {
            alert('Please enter a Co. Reg Number / I.D Number.');                                        
            document.getElementById('EnqSupplierSignupCompanyRegNum').focus();           
        } else if ($("#EnqSupplierSignupPostalAddress").val() == '') {
            alert('Please enter a Postal Address.');                
            document.getElementById('EnqSupplierSignupPostalAddress').focus();                   
        } else if ($("#SignupSearchLocationHidden").val() == '') {
            alert('Your location has not been set. Please specify a city or suburb for your main branch.');
            document.getElementById('SignupSearchLocation').focus();           
        } else if ($("#EnqSignupPostCode").val() == '') {
            alert('Please enter a Postal Code.');                        
            document.getElementById('EnqSignupPostCode').focus();           
        } else if ($("#TCAgreement").attr('checked') == false) {
            alert('You cannot continue if you don\'t agree to the terms and conditions.');
        } else {
            DoEnqSupplierSignup();
        }
    });
    
    function DoEnqClientSignup() {
        $("#EnqClientSignUpPassword").val(base64.encode($("#EnqClientSignUpPassword").val()));
        var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
        var loadScript = "../PageScripts/DoClientSignup.php";
        var dataToSend = $('#SignupClientBox').serialize();
        $.ajax({
            type: "POST",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.7'
                    },
                    fadeIn: 300,
                    fadeOut: 300
                });
            },
            success: function (data) {
                $(this).delay(200, function () {
                    $.ajax({
                        type: "GET",
                        async: false,
                        url: "Elements/init.AccountBox.php",
                        data: "AliasID=" + data,
                        success: function (data_accountbox) {
                            $("#AccountBox").html(data_accountbox);
                            dialogueCorner("#AccountBoxChild");
                        }
                    });
                });
                var loadScript = "ClientSignupThankYou.php";
                $.ajax({
                    type: "GET",
                    async: false,
                    url: loadScript,
                    beforeSend: function () {},
                    success: function (data2) {
                        $("#SiteContent").html(data2);
                        $('html').animate({
                            scrollTop: 0
                        }, 500);
                        panelToRefresh.unblock();
                    },
                    error: function (data) {}
                });
            },
            error: function (data) {}
        });
        return false;        
    }
    
    $("#Button-EnqClientSignup-Submit").livequery("click", function () {        
    
        if (ValidateEmail("EnqClientSignUpUsername") == false) { return false;}                                  
        
        if ($("#UserNameErrorMesssage").css('display') == "block") {
            alert('You cannot proceed with an invalid email address, or one that is already in use.');            
        } else if ($("#EnqClientSignUpPassword").val() == '') {
            alert('Please enter a Password.');        
            document.getElementById('EnqClientSignUpPassword').focus();            
        } else if ($("#EnqClientSignupFirstName").val() == '') {
            alert('Please enter your First Name.');        
            document.getElementById('EnqClientSignupFirstName').focus();            
        } else if ($("#EnqClientSignupLastName").val() == '') {
            alert('Please enter your Last Name.');            
            document.getElementById('EnqClientSignupLastName').focus();                                    
            
        } else if ($("#TCAgreement").attr('checked') == false) {
            alert('You cannot continue if you don\'t agree to the terms and conditions.');
        } else {
            DoEnqClientSignup();            
        }
    });
    
    
    $("#Button-EnqBulk-Submit").livequery("click", function () {        
    
        /*if (ValidateEmail("EnqClientSignUpUsername") == false) { return false;}                                  
        
        if ($("#UserNameErrorMesssage").css('display') == "block") {
            alert('You cannot proceed with an invalid email address, or one that is already in use.');            
        } else if ($("#EnqClientSignUpPassword").val() == '') {
            alert('Please enter a Password.');        
            document.getElementById('EnqClientSignUpPassword').focus();            
        } else if ($("#EnqClientSignupFirstName").val() == '') {
            alert('Please enter your First Name.');        
            document.getElementById('EnqClientSignupFirstName').focus();            
        } else if ($("#EnqClientSignupLastName").val() == '') {
            alert('Please enter your Last Name.');            
            document.getElementById('EnqClientSignupLastName').focus();                                    
            
        } else if ($("#TCAgreement").attr('checked') == false) {
            alert('You cannot continue if you don\'t agree to the terms and conditions.');
        } else {
            DoEnqClientSignup();            
        }*/
        //alert('test');        
        $("#BulkEnquiryBox").submit();
    });
    
    $(".BannerAd").livequery("click", function () {
        var categoryBannerID = $(this).children('a').children('img').attr('name');
        handleBannerClick(categoryBannerID);
    });
    $("#CarRentalSearchButton").livequery("click", function () {
        var locationValue = $("#VehicleSearchLocationHidden").val();
        var splitArray = locationValue.split(':');
        var newLocation = splitArray[1];
        if (newLocation == undefined) {
            newLocation = splitArray[0];
            if (newLocation == undefined) {
                alert('big error somewhere');
            }
        }
        $("#VehicleSearchLocationHidden").val(newLocation);
    });
    $("#Button-Listing-PositiveVote").livequery("click", function () {
        var loadScript = "../PageScripts/ProcessVote.php";
        var dataToSend = $(this).parent().attr('href');
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {},
            success: function (data) {
                if (data != "0") {
                    if (data == "-1") {
                        alert('You may not vote more than once for a particular listing!');
                    } else {
                        thumbs = data.split("|");
                        posThumbImage = thumbs[0];
                        negThumbImage = thumbs[1];
                        $("#Button-Listing-PositiveVote").children('div').children('img').attr({
                            'src': '../Media/Site/Icon/' + posThumbImage,
                            'title': 'You have already placed your vote for this listing!'
                        });
                        $("#Button-Listing-NegativeVote").children('div').children('img').attr({
                            'src': '../Media/Site/Icon/' + negThumbImage,
                            'title': 'You have already placed your vote for this listing!'
                        });
                        $("#Button-Listing-PositiveVote").attr({
                            'id': 'Button-Listing-PositiveVoted'
                        });
                        $("#Button-Listing-NegativeVote").attr({
                            'id': 'Button-Listing-NegativeVoted'
                        });
                        alert("Thank you, your vote has been counted");
                    }
                } else {
                    alert("There was an error processing your vote");
                }
            },
            error: function (data) {}
        });
    });
    
    
    $("#CarRentalSearchButton").livequery("click", function () {
        var pPerPage = 5;
        var pOffset = 0;
        var loadScript = "../PageScripts/CompileCarRental.php";
        var dataToSend = $("#CarRentalForm").serialize();
        var refNumber = str_replace('Ref=', '', dataToSend);
        $.ajax({
            type: "POST",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {},
            success: function (data) {
                var loadScript = "../Pages/ViewSubSubCategory.php";
                var dataToSend = data;
                var panelToRefresh = $("#SupplierMain").children('.SiteColumnLeft');
                var panelContent = $("#SiteContent");
                $.ajax({
                    type: "GET",
                    async: false,
                    url: loadScript,
                    data: dataToSend,
                    beforeSend: function () {
                        panelToRefresh.block({
                            message: '<img src="../Media/Site/Animated/circle2.gif" />',
                            css: {
                                border: '0px',
                                backgroundColor: 'transparent'
                            },
                            overlayCSS: {
                                backgroundColor: '#FFF',
                                opacity: '0.8'
                            },
                            fadeIn: 500,
                            fadeOut: 300
                        });
                    },
                    success: function (data2) {
                        $(this).delay(300, function () {
                            panelContent.html(data2);
                            $('html').animate({
                                scrollTop: 0
                            }, 500);
                            panelToRefresh.unblock();
                            dialogueCorner("#ListingSummaryChild");
                            cycleBannerAdvert($('.BannerTop'), 4, dataToSend + "&type=c");
                        });
                    },
                    error: function (data) {}
                });
            },
            error: function (data) {}
        });
        return false;
    });
    
    
    $(".AtoZ-CategoryPicker").livequery('click', function () {
        var loadScript = "../PageScripts/FetchAtoZ.php";
        var dataToSend = 'CategoryID=' + $(this).attr('id');
        var panelToRefresh = $("#AtoZ-ContentsBox");
        var boxClicked = $(this);
        $.ajax({
            type: "GET",
            async: true,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {
                panelToRefresh.block({
                    message: '<img src="../Media/Site/Animated/circle2.gif" />',
                    css: {
                        border: '0px',
                        backgroundColor: 'transparent'
                    },
                    overlayCSS: {
                        backgroundColor: '#FFF',
                        opacity: '0.8'
                    },
                    fadeIn: 500,
                    fadeOut: 300
                });
                $(".AtoZ-CategoryPicker").each(function () {
                    $(this).css({
                        'border-top': '1px solid #FAFAFA',
                        'border-bottom': '1px solid #DDDDDD',
                        'background-color': '#EEEEEE'
                    });
                });
                boxClicked.css({
                    'border-top': '1px solid #DADADA',
                    'border-bottom': '1px solid #BBBBBB',
                    'background-color': '#CCCCCC'
                });
            },
            success: function (data) {
                $(this).delay(500, function () {
                    panelToRefresh.html(data);
                    panelToRefresh.unblock();
                });
            },
            error: function (data) {}
        });
    });
    
    
    
    
    $(".PackageDetailsLink").livequery('click', function () {
        $(this).parent().parent().parent().css({
            'height': 'auto'
        });
    });
    $("#FPForm").livequery('keypress', function (e) {
        if (e.which == 13) {
            $("#ForgotPasswordSend").trigger('click');
            return false;
        }
    });
    $("#ForgotPasswordSend").livequery('click', function () {
        var loadScript = "../PageScripts/ResetPassword.php";
        var dataToSend = $('#FPForm').serialize();
        $.ajax({
            type: "GET",
            async: false,
            url: loadScript,
            data: dataToSend,
            beforeSend: function () {},
            success: function (data) {
                $("#ForgotPasswordMessage").html(data).css({
                    'display': 'block'
                });
            },
            error: function (data) {}
        });
    });
    $("#SignupSearchLocation").livequery(function () {
        var inputValue;
        $("#SignupSearchLocation").autocomplete("../PageScripts/FetchSearchLocations.php", {
            loadingClass: "AjaxAutoCompleteLocationSearch2",
            resultsClass: "ac_resultsLocationSearch_New",
            minChars: 5,
            alignPosition: 'right',
            positionOffsetRight: -4,
            selectFirst: true,
            heightOffset: 9,
            widthOffset: 1,
            cacheLength: 0,
            width: 310,
            max: 200,
            delay: 50,
            formatItem: function (row) {
                inputValue = $("#SignupSearchLocation").val();
                suburbName = row[0];
                cityName = row[1];
                groupName = row[2];
                provName = row[3];
                countryName = row[4];
                suburbID = row[5];
                cityID = row[6];
                groupID = row[7];
                provID = row[8];
                countryID = row[9];
                cityPostCode = row[10];
                suburbPostCode = row[11];
                var output = '';
                var mainLocationName = '';
                var subLocation = '';
                if (suburbName == 'manylocations') {
                    output = '<div style="font-weight: bold; color: #A32800;">Found too many results, please be more specific!</div>';
                } else if (!str.is_empty(suburbName) || !str.is_empty(cityName)) {
                    if (!str.is_empty(groupID)) {
                        if (!str.is_empty(suburbID) && suburbID != 0) {
                            mainLocationName = suburbName + ' and surrounds<br /><span style="color: rgb(95,118,156); font-size: 11px; font-weight: bold;">' + groupName + '</span>';
                        } else {
                            mainLocationName = cityName + ' and surrounds<br /><span style="color: rgb(95,118,156); font-size: 11px; font-weight: bold;">' + groupName + '</span>';
                        }
                        output = '<div style="position: relative; color: rgb(19,37,49);"><span style="font-size: 12px; font-weight: bold;">' + mainLocationName + '</span></div><div style="color: #777777; font-size: 10px;">' + provName + ', ' + countryName + '</div>';
                    } else {
                        if (!str.is_empty(suburbID) && suburbID != 0) {
                            mainLocationName = suburbName;
                            subLocation = cityName + " (" + provName + ', ' + countryName + ")";
                        } else {
                            mainLocationName = cityName;
                            subLocation = provName + ', ' + countryName;
                        }
                        output = '<div style="position: relative; color: rgb(19,37,49);"><span style="font-size: 12px; font-weight: bold;">' + mainLocationName + '</span> (only this town / city)</div><div style="color: #777777; font-size: 10px;">' + subLocation + '</div>';
                    }
                } else {
                    output = '<div>No matches found.</div>';
                }
                return output;
            }
        }).result(function (event, data, formatted) {
            suburbName = data[0];
            cityName = data[1];
            groupName = data[2];
            provName = data[3];
            countryName = data[4];
            suburbID = data[5];
            cityID = data[6];
            groupID = data[7];
            provID = data[8];
            countryID = data[9];
            cityPostCode = data[10];
            suburbPostCode = data[11];
            if (str.is_empty(suburbName)) {
                $(this).val(cityName);
            } else {
                $(this).val(suburbName);
            }
            var locationCode;
            if (!str.is_empty(groupID)) {
                locationCode = "G" + groupID;
                if (!str.is_empty(suburbID) && suburbID != 0) {
                    locationCode += ":S" + suburbID;
                } else {
                    locationCode += ":C" + cityID;
                }
            } else {
                locationCode = "C" + cityID;
                locationCode = "S" + suburbID;
            }
            $("#SignupSearchLocationHidden").val(locationCode);
            if (suburbPostCode == '') {
                $("#EnqSignupPostCode").val(cityPostCode);
            } else {
                $("#EnqSignupPostCode").val(suburbPostCode);
            }
        });
    });
});

function str_replace(search, replace, subject) {
    var output;
    subject = subject.split(search);
    output = subject[0];
    for (i = 1; i < subject.length; i++) {
        output += replace + subject[i];
    }
    return output;
}
function str_isempty(subject, ignoreSpaces) {
    if (ignoreSpaces == undefined) {
        ignoreSpaces = false;
    }
    if (ignoreSpaces != true && ignoreSpaces != false) {
        ignoreSpaces = false;
    }
    if (!ignoreSpaces) {
        subject = str_replace(" ", "", subject);
    }
    if (subject == "" || subject == undefined) {
        return true;
    }
    return false;
}
function str_isinteger(subject) {
    var integerCharacters = "0123456789";
    var stringIsInteger = true;
    var subjectCharacter;
    for (i = 0; i < subject.length && stringIsInteger == true; i++) {
        subjectCharacter = subject.charAt(i);
        if (integerCharacters.indexOf(subjectCharacter) == -1) {
            stringIsInteger = false;
        }
    }
    return stringIsInteger;
}
function str_contains(haystack, needle) {
    var strPos = haystack.match(needle);
    if (strPos != null) {
        return true;
    }
    return false;
}

function EmailCheck(str) {

        var at="@";
        var dot=".";
        var lat=str.indexOf(at);
        var lstr=str.length;
        var ldot=str.indexOf(dot);
        
        if (str.indexOf(at)==-1){
           alert("Invalid E-mail Address");
           return false;
        }

        if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
           alert("Invalid E-mail Address");
           return false;
        }

        if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
            alert("Invalid E-mail Address");
            return false;
        }

         if (str.indexOf(at,(lat+1))!=-1){
            alert("Invalid E-mail Address");
            return false;
         }

         if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
            alert("Invalid E-mail Address");
            return false;
         }

         if (str.indexOf(dot,(lat+2))==-1){
            alert("Invalid E-mail Address");
            return false;
         }
        
         if (str.indexOf(" ")!=-1){
            alert("Invalid E-mail Address");
            return false;
         }
          return true;
    }

function ValidateEmail(email){
    var emailID = document.getElementById(email);
    
    if ((emailID.value==null)||(emailID.value=="")){
        alert("Please Enter your Email Address");
        emailID.focus();
        return false;
    }
    if (EmailCheck(emailID.value)==false){
        emailID.value="";
        emailID.focus();
        return false;
    }
    return true;
 }
 
 // Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function ValidateTelephone(telephone){
    var Phone = document.getElementById(telephone);
    
    if ((Phone.value==null)||(Phone.value=="")){
        alert("Please Enter your Phone Number");
        Phone.focus();
        return false;
    }
    if (checkInternationalPhone(Phone.value)==false){
        alert("Please Enter a Valid Phone Number");
        Phone.value="";
        Phone.focus();
        return false;
    }
    return true;
 }
