$(document).ready(function(){
        stabs('ul.tabs','.search-form');
        stabs('ul.register','.steps');

        $('.add-business-block .link_expand A').click(function(){
                var area = $(this).parent().parent().parent().find('.step-area-link');
                var step = $('step');
                $(area).slideToggle(600,function(){
                        if ($(step).hasClass('drop-block-link')) {
                                $(step).removeClass('drop-block-link');
                                $(step).addClass('implicit-block-link');
                        }else {
                                $(step).addClass('drop-block-link');
                                $(step).removeClass('implicit-block-link');
                        }
                });
                
                return false;
        });
        
        $('.add-business-block .step A').click(function(){
                var area = $(this).parent().find('.step-area');
                var step = $(this).parent();
                $(area).slideToggle(500,function(){
                        if ($(step).hasClass('drop-block')) {
                                $(step).removeClass('drop-block');
                                $(step).addClass('implicit-block');
                        }else {
                                $(step).addClass('drop-block');
                                $(step).removeClass('implicit-block');
                        }
                });
                
                return false;
        });
        
        
        $('.auto-hint[title]').each(function(i, el){
                if($(this).val() == ''){
                        $(this).val($(this).attr('title'));
                }
                $(el).focus(function(){
                        if ($(this).val() == $(this).attr('title')) {
                                $(this).val('').css({ color: '#4c4c4c' });
                        }               
                });
                $(el).blur(function(){
                        if ($(this).val() == '') {
                                $(this).val($(this).attr('title')).css({ color: '#959595'});
                        }
                });
        });

        // sign-in-popup, my-account-popup
        $('.right-cont a.title').click(function(e){
            e.preventDefault();
            $('#report-correction-popup').dialog({ 
                width: '300', 
                height: '430',
                title: 'Report A Correction'
             });
        });
        
        $('.number .help').hover(function(){
                $(this).find('.user-recom').show();
        },function(){
                $(this).find('.user-recom').hide();
        });
});



/**
* @function readMoreText
* For use in click handlers to power "read more" in a long string
* Assumes structure of:
* <div>
* ...<span class="read-more-text">...</span> <a class="read-more-action">(more)</a>
* </div>
*/
function readMoreText (e) {
    e.preventDefault();
    var me = $(this);
    me.siblings('span.read-more-text').toggle();
    me.text(me.text() === '(more)' ? '(less)' : '(more)');
}

function tipRollover() {
    $(".help").hover(function(e){
        if ( $(this).attr('title') == '' ) return false;
        var linkPos = $(this).offset();
        $('body').append('<div id="help-popup">'+$(this).attr('title')+'</div>');
        $(this).attr('title','');
        $('#help-popup').css({'background-color' : '#feffd4','border' : '1px solid #000000','font-size' : '10px','color' : '#000000','max-width' : '470px', 'padding' : '2px','text-align' : 'left'});
        if($.browser.msie && $.browser.version == '6.0'){
          if ( parseInt($('#help-popup').width()) > parseInt($('#help-popup').css('max-width')) )
            $('#help-popup').width( $('#help-popup').css('max-width') );
        }
        $('#help-popup').css({ 'position' : 'absolute','left' : e.pageX + 15 + 'px', 'top' : parseInt(e.pageY) + 10 + 'px' });
    }, function(){
            $(this).attr('title',$('#help-popup').html());
        $('#help-popup').remove();
    }).click(function() { 
        if ($(this).attr('href') == '#') return false;
    });
}

function stabs(ul,tabcontent){
        $(ul+' li a').click(function(){
                var showForm = $(this).attr('href');
                var showFormId = showForm.split("#");
                if (showFormId[1]) showFormId = showFormId[1];
                else showFormId = showFormId[0];
                
                var link = this;
                if ( $(tabcontent+' .tab-content:visible').length == 0 || $(tabcontent+' .tab-content:visible').attr('id') == showFormId || ($(ul+' li a').hasClass("disabled")) ) return false;
                $(tabcontent+' .tab-content:visible').fadeOut(100,function(){
                        $(ul+' li a').addClass("disabled");
                        $(ul+' li').removeClass('active');
                        $(link).parent().addClass('active');
                        $(showForm).fadeIn(600,function(){
                                $(ul+' li a').removeClass("disabled");
                        });
                });     
                return false;
        });
}

