function initPage() {
  $("#storesdiv").tabulate({nofcols:4, topclass:"labelfirst", avoidbottom:"label"});

  $("#ContentStores, #ImageStores, #StoreImage, #StoreLogo, #StoreContent, #StoreMisc, #StoreContact, #SearchTerms").ajaxcontrol();

  if (isStorePage) {
    $("#storediv").show();
    $("#brandstat").tabulate({nofcols:4});
  }
  else
    $("#contentdiv").show();

  $("#storesdiv").css("visibility","visible");

  if (isStorePage && document.location.hash.length == 0)
    initStoreFlash(_sid);

  if (document.location.hash.length > 0) {
    var storeid =  document.location.hash.substring(1);
    openStore(storeid);
  }

  if (!_loggedin && $("#StoreMisc").html().length == 0) $("#miscdiv").hide();
  if (!_loggedin && $("#storeofferdiv").html().length == 0) $("#offersdiv").hide();

  Cufon.replace("#shopshead");
  Cufon.replace(".header");
  Cufon.replace("#storename");
  Cufon.replace("#brandname");
}

function openStore(storeId) {
  $("#contentdiv").css("display","none");
  $("#storediv").slideUp();
  $("#brandsdiv").slideUp();
  StoresPage.GetStoreProps(storeId, openStore2);
}

var propsset = 0;
function openStore2(response) {
  var vals = response.value.split(';');
  var sid = vals[0];
  var id = vals[1];
  var name = vals[2];
  var propids = vals[3];
  var brands = vals[4].split('|');
  var offers = vals[5].split('|');

  initStoreFlash(sid);

  var bhtml = "";
  for (var i=0; i < brands.length; i++)
    if (brands[i].length > 0)
      bhtml += "<div><a href='javascript:void(0)' onclick='openBrand(this)' onfocus='this.blur()'>" + brands[i] + "</a></div>";
  $("#statbrandsdiv").html(bhtml);
  $("#storebrandsdiv").css("display",(bhtml.length == 0 && ! _loggedin ? "none" : "block"));

  var ohtml = "";
  for (var i=0; i < offers.length; i++) {
    if (offers[i].length > 0) {
      var o = offers[i].split('~');
      ohtml += "<div><a href='javascript:void(0)' onclick=\"popOffer('" + o[0] + "')\" onfocus='this.blur()'>" + o[1] + "</a></div>";
    }
  }
  $("#storeofferdiv").html(ohtml);
  $("#offersdiv").css("display",(ohtml.length == 0 && ! _loggedin ? "none" : "block"));

  $("#storename").html(name);
  var idarr = propids.split('|');
  propsset = 0;
  $("#StoreImage").ajaxcontrol_setPropertyId(parseInt(idarr[0]), openStore3);
  $("#StoreLogo").ajaxcontrol_setPropertyId(parseInt(idarr[1]), openStore3);
  $("#StoreContent").ajaxcontrol_setPropertyId(parseInt(idarr[2]), openStore3);
  $("#StoreMisc").ajaxcontrol_setPropertyId(parseInt(idarr[3]), openStore3);
  $("#StoreContact").ajaxcontrol_setPropertyId(parseInt(idarr[4]), openStore3);

  document.location.hash = id;
}

function openStore3() {
  propsset++;
  if (propsset == 5) openStore4();
}

function openStore4() {
  var val = $("#StoreMisc").ajaxcontrol_getValue();
  $("#miscdiv").css("display",(val.length == 0 ? "none" : "block"));
  Cufon.refresh();
  $("#storediv").slideDown();
  $("#statbrandsdiv").tabulate({nofcols:4});
}



function openBrand(a) {
  var brand = $(a).html();
  StoresPage.GetBrandStores(brand, function(r){openBrand2(brand,r);});
}

function openBrand2(brand, response) {
  $("#brandname").html(translate("Här hittar du") + " " + brand);
  $("#brandcontent").html(response.value);
  Cufon.refresh("#brandname");
  $("#brandsdiv").slideDown("normal");
}

function editBrands() {
  $("#brandstat").hide();
  $("#brandedit").show();
}

function cancelBrands() {
  $("#brandstat").show();
  $("#brandedit").hide();
}

function newBrand() {
  $('#newBrand').slideDown('normal');
}
function cancelNewBrand() {
  $('#newBrand').slideUp('normal');
}

function saveBrands() {
  var brands = "";
  $("#brandlist").find("input:checked").each(function(){
    if (brands.length > 0) brands += "|";
    brands += this.value;
  });
  StoresPage.SaveBrands(_pageId, brands, saveBrands2);
}

function saveBrands2(response) {
  if (response.error) showBrandError(response.error.Message);
  else {
    $("#brandstat").html(response.value);
    $("#brandstat").show();
    $("#brandedit").hide();
    $("#brandstat").tabulate({nofcols:4});
  }
}

function saveNewBrand() {
  var brand = $("#inpnewbrand").val();
  if (brand.length == 0) showBrandError("Ange ett varumärke");
  else StoresPage.SaveNewBrand(brand, function(r){saveNewBrand2(brand, r);});
}

function saveNewBrand2(brand, response) {
  if (response.error) showBrandError(response.error.Message);
  else {
    var count = $("#brandlist").find("td").length;
    var atr = $("<tr />").append(
      $("<td />").append(
        $("<input />").attr({"id":"b"+count, "type":"checkbox", "value":brand})
      ).append(
        $("<label />").attr("for","b"+count).html(brand)
      )
    ).append(
      $("<td />").append(
        $("<a />").attr("href","javascript:void(0)").focus(function(){this.blur();}).click(function(){deleteBrand(this);}).append(
          $("<img />").attr({"src":"admin/gfx/delete.gif", "alt":"Ta bort varumärke", "border":"0"})
        )
      )
    );
    $("#brandlist").find("tbody").prepend(atr);
    $('#newBrand').slideUp('normal');
  }
}

function deleteBrand(a) {
  if (confirm("Vill du ta bort varumärket från alla butiker?")) {
    var brand = $(a).parent().prev().find("label").html();
    var atr = $(a).parent().parent();
    StoresPage.DeleteBrand(_pageId, brand, function(r){deleteBrand2(atr, r);});
  }
}

function deleteBrand2(atr, response) {
  if (response.error) showBrandError(response.error.Message);
  else {
    $("#brandstat").html(response.value);
    atr.remove();
  }
}

function showBrandError(err) {
  $("#branderror").html(err);
  $('#branderror').show();
  setTimeout("$('#branderror').hide()", 3000);
}



function saveNewOffer() {
  var title = $("#offertitle").val();
  if (title.length == 0) {
    alert("Ange erbjudandets titel");
    return;
  }
  StoresPage.CreateNewOffer(_pageId, title, saveNewOffer2);
}

function saveNewOffer2(response) {
  document.location.href = response.value + ".aspx";
}

function deleteOffer(a, offerId) {
  if (confirm("Är du säker på att du vill ta bort erbjudandet?")) {
    $(a).parent().remove();
    StoresPage.DeleteOffer(offerId);
  }
}

function initStoreFlash(sid) {
  var params = {
    bgcolor:"#ffffff",
    play:true,
    loop:false,
    quality:"high",
    wmode:"transparent",
    version:"9.0.0"
  };

  var flashvars = {
    xmlServiceUrl:"/storesxml.aspx",
    focusStore: sid
  };
  swfobject.embedSWF("/flash/Main.swf", "hittaflash", "740", "340", "9.0.0", "", flashvars, params);
}
