    var current=0;
    var images = [];
    var timer;
    var sticky;

//========================================================================
$(function() {
//========================================================================

    // these snippets add the pictures to the slide show thumnails
    sticky = $('#mainpic').attr('src');
    $(".thumbnail").each(function () {
        var elm = $(this);
        images.push(elm.attr('src'));
    });

    //Execute the slideShow, set 4 seconds for each images
    // timer = setInterval('slideShow()',2000);


    //========================================================================
    // slide show controls here...
    $('#btnstart').click(function() {
        $(this).css('display','none');
        $('#btnresume').css('display','none');
        $('#btnpause').css('display','inline');
        current = images.length;
        timer = setInterval('slideShow()',3000);
    });

    $('#btnresume').click(function() {
        $(this).css('display','none');
        $('#btnstart').css('display','none');
        $('#btnpause').css('display','inline');
        timer = setInterval('slideShow()',2000);
    });

    $('#btnpause').click(function() {
        stopSlideshow();
    });

    $('#btnprev').click(function() {
        stopSlideshow();
        current--;
        if (current<0) current=images.length-1;
        $('#mainpic').stop(true,true);
        $('#mainpic').fadeOut('fast');
        var s = images[current];
        $('#mainpic').attr('src',s).fadeIn('slow');
    });

    $('#btnnext').click(function() {
        stopSlideshow();
        current++;
        if (current>images.length-1) current=0;
        $('#mainpic').stop(true,true);
        $('#mainpic').fadeOut('fast');
        var s = images[current];
        $('#mainpic').attr('src',s).fadeIn('slow');
    });


    $(".thumbnail").click(function(){
        sticky = $(this).attr('src');

    });

    $(".thumbnail").mouseenter(function(){
        stopSlideshow();
        $('#mainpic').stop(true,true);
        $('#mainpic').fadeOut('fast');
        var s = $(this).attr('src');
        $('#mainpic').attr('src',s).fadeIn('slow');
    });

    $(".thumbnail").mouseleave(function(){
        $('#mainpic').stop(true,true);
        $('#mainpic').fadeOut('fast');
        $('#mainpic').attr('src',sticky).fadeIn('slow');
    });

    function stopSlideshow() {
        $('#btnpause').css('display','none');
        $('#btnstart').css('display','inline');
        $('#btnresume').css('display','inline');
        clearInterval(timer);
    }

    $('.ssproptype').change(function() {
        if ( this.id == 'pc1' ) {
            $("#ssprop_type_styles").css("display","block");
        } else {
            $("#ssprop_type_styles").css("display","none");
        }
    });

    $(".checkall").click(function() {
        var gp=$(this).parents('div:eq(1)').attr("id");
        $("#"+gp+" input[type='checkbox']").attr('checked', true);
        return false;
    });

    $(".clearall").click(function() {
        var gp=$(this).parents('div:eq(1)').attr("id");
        $("#"+gp+" input[type='checkbox']").attr('checked', false);
        return false;
    });
    $("#makeslug").click(function() {
        var t = $("#title").val() + "";
        $("#slug").val(makeSafe(t,true));
        return false;
    });
});

function checkpropertyclass() {
    // need to make sure that at least ONE property class is selected...
    if ( ! $(".ssproptype").is(':checked') ) {
        $(".ssproptype:nth(0)").attr("checked","checked");//make the 1st one checked}
    }
}

//========================================================================
// Function for making sure text only uses url safe symbols
function makeSafe(thisText, allowSpace){
//========================================================================
    var w = "!@#$%^&*()+=[]\\\';,./{}|\":<>?";
    var s = 'abcdefghijklmnopqrstuvwxyz0123456789-_';
    var x = new Array('àáâãäå', 'ç', 'èéêë', 'ìíîï', 'ñ', 'ðóòôõöø', 'ùúûü', 'ýÿ');
    var r = new Array('a', 'c', 'e', 'i', 'n', 'o', 'u', 'y');

    if(allowSpace){
        s = s + ' ';
    }

    thisText = thisText.toLowerCase();
    var newText = new Array();

    for (i = 0; i < thisText.length; i++){
        thisChar = thisText.charAt(i);
        if (thisChar==' ') thisChar="-";
        if(w.indexOf(thisChar) == -1){
            if(s.match(''+thisChar+'')){
                newText[i] = thisChar;
            }else{
                for (j = 0; j < x.length; j++){
                    if(x[j].match(thisChar)){
                        newText[i] = r[j];
                    }
                }
            }
        }
    }

    return newText.join('');
}
//========================================================================
function ss_set_prop_type() {
//========================================================================
    var value = $("input[@name=prop_type]:checked").val();
    if (value=='R') {
        $("#ssprop_type_styles").css("display","block");
    } else {
        $("#ssprop_type_styles").css("display","none");
    }
}

