// 
// marcin.wojciechowski2@gmail.com
//
$(document).ready(function(){

   var save = new Array();
   var promocja_html = new Array();
   var _cnt = 0;
   $('#usluga1_table').find("tr").find("td:first").each(
      function()
      {
         var h = $(this).html();
         save[_cnt]=h;
         promocja_html[_cnt] = h.replace(/(\d+)[\.,]*(\d*)(\s*)([MK])bit/g,
            function(m, m1, m1f, space, m2) {
               m1 = parseFloat(m1+'.'+m1f)*2;
               if (m1 > 1000 && m2 == 'K')
               {
                  m1 = m1/1000;
                  m2 = 'M';
               }
               return m1 + ' ' + m2 + 'bit';
            }
         );
         _cnt++;
      }
   );



   $('#tv_rodz_inst').hover(
      function() {
         $(this).removeClass("tv_rodz_inst_outhover").addClass("tv_rodz_inst_hover");
      },
      function() {
         $(this).removeClass("tv_rodz_inst_hover").addClass("tv_rodz_inst_outhover");
      }
   ).click(
      function()
      {
         var r = $(this).attr("r");
    
         if (r == 'n')
         {
            $('#tv_rodz_inst_text').html("istniejąca instalacja");
            $(this).attr("r", "s");
         }
         else
         {
            $('#tv_rodz_inst_text').html("nowa instalacja");
            $(this).attr("r", "n");
         }

         calc_cena({});
      }

   );

   $('#wyslij').hover(
      function() {
         $(this).removeClass("wyslij_outhover").addClass("wyslij_hover");
      },
      function() {
         $(this).removeClass("wyslij_hover").addClass("wyslij_outhover");
      }
   ).click(
      function()
      {
         var h = $('#etap3_html').html();
         var et = $('#email_to').attr('email');
         $.ajax({
            url: '?pre=set_id',
            cache: false,
            success: function(msg2) {
               switch_etap(3,4);
               $('#etap1, #etap2, #etap3, #wstecz, #dalej').hide();
               $('#zamid').html(msg2); 
               $.ajax({
                  url: '?pre=send_mail',
                  cache: false,
                  type: 'POST',
                  data: 'data='+h+'&id='+msg2+'&email_to='+et,
                  complete: function(http, status) {
                     if (status != 'success')
                     {
                        $.ajax({ url: '?pre=error', cache: false });
                     }
                  }
               });
            }
         });
      }
   );

   $('#etap1_html').find("input").removeAttr("checked").attr("disabled", "disabled");
   $('#etap1_html').find("select").val(0);


   if (jQuery.browser.mozilla)
   {
      $("html").css({ 'overflow': '-moz-scrollbars-vertical' });
   }

   $('#etap1, #etap2, #etap3, #etap4').hover(
      function()
      {
	     var e = get_etap($(this));
		 if (e == etap)
            $(this).removeClass().addClass("etap_bar_hover_selected");
		 else
			$(this).removeClass().addClass("etap_bar_hover");
      },
      function()
      {
         var e = get_etap($(this));
         var c = 'etap_bar_outhover';
         if (e == etap)
            c = 'etap_bar_outhover_selected';

         $(this).removeClass().addClass(c);
      }
   ).click(
      function()
      {
         var e = get_etap($(this));
         if (e != etap)
            switch_etap(etap, e);
      }
   );

   $('#wstecz').click(
      function()
      {
         var e = etap - 1;
         switch_etap(etap, e);
      }
   );

   $('#dalej').click(
      function()
      {
         var e = parseInt(etap) + 1;
         switch_etap(etap, e);
      }
   );




   $('#promocja_max').hover(
      function()
      {
         if (promocja)
            $(this).css("cursor", "pointer");
         else
            $(this).css("cursor", "");
      },
      function()
      {
         $(this).css("cursor", "");
      }
   ).bind("click",
      function()
      {
         if (!promocja)
            return;

         if (promocja_color == 'White')
         {
            promocja_color = 'green';
            promocja_mega('on', save, promocja_html);
         }
         else
         {
            promocja_color = 'White';
            promocja_mega('off', save, promocja_html);
         }
         $(this).css("background-color", promocja_color);
      }
   );

//
// obsluga zmian
//
   $('select, input[type="checkbox"], input[type="radio"]').click(
      function()
      {
         var id = $(this).attr("id");
         var chk = $(this).attr("checked");
         var us1 = $('#usluga1').val();
         var us2 = $('#usluga2').val();
         var us3 = $('#usluga3').val();
         var obj = $('#usluga1_table');

         $('#promocja_max').css(
         {
            "background-color": "Lavender",
            "border": "1px dotted black"
         });

         promocja = false;

         if (us1 > 0 && us3 > 0) 
         {
            promocja = true;
            $('#promocja_max').css(
            {
               "background-color": promocja_color,
               "border": "2px solid black"
            });
         }

         $('#cyfra1').attr("cena", "57");
         $('#cyfra2').attr("cena", "52");
         $('#cyfra1_zl').html('57zł');
         $('#cyfra2_zl').html('52zł');

         if (us2 > 0 && $('#tv1').attr("checked"))
         {
            $('#cyfra1').attr("cena", "25");
            $('#cyfra2').attr("cena", "20");
            $('#cyfra1_zl').html('25zł');
            $('#cyfra2_zl').html('20zł');
         }

         if (id == 'hdpak' && chk)
         {
            $('#mtv, #discohd, #eurohd').removeAttr("checked");
         }

         if ((id == 'mtv' || id == 'eurohd' || id == 'discohd') && chk)
         {
            $('#hdpak').removeAttr("checked"); 
         }

         if (id == 'cinemax' && chk)
         {
            $('#hbomax').removeAttr("checked");
         }

         if (id == 'hbomax' && chk)
         {
            $('#cinemax, #hbo, #hbohd').removeAttr("checked");
         }

         if (id == 'hbohd' && chk)
         {
            $('#hbo').attr("checked", "checked");
            $('#hbomax').removeAttr("checked");
         }

         if (id == 'hbo' && chk)
         {
            $('#hbomax').removeAttr("checked");
         }

         if (id == 'hbo' && chk == false)
         {
            $('#hbohd').removeAttr("checked");
         }

         if (id == 'canalhd' && chk)
         {
            $('#canal').attr("checked", "checked");
         }

         if (id == 'xxx' && chk)
         {
            $('#xxxplus').removeAttr("checked");
         }

         if (id == 'xxxplus' && chk)
         {
            $('#xxx').removeAttr("checked");
         }

         if (id == 'canal' && chk == false)
         {
            $('#canalhd').removeAttr("checked");
         }
         calc_cena({});
      }
   );

//
// glowne uslugi
//
   $('select').filter(
      function() {
         var id = $(this).attr('id');
         var reg = /^usluga\d+$/;

         return reg.test(id);
      }
   ).change(
      function() {
         var val = $(this).val();
         var uid = $(this).attr('uid');

         if (val == 1)
         {
            $('#wyb'+uid).removeClass().addClass("wybrana_usluga_selected");
            $(this).parent().find("table").filter('[oldclass]').removeClass().addClass("main_usluga_selected").find("input").removeAttr("disabled");
            $('input[name="usluga' + uid + '_choice"]:first').attr("checked", "checked");
            if (uid == 3)
            {
               $('input[name="modem_choice"]:first').attr("checked", "checked");
            }
         }
         if (val == 0) 
         {
            $('#wyb'+uid).removeClass().addClass("wybrana_usluga_none");
            $(this).parent().find("table").filter("[oldclass]").removeClass().addClass("main_usluga_none").find("input").attr("disabled", "disabled").attr("checked", false);
         }
         if (val == 3) 
         {
            $('#wyb'+uid).removeClass().addClass("wybrana_usluga_selected");
            $(this).parent().find("table").filter("[oldclass]").removeClass().addClass("main_usluga_selected")
            .find("input").filter(
               function()
               {
                  var t = $(this).attr("type");
                  $(this).attr("checked", false);
                  if (t == "checkbox" || uid == 2)
                     $(this).removeAttr("disabled");
                  else
                     $(this).attr("disabled", "disabled");

                  if (uid == 2)
                     $('input[name="usluga2_choice"]:first').attr("checked", "checked");
               }
            );
         }
      }
   );


});




