﻿function MouseWheelScroll(event, delta) {
  $("#vscroll").stop().scrollTo((delta > 0 ? '-' : '+') + '=20px');
}
    
function ShowUploadIndicator() {
    $("#FileUpload1").hide();
    $("#UploadingImg").show();
    $("#BrowseOpenFilePanel").data("title.dialog", "Uploading... Please wait");
    __doPostBack('', '');
}

function SeparatorDragStop(event, sendUpdate) {
    var sepLeft = $("#sep").position().left;
    var rpWidth;
    if ($("#rp").length)
        rpWidth = parseInt($("#rp").width(), 0);
    else
        rpWidth = 0;
    var emptyBoxWidth = 17;
    var viewBarWidth = 17,
    sepWidth = 7,
    gridSelectorWidthAndBorder = 34;
    var rightWidth = $(window).width() - sepLeft - sepWidth - rpWidth - viewBarWidth;
    var correction = 0;
    if (!$.browser.mozilla) correction = 17;
    $("#right").css("left", sepLeft);
    $("#right").width(rightWidth);
    $(".right_header").css("left", sepLeft);
    $(".right_header").width(rightWidth);
    $("#right_scroll").css("left", sepLeft);
    $("#right_scroll").width(rightWidth);
    $("#right_scroll_nested1").width(rightWidth);
    $("#left_header").width(sepLeft - viewBarWidth - gridSelectorWidthAndBorder);
    $("#left").width(sepLeft - viewBarWidth - gridSelectorWidthAndBorder);
    $("#left_scroll").width(sepLeft - viewBarWidth + correction);
    if (sendUpdate) {
        Ami.Utils.runCommand3('GanttChartViewSeparatorMoved', function () { }, { Position: sepLeft });
    } 
}

function SetHeights() {
    $("#vscroll").height($.browser.mozilla ? $(window).height() - 100 - 40 : $(window).height() - 100 - 40 + 17);
    $("#row_selector").height($(window).height() - 132 - 40);
    $("#left").height($(window).height() - 132 - 40);
    $("#right").height($(window).height() - 132 - 40);
    $("#rp").height($(window).height() - 132 - 40);
    $("#view_bar").height($(window).height() - 100);
    $("#sep").height($(window).height() - 100);
    if ($("#rp").length)
      $("#rp").height($(window).height() - 100);
}

function ResizeListner(event) {
  var rpWidth;
  if ($("#rp").length)
    rpWidth = parseInt($("#rp").width(), 0);
  else
    rpWidth = 0;

  SeparatorDragStop(event, true);
  SetHeights();
};

function SetSizes(event) {
  var rpWidth;
  if ($("#rp").length)
    rpWidth = parseInt($("#rp").width(), 0);
  else
    rpWidth = 0;

    $("#left_scroll").width($.browser.mozilla ? $("#head").width() * 0.4 - 17 : $("#head").width() * 0.4);
    $("#left_scroll_nested").width($("#grid_table").width()+33);
    $("#left_header").width($("#head").width() * 0.4 - 49); // ff
    $("#left").width($("#head").width() * 0.4 - 49);
    // ^^^ 49 is 17 view bar + 34 grid selector - 2 extra px of column resizer
    $("#right_scroll").width($.browser.mozilla ? $("#head").width() * 0.6 - rpWidth - 6 - 17 : $("#head").width() * 0.6 - rpWidth - 6);
    $("#right_scroll_nested1").width($("#right_scroll").width());
    $(".right_header").width($("#right_scroll").width());
    $("#right").width($.browser.mozilla ? $("#head").width() * 0.6 - rpWidth - 6 - 17 : $("#head").width() * 0.6 - rpWidth - 6);
    SetHeights();
};

function Hacks() {
  // http://stackoverflow.com/questions/1035706/firefox-1-pixel-bug-with-border-collapse-workaround
    /* - fixed in new ver
    if ($.browser.mozilla) {
        $("#left").css("padding-left", 1);
        $("#left").css("padding-top", 1);
    }
*/
    if ($.browser.msie && $.browser.version != "8.0") {
    $(".grid_table col").attr("width", function() { return $(this).attr("width") - 1 + "px"; });
    }
                                                                                                                                                      
    if ($.browser.msie && $.browser.version != "8.0") {
      $("#timescale3 col").attr("width", function() { return $(this).attr("width") - 1; });
      $("#timescale2 col").attr("width", function() { return $(this).attr("width") - 1; });
      $("#timescale1 col").attr("width", function() { return $(this).attr("width") - 1; });
    }

    if ($.browser.msie && $.browser.version == "8.0") {
    $(".grid_table td").css("height", "19px");
    }

    if ($.browser.msie && ($.browser.version == "7.0" || $.browser.version == "6.0")) {
    $.each($.grep($(".grid_table td"), function(value) { return value.innerHTML.length > 0 }), function() { $(this).css("height", "19px"); });
    }

    if ($.browser.safari) {
        $(".grid_table td").css("height", "19px");
    }
}

