﻿//All
//Private
function PopupGetLeftAndTop(width, height)
{
    var LeftAndTop = new Array();
    LeftAndTop[0] = (window.screen.width - width) / 2;
    LeftAndTop[1] = (window.screen.height - height) / 2;
    return LeftAndTop;
}

//DialogOK and DialogYesNo Popups
//Public
function PopupShowDialogOk(message, picture)
{
    var dialogWidth = PopupOKYesNoCalculateWidth(decodeURI(message).length);
    var dialogHeight = 100;
    var LeftAndTop = PopupGetLeftAndTop(dialogWidth, dialogHeight);
    if (navigator.appName != "Microsoft Internet Explorer")
    {
        //Mozilla Firefox
        LeftAndTop[0] = LeftAndTop[0] + document.body.scrollLeft;
        LeftAndTop[1] = LeftAndTop[1] + document.body.scrollTop;
    }
    var strStyle = "dialogLeft:" + LeftAndTop[0] + "px;" + "dialogTop:" + LeftAndTop[1] + "px;" +
        "dialogWidth:" + dialogWidth + "px;" + "dialogHeight:" + dialogHeight + "px;" +
        "center:No;help:No;resizable:No;status:No;scroll:No;";
    var i = window.showModalDialog(ApplicationPath + "/Inc/DialogOk.aspx?Message=" + message +
        "&Picture=" + picture, "", strStyle);
    if (i == 1)
    {
        return true;
    }
    else
    {
        return false;
    }
}
function PopupShowDialogYesNo(message)
{
    var dialogWidth = PopupOKYesNoCalculateWidth(decodeURI(message).length);
    var dialogHeight = 100;
    var LeftAndTop = PopupGetLeftAndTop(dialogWidth, dialogHeight);
    if (navigator.appName != "Microsoft Internet Explorer")
    {
        //Mozilla Firefox
        LeftAndTop[0] = LeftAndTop[0] + document.body.scrollLeft;
        LeftAndTop[1] = LeftAndTop[1] + document.body.scrollTop;
    }
    var strStyle = "dialogLeft:" + LeftAndTop[0] + "px;" + "dialogTop:" + LeftAndTop[1] + "px;" +
        "dialogWidth:" + dialogWidth + "px;" + "dialogHeight:" + dialogHeight + "px;" +
        "center:No;help:No;resizable:No;status:No;scroll:No;";
    var i = window.showModalDialog(ApplicationPath + "/Inc/DialogYesNo.aspx?Message=" + message, "", strStyle);
    if (i == 1)
    {
        return true;
    }
    else
    {
        return false;
    }
}
function PopupOKYesNoFixHeight()
{
    //podesavamo visinu prozora u zavisnosti od velicine tabele PopupTable
    var PopupTable = document.getElementById("PopupTable");
    if (window.outerWidth)
    {
        //Mozilla Firefox
        window.resizeTo(
            window.outerWidth,
            PopupTable.offsetHeight + 100);
    }
    else
    {
        //Internet Explorer
        var dialogHeight = PopupTable.offsetHeight + 30;
        window.dialogHeight = dialogHeight + "px";
    }
}
//Private
function PopupOKYesNoCalculateWidth(messageLength)
{
    if (messageLength < 45)
    {
        return messageLength * 10;
    }
    else
    {
        return 450;
    }
}