function show(close_id, className1, className2) {
        var close = document.getElementById(close_id);
        
        if (close.className == className1) {
                close.className = className2;
        }else { 
                close.className = className1;
        }
};

$(document).ready(function(){
        
        $('#menu A,.left-column UL A').click(function(){
                var anchors = $(this).attr('href').split('#');
                if (anchors.length == 3) { //Sub Drop
                        $('#'+anchors[1]).attr('class','step drop-block');
                        location.hash = anchors[2];
                }else if (anchors.length == 2) {
                        $('#'+anchors[1]).attr('class','step drop-block');
                }
        });
        
        $('.menu').hover(
                  function () {
                        $(this).css("z-index", 101);
                  },
                  function () {
                        $(this).css("z-index", 2);
                    }
        );
        $('#menu').hover(
                  function () {
                        $(this).css("z-index", 101);
                  },
                  function () {
                        $(this).css("z-index", 2);
                    }
        );
        $('#wrapper').hover(
                  function () {
                        $(this).css("z-index", 10);
                  },
                  function () {
                        $(this).css("z-index", 1);
                    }
        );
        
        tipRollover();

        /* Signin/My Account Popup */
        $('.sign-in .link').click(function(){
            var $popup = $(this).siblings('#popup');
            if ($popup.is(':hidden')) {
                $popup.slideDown('fast', function() {
                  $popup.find('a.close').click(function() {
                    $popup.slideUp('fast');
                    return false;
                  });
                });
            }
            else {
                $popup.slideUp('fast');
            }
            return false;
        });


});
        
function checkForm(object) {
    var fields; var message; var focus;
    var form_name = $(object).attr('name');
    if (form_name == 'refine-tag') {
      fields = new Array('catid', 'query2');
      message = 'Please select a category and enter your postcode';
      focus   = 'query2';
    }
    else if (form_name == 'refine-subcat') {
      fields = new Array('query2');
      message = 'Please enter your postcode';
      focus   = 'query2';
    }
    else if (form_name == 'refine-box') {
      fields = new Array('Suburb');
      message = 'Please enter your postcode';
      focus   = 'Suburb';
    }
    else if (form_name == 'sort-tag') {
      fields = new Array('Location');
      message = 'Please enter your postcode';
      focus   = 'Location';
    }
    else {
      var searchFlag = $('.search-form input[name=Title]').is(':visible');
      fields  = searchFlag ? new Array('Title', 'query2') : new Array('query', 'query2');
      message = searchFlag ? "Please enter business name or location" : "Please enter a keyword or location";
      focus   = searchFlag ? 'Title' : 'query';
    }

    var num_null = 0;

    for (var i=0; i<fields.length; i++) {
      var input = $(object).find('[name="' + fields[i] + '"]');
      if (input.length == 0) continue;

      var val = input.val();
      val = val.replace(/^\s*/, '');
      val = val.replace(/\s*$/, '');
      if (val.search(/\s*eg.\s*sydney\s*,\s*nsw\s*,\s*2000...|enter\s*keyword|enter\s*business\s*name|enter\s*your\s*|city\s*or\*suburb\*here\s*|refine\s*by\s*postcode\s*|select\s*a\s*category/i) == 0) input.val('');
      if (input.val().length == 0) num_null++;
    }

    if (form_name == 'refine-subcat') {
      if (num_null > 0) {
        alert(message);
        $(object).find('input[name="' + focus + '"]').focus();
        return false;
      }
    }
    else if (num_null == fields.length) {
      alert(message);
      $(object).find('input[name="' + focus + '"]').focus();
      return false;
    }

    return true;
}


