/* - - - - - - - - - - - - - - - - - - - - - - -
 JavaScript
 30 grudzień 2004 13:06:55
 - - - - - - - - - - - - - - - - - - - - - - - */


function is_vat_checked_any()
{
  if (document.forms[0].elements["RejestracjaPlatnikVAT1"].checked==true)
  {
      return true;
  }
  else if (document.forms[0].elements["RejestracjaPlatnikVAT2"].checked==true)
  {
      return true;
  }
  else
  {
      return false;
  }
}

function is_vat_checked()
{
        if(!is_vat_checked_any())
        {
                alert('Proszę odpowiednią opcje w polu "Czy jesteś płatnikiem VAT!"');
        }

        return is_vat_checked_any();
}

function vatcheckbox(nr)

{
  if (nr==1)
  {
      if (document.forms[0].elements["RejestracjaPlatnikVAT2"].checked)
        {
          document.forms[0].elements["RejestracjaPlatnikVAT2"].checked=false;
        }
  }
  else
  {
      if (document.forms[0].elements["RejestracjaPlatnikVAT1"].checked)
        {
          document.forms[0].elements["RejestracjaPlatnikVAT1"].checked=false;
        }
  }
}


function sprawdzcheckboxy()
{
checkboxstart = 8;

if (!(document.forms[0].elements[checkboxstart].checked ))
        {

            for(i=9; i<document.forms[0].elements.length-1; i++)
            {
//              document.forms[0].elements[i].checked=false;  // 8 bo to pierwsze pole checkboxa
                document.forms[0].elements[i].disabled=true;  // 8 bo to pierwsze pole checkboxa
            }
        }
        else
        {
            for(i=9; i<document.forms[0].elements.length-1; i++)
            {

                document.forms[0].elements[i].disabled=false;  // 8 bo to pierwsze pole checkboxa

            }

        }
}

function czy_wybrana_metoda_dostawy()
{
  if (document.forms['zamow'].elements['shipping'].value=='Wybierz ...')
  {
    alert('Proszę wybrać metodę dostawy!');
    result = false;
  }
  else
  {
    result = true;
  }
  return result;
}

/* Function printf(format_string,arguments...)
 * Javascript emulation of the C printf function (modifiers and argument types
 *    "p" and "n" are not supported due to language restrictions)
 *
 * Copyright 2003 K&L Productions. All rights reserved
 * http://www.klproductions.com
 *
 * Terms of use: This function can be used free of charge IF this header is not
 *               modified and remains with the function code.
 *
 * Legal: Use this code at your own risk. K&L Productions assumes NO resposibility
 *        for anything.
 ********************************************************************************/