//Calendar Popup
//Public
function PopupSetCalendar(parent)
{
    var inputs = parent.getElementsByTagName("input");
    var txtDate = inputs[0];
    var btnPickDate = inputs[1];
    $(txtDate).bind("click", function(e){
        return PopupShowCalendar(e);
    });
    $(txtDate).bind("keypress", function(e){
        return PopupShowCalendar(e);
    });
    $(btnPickDate).bind("click", function(e){
        return PopupShowCalendar(e);
    });
    
    if (inputs.length == 5)
    {
        var txtHour = inputs[2];
        var txtMinute = inputs[3];
        $(txtHour).bind("blur", function(e){
            return PopupShowCalendarHelp2(e);
        });
        $(txtMinute).bind("blur", function(e){
            return PopupShowCalendarHelp2(e);
        });
    }
}
//Private
var PopupShowCalendarReturnValue;
function PopupShowCalendar(event)
{
    var parent = event.target.parentNode;
    var inputs = parent.getElementsByTagName("input");
    if (inputs.length == 3)
    {
        var txtDate = inputs[0];
        var txtDateValidation = inputs[2];
        var dateFormat = "long";
        PopupShowCalendarHelp(txtDate, txtDateValidation, dateFormat, null, null);
    }
    else
    {
        var txtDate = inputs[0];
        var txtHour = inputs[2];
        var txtMinute = inputs[3];
        var txtDateValidation = inputs[4];
        var dateFormat = "long";
        
        PopupShowCalendarHelp(txtDate, txtDateValidation, dateFormat, txtHour, txtMinute);
    }
    
    //Vracamo false da bi ponistili keypress (za slucaj da je ovo keypress dogadjaj, mozda je i click dogadjaj)
    return false;
}
function PopupShowCalendarHelp(txtDate, txtDateValidation, dateFormat, txtHour, txtMinute)
{
    var dialogWidth = 250;
    var dialogHeight = 250;
    var LeftAndTop = PopupGetLeftAndTop(dialogWidth, dialogHeight);
    var strStyle = "dialogLeft:" + LeftAndTop[0] + "px;" + "dialogTop:" + LeftAndTop[1] + "px;" +
        "dialogWidth:" + dialogWidth + "px;" + "dialogHeight:" + dialogHeight + "px;" +
        "center:No;help:No;resizable:Yes;status:No;scroll:No;";
        
    var dates = window.showModalDialog(ApplicationPath + "/Inc/Calendar.aspx?DateFormat=" + dateFormat +
        "&Date=" + escape(txtDate.value), "", strStyle);
    if (typeof PopupShowCalendarReturnValue != "undefined")
    {
        dates = PopupShowCalendarReturnValue;
    }
    if (dates[0] == 0)
    {
    }
    else if (dates[0] == 1)
    {
        txtDate.value = "";
        txtDateValidation.value = "";
    }
    else
    {
        txtDate.value = dates[0];
        if (txtHour == null)
        {
            txtDateValidation.value = dates[1] + ".00.00";
        }
        else
        {
            var ymd = dates[1];
            var hour = txtHour.value;
            if (hour.length == 1) hour = "0" + hour;
            var minute = txtMinute.value;
            if (minute.length == 1) minute = "0" + minute;
            
            txtDateValidation.value = ymd + "." + hour + "." + minute;
        }
    }
}
function PopupShowCalendarHelp2(event)
{
    var txt = event.target;
    var parent = txt.parentNode.parentNode.parentNode.parentNode.parentNode;
    var inputs = parent.getElementsByTagName("input");
    var txtDate = inputs[0];
    var txtHour = inputs[2];
    var txtMinute = inputs[3];
    var txtDateValidation = inputs[4];
    
    var ymd = txtDateValidation.value.substring(0, 10);
    var hour = txtHour.value;
    if (hour.length == 1) hour = "0" + hour;
    var minute = txtMinute.value;
    if (minute.length == 1) minute = "0" + minute;
    
    txtDateValidation.value = ymd + "." + hour + "." + minute;
}

//EntityDocuments Popup
//Public
function PopupShowEntityDocuments(entityCode, name, id)
{
    var width;
    var height;
    if (window.outerWidth)
    {
        //Mozilla Firefox
        width = 750;
        height = 640;
    }
    else
    {
        //Internet Explorer
        width = 787;
        height = 640;
    }
    var LeftAndTop = PopupGetLeftAndTop(width, height);
    var strStyle = "left=" + LeftAndTop[0] + "," + "top=" + LeftAndTop[1] + "," +
        "width=" + width + "," + "height=" + height + "," +
        "status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes";
    var strUrl = ApplicationPath + "/Management/ISDACON/EntityDocuments/EntityDocuments.aspx" +
        "?EntityCode=" + entityCode + "&Name=" + name + "&Id=" + id;
    window.open(strUrl, "", strStyle);
    return false;
}

//Event Popup
//Public
function PopupShowDacuEvent(id)
{
    var width = 750;
    var height = 320;
    var LeftAndTop = PopupGetLeftAndTop(width, height);
    var strStyle = "left=" + LeftAndTop[0] + "," + "top=" + LeftAndTop[1] + "," +
        "width=" + width + "," + "height=" + height + "," +
        "status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes";
    var strUrl = ApplicationPath + "/PublicSite/Event.aspx?EventId=" + id;
    window.open(strUrl, "", strStyle);
    return false;
}

