//========================================================================================================================
// Control panel fields
//========================================================================================================================
function ControlIds(master, nav, content) {
  this.Master = master;
  this.Nav = nav;
  this.Content = content;
}
var _ControlIds = new ControlIds("", "", "");

function AppUrls(webmanager, clients, home, stat) {
  this.WebManager = webmanager;
  this.Clients = clients;
  this.Home = home;
  this.Static = stat;
}
var _AppUrls = new AppUrls("", "", "");


var _IsMasterPage = false;
var _NoEdit = false;
var _IsPageLoaded = false;
var _IsFieldChanged = false;
var _IsConfirmedSave = false;

var _DialogPanelType = null;


//========================================================================================================================
// Document ready
//========================================================================================================================
$(function(){
  window.focus();

  if ($("html").hasClass("master-page")) {
    _IsMasterPage = true;
    BrowserValidation();
  }
  
  $(document).keydown(function(e){
    if (e.keyCode == 13) {
      if (e.target.tagName != "TEXTAREA") {
        e.preventDefault();
        if (window.Dialog_Open) {
          if (_DialogPanel.dialog("isOpen")) {
            $(".ui-dialog-buttonpane button").eq(0).trigger("click");
            return false;  
          }
        }
        
        var form = $(e.target).closest("div.form");
        var button = form.find("input[type=submit]");
        if (button.length == 1) {
          button.click();
          return false;
        }
        
        if (window.Click_Enter) Click_Enter();
        return false;
      }
    }
  });

  _IsPageLoaded = true;
  _IsFieldChanged = false;
  _IsConfirmedSave = false;
});


//========================================================================================================================
// Navigation
//========================================================================================================================

function Go(url) {
  location.href = url;
}

//========================================================================================================================
// Element selectors
//========================================================================================================================

function g(id) { return $("#" + id).get(0); }
function gm(id) { return g(_ControlIds.Master + id); }
function gn(id) { return g(_ControlIds.Nav + id); }
function gc(id) { return g(_ControlIds.Content + id); }

function $m(id) { return $("#" + _ControlIds.Master + id); }
function $n(id) { return $("#" + _ControlIds.Nav + id); }
function $c(id) { return $("#" + _ControlIds.Content + id); }

//========================================================================================================================
// Helpers
//========================================================================================================================

function BookmarkPage() {
  title = document.title;
  url = window.location.href;
  if (document.all) {
    window.external.AddFavorite(url, title);
  } else {
    if (window.sidebar) window.sidebar.addPanel(title, url, "");
  }
}

function BrowserValidation() {
  if (!_IsValidBrowser) {
    //Dialog_Dynamic("Browser Compatibility Warning", _AppUrls.WebManager + "Dialogs/BrowserCompatibility.html", 700, 240);
  }
}


//========================================================================================================================
// Theme Interface
//========================================================================================================================

var _Menu_HideTimer = null;
var _Menu_Heading = null;
var _Menu_HoverEffect = "dropdown";

$(function(){
  $("input[type=submit]").click(function(e){
    e.preventDefault();
    var button = $(this);
    var action = button.val();
    var controlid = button.attr("id");
    if ((p = controlid.indexOf("_btn")) > 0) {
      controlid = controlid.substring(0, p);
    }
    WebFormSubmit(action, controlid);
  });
  
  $("button, a.button").disableSelection();

  $(".rounded-corners").corner({
    tl: { radius: 5 },
    tr: { radius: 5 },
    bl: { radius: 5 },
    br: { radius: 5 },
    antiAlias: true
  });
  
  $("div.search-criteria-heading").click(function(e){
    $(this).toggleClass("arrow-down").next().toggle();
  });

  $("div.debug-info").delay(3000).fadeOut(2000);
});

function CloseOtherCriteria(div) {
  div = $(div);
  div.addClass("skip-close");
  div.parent().parent().find("div.search-criteria-heading").each(function(){
    var odiv = $(this);
    if (odiv.hasClass("arrow-down") && !odiv.hasClass("skip-close")) {
      odiv.toggleClass("arrow-down").next().toggle();
    }
  });
  div.removeClass("skip-close");
}

function Menu_Show(menuid) {
  if (_Menu_HideTimer) window.clearTimeout(_Menu_HideTimer);
  if (_Menu_Heading != null) {
    if (_Menu_Heading != menuid) {
      Menu_HideNow();
    }
  }
  _Menu_Heading = menuid;
  $("#tdMenu_" + menuid).addClass("menu-heading-hover").children("div").show();
}

function Menu_Hide() {
  _Menu_HideTimer = window.setTimeout("Menu_HideNow()", 250);
}

function Menu_HideNow() {
  if (_Menu_HideTimer) window.clearTimeout(_Menu_HideTimer);
  if (_Menu_Heading) {
    $("#tdMenu_" + _Menu_Heading).removeClass("menu-heading-hover").children("div").hide();
  }
  _Menu_Heading = null;
}

function ViewAllPhotos() {
  window.open(_AppUrls.Clients + "Scripts/VehiclePhotos.aspx?VID=" + _VehicleId +"&Source=Website");
}

function AskSellerQuestion() {
  window.open(_AppUrls.Clients + "Scripts/VehicleQuestion.aspx?VID=" + _VehicleId +"&Source=Website");
}

function EmailFriend() {
  window.open(_AppUrls.Clients + "Scripts/EmailtoFriend.aspx?VID=" + _VehicleId +"&Source=Website");
}

function AM_ViewPhoto(img) {
  $("#AM_imgMainPhoto").attr("src", img.href);
  $("#AM_divMainCaption").html(img.getAttribute("caption"));
}