//========================================================================
function slideShow() {
//========================================================================
    current++;
    if (current > images.length-1) current = 0;
    var s = images[current];
    $('#mainpic').fadeOut('fast');
    $('#mainpic').attr('src',s).fadeIn('slow');
}





$(function () { // this line makes sure this code runs on page load
    $('.nhtowns').click(function () {
        $(this).parents('fieldset:eq(0)').find(':checkbox').attr('checked', this.checked);
    });
    $('.metowns').click(function () {
        $(this).parents('fieldset:eq(0)').find(':checkbox').attr('checked', this.checked);
    });

// close all pop outs
    $('.closepopout').click(function() {
        $('.qspopout').css("display","none");
        $('.qspopout').css("left","0px");
        return false;
    });

// open selected pop out
    $('.popbox').click(function() {
        // first, we need to close any exising pop box..

        $('.qspopout').css("display","none");
        $('.qspopout').css("left","0px");

        var target = $(this).attr("id");
        target = target.replace('_textboxlink','');
        target = target.replace('_ataglink','');
        target = "#" + target;

        var w =$(target).width() + "px";
        var l = ($(target).width() * -1) - 24 + "px";

        $(target).animate({
            top: "30px",
            width: w,
            left: l
            }, 300 )
        return false;
    });


    $('#googlemaplink').click(function() {
        $('#googlemap').animate({
            top: 0
            }, 1200 );

        if ( (lat != '') && (lon != '') ) {
            if (GBrowserIsCompatible()) {
                var map = new GMap2(document.getElementById("map"));
                map.addControl(new GSmallMapControl());
                map.addControl(new GMapTypeControl());
                var point = new GLatLng(lat,lon);
                // alert ("Point: " + point);
                map.setCenter(point, 10);
                // map.setCenter(new GLatLng(lat, lon), 13);

                map.addOverlay(new GMarker(point));
            }
        } else {
            initialize2(lat,lon);
            showAddress(address,townstate);
        }

        return false;
    });

    $('#googlemapclose').click(function() {
        $('#googlemap').animate({
            top: -1600
            }, 600 )
        return false;
    });


    $('#mcalclink').click(function() {
        var lp = $("#list_price").html();
        $("#mcPrice").val(lp);
        $('#mortgagecalculator').animate({
            top: 0
            }, 600 )
        return false;
    });

    $('#closemortgage').click(function() {
        $('#mortgagecalculator').animate({
            top: -1600
            }, 600 )
        return false;
    });

    $("#mortgageCalc").click(function(){

        var L,P,n,c,dp,T;

        this.value = this.value.replace(/[^0-9]/g, '');

        L=$("#mcPrice").val();
        L = L.replace(/[^0-9]/g, '');
        n=parseFloat($("#mcTerm").val())*12;
        c=parseFloat($("#mcRate").val())/1200;
        dp=parseFloat($("#mcDown").val());


        L=L-dp;
        P=(L*(c*Math.pow(1+c,n)))/(Math.pow(1+c,n)-1);
        T=P*n;
        if(!isNaN(P)) {
             $("#mcPrincipal").val((L.toFixed(2)));
             $("#mcPayment").val((P.toFixed(2)));
             $("#mcTotal").val((T.toFixed(2)));
        } else {
            $("#mcPayment").val('Monthly Payment is not a number - error!.');
        }
        return false;
    });

    $('.prop_type').change(function() {
        var cbvals = "";
        $('.prop_type:checked').each(function(i){
            cbvals += ' ' + gettype($(this).val());
        });
        $('#qspropertytype_textboxlink').val(jQuery.trim(cbvals));
    });

    $('.alltowns').change(function() {
        var vals = "";
        $('.alltowns:checked').each(function(i){
            vals += ' ' + $(this).val();
        });
        $('#qstowns_textboxlink').val(jQuery.trim(vals));
    });

    $('#MinPrice').change(function() {
       // alert('test: ' + $(this).val());

        if ($('#MaxPrice').val()==0) {
            $('#qspricerange_textboxlink').val('Greater Than ' + $('#MinPrice option:selected').text());
        } else {
            $('#qspricerange_textboxlink').val(
                $('#MinPrice option:selected').text()
                + ' to '
                + $('#MaxPrice option:selected').text()
                );
        }
    });

    $('#MaxPrice').change(function() {
        if ($('#MinPrice').val()==0) {
            $('#qspricerange_textboxlink').val('Less Than ' + $('#MaxPrice option:selected').text());
        } else {
            $('#qspricerange_textboxlink').val(
                $('#MinPrice option:selected').text()
                + ' to '
                + $('#MaxPrice option:selected').text()
                );
        }
    });

});

