if(!Number.toFixed){
  Number.prototype.toFixed = function(x){
    var temp=this;
    temp=Math.ceil(temp*Math.pow(10,x))/Math.pow(10,x);
    return temp;
  };
}

var History = new HistoryApi();
var Loader = new Loader();
var Slider = new Slider();
var sliderHome1 = new SliderHome();
var sliderHome2 = new SliderHome();


var cache = {};
cache.page = new Cache();
var bannerImg, bannerUrl, investmentIds = new Array();

function loadUrl(url, options){
  var settings = $.extend({
    type: "get",
    dataType: "json",
    noCache: false
  }, options);

  if(false){
//  if(cachedUrl = cache.page.get(url)){
    updatePage(cachedUrl.value);
  }
  else {
    $.ajax({
      type: settings.type,
      dataType: settings.dataType,
      url: url,
      success: function(data, textStatus, XMLHttpRequest){
        if(!settings.noCache){
          cache.page.add(url, data);
        }
        updatePage(data);
      },
      error: function(XMLHttpRequest, textStatus, errorThrown){
        data = {};
        try {
          data = $.parseJSON(XMLHttpRequest.responseText);
        } catch(error){
          data.content = XMLHttpRequest.responseText;
        }
        updatePage(data);
      },
      beforeSend: function(XMLHttpRequest){
        Loader.show();
      },
      complete: function(XMLHttpRequest, textStatus){
        Loader.hide();
      }
    });
  }
}

function initWmode(){
  $("#content iframe").each(function(){
    var url = $(this).attr("src");
    $(this).attr("src",url+"?wmode=transparent");
  });
}

function initBanner(){
  if(typeof bannerImg != "undefined" && bannerImg){
    $.fancybox({
      "href": bannerImg,
      overlayColor: "#262d61",
      onComplete: function(){
        if(typeof bannerUrl != "undefined" && bannerUrl){
          $a = $("<a/>");
          if(bannerUrl.charAt(0) == "/"){
            $a.addClass("local");
          }
          $a.attr("href", bannerUrl).click(function(){
            $("#fancybox-close").click();
          });
          $("#fancybox-img").wrap($a);
        }
      }
    });
  }
}

var updatePage = function(data){
  if(data.title != undefined){
    document.title = data.title;
  }
  if(data.content != undefined){
    $("#content").html(data.content);
//    $("#content").fadeOut("fast", function(){
//      $(this).html(data.content).fadeIn("fast");
//    });

    initFancyBox();
//    initStickyfloat();
    initTableSorter();
    initWmode();
  }

//  if(data.wrapperClass != undefined){
//    $("#wrapper").attr("class", data.wrapperClass);
//  }

  if(data.slider != undefined){
    $("#top-content").html("").html(data.slider);
    initSliders();
  }

  if(data.banner != undefined){
    bannerImg = data.banner.bannerImg;
    bannerUrl = data.banner.bannerUrl;
    if($.inArray(data.banner.investmentId, investmentIds) < 0){
      investmentIds.push(data.banner.investmentId);
      initBanner();
    }
  } else {
    bannerImg = "";
    bannerUrl = "";
  }
}

function highlightRequired(object){
  bg = object.css("background-color");
  color = object.css("color");
  object.animate({
    "background-color": "#f00",
    "color": bg
  }).animate({
    "background-color": bg,
    "color": color
  });
}
function initSliders(){
  Slider.initialize();
  sliderHome1.initialize("#slider-home li:first-child", -3500);
  sliderHome2.initialize("#slider-home li:last-child", -2000);
}
function initFancyBox(){
  $("a.fancy").fancybox({
    autoScale : false,
    overlayColor: "#262d61"
  });
}

function initStickyfloat(){
  $submenu = $("#submenu");
  if($submenu.length){ // hack - bug in stickyfloat when jQuery does not return any element$(window).scroll(function() {
    $submenu.stickyfloat({
      duration: 400
      ,offsetY: 50
    });
  }
}

function initTableSorter(){
  $("#local-table table").tablesorter().find("th:contains('Status')").click().click();
}

$(function(){
  initFancyBox();
//  initStickyfloat();
  initSliders();
  initTableSorter();
  initWmode();
  initBanner();

  $(".gallery a.video").live("click", function(event){
    event.preventDefault();
    $.fancybox({
      href: this.href,
      padding: 0,
      autoScale: false,
      width: 850,
      height: 510,
      overlayColor: "#262d61",
      href: this.href.replace(new RegExp("watch\\?v=", "i"), "v/"),
      type: "swf",
      swf: {
        "wmode": "transparent",
        "allowfullscreen": "true"
      }
    });
  });

  $("#order-call").live("click", function(){
    $.fancybox({
      overlayColor: "#262d61"
      ,href: "/zamow_rozmowe.html"
    });
  });

  $("#suggest").live("click", function(event){
    event.preventDefault();
    $.fancybox({
      overlayColor: "#262d61"
      ,href: $(this).attr("href")
    });
  });

});