function switch_etap(curr, next)
{

   if (check_etap(curr, next) == 1)
      return;

   // sprawdzamy dane z etapu 2

   var cnt = 0;
   $('#etap2_html').find('input[type="text"]').filter('[req]').filter(
      function()
      {
         var reg = /^\s*$/;
         var val = $(this).val();
         if (reg.test(val))
         {
            cnt++;
            $(this).removeClass().addClass("required");
         }
      }
   );

   if (cnt != 0 && next == 3)
   {
      if (curr == 2)
         alert('Wypełnij wymagane pola');

      return;
   }

   $('[etap]').hide().filter(
      function()
      {
         var e = $(this).attr("etap");
         return (parseInt(e) == next);  
      }
   ).show();

   $('#etap'+curr+'_html').hide();
   $('#etap'+next+'_html').show();
 
   $('#etap'+curr).removeClass().addClass("etap_bar_outhover");
   $('#etap'+next).removeClass().addClass("etap_bar_hover");

   etap = next;

   if (etap == 3)
      setdata_etap3();

   etap_load[etap]=1;

   $('#wstecz, #dalej').removeAttr("disabled");

   if (next == 1)
      $('#wstecz').attr("disabled", "disabled");

   if (next == 3)
      $('#dalej').attr("disabled", "disabled");


}