function gettype(prop_type) {
    switch (prop_type) {
        case 'R':
            v="Residential";
            break;
        case 'T':
            v="Condo";
            break;
        case 'M':
            v="Multi Family";
            break;
        case 'L':
            v="Land";
            break;
        case 'C':
            v="Commercial";
            break;
        case 'O':
            v="Mobile Home";
            break;

        default:
            v = prop_type;
    }
    return v;
}

// slide show script below here...
$(function(){
    var sscurrent = 1;
    var ssbutton = 1;

    var ssimages = 15;  // this needs to be set by count...
    var ssimages = $(".ss_listingsummary").size();

    var sswidth = 580;
    var sscurrenttab = 'overview';

    $('#p1').animate({"left": "10px"}, 400, "swing");
    $('#b1').css("backgroundPosition", "left bottom")
    $('#b1 b').css("color","#fff");
    $('#loading').css("display","none");


    $("#ss_next").click(function() {
        ssbutton = sscurrent;
        sscurrent++;

        if (sscurrent == (ssimages+1) ) {sscurrent = 1};
        animateLeft(sscurrent,ssbutton);
    });

    $("#ss_previous").click(function() {
        ssbutton = sscurrent;
        sscurrent--;
        if (sscurrent == 0 ) {sscurrent = ssimages};
        animateRight(sscurrent,ssbutton);
    });

    $("#ssb_next").click(function() {
        $("#ss_next").click();
        return false;

    });

    $("#ssb_previous").click(function() {
        $("#ss_previous").click();
        return false;
    });

    $("#ss_slide_next").click(function() {
        ssbutton = sscurrent;
        sscurrent++;

        if (sscurrent == (ssimages+1) ) {sscurrent = 1};
        animateLeft(sscurrent,ssbutton);
        $("#currentslide").html(sscurrent);
    });

    $("#ss_slide_prev").click(function() {
        ssbutton = sscurrent;
        sscurrent--;
        if (sscurrent == 0 ) {sscurrent = ssimages};
        animateRight(sscurrent,ssbutton);
        $("#currentslide").html(sscurrent);
    });

    $("#ss_buttons div").click(function() {
        ssbutton=sscurrent;
        clickButton = $(this).attr('id');
        sscurrent = parseInt(clickButton.slice(1));
        if (sscurrent > ssbutton) {animateLeft(sscurrent,ssbutton)}
        if (sscurrent < ssbutton) {animateRight(sscurrent,ssbutton)}
    });

    $("#ss_buttons div b").mouseover(function() {
        if (($(this).css("color")) == "#16a" || ($(this).css("color")) == "rgb(17, 102, 170)") {$(this).css("color","#000");}
    });

    $("#ss_buttons div b").mouseout(function() {
        if (($(this).css("color")) == "#000" || ($(this).css("color")) == "rgb(0, 0, 0)") {$(this).css("color","#16a");}
    });

function animateLeft(sscurrent,ssbutton) {
    // alert('left: ' + current + " " + button);
    $('#p'+sscurrent).css("left",sswidth +"px");
    $('#p'+sscurrent).animate({"left": "10px"}, 400, "swing");
    $('#p'+ssbutton).animate({"left": -sswidth+"px"}, 400, "swing");
    setbutton()
}

function animateRight(sscurrent,ssbutton) {
    // alert('right: ' + current + " " + button);
    $('#p'+sscurrent).css("left",-sswidth+"px");
    $('#p'+sscurrent).animate({"left": "10px"}, 400, "swing");
    $('#p'+ssbutton).animate({"left": sswidth+"px"}, 400, "swing");
    setbutton()
}

function setbutton () {
    $('#b'+ssbutton).css("backgroundPosition", "left top")
    $('#b'+ssbutton+' b').css("color","#16a");
    $('#b'+sscurrent).css("backgroundPosition", "left bottom")
    $('#b'+sscurrent+' b').css("color","#fff");
}


// slide show tabs in back end...
    //When page loads...
    $(".ss_tab").hide(); //Hide all content
    $("ul.ss_links li:first").addClass("active").show(); //Activate first tab
    $(".ss_tab:first").show(); //Show first tab content

    //On Click Event
    $("ul.ss_links li").click(function() {

        $("ul.ss_links li").removeClass("active"); //Remove any "active" class
        $(this).addClass("active"); //Add "active" class to selected tab
        $(".ss_tab").hide(); //Hide all tab content

        var activeTab = $(this).find("a").attr("href"); //Find the href attribute value to identify the active tab + content
        $(activeTab).fadeIn(); //Fade in the active ID content
        return false;
    });


});



