var $j = jQuery;

$j(document).bind('ajaxComplete', function(e, xhr, options){

  if(xhr.getResponseHeader('Content-Type').indexOf('text/javascript')!== -1){
    eval(xhr.responseText);
  }

}).ready(function(){

  //$j('a.zoom').fancyZoom();

  //new DropDownMenu('nav', { delay:400 });
  //jQuery('input[name="q"]').each(SetupDefaultText);

  //if(Autocomplete){
   // new Autocomplete('q', { serviceUrl:'/utils/autocomplete.ashx', width:246, autoSubmit:true });
  //}

});

function Post(form){
  form = $j(form);
  $j.post(form.attr('action'), form.serialize());
}

function PostReview(form) {
  form = $j(form);
  $j('#ReviewSubmitButton').hide();
  $j('#ReviewInProgress').show();
  $j.post('/utils/ajaxhandler.aspx', form.serialize(), function(data) {
    $j('#ReviewInProgress').hide();
    $j('#ReviewSubmitButton').show();
  });
}

function PostComment(form) {
  form = $j(form);
  $j('#CommentSubmitButton').hide();
  $j('#CommentInProgress').show();
  $j.post('/utils/ajaxhandler.aspx', form.serialize(), function(data) {
    $j('#CommentInProgress').hide();
    $j('#CommentSubmitButton').show();
  });
}

function Invoke(action){
  $j.post('/utils/ajaxhandler.aspx', { ActionType:action })
}

function InvokeConf(params, confirmation) {
  if (typeof confirmation === 'string') { if (!confirm(confirmation)) { return; } }
  $j.post(params.InvokeUrl ? params.InvokeUrl : window.location.path, params);
}

function SetupDefaultText(){
  var q = $j(this);
  var txt = q.attr('title');
  var onFocus = function(){ if(q.val() == txt){ q.val('').removeClass('inactive'); }};
  var onBlur = function(){ if(q.val() == '' || q.val() == txt){ q.val(txt).addClass('inactive'); }};
  q.focus(onFocus).blur(onBlur).parents('form').submit(onFocus);
  onBlur();
}

var Site = {

  ShowMessage: function(container, message) {
    var el = $j('#' + container);
    if (el) {
      if ($j('#' + container + ':visible').length == 1) { el.fadeOut(200) };
      el.html(message).fadeIn(500);
      var y = Site.getScrollTop();
      if (y > 0) {
        var o = el.offset();
        var elY = o.top;
        window.scrollTo(0, elY - 50);
      }
    } else {
      alert(message.stripTags());
    }
  },

  getScrollTop: function() {
    if (self.pageYOffset) {
      // all except Explorer
      return self.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
      // Explorer 6 Strict
      return document.documentElement.scrollTop;
    } else if (document.body) {
      // all other Explorers
      return document.body.scrollTop;
    }
  }
}