function calc_cena(opts)
{


   var gn_tv = 0;
   var gn_osk = 0;
   var gn_osk_cnt = 0;
   var gn_tv_cnt = 0;
   $('input[type="checkbox"]:checked').each(
      function()
      {
         var id = $(this).attr("id");
         var r = /^\d+_gn_(tv|osk)$/;
    
         if (!r.test(id))
            return;

         var cena = $(this).attr("cena_gn");

         var t = id.replace(r, "$1");
         if (t == 'osk')
         {
            gn_osk_cnt++;
            gn_osk = gn_osk + parseInt(cena); 
         } 

         if (t == 'tv')
         {
            gn_tv_cnt++;
            gn_tv = gn_tv + parseInt(cena); 
         }
          
      }
   );
   var i1 = $('input[name="usluga1_choice"]:checked').attr("inst");
   var us1 = $('#usluga1').val();
   if (! i1 || us1 != 1)
      i1 = 0;
   else
      i1 = parseFloat(i1);

   var i2 = 0;
   var i3 = 0;

   var u1 = $('input[name="usluga1_choice"]:checked').attr("cena"); 
   if (! u1 || us1 != 1)
      u1 = 0;
   else
      u1 = parseInt(u1);

   var u2 = $('input[name="usluga2_choice"]:checked').attr("cena"); 
   var us2 = $('#usluga2').val();
   if (! u2 || us2 != 1)
   {
      u2 = 0;
   }
   else
   {
      u2 = parseInt(u2);
      if ($('#tv_rodz_inst').attr("r") == 'n')
         i2 = 80;
      else
         i2 = 15;
   }

   var u3 = $('input[name="usluga3_choice"]:checked').attr("cena"); 
   var u3_add = $('input[name="modem_choice"]:checked').attr("cena");
   var us3 = $('#usluga3').val();
   if (! u3 || us3 != 1)
   {
      u3 = 0;
      u3_add = 0;
   }
   else
   {
      u3 = parseInt(u3);
      u3_add = parseInt(u3_add); 
      i3 = 50;
   }


   s2 = 0;

   var cyfadd = []; 
   var cnt = 0;
   
   $('input[type="checkbox"]:checked').filter(
      function()
      {
         var o = $(this).attr("cena");
         if (! o)
            return false; 

         o = parseInt(o);
         var p = $(this).parent().parent().find('td:first').html();
         cyfadd[cnt++]=[p, o]; 

         s2 = s2 + o;
      }
   );


   if (!opts.noout)
   {
      u3 = u3 + s2;
      var s = u1 + u2 + u3 + u3_add;
      $('#inst_int').html(i1+" zł");
      $('#inst_tva').html(i2+" zł");
      $('#inst_tvc').html(i3+" zł");
      $('#oplatamc').html(s+" zł");
      $('#oplata_usluga1').html(u1);
      $('#oplata_usluga2').html(u2);
      $('#oplata_usluga3').html(u3);
      $('#gn_osk').html(gn_osk+' zł');
      $('#gn_tv').html(gn_tv+' zł');
      
      if (gn_osk > 0)
         $('#gn_osk_top').show();
      else
         $('#gn_osk_top').hide();

      if (gn_tv > 0)
         $('#gn_tv_top').show();
      else
         $('#gn_tv_top').hide();
   }

   var ret = new Array(u1, u2, u3, s2, i1, i2, i3, cyfadd, gn_tv_cnt, gn_tv, gn_osk_cnt, gn_osk);
   return ret; 
      
}


