function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function bb_get_results(obj_source, search_a, tag_a, page_num, fcallback) {
  if (!tag_a) {
    tag_list = '';
  } else {
    tag_list = tag_a;
  }

  if (!page_num) {
    page_num = 1;
  }

  if (!search_a) {
    search_q = new Array('q', '');
  } else {
    search_q = search_a.split(':');
  }

  if (obj_source == 'shoot') {
    obj_columns = 4;
    obj_limit   = 16;
    obj_width   = 180;
  } else {
    obj_columns = 5;
    obj_limit   = 50;
    obj_width   = 200;
  }

  $('#navig').html('');

  $('#bb_results').html(
    $('<img/>')
      .attr('src', 'http://images2.bangbros.com/bangbrosnetwork/t1/loading_animation.gif')
      .attr('alt', 'Loading..')
  );

  var s_data = {};
  s_data['f']         = 'json'
  s_data[search_q[0]] = search_q[1];
  s_data['tags[]']    = tag_list;
  s_data['p']         = parseInt(page_num);
  s_data['l']         = parseInt(obj_limit);

  $.ajax({
    url: 'http://search.bangbros.com/' + obj_source,
    data: s_data,
    dataType: 'jsonp',
    success: function(result) {
      result_render = $('<div/>').attr('id', 'bb_results');

      if (result.count == 0) {
        $('<div/>')
          .text('No ' + obj_source + ' matching your selection could be found. Please try another combination')
          .appendTo(result_render);
      } else {
        $.each(result.items, function(i, item) {
          $('<div/>')
            .attr('class', 'res_' + obj_source)
            .html(item.render)
            .appendTo(result_render);

          if (((i+1) % obj_columns) == 0) {
            $('<br/>').css('clear', 'both').appendTo(result_render);
          }
        });

        /* pagination */
        var navi_bar        = ''
        var navi_pages      = Math.ceil(result.count/obj_limit);
        var navi_low_limit  = 1;
        var navi_high_limit = 10;

        if (navi_pages < 10) {
          navi_high_limit = navi_pages;
        } else {
          navi_high_limit = s_data['p']+9;
          if (navi_high_limit > navi_pages) {
            navi_high_limit = navi_pages;
          }
          navi_low_limit  = navi_high_limit-9;
          if (navi_low_limit < 1) {
            navi_low_limit = 1;
          }
        }

        if (navi_pages > 1) {
          var navi_bar = $('<div/>')
            .attr('id', 'navig')
            .attr('align', 'center');

          var t = $('<span>').text('Page ' + s_data['p'] + ' of ' + navi_pages + ' : ');
          navi_bar.append(t);

          for (var page=navi_low_limit; page<=navi_high_limit; page++)
          {
            if (page == s_data['p']) {
              var t = $('<span class="p1"></span>').text(page);
            } else {
              var t = $('<a>')
                .attr('href', '?page=' + page)
                .text(page)
                .bind('click', function(e) {
                  bb_get_results(obj_source, search_a, tag_a, this.text);
                  return false
                });
            }

            navi_bar.append(t);
          }

          if (s_data['p'] < navi_pages) {
            var t = $('<a>')
              .attr('href', '?page=' + (s_data['p']+1))
              .bind('click', function(e) {
                bb_get_results(obj_source, search_a, tag_a, (s_data['p']+1));
                return false;
              })
              .text('Next »')
              .wrapInner('<b></b>');

            navi_bar.append(t);
          }
          $('#navig').replaceWith(navi_bar);
          $('#navig a').wrap('<span class="p1"></span>');
        }
      }
      $('#bb_results').replaceWith(result_render);
      if (fcallback) {
        fcallback(result.count);
      }
    }
  });
}

$(document).ready(function() {
  /* hide non-JS elements */
  $('.js_elements').css('display', 'none');

  /* browse by site */
  $('.bb_s_browse_site').change(function() {
    var sel_obj = $(this).val();
    window.location.href = 'girls?site=' + sel_obj;
    return false;
  });
  
  /* tag selection */
  $('.bb_s_tag_select').click(function() {
    if ($(this).is('a')) {
      i = $('.bb_s_tag_select').filter('input').filter('[value=' + $(this).html() + ']');
      if (i.is(':checked')) {
        i.attr('checked', false);
      } else {
        i.attr('checked', true);
      }
    }

    var tag_list = new Array();
    $.each($('.bb_s_tag_select').filter('input'), function(i, item) {
      if ($(item).is(':checked')) {
        tag_list[tag_list.length] = $(item).attr('value');
      }
    });

    var ta = tag_list.sort();
    var tag_list = new Array();
    for (var i=0; i<=ta.length; i++) {
      if (i > 0) {
        if (ta[i] == ta[i-1]) {
          continue;
        }
      }
      if (ta[i]) {
        tag_list.push(ta[i]);
      }
    }

    if (tag_list.length > 0) {
      var re = new RegExp(/o=(\w)/);
      var m = re.exec(window.location.search);
      if (m != null) {
        var sort_filter = '&o=' + m[1];
      } else {
        var sort_filter = '';
      }

      var re = new RegExp(/menu=(\w+)/);
      var m = re.exec(window.location.search);
      if (m != null) {
        var menu_option = '&menu=' + m[1];
      } else {
        var menu_option = '';
      }
      
      var re = new RegExp(/girls/);
      if (re.exec(window.location.pathname)) {
        window.location.href = 'girls?tags[]=' + tag_list.join('&tags[]=') + sort_filter + menu_option;
      } else {
        window.location.href = 'updates?tags[]=' + tag_list.join('&tags[]=') + sort_filter + menu_option;
      }
    }
    return false;
  });
  
  /* search box */
/*
  $('.search_form').submit(function() {
    s_type = $('.search_type:checked').attr('value');
    if (!s_type) {
      s_type = 'shoot';
    }
    bb_get_results(s_type, 'q:' + $('#search_input').val(), false, 1, function(res_count) {
      $('#theRes').text('Your search returned ' + res_count + ' results');
      $('#bb_s_status').text('');
    });
    return false;
  });
*/
});

function bookmark(url, sitename)
{
  ns="Netscape and FireFox users, use CTRL+D to bookmark this site."
  if ((navigator.appName=='Microsoft Internet Explorer') &&
    (parseInt(navigator.appVersion)>=4))
  {
    window.external.AddFavorite(url, sitename);
  }
  else if (navigator.appName=='Netscape')
  {
    alert(ns);
  }
}

