function toggleAndCenter(objectid) {
  $(document).ready(function() {

    var window_width = $(window).width();
    var window_height = $(window).height();
    var object_width = $("#" + objectid).outerWidth();
    var object_height = $("#" + objectid).outerHeight();
    var scrollbar_y_pos = $(window).scrollTop();

    $("#shadow").css("height", $("#europower").outerHeight());
    $("#shadow").toggle();

    $("#" + objectid).css('left', (window_width / 2) - (object_width / 2));

    $("#" + objectid).css('top', ((window_height / 2) + scrollbar_y_pos) - (object_height / 2));

    $("#" + objectid).toggle();
  });
}


function formFieldFocus(fieldId, default_value) {
  $(document).ready(function() {
    if($("#" + fieldId).val() == default_value) {
      $("#" + fieldId).val("");
    }
  });
}


function formFieldBlur(fieldId, default_value) {
  $(document).ready(function() {
    if($("#" + fieldId).val() == "") {
      $("#" + fieldId).val(default_value);
    }
  });
}


function toggleAdvancedSearch() {
  $("#advanced_search").toggle();

  if($("#advanced_search").css("display") == "none") {
    $("#advanced_search_toggle").html("Klikk her for flere valg");
    setHiddenTo('false');
  }
  else {
    $("#advanced_search_toggle").html("Klikk her for f&aelig;rre valg");
    setHiddenTo('true');
  }
}


function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}


function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


function eraseCookie(name) {
    createCookie(name,"",-1);
}


function pagebrowser() {

  $(document).ready(function(){
    var container_height = 0;
    var page_height = 0;
    var index = 0;
    var page = 0;
    var num_pages = 0;

    $(".page_container .page").each(function(){
      $(this).css("z-index", index);

      page_height = $(this).height();

      if(page_height > container_height) {
        container_height = page_height;
      }
      index++;
      num_pages++;
    });

    $(".page_container").css("height", container_height + "px");
    $($(".page_container .page")[0]).css("visibility", "visible");

    $(".forward").click(function(){

      $(".backward").removeClass("ghosted");

      if(page < num_pages - 1) {
        $($(".page_container .page")[page]).css("visibility", "hidden");
        page++;
        $($(".page_container .page")[page]).css("visibility", "visible");
      }

      if(page == num_pages - 1) {
        $(".forward").addClass("ghosted");
      }
    });

    $(".backward").click(function(){

      $(".forward").removeClass("ghosted");

      if(page > 0) {
        $($(".page_container .page")[page]).css("visibility", "hidden");
        page--;
        $($(".page_container .page")[page]).css("visibility", "visible");
      }

      if(page == 0) {
        $(".backward").addClass("ghosted");
      }
    });
  });
}

function deleteSearch(url) {
      var searchid = document.getElementById('searchid').value;
      var params = "searchid=" + searchid;
      jQuery.post(url, params, function() {
          $("#"+searchid).remove();
          $("#error").append("Slettet");
        });
    }