function ganttChartImgLoaded() {
  // set right scroll width
    $("#GanttRendering2").css("display", "none");
    if ($("#GanttChartImg2").width() == 0) {
        //$("#msgbox_message")[0].innerHTML = "Gantt Chart drawing error. This error has been logged and we try to resolve it.";
        //MsgBoxShow();
        Ami.Dialogs.MsgBox.show2("Gantt Chart drawing error. This error has been logged and we try to resolve it.", 'ok', 'error');
        return;        
    }
    
    $("#right_scroll_nested2").width($("#GanttChartImg2").width());
    // set right block height
    $("#vscroll_nested").height($("#GanttChartImg2").height() + 30);

    $(".gantt_rendering div").width($("#GanttChartImg2").width());
  }

function scrollRight(ev) {
    //alert('scrollRight');
    $.scrollTo.defaults.axis = 'x';
    var x = $get("right_scroll_nested1").scrollLeft;
    //var x = $("#right_scroll_nested1").scrollLeft();
    $(".right_header").stop().scrollTo(x);
    $("#right").stop().scrollTo(x);
}

function scrollRightDelta(delta) {
    //alert('scrollRightDelta');
    $.scrollTo.defaults.axis = 'x';
    var x = $get("right_scroll_nested1").scrollLeft + delta;
    //var x = $("right_scroll_nested1").scrollLeft() + delta;
    $("#right_scroll_nested1").stop().scrollTo(x);
    $(".right_header").stop().scrollTo(x);
    $("#right").stop().scrollTo(x);
}

function scrollVertical(ev) {
    $.scrollTo.defaults.axis = 'y';
    var y = $get("vscroll").scrollTop;
    //var y = $("#vscroll").scrollTop();
    $("#left").stop().scrollTo(y);
    $("#right").stop().scrollTo(y);
    $("#row_selector").stop().scrollTo(y);
}

function scrollVerticalDelta(delta) {
    $.scrollTo.defaults.axis = 'y';
    var y = $get("vscroll").scrollTop + delta;
    //var y = $("#vscroll").scrollTop() + delta;
    $("#vscroll").stop().scrollTo(y);
    $("#left").stop().scrollTo(y);
    $("#right").stop().scrollTo(y);
    $("#row_selector").stop().scrollTo(y);
}

function FileReadingErrorMsgBoxOkClicked() {
    if($('[name=FileReadingErrorMsgBox1$ctl03]').val().length > 0)
        AmiProject.WebService.SetEmail4ReadingFailure($('[name=FileReadingErrorMsgBox1$ctl05]').val(), $('[name=FileReadingErrorMsgBox1$ctl03]').val(), OnRequestComplete);
}

function OnRequestComplete(result) {
}

function toggleRPanel(event) {
  if ($("#rp:visible").length > 0)
    HideRPanel();
  else
    ShowRPanel();    
}

function HideRPanel() {
  $("#rp").animate({ width: 0 }, "normal", function() { HideRPanelFinish(); });
  $(".right_header").animate({ width: parseInt($(".right_header").width(), 0) + 160 });
  $("#right").animate({ width: parseInt($("#right").width(), 0) + 160 });
  $("#vscroll").animate({ right: 0 });
  $("#right_scroll_nested1").animate({ width: parseInt($("#right_scroll_nested1").width(), 0) + 160 });
  $("#empty_box").animate({ right: 0 });
}

function HideRPanelFinish() {
  $("#rp").hide();
  $("#sep").draggable('option', 'containment', [51, 0, $("#vscroll").position().left, 100]);
}

function ShowRPanel() {
  $("#rp").show();
  $("#rp").animate({ width: 160 }, "normal", function() { ShowRPanelFinish(); });
  $(".right_header").animate({ width: parseInt($(".right_header").width(), 0) - 160 });
  $("#right").animate({ width: parseInt($("#right").width(), 0) - 160 });
  $("#vscroll").animate({ right: 160 });
  $("#right_scroll_nested1").animate({ width: parseInt($("#right_scroll_nested1").width(), 0) - 160 });
  $("#empty_box").animate({ right: 160 });
}

function HideRPanelNA() {
  $("#rp").width(0);
  $("#rp").hide();
  $(".right_header").width(parseInt($(".right_header").width(), 0) + 160);
  $("#right").width(parseInt($("#right").width(), 0) + 160);
  $("#vscroll").css("right", 0);
  $("#right_scroll_nested1").width(parseInt($("#right_scroll_nested1").width(), 0) + 160);
  $("#empty_box").css("right", 0);
}

function ShowRPanelFinish() { 
  $("#sep").draggable('option', 'containment', [51, 0, $("#vscroll").position().left, 100]);
}


function OpenBrowseTemplateDialog() {
    $("#templates").dialog('open');
}

function UpdateVScrollHeight() {
    $("#vscroll_nested").height($(".gantt_rendering div:visible").length * 20 + 30);
}