function printf(fstring)
  { var pad = function(str,ch,len)
      { var ps='';
        for(var i=0; i<Math.abs(len); i++) ps+=ch;
        return len>0?str+ps:ps+str;
      }
    var processFlags = function(flags,width,rs,arg)
      { var pn = function(flags,arg,rs)
          { if(arg>=0)
              { if(flags.indexOf(' ')>=0) rs = ' ' + rs;
                else if(flags.indexOf('+')>=0) rs = '+' + rs;
              }
            else
                rs = '-' + rs;
            return rs;
          }
        var iWidth = parseInt(width,10);
        if(width.charAt(0) == '0')
          { var ec=0;
            if(flags.indexOf(' ')>=0 || flags.indexOf('+')>=0) ec++;
            if(rs.length<(iWidth-ec)) rs = pad(rs,'0',rs.length-(iWidth-ec));
            return pn(flags,arg,rs);
          }
        rs = pn(flags,arg,rs);
        if(rs.length<iWidth)
          { if(flags.indexOf('-')<0) rs = pad(rs,' ',rs.length-iWidth);
            else rs = pad(rs,' ',iWidth - rs.length);
          }
        return rs;
      }
    var converters = new Array();
    converters['c'] = function(flags,width,precision,arg)
      { if(typeof(arg) == 'number') return String.fromCharCode(arg);
        if(typeof(arg) == 'string') return arg.charAt(0);
        return '';
      }
    converters['d'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,arg);
      }
    converters['u'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,Math.abs(arg));
      }
    converters['i'] =  function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = ((Math.abs(arg)).toString().split('.'))[0];
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        return processFlags(flags,width,rs,arg);
      }
    converters['E'] = function(flags,width,precision,arg)
      { return (converters['e'](flags,width,precision,arg)).toUpperCase();
      }
    converters['e'] =  function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toExponential(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs.replace(/^(.*)(e.*)$/,'$1.$2');
        return processFlags(flags,width,rs,arg);
      }
    converters['f'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toFixed(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs + '.';
        return processFlags(flags,width,rs,arg);
      }
    converters['G'] = function(flags,width,precision,arg)
      { return (converters['g'](flags,width,precision,arg)).toUpperCase();
      }
    converters['g'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        absArg = Math.abs(arg);
        rse = absArg.toExponential();
        rsf = absArg.toFixed(6);
        if(!isNaN(iPrecision))
          { rsep = absArg.toExponential(iPrecision);
            rse = rsep.length < rse.length ? rsep : rse;
            rsfp = absArg.toFixed(iPrecision);
            rsf = rsfp.length < rsf.length ? rsfp : rsf;
          }
        if(rse.indexOf('.')<0 && flags.indexOf('#')>=0) rse = rse.replace(/^(.*)(e.*)$/,'$1.$2');
        if(rsf.indexOf('.')<0 && flags.indexOf('#')>=0) rsf = rsf + '.';
        rs = rse.length<rsf.length ? rse : rsf;
        return processFlags(flags,width,rs,arg);
      }
    converters['o'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = Math.round(Math.abs(arg)).toString(8);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0'+rs;
        return processFlags(flags,width,rs,arg);
      }
    converters['X'] = function(flags,width,precision,arg)
      { return (converters['x'](flags,width,precision,arg)).toUpperCase();
      }
    converters['x'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        arg = Math.abs(arg);
        var rs = Math.round(arg).toString(16);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0x'+rs;
        return processFlags(flags,width,rs,arg);
      }
    converters['s'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = arg;
        if(rs.length > iPrecision) rs = rs.substring(0,iPrecision);
        return processFlags(flags,width,rs,0);
      }
    farr = fstring.split('%');
    retstr = farr[0];
    fpRE = /^([-+ #]*)(\d*)\.?(\d*)([cdieEfFgGosuxX])(.*)$/;
    for(var i=1; i<farr.length; i++)
      { fps=fpRE.exec(farr[i]);
        if(!fps) continue;
        if(arguments[i]!=null) retstr+=converters[fps[4]](fps[1],fps[2],fps[3],arguments[i]);
        retstr += fps[5];
      }
    return retstr;
  }
/* Function printf() END */


function calculateKoszty() {
    // pobieramy zaznaczone elementy formularza
    var id_platnosci = null;
    var id_forma_dostawy = null;
    if (document.forms.zamow.SposobPlatnosci != null) {
        id_platnosci = document.forms.zamow.SposobPlatnosci.selectedIndex;//value;
    }

    if (document.forms.zamow.shipping != null) {
        id_forma_dostawy = document.forms.zamow.shipping.selectedIndex;
    }

    // przeliczamy koszty dostawy i koszty platnosci
    var kdostn = 0;
    var kdostb = 0;
     
    if (id_platnosci != null) {
        kdostn += sposPlatnosci[0][id_platnosci];
        kdostb += sposPlatnosci[1][id_platnosci];
    }

    if (id_forma_dostawy != null) {
        kdostn += sposDostawy[0][id_forma_dostawy];
        kdostb += sposDostawy[1][id_forma_dostawy];
    }
    
    // obliczamy sumę zamówienia z kosztami dostawy i platnosci 
    var kosztn = sposDostawy[2][0] + kdostn;
    var kosztb = sposDostawy[3][0] + kdostb;

    var cenadosb = document.getElementById('cenadosb');
    if (cenadosb != null)
      cenadosb.firstChild.nodeValue = printf("%.2f", kdostb);

    var cenab = document.getElementById('cenab');
    if (cenab != null)
      cenab.firstChild.nodeValue = printf("%.2f", kosztb);

    if (document.forms.zamow.elements.cenadostn != null)
      document.forms.zamow.elements.cenadostn.value = printf("%.2f", kdostn);

    if (document.forms.zamow.elements.cenadostb != null)
      document.forms.zamow.elements.cenadostb.value = printf("%.2f", kdostb);

    if (document.forms.zamow.elements.wartoscn != null)
      document.forms.zamow.elements.wartoscn.value = printf("%.2f", kosztn);

    if (document.forms.zamow.elements.wartoscb != null)
      document.forms.zamow.elements.wartoscb.value = printf("%.2f", kosztb);
}

function rejestracjaSprawdz() {
  var nazwa = null;

  if (document.forms.rejestrform.RejestracjaTypDzialalnosci != null) {
    nazwa = document.forms.rejestrform.RejestracjaTypDzialalnosci.value;
  }

  if (nazwa == 'Osoba fizyczna') {
    document.forms.rejestrform.RejestracjaNazwa.disabled = true;
    document.forms.rejestrform.RejestracjaNIP.disabled = true;
  } else {
    document.forms.rejestrform.RejestracjaNazwa.disabled = false;
    document.forms.rejestrform.RejestracjaNIP.disabled = false;
  }

}

function pokazZakres(id)
{
  // jeśli zakres użytkownika
  if( id == "uzytkownik" )
  {
    // pokazujemy filtr
    document.getElementById('blok_filtr').style.display = "block";
  }
  else // w przeciwnym przypadku
  {
    // ukrywamy
    document.getElementById('blok_filtr').style.display = "none";
    
    // wpisujemy odpowiednie daty w opaciu o wybraną wartość
    switch( id )
    {
      case "dzis":
        // data początkowa
        data = new Date();
        pocz = data.getDate()+"."+(data.getMonth()+1)+"."+(1900+data.getYear());
        document.forms.FormFiltr.FiltrDataPocz.value = pocz;
        // data końcowa
        konc = data.getDate()+"."+(data.getMonth()+1)+"."+(1900+data.getYear());
        document.forms.FormFiltr.FiltrDataKonc.value = konc;
        // wysyłamy
        document.forms.FormFiltr.submit();
        break;

      case "wczoraj":
        // data początkowa
        wczoraj = new Date();
        wczoraj.setDate(wczoraj.getDate()-1);
        pocz = wczoraj.getDate()+"."+(wczoraj.getMonth()+1)+"."+(1900+wczoraj.getYear());
        document.forms.FormFiltr.FiltrDataPocz.value = pocz;
        // data końcowa
        konc = wczoraj.getDate()+"."+(wczoraj.getMonth()+1)+"."+(1900+wczoraj.getYear());
        document.forms.FormFiltr.FiltrDataKonc.value = konc;
        // wysyłamy
        document.forms.FormFiltr.submit();
        break;

      case "tydzien":
        // data początkowa
        tydzien = new Date();
        tydzien.setDate(tydzien.getDate()-7);
        pocz = tydzien.getDate()+"."+(tydzien.getMonth()+1)+"."+(1900+tydzien.getYear());
        document.forms.FormFiltr.FiltrDataPocz.value = pocz;
        // data końcowa
        data = new Date();
        konc = data.getDate()+"."+(data.getMonth()+1)+"."+(1900+data.getYear());
        document.forms.FormFiltr.FiltrDataKonc.value = konc;
        // wysyłamy
        document.forms.FormFiltr.submit();
        break;

      case "miesiac":
        // data początkowa
        data = new Date();
        pocz = data.getDate()+"."+(data.getMonth())+"."+(1900+data.getYear());
        document.forms.FormFiltr.FiltrDataPocz.value = pocz;
        // data końcowa
        konc = data.getDate()+"."+(data.getMonth()+1)+"."+(1900+data.getYear());
        document.forms.FormFiltr.FiltrDataKonc.value = konc;
        // wysyłamy
        document.forms.FormFiltr.submit();
        break;

      case "rok":
        // data początkowa
        data = new Date();
        pocz = data.getDate()+"."+(data.getMonth()+1)+"."+(1899+data.getYear());
        document.forms.FormFiltr.FiltrDataPocz.value = pocz;
        // data końcowa
        konc = data.getDate()+"."+(data.getMonth()+1)+"."+(1900+data.getYear());
        document.forms.FormFiltr.FiltrDataKonc.value = konc;
        // wysyłamy
        document.forms.FormFiltr.submit();
        break;
    }
    
  }
}

if (!Array.prototype.forEach)
{
  Array.prototype.forEach = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        fun.call(thisp, this[i], i, this);
    }
  };
}