$(document).ready(function() {
    $('.form-tip[title]').formTips();
	
    $(".spons-link2").mouseover(function(){
		$(this).addClass("gadover");
		$(this).children("a.sl2-title").addClass("sl2-title-o");
	 });
	 
    $(".spons-link2").mouseout(function(){
		$(this).removeClass("gadover");
		$(this).children("a.sl2-title").removeClass("sl2-title-o");
	 });
	
	$(".rollchange").mouseover(function(){
		$(this).addClass("gadover");
		$(this).children("a.link-title").css("color", "#ffbd00");
	 });
	 
    $(".rollchange").mouseout(function(){
		$(this).removeClass("gadover");
		$(this).children("a.link-title").css("color", "#4c4c4c");
	 });
    titleBlock($('.title-block'));
})

function setEqualHeight(columns) {  
    var tallestcolumn = 0;  
    columns.each(function(){  
        var currentHeight = $(this).height();  
        if (currentHeight > tallestcolumn) {  
            tallestcolumn  = currentHeight;  
        }  
    });  
    columns.height(tallestcolumn);  
}  

/*
 * BELOW ARE FUNCTIONS FOR FEATURED LISTING
 */

function titleBlock(objs) {
    $(objs).each(function() {
        var $blk = $(this);
        $(this).find('h6').click(function() {
            if ($blk.hasClass('open')) $blk.find('.title-block-content').slideUp('normal', function() { $blk.removeClass('open'); });
            else $blk.find('.title-block-content').slideDown('normal', function() { $blk.addClass('open'); });
        });
    });
}

/*
 * init function for Featured Listing. This must be called in $(body).ready(...)
 */
function init_ads_actions(form_type) {
    $('input[name=cc_number]').attr('autocomplete', 'off');
    $('.ad_logo-preview').click(function() { return false; });

    /* Setting action for checkboxes and radios */
    $('input.nearby').each(function() {
        $(this).click(function() { addListingToCart($(this));  });
        if ($(this).is(':checked')) $(this).click();
    });

    /* Text Limit */
    $('textarea[name=ad_description]').textlimit($('textarea[name=ad_description]').siblings('.characters').find('span'), 120);
    $('textarea[name=ad_service_area]').textlimit($('textarea[name=ad_service_area]').siblings('.characters').find('span'), 100);

    /* hints inputs */
    hints($('input.hints[title]'));

    /* File Upload */
    $('.file-input-area').fileUpload({
        cgi_url: cgi_url,
        preview_url: upload_preview_url,
        callback: function() { logoUploadCallback(); }
    });

    /* Upload logo */
    $('#use_logo').change(function() {
        if ($(this).is(':checked')) {
            $('#upload_logo').slideUp();
            upLivePreview('image');
        }
        else {
            $('#upload_logo').slideDown();
            $('#live_preview .company-logo').slideUp();
        }
    });

    /* Show live preview for featured listing */
    $('a[rel=live_preview]').click(function() {
        var $obj = $(this);
        var isForm = $('#use_logo').length > 0 ? true : false;
        if (isForm && !$('#use_logo').is(':checked')) $('#live_preview .company-logo').hide();

        if ($(this).html().search(/show/) != -1) {
            $(this).siblings('#live_preview').slideDown('fast', function() {
              var html = $obj.html().replace('+show', '-hide');
              $obj.html(html);
            });
        }
        else {
            $(this).siblings('#live_preview').slideUp('fast', function() {
              var html = $obj.html().replace('-hide', '+show');
              $obj.html(html);
            });
        }
        return false;
    });

    /* Pre update logo and livePreview content */    
    if ($('#use_logo').is(':checked')) {
        if ($('input[name=ad_logo-url]').val() != '' && $('input[name=ad_logo-path]') != '' && ('input[name=ad_logo-name]') != '') {
            if ($('#Logo_result img').attr('src') != $('input[name=ad_logo-url]').val()) {
                $('#Logo_result img').attr('src', $('input[name=ad_logo-url]').val());
                upLivePreview('image');
            }
            $('#use_logo').parent().show();
        }
    }
    else {
        $('#use_logo').change();
    }

    /* Update business description in live preview with changes */
    $('textarea[name=ad_description]').bind('keyup', function() { upLivePreview('desc'); }).keyup();;
    $('textarea[name=ad_service_area]').bind('keyup', function() { upLivePreview('service_area'); }).keyup();;

    if (form_type == 'modify') {
        showAllSuburbs();
        return;
    }
    else if (form_type != 'add') return;

    /* Ads type change */
    $('select[name=ad_type]').change(function() {
        var val = $(this).val();
        if (val == 'Local') {
            $('#nearby_suburbs').slideDown('normal');
            $('#nearby_regions').slideUp('normal');
            $('.local-desc').fadeIn('normal');
            $('.regional-desc').fadeOut('normal');

            $('input[name=region]').attr('disabled', true).attr('checked', false).click();
            $('input[name=nearby]').attr('disabled', false);
        }
        else {
            $('#nearby_regions').slideDown('normal');
            $('#nearby_suburbs').slideUp('normal');
            $('.local-desc').fadeOut('normal');
            $('.regional-desc').fadeIn('normal');
            
            $('input[name=nearby]').attr('disabled', true).attr('checked', false).click();
            $('input[name=region]').attr('disabled', false);
        }
    }).change();

    /* Show suburbs in a region or within nn kms of a suburb */
    expandSuburbListing($('a[rel=expandlist]'));
    preselectRegions($('input[name=region]'));
}

