function basename(path) {
  return path.replace(/\\/g,'/').replace( /.*\//, '' );
};


/*
 * to do: find first tab with form errors (after submission), and activate
 */

var STBeach = {
  _active:'main',
  _evtSrc:null,
  onTab: function() {
    STBeach._evtSrc = this;
    STBeach._active = $(this).attr('name');
    $('div.sttabs div.sttab').each(function(i,e){
      if( $(e).attr('name')==STBeach._active ) {
        $(e).show();
        var fn = $(e).attr('onactivate');
        if( fn ) eval(fn);
      }
      else {
        $(e).hide();
      }
    });
    $('div.sttabs li a').each(function(i,e){
      if( $(e).attr('name')==STBeach._active ) {
        $(e).parent().addClass('active');
      }
      else {
        $(e).parent().removeClass('active');
      }
    });
    $(this).blur();
    return false;
  }
};

var STSearch = {
  _speed:400,
  showShortForm: function (ev) {
    var o = ev.target || ev.srcElement;
    o.blur();
    if( STSearch._busy ) return false; STSearch._busy = true;
    $('#search-short').slideDown(STSearch._speed, STSearch.endOperation);
    if( STSearch._timerID ) {
      clearTimeout( STSearch._timerID );
      STSearch._timerID=null;
    }
    return false;
  },
  closeShortForm: function() {
    if( STSearch._busy ) return; STSearch._busy = true;
    $('#search-short').slideUp(STSearch._speed, STSearch.endOperation);
    if( STSearch._timerID ) {
      clearTimeout( STSearch._timerID );
      STSearch._timerID=null;
    }
  },
  onMouseOver: function() {
    if( STSearch._timerID ) {
      clearTimeout( STSearch._timerID );
      STSearch._timerID=null;
    }
  },
  onMouseOut: function() {
    if( !STSearch._timerID ) {
      STSearch._timerID=setTimeout( 'STSearch.onTimedOut()', 2500 );
    }
  },
  onTimedOut: function() {
    if( STSearch._busy ) return; STSearch._busy = true;
    $('#search-short').slideUp(STSearch._speed, STSearch.endOperation);
    STSearch._timerID=null;
  },
  endOperation: function() {
    STSearch._busy = false;
  },
  _timerID:null,
  _busy:false
};


var points = new Array();

function dooutp(e) {
  var pos = $(this).position();
  var pp = $('#page').position();
  var pl = pp.left;
  var pt = pp.top;
  var ssl = parseInt($('#search-short').css('marginLeft'),10);
  var sst = parseInt($('#search-short').css('marginTop'),10);
  var px = e.pageX - pl - ssl - 5;
  var py = e.pageY - pt - sst - 30;

  var h = $('#outp').html();
  if( h!='' ) h+=', ';
  h += px+','+py;
  $('#outp').html(h);
}


var Front = {
  mouseover: function(ev) {
    Front._idx = $(this).attr('idx');
    $('div.front-item').each(function(i,e){
      if( $(e).attr('idx')==Front._idx ) $(e).show(); else $(e).hide();
    });
    $('div.front-tabs a').each(function(i,e){
      if( $(e).attr('idx')==Front._idx ) $(e).addClass('active'+i); else $(e).removeClass('active'+i);
    });
  }
}

var FrontMap = {
  click: function(o) {
    var f = $('#stbeach-search-short-form');
    f.find('select[name=region]').val($(o).attr('info'));
    f.submit();
    return false;
  }
}


var STThreeState = {
  _map:['no','yes','unknown'],
  init: function(i,e) {
    var inp = $(e).parent().parent().next('input');
    var v = $(inp).attr('value');
    if( v>2 || v<0 ) return;
    $(e).attr('class',STThreeState._map[v]);
    $(e).attr('title',STThreeState._map[v]);
    $(inp).attr('value',v);
  },
  over: function() {
  },
  out: function() {
  },
  click: function() {
    var inp = $(this).parent().parent().next('input');
    var v = $(inp).attr('value');
    v = (v+1)%3;
    if( v>2 || v<0 ) return;
    $(this).attr('class',STThreeState._map[v]);
    $(this).attr('title',STThreeState._map[v]);
    $(inp).attr('value',v);
    $(this).blur();
    return false;
  }
};


var BM = {
  IWantTo: function() {
    if( $('#iwantto').length ) {
      BM.onShow();
      $('#iwantto').fadeIn();
      $('#iwantto input:first').focus();
    }
  },
  Register: function() {
    if( $('#register').length ) {
      BM.onShow();
      $('#register').fadeIn();
      $('#register input:first').focus();
    }
  },
  Login: function(error) {
    if( $('#login').length ) {
      BM.onShow();
      if( error ) $('#login p.error').show();
      else $('#login p.error').hide();
      $('#login').fadeIn();
      $('#login input:first').focus();
    }
  },
  Postcard: function(error) {
    if($('#postcard').length ) {
      BM.onShow();
      if( error ) $('#postcard p.error').show();
      else $('#postcard p.error').hide();
      $('#postcard').fadeIn();
      $('#postcard input:first').focus();
    }
  },

  onShow: function() {
    $('div.blackbox').hide();
    $('#blockout').show();
    $(document).scrollTop(0);
	},
	close: function()
	{
    $('.blackbox').fadeOut();
		if(STBeach._isie6) $('#block-stbeach-1').show();
    $('#blockout').hide();
	}
}

var BlockOut = {
  stretch:function() {
    $('#blockout').css({height:$(window).height()+'px'});
  }
}



$(document).ready(function() {
  $('div.sttabs li a').click(STBeach.onTab);

  $('#primary li.menu-600').click(STSearch.showShortForm);

  $('#search-short').mouseover(STSearch.onMouseOver);
//  if( !$('#page').parent().hasClass('front') )
//    $('#search-short').mouseout(STSearch.onMouseOut);

  $('div.strating-three_state a').mouseover(STThreeState.over);
  $('div.strating-three_state a').click(STThreeState.click);
  $('div.strating-three_state').mouseout(STThreeState.out);

  $('div.strating-three_state a').each(STThreeState.init);

  STBeach._sizers = $('div.blackbox');
  $(window).resize( BlockOut.stretch );
  $(window).scroll( BlockOut.stretch );
  BlockOut.stretch();

  if($('#blockout').attr('error')=='login') {
    BM.Login(true);
  }
  else if($('#blockout').attr('ask')=='reg') {
    BM.Register();
  }
  else if($('#blockout').attr('error')=='postcard') {
    BM.Postcard(true);
  }
  else if($('#blockout').attr('error')=='register') {
    BM.Register(true);
  }

  var news = document.getElementById('front-news');
  if( news ) {
    Scroll.init();
  }

  $('div.front-tabs a').mouseover(Front.mouseover);

  STBeach._isie6 = ($.browser.msie && $.browser.version.substr(0,1)<7);

  var outp = $('#outp');
  if( outp ) {
    $('.front-map').click(dooutp);
  }
  if( $('.front-map').attr('usemap')=='#gb' ) {
    $('.front-map').maphilight();
  }

 

  if( STBeach._isie6 ) {
    $('#sttooltip').bgiframe({opacity:false});
    $('div.blackbox').bgiframe();
  }

//  $('#stbeach-search-long-form select').bgiframe();

//  $("#search-short img").tooltip();
});