function get_etap(obj)
{
   var r = /^etap(\d+)$/;
   var i = obj.attr("id");
   var e = i.replace(r, "$1");
   return e;
}


function load_etap(e)
{
   $.ajax({
      dataType: 'html',
      type: "GET",
      url: '?pre=get_etap&e='+e,
      cache: false,
      success: function(msg) {
         $('#etap').append(msg);
      }
   });
}


function check_etap(c,n)
{
   if (c == n)
      return 1;

   if (etap_load[n] != 0)
      return 0;


   if (n > c)
   {
      if (etap_load[n - 1] == 0)
         return 1;
   }

   return 0;
}

function setdata_etap3()
{
   var imie, nazw, ulica, nrulic, nrmieszk, kodpoczt, telefon, email, godz, pesel, nr_dowodu;
   $('#imie, #nazw, #ulica, #nrulic, #nrmieszk, #kodpoczt, #telefon, #email, #godz, #pesel, #nr_dowodu').filter(
      function()
      {
         var id = $(this).attr("id");
         var val = $(this).val();
         eval(id+' = '+'"'+val+'";');
      }
   );

   var u1 = $('input[name="usluga1_choice"]:checked').parent().parent().find("td:first").html();
   var u2 = $('input[name="usluga2_choice"]:checked').parent().parent().find("td:first").html();
   var u3 = $('input[name="usluga3_choice"]:checked').parent().parent().find("td:first").html();

   var c = calc_cena({ noout: 1 });
   var c1 = c[0], c2 = c[1], c3 = c[2], c4 = c[3];
   var i1 = c[4], i2 = c[5], i3 = c[6];
   var cyfadd = c[7];
   var gn_tv_cnt = c[8];
   var gn_tv = c[9];
   var gn_osk_cnt = c[10];
   var gn_osk = c[11];
   var us1 = $('#usluga1').val();
   var us2 = $('#usluga2').val();
   var us3 = $('#usluga3').val();


   var data;
   if (imie || nazw)
      data = '<tr><td>'+imie+' '+nazw+'</td></tr>';

   if (ulica)
      data = data + '<tr><td>ul. '+ulica+' '+nrulic+'/'+ nrmieszk+'</td></tr>';

   if (kodpoczt)
      data = data + '<tr><td>' + kodpoczt + '</td></tr>';

   if (pesel)
      data = data + '<tr><td>pesel: ' + pesel + '</td></tr>';

   if (nr_dowodu)
      data = data + '<tr><td>nr dowodu: ' + nr_dowodu + '</td></tr>';

   if (telefon)
      data = data + '<tr><td>tel: ' + telefon + '</td></tr>';
 
   if (email)
      data = data  + '<tr><td id="email_to" email="'+ email + '">email: ' + email + '</td></tr>'; 

   if (godz)
      data = data + '<tr><td>preferowane godziny kontaktu: ' + godz + '</td></tr>'; 


   var data2 = '';

   if (u1)
   {
      data2 = '<tr><td><b>Internet</b></td><td>'+u1+'</td><td align="right" class="koszty">'+c1+' zł</td></tr>'; 
   }

   if (u2 && us2 == 1)
   {
      data2 = data2 + '<tr><td><b>TV analogowa</b></td><td>'+u2+'</td><td align="right" class="koszty">'+c2+' zł</td></tr>'; 
   }

   if (u3)
   {
      data2 = data2 + '<tr><td><b>TV cyfrowa</b></td><td>'+u3+'</td><td align="right" class="koszty">'+c3+' zł</td></tr>'; 
   }

   if (cyfadd.toString() != '')
   {
      for (key in cyfadd)
         data2 = data2 + '<tr><td>TV cyfrowa</td><td>'+cyfadd[key][0]+'</td><td align="right" class="koszty">'+cyfadd[key][1]+' zł</td></tr>';
   }

   var suma = c1 + c2 + c3 + c4;
   if (suma == 0)
      data2 = data2 + '<tr><td><i>brak</i></td></tr>';
   else
      data2 = data2 + '<tr><td colspan="2" class="koszty_kreska300"><b>Razem:</b></td><td align="right" class="koszty_kreska60"><b>'+suma+' zł</b></td></tr>';

   var data3 = '';
   if ($('#tv_rodz_inst').attr("r") == 'n')
      var rodz = 'nowa inst.';
   else
      var rodz = 'istniejąca inst.';

   if (i1 > 0)
      data3 = '<tr><td>Koszt instalacji internet</td><td align="right" class="koszty">'+i1+' zł</td></tr>';

   if (i2 > 0)
      data3 = data3 + '<tr><td>Koszt instalacji tv analog. ('+rodz+')</td><td align="right" class="koszty">'+i2+' zł</td></tr>';

   if (i3 > 0)
      data3 = data3 + '<tr><td>Koszt instalacji tv cyfr.</td><td align="right" class="koszty">'+i3+' zł</td></tr>';

   if (gn_osk > 0)
   {
      data3 = data3 + '<tr><td>Internet dodatkowe gniazdo</td><td align="right" class="koszty">'+gn_osk+' zł</td></tr>';
   }

   if (gn_tv > 0)
   {
      data3 = data3 + '<tr><td>Telewizja analogowa dodatkowe gniazda x '+gn_tv_cnt+'</td><td align="right" class="koszty">'+gn_tv+' zł</td></tr>';
   }

   if (us1 > 0 && us3 > 0 && promocja_color == 'green')
   {
      var data3_brak=true;
      data3 = data3 + '<tr><td><b>PROMOCJA MAX</b></td><td></td></tr>';
   }


   var suma2 = i1 + i2 + i3 + gn_osk + gn_tv;

   if (suma2 > 0)
      data3 = data3 + '<tr><td class="koszty_kreska300"><b>Razem</b><td align="right" class="koszty_kreska60"><b>'+suma2+' zł</b></td></tr>';

   if (i1 == 0 && i2 == 0 && i3 == 0 && gn_osk == 0 && gn_tv == 0 && !data3_brak)
   {
      data3 = '<tr><td><i>brak</i></td></tr>';
   }

   var data4 = '';
   if (us1 == 3 || us2 == 3 || us3 == 3)
   {
      if (us1 == 3)
         data4 = '<tr><td><b>Internet</b></td></tr>';

      if (us2 == 3)
         data4 = data4 + '<tr><td><b>Telewizja analogowa</b></td></tr>';

      if (us3 == 3)
         data4 = data4 + '<tr><td><b>Telewizja cyfrowa</b></td></tr>';
   }
   else
   {
      data4 = '<tr><td><i>brak</i></td></tr>';
   }


   
   $('#daneosobowe').html(data);
   $('#uslugi').html(data2);
   $('#inst_aktyw').html(data3);
   $('#akt_uslugi').html(data4);
}


function promocja_mega(on_off, orgin_html, prom_html)
{
   var tablica = orgin_html;
   var __cnt = 0;

   if (on_off == 'on')
      tablica = prom_html;


   $('#usluga1_table').find("tr").find("td:first").each(
      function()
      {
         $(this).html(tablica[__cnt++]);
      }
   );
}