/* Show pages that the ads will appear */
function loadSuburbPages(url, type, opts) {
    var $pages = $('#showpages');
    if (opts != '') {
      $pages.slideDown();
      if (type == 'Local') url += ';radius=' + opts;
      else url += ';regions=' + opts;

      $pages.find('.nearby-wrapper').before('<div class="loading" style="display: inline"></div>');
      $.get(url, function(html) {
          if (html.search("<div") >= 0) {
              $pages.find('.nearby-wrapper').html(html).slideDown('html', function() {
                  $pages.find('.loading').remove();
                  showAllSuburbs();
              });
          }
          else {
              $pages.slideUp('normal', function() { 
                  $pages.find('.nearby-wrapper').html('');
                  $pages.find('.loading').remove();
              });
          }
      }, 'html');
    }
    else {
        $pages.slideUp('normal', function() { 
            $pages.find('.nearby-wrapper').html('');
            $pages.find('.loading').remove();
        });
    }
};

function upLivePreview(show) {
    if (show == 'image') {
        var img = $('#Logo_result img').attr('src');
        if (img.search('temp\/logo.gif') == -1) $('#live_preview .company-logo').show().find('img').attr('src', img);
    }
    else if (show == 'desc') {
        $('#live_preview .company-desc').html($('textarea[name=ad_description]').val());
    }
    else if (show == 'service_area') {
        $('#live_preview .company-desc').html($('textarea[name=ad_service_area]').val());
    }
}

/* Show/hide Total Cose and Billing Section */
function nearbyChange() {
    if ($('#shoppingcart li').length > 0) {
        $('.enhance_wrapper').slideDown('normal');
        $('.noenhance_wrapper').slideUp('normal');
    }
    else {
        $('.noenhance_wrapper').slideDown('normal');
        $('.enhance_wrapper').slideUp('normal');
    }
}
/* Pre-select regions */
function preselectRegions(objs) {
    $(objs).each(function() {
        var $obj = $(this);
        $('input[name=item]').each(function() {
            if ($(this).val() == $obj.val()) {
                $obj.attr('checked', true);
                return false;
            }
        });
    });
}

/* Calculation total cost and show summary */
function cartSummary() {
    var amount = 0; var discount = 0; var subtotal = 0;
    var discount_per = ads_discount_per ? ads_discount_per : 0;

    var iobj      = $('#shoppingcart input[name=item]');
    var type      = $('select[name=ad_type]').val();
    var num_items = iobj.length;
    var num_pages = 0;
    var url_opts  = '';
    iobj.each(function() {
        amount    += parseFloat($(this).siblings('input[name=price-' + $(this).val() +']').val() || 0);
        num_pages += parseInt($(this).siblings('input[name=pages-' + $(this).val() + ']').val() || 0);
        if (type == 'Regional') url_opts  += $(this).siblings('input[name=name-' + $(this).val() + ']').val() + '|';
        else url_opts += $(this).siblings('input[name=radius-' + $(this).val() + ']').val();
    });

    if (type == 'Regional') {
        $('#summary_desc').html(num_items + ' region' + (num_items > 1 ? 's' : '') + ' and ' + num_pages + ' suburbs');
        num_pages += num_items;
    }
    else if (type == 'Local') $('#summary_desc').html(num_pages + ' suburbs');
    $('#summary_desc2').html((num_pages * parseInt($('input[name=num_cats]').val())) + ' pages');

    if (amount > 0) {
        discount = amount * discount_per / 100;
        subtotal = amount - discount;
    }

    $('#subtotal_amount').html('$' + roundNumber(amount, 2));
    $('#discount_amount').html('$' + roundNumber(discount, 2));
    $('.total_amount').html('$' + (roundNumber(subtotal, 2)) + ' inc. GST');
    loadSuburbPages(ads_pages_url, type, url_opts);
}

