﻿// knihovna pro udalosti zadavaciho okna

/*

pClientID - SQL nazev polozky s doplnkem

pr.

SQL sloupec  ... Hodnota1

pClientID = eHodnota1 - neni v zalozce
pClientID = pc_eHodnota1 - je v zalozce

*/


// --------------- GET DATA
//jde pro dd

// vraci hodnotu objektu
// oEditDropDown, oEditDate
function joGetValue(pClientID)
{ 
  return document.getElementById(pClientID).GetValue();
}

// vraci hodnotu objektu
function joGetValueMoney(pClientID)
{
    var r = joGetValue(pClientID);

    r = r.replace(',', ".");

    if (r == null || r == undefined || r == "0.00" || r == "0,0000") {
        r = 0;
    }
    return r*1; 

  
}

// vraci text objektu
function joGetText(pClientID)
{ 
  return document.getElementById(pClientID).GetText();
}



// vraci hodnotu sloupce naseptavace
function joGetColumnValue(pClientID, pColumn)
{ 
  return document.getElementById(pClientID).GetColumnValue(pColumn);
}

//Start Steinmetz

// vraci datum cas (20100202 08:00:00) 
function joGetCurrentDateTime() {
    /*
    var d = new Date();
    var ret = d.getFullYear;
    ret += (d.getMonth() + 1) + '';
    ret += d.getDate() + '';
    ret += " ";
    ret += d.getHours;
    ret += d.getMinutes;
    ret += d.getSeconds;

    return ret;*/
}

// vraci hodnotu objektu oEditDateTime (20100202 08:00:00) 
function joGetDateTimeValue(pClientID) {
    var valdID = pClientID + "_HFValue";
    var valtID = pClientID + "_TimeEdit_HFValue";
    var heditDate = document.getElementById(valdID);
    var heditTime = document.getElementById(valtID);
    var timeEdit = document.getElementById(pClientID + "_TimeEdit");
    if (heditDate != undefined) {
        var retVal = heditDate.value;
        if (heditTime != undefined) {
            var time = timeEdit.DD.SearchTextFromAID(heditTime.value);
            retVal += " " + ((time) ? time : heditTime.value);
        }
        return retVal;
    }
    else {
        return "";
    }

    /*
    if ((heditDate != undefined) && (heditTime != undefined)) {
        //return heditDate.value + " " + heditTime.value;SearchTextFromAID
        var time = timeEdit.DD.SearchTextFromAID(heditTime.value);
        return heditDate.value + " " + ((time) ? time : heditTime.value);
    }
    */
}

// vraci text objektu oEditDateTime (datum cas)
function joGetDateTimeText(pClientID) {
    var retVal = document.getElementById(pClientID).value;
    var editTime = document.getElementById(pClientID + "_TimeEdit");
    if (editTime != undefined) {
        retVal += " " + document.getElementById(pClientID + "_TimeEdit").value;
    }

    return retVal; 
}
//End Steinmetz












// ---------------- SET DATA

// naplni hodnotu objektu
// oEditDropDown, oEditDate
function joSetValue(pClientID, pValue)
{ 
  document.getElementById(pClientID).SetValue(pValue);
}


// naplni hodnotu objektu
function joSetValueMoney(pClientID, pValue)
{ 

    //Vymazání mezer
  while(pValue.indexOf(" ")!=-1)
  {
    pValue = pValue.replace(" ","");
  }
    
  pValue = pValue.replace(",",".");  
   
  document.getElementById(pClientID).SetValue(pValue);
}

// naplni hodnotu objektu
function joSetValueBool(pClientID, pValue) {

    var chkBox = document.getElementById(pClientID);

    if (pValue == "True") {
        chkBox.checked = true;
    }
    else {
        chkBox.checked = false;
    }
   
}



// naplni text objektu
function joSetText(pClientID, pText)
{ 
  document.getElementById(pClientID).SetText(pText);
}

// naplni text HTML objektu
function joSetTextHTML(pClientID, pText)
{ 
  document.getElementById(pClientID).innerHTML = pText;
}

//Start Steinmetz
// naplni hodnotu objektu oEditDateTime (20100202 08:00:00)
function joSetDateTimeValue(pClientID, pText) {
    var dateEdit = document.getElementById(pClientID);
    var timeEdit = document.getElementById(pClientID + "_TimeEdit");

    var d = pText.split(' ')[0];
    var t = pText.split(' ')[1];
    dateEdit.SetValue(d);
    if (timeEdit != undefined) {
        timeEdit.SetText(t);
        timeEdit.RefreshValue();
    }    
}

// naplni text objektu oEditDateTime (datum cas)
function joSetDateTimeText(pClientID, pText) {
    document.getElementById(pClientID).SetText(pText.substring(0, pText.lastIndexOf(' ')));
    var timeEdit = document.getElementById(pClientID + "_TimeEdit");
    if (timeEdit != undefined) {
        timeEdit.SetText(pText.substring(pText.lastIndexOf(' ') + 1));
    }
}

function joSetCurrentDateTimeValue(pClientId) {
    AJAX_IsInitialized = true;
    var format = 'yyyyMMdd HH:mm:ss';
    var pc = pClientId;
    var initAjax = new AJAXClass("dialogAJAX", function (e) {
        // alert(e.Response.Data);
        var data = e.Response.Data;
        joSetDateTimeValue(pc, data);
    });

    var params = format;

    initAjax.SendCommand("DATETIME|GET_CURRENT_DATETIME", params, false);
    /*
    var d = new Date();
    var ret = d.getFullYear() + '';
    ret += d.getMonth() + '';
    ret += d.getDay() + '';
    ret += ' ';
    ret += d.getHours() + '';
    ret += d.getMinutes() + '';
    ret += d.getSeconds() + '';
    */
}
//End Steinmetz



// --------------------------- FORMATOVACI FUNKCE



//Zformátuje číselnou hodnotu do požadovaného textového tvaru
function joFormatToMoney(val, decimalPlaces, separateNumberGroups, decimalPlaceSeparator, numberGroupsSeparator)
{

   var r = oEditNumber_FormatNumber(val, decimalPlaces, separateNumberGroups, decimalPlaceSeparator, numberGroupsSeparator);

   return r;
}


//Zformátuje číselnou hodnotu do požadovaného textového tvaru
function joFormatToMoneyKc(val)
{

   var r = joFormatToMoney(val, 2, 1, ',', ' ');

   return r + ' Kč';
}




// ----------------------------- POMOCNE FUNKCE


// vraci vypoctena procenta
function joProcentaDPH(pZaklad, pDPH)
{ 
  var r = 0;
  
  pZaklad = pZaklad*1
  pDPH = pDPH*1
  
  if (pZaklad != 0)
  {
     r = (pDPH / pZaklad) * 100
     
     // zaokroulim na 2 mista
     r = Math.round(r * 100) / 100
  }
  
  return r
  
}


// ----------------------------- FUNKCE PRO AfterSaveEventJS


// presmerovat rodice na novou URL

function joDialogNavBarNavigate(pNavigate) {
    document.getElementById('MyIFrame').src = pNavigate;
}


// PopupGlobal
function joParentPopup(oFunction, width, height, textHeader, imgHeader) {
    window.parent.MyPopup(oFunction, width, height, textHeader, imgHeader);
}










 
