var q0_text = "";
var q0_text2 = "";
var q15_text = "";
var q21_text = "";
var q28_text = "";
var q29_text = "";
var q29_text2 = "";
var q30_text = "";

var preview_text = "";
var preview_text2 = "";
var preview_text3 = "";
var back_text = "";
var send_text = "";
var submit_text = "";
var validate_text = "";

var lang = "";

function t (t) {
  $("body").append(t +"<br />");
}

jQuery.noConflict();

(function($) {

$(window).load( function () {

  var lang = $('input[name=form_lang]').val();

  if (lang == "fi") 
  {
    q0_text = " kierrätysjärjestelmään";
    q0_text2 = "Hakijan tiedot";
    q15_text = "Vastaanotto laitteella";
    q21_text = "Pantti- ja käsittelykorvauksen suorittaminen";
    q28_text = "Kuljettaja";
    q29_text = "Tällä hakemuksella allekirjoittanut elinkeinonharjoittaja sitoutuu tultuaan hyväksytyksi ja rekisteröidyksi järjestelmään vastaanottajaksi noudattamaan pantillisen kierrätysmuovipullojen ja/tai tölkkien kierrätysjärjestelmän sääntöjä, jotka Palpa on järjestelmää varten laatinut. Lisäksi tällä hakemuksella hakija sitoutuu tultuaan rekisteröidyksi vastaanottajana järjestelmään vastaamaan omalta osaltaan kierrätysmuovipullojen ja/tai tölkkien kierrätysjärjestelmän aiheuttamista kustannuksista, siten kuin mainituissa säännöissä on vastaanottajan velvollisuudeksi määrätty. Hakija on rekisteröidyttyään vastaanottajaksi velvollinen hyväksymään Palpan suorittaman valvonnan ja hallinnon kierrätysmuovipullojen ja/tai tölkkien kierrätysjärjestelmää koskevissa asioissa sekä antamaan tarvittavat tiedot Palpalle ja sen edelleen viranomaisille toimitettavaksi siten kuin mainituissa säännöissä on määrätty. Hakija sitoutuu ilmoittamaan toimintansa lakkaamisesta tai järjestelmästä irtisanoutumisesta vähintään kuukautta ennen ja huolehtimaan kaikista velvoitteistaan ilmoituksen mukaisen toiminnan päättymishetkeen saakka siten kuin säännöissä on määrätty.";
    q29_text2 = "Hakija vakuuttaa tutustuneensa Palpan pantillisen kierrätysmuovipullojen ja/tai tölkkien kierrätysjärjestelmän sääntöihin ja niiden sisältöön sekä hyväksyvänsä säännöissä sille ja muutoin Palpan määräyksin esitetyt velvoitteet itseään sitovaksi sopimukseksi tämän hakemuksen allekirjoituksin.";
    q30_text = "Hakijan allekirjoitus";
    
    preview_text = 'VASTAANOTTAJAN REKISTERÖINTIHAKEMUS';
    preview_text2 = 'Tällä hakemuksella allekirjoittanut vastaanottaja liittyy ja rekisteröityy Suomen Palautuspakkaus Oy:n (jäljempänä "Palpa") ylläpitämään kierrätysmuovipullojen ja/tai tölkkien pantilliseen kierrätysjärjestelmään.';
    preview_text3 = 'Kun olet lähettänyt rekisteröintilomakkeen Palpalle sähköisesti, allekirjoita tulostettu versio ja postita se osoitteella: PALPA, Rekisteröintihakemus, PL 119, 00241 HELSINKI, tai faksilla numeroon (09) 278 7511.';
  
    back_text = 'Takaisin';
    send_text = 'Lähetä ja tulosta';
  
    submit_text = "HUOM!\n\n"+
                  "Kun olet lähettänyt rekisteröintilomakkeen Palpalle sähköisesti, "+
                  "allekirjoita tulostettu versio ja postita se osoitteella:\n\n"+
                  "PALPA\n"+
                  "Rekisteröintihakemus\n"+
                  "PL 119\n"+
                  "00241 HELSINKI\n\n"+
                  "Voit lähettää hakemuksen myös faksilla numeroon (09) 278 7511.";
  
    validate_text = "Lomakkeesta puuttuu pakollisia tietoja! Tarkista punaisella taustavärillä merkityt kentät.";
  }
  
  if (lang == "se")
  {
    // q0_text = "till återvinningssystemet";
    q0_text = "";
    q0_text2 = "Sökandens uppgifter";
    // q1_text = "från återvinningssystemet";
    q15_text = "Mottagning med automat";
    q21_text = "Betalning av pant- och hanteringsersättning";
    q28_text = "Chaufför";
    q29_text = "Genom denna ansökan förbinder sig den undertecknade näringsidkaren efter att ha blivit godkänd och registrerad som mottagare i systemet att iaktta de regler för återvinningssystemet för pantbelagda returplastflaskor och/eller -burkar som Palpa har uppgjort för systemet. Genom denna ansökan förbinder sig den sökande efter att ha registrerats som mottagare i systemet därtill att för egen del svara för de kostnader som återvinningssystemet för returplastflaskor och/eller -burkar förorsakar i enlighet med nämnda regler för mottagarens skyldigheter. När den sökande registrerats som mottagare skall han acceptera den kontroll och administration som Palpa utför i ärenden gällande återvinningssystemet för returplastflaskor och eller -burkar samt delge Palpa alla nödvändiga uppgifter för vidarebefordran till myndigheter i enlighet med nämnda regler. Den sökande förbinder sig att meddela Palpa om verksamheten nedläggs eller om han säger upp sin medverkan i systemet med minst en månads varsel och att sköta alla sina skyldigheter fram till den tidpunkt då verksamheten enligt anmälan upphör i enlighet med reglerna.";
    q29_text2 = "Den sökande intygar att han bekantat sig med reglerna för Palpas återvinningssystem för pantbelagda returplastflaskor och/eller -burkar och reglernas innehåll samt godkänner genom undertecknandet av denna ansökan att de skyldigheter som anges i reglerna och Palpas övriga bestämmelser utgör ett bindande avtal.";
    q30_text = "Den sökandes underskrift";
  
    preview_text = 'MOTTAGARENS REGISTRERINGSANSÖKAN';
    preview_text2 = 'Den undertecknade mottagaren ansluts och registreras genom denna ansökan i återvinningssystemet för pantbelagda returplastflaskor och/eller -burkar som upprätthålls av Suomen Palautuspakkaus Oy (nedan "Palpa").';
    preview_text3 = 'När du skickat registreringsblanketten elektroniskt till Palpa, ta en utskrift av och underteckna den samt skicka den undertecknade ansökan till: PALPA, Registreringsansökan, PB 119, 00241 HELSINGFORS, eller per fax (09) 278 7511.';
  
    back_text = 'Gå tillbaka';
    send_text = 'Skicka och skriv ut';
  
    submit_text = "OBS!\n\n"+
                  "När du skickat registreringsblanketten elektroniskt till Palpa, "+
                  "underteckna utskriften och skicka den per post till:\n\n"+
                  "PALPA\n"+
                  "Registreringsansökan\n"+
                  "PB 119\n"+
                  "0241 HELSINGFORS\n\n"+
                  "Du kan också skicka ansökan per fax (09) 278 7511.\n";
  
    validate_text = "Obligatoriska uppgifter saknas i ansökan! Kontrollera fälten med röd bakgrundsfärg.";
  }
  
  if (lang == "en")
  {
  
    // q0_text = "for the recycling system";
    q0_text = "";
    q0_text2 = "Applicant's details";
    // q1_text = "in the recycling system";
    q15_text = "Reception by machine";
    q21_text = "Payment of deposit fee and handling fee";
    q28_text = "Driver";
    q29_text = "By this application the undersigned trader, when approved and registered in the system as the recipient, undertakes to abide by the rules of the deposit-based recycling system for plastic bottles and/or cans that Palpa has drawn up for the system. Furthermore, when approved and registered in the system as the recipient, the applicant shall, for his or her own part bear liability for the costs incurred in the operation of the recycling system for plastic bottles and/or cans, insofar as the said rules specify this as the obligation of the recipient. When registered as a recipient, the applicant shall be obliged to accept that Palpa carries out supervision and administrative duties in connection with the recycling system for plastic bottles and/or cans. The applicant shall also be obliged to provide Palpa with any necessary information that Palpa may forward to the authorities, as specified in the said rules. The applicant shall undertake to give Palpa at least one month's notice of business termination or the cancellation of system membership and to discharge all of his or her duties in compliance with the rules until such time as the business operation is terminated as notified.";
    q29_text2 = "By signing this application, the applicant attests that he has read and understood the rules of Palpa's deposit-based recycling system for plastic bottles and/or cans and accepts as contractually binding the obligations determined in the rules or otherwise set for him through requirements presented by Palpa.";
    q30_text = "Applicant's signature";
  
    preview_text = "RECIPIENT'S REGISTRATION APPLICATION";
    preview_text2 = 'This application is used to include and register the undersigned recipient in the deposit-based recycling system for plastic bottles and/or cans that is administered by Suomen Palautuspakkaus Oy (hereafter "Palpa").';
    preview_text3 = 'When you have submitted the registration application to Palpa electronically, sign a printed version of it and post it to: PALPA, Rekisteröintihakemus, PO Box 119, 00241 HELSINKI, or fax it to (09) 278 7511.';
  
    back_text = 'Go back';
    send_text = 'Send and print';
  
    submit_text = "NOTE!\n\n"+
                  "When you have submitted the registration application to Palpa electronically,"+
                  "sign a printed version of it and post it to:\n\n"+
                  "PALPA\n"+
                  "Rekisteröintihakemus\n"+
                  "PO Box 119\n"+
                  "00241 HELSINKI\n\n"+
                  "You may also fax the application to (09) 278 7511.";
    
    validate_text = "Mandatory information is missing! Please check fields marked in red.";
  }

  var pageMatch = new RegExp('(rekisterointihakemus|registreringsansokan|registration-application)');
  if (pageMatch.exec(document.location.href)) {

    //
    // Yleiset 
    //

    // Debug
    $("input, select, textarea").each( function () {
      //$(this).before( this.id +" ");
    });

    updateRequired();

    // Text input
    $('input[type="text"]').addClass("text");

    // Vakiona vaaditut kentät
    $("#q0, #q1, #q2, #q3, #q4, #q5, #q6, #q8, #q9, #q21, #q30, #q31, #q32").addClass("required");

    // Vakiona disabloidut kentät
    $("#q13_y, #q13_m, #q13_d, #q14_y, #q14_m, #q14_d, #q16, #q22, #q23, #q24, #q25, #q26, #q27").attr("disabled", "disabled");

    //
    // Lomakkeen kentät
    //

    // Rekisteröintiä haetaan
    $("#q0").change( function () {
      // var q0 = $(this).val();
      $("#q13_y, #q13_m, #q13_d, #q14_y, #q14_m, #q14_d")
        .removeClass("required")
        .attr("disabled", "disabled");

      // if (q0 == q0_values[1] || q0 == q0_values[3]) {
      if (this.selectedIndex == 1 || this.selectedIndex == 3) {
        $("#q13_y, #q13_m, #q13_d").removeAttr("disabled").addClass("required");
      }
      // if (q0 == q0_values[2] || q0 == q0_values[3]) {
      if (this.selectedIndex == 2 || this.selectedIndex == 3) {
        $("#q14_y, #q14_m, #q14_d").removeAttr("disabled").addClass("required");
      }
    });
    
    // Kierrätysmuovipullojen/juomatölkkien vastaanoton aloituspäivämäärä, aika
    var date = new Date();
    var y = date.getFullYear();
    var m = add0( date.getMonth() + 1 );
    var d = add0( date.getDate() );
    for (var i = y; i <= y + 5; i++) $("#q13_y, #q14_y, #q30_y").each(function() {
      this.options.add(new Option(add0(i)));
    });
    for (i = 1; i <= 12; i++) $("#q13_m, #q14_m, #q30_m").each(function() {
      this.options.add(new Option(add0(i)));
    });
    for (i = 1; i <= 31; i++) $("#q13_d, #q14_d, #q30_d").each(function() {
      this.options.add(new Option(add0(i)));
    });
    $("#q13_y, #q13_m, #q13_d").each(function() {
      this.selectedIndex = 0;
    });
    $("#q14_y, #q14_m, #q14_d").each(function() {
      this.selectedIndex = 0;
    });
    $("#q30_y").val(y);
    $("#q30_m").val(m);
    $("#q30_d").val(d);

    // Vastaanotto laitteella
    var q16_tmp = '';
    $("#q15_1").change( function () {
      $("#q15").val( $(this).val() );
      $("#q16").addClass("required").removeAttr("disabled").val(q16_tmp);
    });
    $("#q15_0").change( function () {
      $("#q15").val( $(this).val() );
      q18_tmp = $("#q16").val();
      $("#q16").removeClass("required").attr("disabled", "disabled").val("");
    });
    

    // Korvauksen saaja
    $("#q21").change( function () {
      // var q19 = $(this).val();

      $("#q27").removeAttr("disabled");

      // Hakija
      // if (q19 == q19_values[1]) {
      if (this.selectedIndex == 1) {
        $("#q26").removeAttr("disabled").addClass("required");
        $("#q22, #q23, #q24, #q25").removeAttr("disabled").removeClass("required");
        //$("#q25").attr("disabled", "disabled").removeClass("required");
        $("#q27").removeClass("required");
      }

      // Keskusliike
      // if (q19 == q19_values[2]) {
      if (this.selectedIndex == 2) {
        $("#q22, #q23, #q24, #q25, #q27").removeAttr("disabled").addClass("required");
        $("#q26").removeAttr("disabled").removeClass("required");
      }
    });

    // Required -> ok
    $("#register input, #register select").change( function () {
      if ($(this).is(".required") && $(this).val()) $(this).addClass("ok");
      if ($(this).is(".required") && !$(this).val()) $(this).removeClass("ok");
    });


    //
    // Lomakkeen lähetys/esikatselu
    //

    // Formin esikatselu

    $("#previewButton").click( function () {

      setSelects();
      if (!validateFields(validate_text)) return false;

      // Esikatselun html
      var preview = '';
      for (i = 0; i <= 32; i++) {
        var q = document.getElementById("q"+ i);
        if (q) {

          var label = $("label[for="+ q.id +"]").html();
          if (i == 15) label = q15_text;

          var val = $(q).val();
          if (i == 0) val += q0_text;
          
          if (i == 15) {
            // if ( $("#q17_1").is(":checked") ) val = $("#q17_1").val();
            // if ( $("#q17_0").is(":checked") ) val = $("#q17_0").val();
            if ( $("#q15_1").attr("checked") ) val = $("#q15_1").val();
            if ( $("#q15_0").attr("checked") ) val = $("#q15_0").val();
          }

          var title = '';
          if (i == 0)  title = q0_text2;
          if (i == 21) title = q21_text;
          if (i == 28) title = q28_text;
          if (i == 30) title = q30_text;

          if (i == 32) preview += '<tr><th>' + q30_text + '</th><td>&nbsp;</td></tr>';

          // Väliotsikko
          preview += (title ? '<tr><th class="title" colspan="2">'+ title +'</th></tr>' : '');


          // GLN-kentän piilotus
          if (i != 7) {

            // Kenttä
            preview += '<tr>';
            preview += '<th>'+ label +'</th><td>'+ (val ? val : "&nbsp;") +'</td>';
            preview += '</tr>';

          }
          
          if (i == 29) {
            preview +=
              '<tr><td colspan="2" class="disclaimer">'+ q29_text +
              '<br /><br />'+ q29_text2 +
              '</td></tr>';
          }
        }
      }

      $("body").append(
        '<div id="preview">'+

        '<div id="previewHeader">'+
        '<div class="col1"><img src="/files/palpa/img/palpaPrintLogo.gif" alt="Palpa" title="Palpa" /></div>'+
        '<div class="col2">SUOMEN PALAUTUSPAKKAUS OY<br />PL 119<br />00241 Helsinki</div>'+
        '<div class="col3">Faksi (09) 278 7511<br />Puh. (09) 8689 860<br />asiakaspalvelu@palpa.fi</div>'+
        '<div class="clear"></div>'+
        '</div>'+
        '<div class="clear"></div>'+

        '<div class="previewHeading">' + preview_text + '</div>'+
        '<span>' + preview_text2 + '</span>'+

        '<table>'+
        preview +
        '</table>'+

      preview_text3 + 

        '<form id="previewSubmit" name="previewSubmit" method="post" action="?">'+
        '<input type="button" id="closePreview" name="closePreview" value="' + back_text + '" />'+
        ' &nbsp; '+
        '<input type="button" id="submitForm" name="submitForm" value="' + send_text + '" />'+
        '</form>'+
        '</div>'
      );

      requiredUpdater = false;
      $("#doc").hide();
      $("body").addClass("preview");
      $("#preview").show();

      // Esikatselun sulkeminen
      $("#closePreview").click( function () {
        $("body").removeClass("preview");
        $("#preview").remove();
        $("#doc").show();
        updateRequired();
      });
  
      // Formin lähetys/tulostus
      $("#submitForm").click( function () {

        setSelects();
       
        if (validateFields(validate_text)) {

          alert(submit_text);

          // Formi
          $("#register").submit();

          // Printtaus
          $("#previewSubmit").hide();
          window.print();
        }
      });

    });

  }
});


function validateFields (validate_text) {
  var validates = true;
  $("#register input, #register select").each( function () {
    if ($(this).is(".required") && !$(this).val()) validates = false;
  });
  if (!validates) alert(validate_text);
  return validates;
}

var requiredUpdater = '';
function updateRequired () {
  $("#register input, #register select").each( function () {
    if ($(this).is(".required") && $(this).val()) $(this).addClass("ok");
    if ($(this).is(".required") && !$(this).val()) $(this).removeClass("ok");
  });
  requiredUpdater = setTimeout(updateRequired, 2500);
}

function setSelects () 
{
  // Kierrätysmuovipullojen/juomatölkkien vastaanoton aloituspäivämäärä
  var q0 = document.getElementById("q0");
  if (q0.selectedIndex == 1 || q0.selectedIndex == 3) 
  {
    var q13 = $("#q13_y").val() +"-"+ $("#q13_m").val() +"-"+ $("#q13_d").val();
    $("#q13").val(q13);
  }
  else $("#q13").val("");


  if (q0.selectedIndex == 2 || q0.selectedIndex == 3) 
  {
    var q14 = $("#q14_y").val() +"-"+ $("#q14_m").val() +"-"+ $("#q14_d").val();
    $("#q14").val(q14);
  }
  else $("#q14").val("");

  // Aika
  var q30 = $("#q30_y").val() +"-"+ $("#q30_m").val() +"-"+ $("#q30_d").val();
  $("#q30").val(q30);
}


// Sprintf-klunssi
function add0 (i) 
{
  i += "";
  if (i == "0") return "00";
  else if (i.length == 1) return "0"+ i;
  else return i;
}

})(jQuery);