/* Add to cart */
function addListingToCart(obj) {
    if ($('#shoppingcart ul').length == 0) $('#shoppingcart').append('<ul class="nearby-selection"></ul>');
    var $obj  = $(obj);
    var $cart = $('#shoppingcart .nearby-selection');
    var id    = $obj.val();

    /* Add an item */
    if ($obj.is(':checked')) {
        if ($obj.attr('name') == 'region') {
            var name = $('input[name=region_name-' + id + ']').val();
            var html = '<li id="item_' + id + '">' + name +
                '<input type="hidden" name="item" value="' + id + '" />' +
                '<input type="hidden" name="name-' + id + '" value="' + name + '" />' +
                '<input type="hidden" name="price-' + id + '" value="' + $('input[name=region_price-' + id + ']').val() + '" />' +
                '<input type="hidden" name="pages-' + id + '" value="' + $('input[name=region_suburbs-' + id + ']').val() + '" />' +
                '</li>';
            if ($cart.find('input[name=nearby-1]').length == 0) $cart.append(html);
            else $cart.html(html);
            $('input[name=nearby]').attr('checked', false);
        }
        else {
            var radius = $('input[name=local_radius-' + id + ']').val();
            var name   = $('input[name=local_name-' + id + ']').val();
            var html   = '<li id="item_' + id + '">All suburbs within ' + radius + 'kms of ' + name +
                '<input type="hidden" name="item" value="' + id + '" />' +
                '<input type="hidden" name="name-' + id + '" value="' + name + '" />' +
                '<input type="hidden" name="radius-' + id + '" value="' + radius + '" />' +
                '<input type="hidden" name="price-' + id + '" value="' + $('input[name=local_price-' + id + ']').val() + '" />' +
                '<input type="hidden" name="pages-' + id + '" value="' + $('input[name=local_suburbs-' + id + ']').val() + '" />' +
                '</li>';
            $cart.html(html);
            $('input[name=region]').attr('checked', false);
        }
    }
    else $cart.find('input[value=' + id + ']').parent().slideUp().remove();
    nearbyChange();
    cartSummary();
}

function expandSuburbListing(objs) {
    $(objs).each(function() {
        var $more    = $(this);
        var $wrapper = $(this).parent().parent();

        $(this).click(function() {
            var msg = $(this).html();
            if (msg.search(/\+expand/) != -1) msg = msg.replace(/\+expand/, '-hide');
            else msg = msg.replace('-hide', '+expand');

            if (isRunning) return false;
            if ($wrapper.find('.nearby-wrapper').length > 0) {
                var nearby_wrapper = $wrapper.find('.nearby-wrapper');
                if (nearby_wrapper.is(':hidden')) nearby_wrapper.slideDown('normal', function() { $more.html(msg); });
                else nearby_wrapper.scrollTop(0).slideUp('normal', function() { $more.html(msg); });
                return false;
            }

            isRunning = true;
            $wrapper.append('<div id="wrapper_loading" class="loading" style="display: inline"></div>');
            $.get($(this).attr('href'), function(html) {
                if (html.search(/<ul/) != -1)  $wrapper.append(html).find('.nearby-wrapper').slideDown('normal', function() {
                    $wrapper.find('input[name=stats_url]').each(function() {
                      var $total_views = $wrapper.find('.total-views');
                      $total_views.find('span').after('<div class="loading" style="display: inline; margin-left: 2px"></div>');
                      $.get($(this).val(), function(html) {
                        $total_views.find('.loading').remove();
                        $total_views.find('span').after(html);
                      }, 'html');
                      return false;
                    });
                    expandSuburbListing($wrapper.find('.nearby-wrapper a[rel=expandlist]'));
                    if ($wrapper.find('.nearby-wrapper input.nearby').length > 0) {
                        $wrapper.find('.nearby-wrapper input[name=region]').each(function() { 
                            if ($('select[name=ad_type]').val() == 'Local') $(this).attr('disabled', true);
                            $(this).click(function() { addListingToCart($(this)); });
                        });
                    }
                    
                    var regions = $wrapper.find('input[name=region]');
                    if (regions.length > 0) preselectRegions(regions); 

                    $more.html(msg);
                    isRunning = false;
                    $wrapper.find('#wrapper_loading').remove();
                    tipRollover();
                });
                else {
                    $wrapper.find('.loading').remove();
                    isRunning = false;
                    alert('Nothing found');
                }
            }, 'html')
            return false;
        });
    });
}