function showreportsub(params) {
    $('#report').hide();
    $('#loadingDiv').show();
    $.get('/energyintelligence/generator/search/', params, function(data) {
      $('#report').html(data);
      $('#loadingDiv').hide();
      $('#report').show();
    });

  }


  function showreport() {
    var selectedLevel2 = document.getElementById("level2")[document.getElementById("level2").selectedIndex].value;
    var selectedYear = document.getElementById("yearRP")[document.getElementById("yearRP").selectedIndex].value;
    var selectedCur = document.getElementById("currencyRP")[document.getElementById("currencyRP").selectedIndex].value;
    //var params = "navn=" + document.getElementById("navn").value + "&geoavgrensning=" + document.getElementById("geoavgrensning").value + "&geoavgrensning2=" + document.getElementById("geoavgrensning2").value;
    var params = "&yearRP=" + selectedYear + "&currencyRP=" + selectedCur;
    //params += "&ownername=" + document.getElementById("ownername").value;
    params += "&ids=" + $("#ids").text();
    switch (parseInt(selectedLevel2)) {
        case 1:
            $("#report").load("/energyintelligence/generator/data_contactinfo");
            $('#loadingDiv').hide();
            break;
        case 2:
            params += '&viewname=reports/data_noofemployees';
            showreportsub(params);
            break;
        case 3: $("#report").load("/energyintelligence/generator/data_phonelist");
            $('#loadingDiv').hide();
            break;
        case 4:
            params += "&viewname=reports/data_accounts";
            showreportsub(params);
            break;
        case 5:
            params += "&viewname=reports/data_companytype";
            showreportsub(params);
            break;
        case 6:
            params += "&viewname=reports/owner_overview";
            showreportsub(params);
            break;
        case 7:
            params += "&viewname=reports/owner_ps";
            showreportsub(params);
            break;
        case 8:
            params += "&viewname=reports/owner_direct";
            $('#report').hide();
            $('#loadingDiv').show();
            $.get('/energyintelligence/generator/search/ownerdirect', params, function(data) {
              $('#report').html(data);
              $('#loadingDiv').hide();
              $('#report').show();
            });

            break;
        case 9:
            params += "&viewname=reports/nocus_elcustomers";
            showreportsub(params);
            break;
        case 10:
            params += "&viewname=reports/nocus_netcustomers";
            showreportsub(params);
            break;
        case 11:
            params += "&viewname=reports/nocus_warmcustomers";
            showreportsub(params);
            break;
        case 12:
            params += "&viewname=reports/prod_brutto";
            showreportsub(params);
            break;
        case 13:
            params += "&viewname=reports/prod_egen";
            showreportsub(params);
            break;
        case 14:
            params += "&viewname=reports/prod_eltilgang";
            showreportsub(params);
            break;
        case 15:
            params += "&viewname=reports/prod_elsalg";
            showreportsub(params);
            break;
        case 16:
            params += "&viewname=reports/prod_varmesalg";
            showreportsub(params);
            break;
        case 17:
            params += "&viewname=reports/accounts_totalassets";
            showreportsub(params);
            break;
        case 18:
            params += "&viewname=reports/accounts_equity";
            showreportsub(params);
            break;
        case 19:
            params += "&viewname=reports/accounts_dividend";
            showreportsub(params);
            break;
        case 20:
            params += "&viewname=reports/accounts_netprofit";
            showreportsub(params);
            break;
        case 21:
            params += "&viewname=reports/accounts_taxes";
            showreportsub(params);
            break;
        case 22:
            params += "&viewname=reports/accounts_profitbeforetax";
            showreportsub(params);
            break;
        case 23:
            params += "&viewname=reports/accounts_opprofit";
            showreportsub(params);
            break;
        case 24:
            params += "&viewname=reports/accounts_oprev";
            showreportsub(params);
            break;
        case 25:
            params += "&viewname=reports/accounts_efftaxrates";
            showreportsub(params);
            break;
        case 26:
            params += "&viewname=reports/keyfin_cashflow";
            showreportsub(params);
            break;
        case 27:
            params += "&viewname=reports/keyfin_netdebtratio";
            showreportsub(params);
            break;
        case 28:
            params += "&viewname=reports/keyfin_roa";
            showreportsub(params);
            break;
        case 29 :
            params += "&viewname=reports/keyfin_dividendratio";
            showreportsub(params);
            break;
        case 30:
            params += "&viewname=reports/keyfin_equityratio";
            showreportsub(params);
            break;
        case 31:
            params += "&viewname=reports/keyfin_roe";
            showreportsub(params);
            break;
        case 32:
            params += "&viewname=reports/keyfin_gom";
            showreportsub(params);
            break;
        case 33:
            params += "&viewname=reports/keyfin_liquidity";
            showreportsub(params);
            break;
        case 34:
            params += "&viewname=reports/keyfin_nom";
            showreportsub(params);
            break;
        case 35:
            params += "&viewname=reports/keyfin_npm";
            showreportsub(params);
            break;
        case 36:
            params += "&viewname=reports/keyfin_solidity";
            showreportsub(params);
            break;
        case 37:
            params += "&viewname=reports/keyemp_oprev";
            showreportsub(params);
            break;
        case 38:
            params += "&viewname=reports/keyemp_opprofit";
            showreportsub(params);
            break;
        case 39:
            params += "&viewname=reports/keyemp_netprofit";
            showreportsub(params);
            break;
        case 40:
            params += "&viewname=reports/es_keyfigures";
            showreportsub(params);
            break;
        case 41:
            params += "&viewname=reports/es_balancesheet";
            showreportsub(params);
            break;
        case 42:
            params += "&viewname=reports/es_kf_profitandloss";
            showreportsub(params);
            break;
        case 43:
            params += "&viewname=reports/es_accounts";
            showreportsub(params);
            break;
        case 44:
            params += "&viewname=reports/es_balance";
            showreportsub(params);
            break;
        case 45:
            params += "&viewname=reports/es_kr_profitandloss";
            showreportsub(params);
            break;
        case 46:
            params += "&viewname=reports/ps_stations";
            showreportsub(params);
            break;
        case 47:
            params += "&viewname=reports/ps_elprod";
            showreportsub(params);
            break;
        case 48: /* XXX: Not implemented - empty jsp file. */
            params += "&viewname=reports/ma_overview";
            $('#report').hide();
            $('#loadingDiv').show();
            $.get('/energyintelligence/generator/search/manda', params, function(data) {
              $('#report').html(data);
              $('#loadingDiv').hide();
              $('#report').show();
            });
            break;
        case 49: /* XXX: Not implemented - empty jsp file. */
            params += "&viewname=reports/ma_detailed";
            $('#report').hide();
            $('#loadingDiv').show();
            $.get('/energyintelligence/generator/search/manda', params, function(data) {
              $('#report').html(data);
              $('#loadingDiv').hide();
              $('#report').show();
            });
            break;
    }
      toggleAndCenter("report_window");
  }

  function changelevel2() {
    var selectedLevel = document.getElementById("level1")[document.getElementById("level1").selectedIndex].value;
    $("#level2").empty();

    switch (parseInt(selectedLevel)) {
      case 1:
          $("#1").clone().appendTo("#level2");
          $("#2").clone().appendTo("#level2");
          $("#3").clone().appendTo("#level2");
          $("#4").clone().appendTo("#level2");
          $("#5").clone().appendTo("#level2");
          break;
      case 2:
          $("#6").clone().appendTo("#level2");
          $("#7").clone().appendTo("#level2");
          $("#8").clone().appendTo("#level2");
          break;
      case 3:
          $("#9").clone().appendTo("#level2");
          $("#10").clone().appendTo("#level2");
          $("#11").clone().appendTo("#level2");
          break;
      case 4:
          $("#12").clone().appendTo("#level2");
          $("#13").clone().appendTo("#level2");
          $("#14").clone().appendTo("#level2");
          $("#15").clone().appendTo("#level2");
          $("#16").clone().appendTo("#level2");
          break;
      case 5:
          $("#17").clone().appendTo("#level2");
          $("#18").clone().appendTo("#level2");
          $("#19").clone().appendTo("#level2");
          $("#20").clone().appendTo("#level2");
          $("#21").clone().appendTo("#level2");
          $("#22").clone().appendTo("#level2");
          $("#23").clone().appendTo("#level2");
          $("#24").clone().appendTo("#level2");
          $("#25").clone().appendTo("#level2");
           break;
      case 6:
          $("#26").clone().appendTo("#level2");
          $("#27").clone().appendTo("#level2");
          $("#28").clone().appendTo("#level2");
          $("#29").clone().appendTo("#level2");
          $("#30").clone().appendTo("#level2");
          $("#31").clone().appendTo("#level2");
          $("#32").clone().appendTo("#level2");
          $("#33").clone().appendTo("#level2");
          $("#34").clone().appendTo("#level2");
          $("#35").clone().appendTo("#level2");
          $("#36").clone().appendTo("#level2");
          break;
      case 7:
          $("#37").clone().appendTo("#level2");
          $("#38").clone().appendTo("#level2");
          $("#39").clone().appendTo("#level2");
          break;
      case 8:
          $("#40").clone().appendTo("#level2");
          $("#41").clone().appendTo("#level2");
          $("#42").clone().appendTo("#level2");
          $("#43").clone().appendTo("#level2");
          $("#44").clone().appendTo("#level2");
          $("#45").clone().appendTo("#level2");
          break;
      case 9:
          $("#46").clone().appendTo("#level2");
          $("#47").clone().appendTo("#level2");
          break;
      case 10:
          $("#48").clone().appendTo("#level2");
          $("#49").clone().appendTo("#level2");
          break;
      case 11:
          $("#52").clone().appendTo("#level2");
          $("#53").clone().appendTo("#level2");
          $("#54").clone().appendTo("#level2");
          $("#55").clone().appendTo("#level2");
          $("#56").clone().appendTo("#level2");
          $("#57").clone().appendTo("#level2");
          $("#58").clone().appendTo("#level2");
          $("#59").clone().appendTo("#level2");
          $("#60").clone().appendTo("#level2");
          $("#61").clone().appendTo("#level2");
          $("#62").clone().appendTo("#level2");
          $("#63").clone().appendTo("#level2");
          $("#64").clone().appendTo("#level2");
          $("#65").clone().appendTo("#level2");
          $("#66").clone().appendTo("#level2");
          $("#67").clone().appendTo("#level2");
          $("#68").clone().appendTo("#level2");
          $("#69").clone().appendTo("#level2");
          $("#70").clone().appendTo("#level2");
          $("#71").clone().appendTo("#level2");
          break;
    }

  }

  function formReset() {
      document.searchform.reset();
      $('input[type|="text"]').val('');
      $("#year").val(0);
  }

  function getbargraph(ticksvalues, xlength, title) {
        toggleAndCenter("report_window");
        $("#placeholdertitle").replaceWith("<div id='placeholdertitle'><h2>" + title + "</h2></div>");
        $.plot($("#placeholder"), ticksvalues, {xaxis: {ticks: xlength}, bars: {show:true, align: "center"} });
    }

  function checkifyearsetcorrect() {
        if ($("#year").val() != 0) {
          if ($("#assetsFromString").val() == '' && $("#assetsToString").val() == '' && $("#revenueFromString").val() == ''
                && $("#revenueToString").val() == '' && $("#opprofitFromString").val() == '' && $("#opprofitToString").val() == ''
                && $("#grossopmarginFromString").val() == '' && $("#grossopmarginToString").val() == '' && $("#solidityFromString").val() == ''
                && $("#solidityToString").val() == '' && $("#elprodFromString").val() == '' && $("#elprodToString").val() == ''
                && $("#noofempFromString").val() == '' && $("#noofempToString").val() == '' ) {
            $("#year").val(0);
                }
        } else {
            if ($("#assetsFromString").val() != '' || $("#assetsToString").val() != '' || $("#revenueFromString").val() != ''
                || $("#revenueToString").val() != '' || $("#opprofitFromString").val() != '' || $("#opprofitToString").val() != ''
                || $("#grossopmarginFromString").val() != '' || $("#grossopmarginToString").val() != '' || $("#solidityFromString").val() != ''
                || $("#solidityToString").val() != '' || $("#elprodFromString").val() != '' || $("#elprodToString").val() != ''
                || $("#noofempFromString").val() != '' || $("#noofempToString").val() != '' ) {
                $("#year").val(2009);
            }

       }

      }