function logoUploadCallback() {
    $('#use_logo').parent().show();
    $('#use_logo').attr('checked', true).change();
    upLivePreview('image');
}

function showAllSuburbs() {
    $('a[rel=all_suburbs]').click(function() {
        if ($('#showpages li:hidden').length > 0) {
            $('#showpages li:hidden').show();
            $(this).html('-hide additional');
        }
        else {
            $('#showpages li.additional').hide();
            $(this).html('+expand all');
        }
        return false;
    });
}

function hints(obj) {
    /* Hint inputs */
    $(obj).each(function() {
        if ($(this).val() == '') $(this).val($(this).attr('title')).css({ color: '#959595' });
        else if ($(this).val() == $(this).attr('title')) $(this).css({ color: '#959595' });
        else $(this).css({ color: '#4c4c4c' });

        $(this).focus(function() {
            if ($(this).val() == $(this).attr('title')) $(this).css({ color: '#4c4c4c' }).val('');
        }).blur(function() {
            if ($(this).val() == '' || $(this).val() == $(this).attr('title')) $(this).val($(this).attr('title')).css({ color: '#959595' });
            else ($(this).css({ color: '#4c4c4c' }));
        });
    });
}

function fakeFile(obj) {
  var file      = $(obj);
  var fakeinput = $('input[name="' + file.attr('id') + '-shown"]');
  if (fakeinput.length == 1) {
    var path = file.val().replace(/c:\\fakepath\\/i, '');
    fakeinput.attr({ readonly: true }).val(path).change();
  }
}

function roundNumber(number,decimals) {
  var newString;// The new rounded number
  decimals = Number(decimals);
  if (decimals < 1) {
    newString = (Math.round(number)).toString();
  }
  else {
    var numString = number.toString();
    if (numString.lastIndexOf(".") == -1) {// If there is no decimal point
      numString += ".";// give it one at the end
    }
    var cutoff = numString.lastIndexOf(".") + decimals;// The point at which to truncate the number
    var d1 = Number(numString.substring(cutoff,cutoff+1));// The value of the last decimal place that we'll end up with
    var d2 = Number(numString.substring(cutoff+1,cutoff+2));// The next decimal, after the last one we want
    if (d2 >= 5) {// Do we need to round up at all? If not, the string will just be truncated
      if (d1 == 9 && cutoff > 0) {// If the last digit is 9, find a new cutoff point
        while (cutoff > 0 && (d1 == 9 || isNaN(d1))) {
          if (d1 != ".") {
            cutoff -= 1;
            d1 = Number(numString.substring(cutoff,cutoff+1));
          } else {
            cutoff -= 1;
          }
        }
      }
      d1 += 1;
    } 
    if (d1 == 10) {
      numString = numString.substring(0, numString.lastIndexOf("."));
      var roundedNum = Number(numString) + 1;
      newString = roundedNum.toString() + '.';
    } else {
      newString = numString.substring(0,cutoff) + d1.toString();
    }
  }
  if (newString.lastIndexOf(".") == -1) {// Do this again, to the new string
    newString += ".";
  }
  var decs = (newString.substring(newString.lastIndexOf(".")+1)).length;
  for(var i=0;i<decimals-decs;i++) newString += "0";
  return newString;
}

function loadPageStats(val, $obj, callback) {
    if (!$obj) $obj = $('#liststats');
    var url  = val == 'reg' ? region_url : suburb_url + ';rd=' + val;
    var flag = false;

    if ($obj.find('.load').length == 1) {
        $obj.find('.load').addClass('loading').css({display: 'inline'});
        flag = true;
    }
    else $obj.find('.load-' + val).addClass('loading').css({display: 'inline'});

    $obj.find('.pages-' + val).html('');
    $obj.find('.stats-' + val).html('');
    $.getJSON(url, function(json) {
        if (json.success) {
            $obj.find('.pages-' + val).html(json.data.pages);
            $obj.find('.stats-' + val).html(json.data.views);
            if (!flag) $obj.find('.loading').fadeOut('normal', function() { $(this).removeClass('loading'); });

            if (adistance.length > 0) loadPageStats(adistance.shift(), $obj, callback);
            else {
                $('input[name=bloadstats]').attr('disabled', false).css({ color: '#ffffff' });
                if (flag) $obj.find('.loading').fadeOut('normal', function() { $(this).removeClass('loading'); });
                if (typeof(callback) == 'function') callback();
            }
        }
    });
}

function listingAssist(form) {
    $(form).ajaxForm({
        dataType: 'json',
        beforeSubmit: function() {
            $('#stats').slideUp('normal', function() { $(this).html('') });
            $('input[name=bsearch]').attr('disabled', true).after('<span class="loading" style="display: inline;margin-top: 3px;"></span>');
        },
        success: function(res) {
            if (res.success) {
              $('#stats').html(res.data.html).slideDown('normal', function() {
                  $('#stats table a[rel]').each(function() {
                      $(this).click(function() {
                        var $obj = $(this);
                        var id = $(this).attr('rel');
                        $(this).after('<span class="loading" style="display: inline"></span>');
                        $.getJSON($(this).attr('href'), function(json) {
                          if (json.success) {
                            $('#pages_' + id).html(json.data.pages);
                            $('#views_' + id).html(json.data.views);
                            $obj.siblings('.loading').fadeOut('normal', function() { $(this).remove() });
                          }
                        });
                        return false;
                      });
                  });

                  $('#stats ul input[type=radio]').each(function() {
                      $(this).click(function() {
                          $('input[name=ID]').val($(this).val());
                          $(form).submit();
                      });
                  });
              });
            }
            else {
                alert(res.message)
            }
            $('input[name=bsearch]').attr('disabled', false).siblings('.loading').fadeOut('normal', function() { $(this).remove(); });
        }
    });
}

$(document).ready(function() {
    /*
     * Disabled automatic location pre-population
     * ticket #17645
    if( $.cookie('session_start_time') ) {
        var query2 = getQueryParam('query2');
        if ( query2 != null )  {
            if (query2 == '' || query2 == 'undefined' ) return; 
            $('#query2').val(query2);
            $('#query2-2').val(query2);
        }
        else if ( window.location.pathname != '/' && window.location.pathname != '/get-listed.html' ) { return; }
        else if ( $.cookie('search_loc') == null ) {
            $.getJSON('/cgi-bin/directory/location.cgi', function(data) {
                if ( !data['location'] ) return;
                $('#query2').val(data['location']);
                $('#query2').css('color','#000000');
                $('#query2-2').val(data['location']);
                $('#query2-2').css('color','#000000');
            });
        }
        else if ( $.cookie('search_loc') ){
            $('#query2').val($.cookie('search_loc'));
            $('#query2').css('color','#000000');
            $('#query2-2').val($.cookie('search_loc'));
            $('#query2-2').css('color','#000000');
        }
    }
    */
});

function getQueryParam(param) {
    var query = window.location.search; 
    if( !query ) return;
    var params = query.split('&');
    var params_parsed = [];
    for (i in params) {
        key_value = params[i].split('=');
        params_parsed[key_value[0]] = key_value[1];
    }
    return unescape(params_parsed[param]).replace(/\+/g, ' ');
}

