var current = new Date();
var tiedotKunnossa = 0;
var ehdotValittu = 0;
var arvo1, arvo2, arvo3, arvo4, arvo5, arvo6, arvo7, arvo8, arvo9, arvo10 = 0, arvo11 = 0;
var chosen_card = '';
var junnu_card = '';
var combination_id = 'none';
var sopimusPhase = 'vaihe4'; // ennen sopimusjaksoja tata ei kaytetty
var lomakePhase = 'vaihe5'; // ennen sopimusjaksoja vaihe4
var ehtoPhase = 'vaihe6'; // ennen sopimusjaksoja vaihe5
var urhoId = '10051';
var ale;
var plustv_ale;
var lisakorttimaara = 0;
var junnukorttimaara = 0;
var cgi = false;
var p_contracts = ["3","6","12"];
var c_contracts = ["6","12"];
var u_contracts = ["12"];
var p_discounts = ["ei alennusta","-5%","-10%"];
var c_discounts = ["-5%","-10%"];
var u_discounts = ["-10%"];
var sitovuusTaulu = new Array();
var canalAddon = '';

function checkKeyPress(myfield,e){
     var nappain;
     if(window.event){
	nappain = window.event.keyCode;
     }else if(e){
	nappain = e.which;
     }else{
        return true;
     }

     if(nappain == 13){
          checkAndContinue();
          return false;
     }else{
          return true;
     }
}

function checkAndContinue(){
  var pnumero = document.pnumero_form.pnumero.value;
  if(pnumero == null || pnumero == '' || isNaN(pnumero) == true || pnumero.length < 5){
    return;
  }else{
    var t = loadJSONDoc('../tilaus/nakyvyydet.cgi',{'json':pnumero});
    t.addCallback(checkAvailableChannels);
    t.addErrback(testi);
  }
}

function checkPnumber(pnumero){
	  if(pnumero == null || pnumero == '' || isNaN(pnumero) == true || pnumero.length < 5){
	    return;
	  }else{
	    var t = loadJSONDoc('../tilaus/nakyvyydet.cgi',{'json':pnumero});
	    t.addCallback(getPtoimip);
	    t.addErrback(testi);
	  }
}

function getPtoimip(result){
	  var kunta = function(obj, key){
	    return obj[key];
	  }
	  ptoimip = kunta(result, 'kunta');
	  log("Kunta :" +ptoimip);
          document.getElementById("ptoimipaikka_vaihe1").innerHTML = ptoimip;
}

function testi(err){
  log(err.message + err.number);
}

function checkAvailableChannels(result){
  
  var a = function(obj, key){
    return obj[key];
  }
  var b = function(obj, key) {
        return obj[key].nakyy;
  }
  var k = a(result, 'kunta');
  var n = a(result, 'nakyvia');
  var c = b(result, 'cplus');
  var u = b(result, 'urho');
  var s = b(result, 'urheilupaketti');
  var p = a(result, 'pnumero');

  // putting ch12=1 if visible, ch12=0 if not visible, ch12=on is used when selected (and returning from CGI)
  var visibility = '';
  var ch12 = b(result, 'ch12'); if (ch12 == 1) { visibility = visibility + 'ch12=1&'; }else{ visibility = visibility + 'ch12=0&'; }
  var ch13 = b(result, 'ch13'); if (ch13 == 1) { visibility = visibility + 'ch13=1&'; }else{ visibility = visibility + 'ch13=0&'; }
  var ch14 = b(result, 'ch14'); if (ch14 == 1) { visibility = visibility + 'ch14=1&'; }else{ visibility = visibility + 'ch14=0&'; }
  var ch15 = b(result, 'ch15'); if (ch15 == 1) { visibility = visibility + 'ch15=1&'; }else{ visibility = visibility + 'ch15=0&'; }
  var ch16 = b(result, 'ch16'); if (ch16 == 1) { visibility = visibility + 'ch16=1&'; }else{ visibility = visibility + 'ch16=0&'; }
  var ch17 = b(result, 'ch17'); if (ch17 == 1) { visibility = visibility + 'ch17=1&'; }else{ visibility = visibility + 'ch17=0&'; }
  var ch18 = b(result, 'ch18'); if (ch18 == 1) { visibility = visibility + 'ch18=1&'; }else{ visibility = visibility + 'ch18=0&'; }
  var ch19 = b(result, 'ch19'); if (ch19 == 1) { visibility = visibility + 'ch19=1&'; }else{ visibility = visibility + 'ch19=0&'; }
  var ch21 = b(result, 'ch21'); if (ch21 == 1) { visibility = visibility + 'ch21=1&'; }else{ visibility = visibility + 'ch21=0&'; }
  var ch22 = b(result, 'ch22'); if (ch22 == 1) { visibility = visibility + 'ch22=1&'; }else{ visibility = visibility + 'ch22=0&'; }
  var ch24 = b(result, 'ch24'); if (ch24 == 1) { visibility = visibility + 'ch24=1&'; }else{ visibility = visibility + 'ch24=0&'; }
  var ch25 = b(result, 'ch25'); if (ch25 == 1) { visibility = visibility + 'ch25=1&'; }else{ visibility = visibility + 'ch25=0&'; }
  var ch69 = b(result, 'ch69'); if (ch69 == 1) { visibility = visibility + 'ch69=1&'; }else{ visibility = visibility + 'ch69=0&'; }

  var params = ["k", "e", "noprid1", "pid1", "noprid2", "pid2", "noprid3", "pid3", "kieli", "kortti"];
  var specs = '';
  for(i=0; i<params.length; i++){
      if($(params[i])){
         if(params[i] == 'noprid1' && n <= 5){
            // drop noprid1 param in case of 3+1 area
         }else{
            specs = specs + params[i];
            if(params[i].indexOf('nopid') == -1){
               specs = specs + "=" + $(params[i]).value;
            }
            specs = specs + "&";
         }
      }
  }
  var urli = $('uri').value + '?location1=3&sl2=' + $('sl2').value + '&pnumero='+p+'&ptoimip='+k+'&p='+n+'&c='+c+'&u='+u+'&s='+s+'&';
  log("Urli:" + urli);
  urli = urli + specs + visibility;
  window.location = urli;
}

function kieliSv(){
    var suomitekstit = getElementsByTagAndClassName('span','fi');
    var ruotsitekstit = getElementsByTagAndClassName('span','sv');
    for(i=0;i<suomitekstit.length;i++){
       $(suomitekstit[i]).style.display = 'none';
    }
    for(j=0;j<ruotsitekstit.length;j++){
       $(ruotsitekstit[j]).style.display = 'inline';
    }
}

function kieliFi(){
    var suomitekstit = getElementsByTagAndClassName('span','fi');
    var ruotsitekstit = getElementsByTagAndClassName('span','sv');
    for(i=0;i<suomitekstit.length;i++){
       $(suomitekstit[i]).style.display = 'inline';
    }
    for(j=0;j<ruotsitekstit.length;j++){
       $(ruotsitekstit[j]).style.display = 'none';
    }
}

// *** KAUPAN 1. VAIHEEN TUOTE-ESITTELYIDEN HOVER-EFFEKTIT ***

var tiles=new TileFunctions();
function TileFunctions() {
  this.regGalleryEffect=o;
}

function o(AR,AP,AW){
  var AT=false;
  var AM=false;
  var AO=false;
  var AN;
  try{
    Event.observe(AR,"mouseover",AL,false);
    Event.observe(AR,"mouseout",AU,false);
    if(!AW){
        AW=parseInt($(AP).offsetTop);
    }
    if(!AW){
        AW=64;
    }
  }catch(AQ){}
  function AL(AX){AS();}
  function AU(AX){AV();}
  function AS(){
    if(AN){
       AN.cancel();
    }
    AN=new Effect.Move(AP,{y:0,duration:0.3,mode:"absolute",afterFinish:function(){}});
  }
  function AV(){
    if(AN){
       AN.cancel();
    }
    AN=new Effect.Move(AP,{y:AW,duration:0.3,mode:"absolute",afterFinish:function(){}});
  }
}

// *** KAUPAN 1. VAIHEEN TUOTEVALINTOJEN FUNKTIOT ***

var cart = new Array();
var skipChannelSelection;
var skipAddOnCards;
var price_total = 0.0;

/* This function is called only once when page
   is rendered. */

function setSelected(t){
  //var cgi; 
  if(!cgi && t == null){
     cgi = false;
  }else if (!cgi) {
     cgi = true;
  }
  
  // reset price and cart
  var price_total = 0.0;
  cart = new Array();
  // see which products are selected (by default) and add them to cart
  var active = getElementsByTagAndClassName('div','active');
  for(a=0;a<active.length;a++){
    cart.push(active[a].getAttribute('id'));
  }
  
log('Korissa: ', cart);

  checkUrho(); 
  
  // checking 3+1 case and hiding from receipt unnecessary elements
  if(cart.indexOf('1126') >= 0){
     $('koko_channels').style.display = 'none';
     $('oma_channels').style.display = 'none';
     $('pikku_channels').style.display = 'none';
  }

  // loop through cart/active products and count total price
  for(a=0;a<active.length;a++){
    if(active[a].getAttribute('id').indexOf('nopid') == -1){
       var h = $('price_norm_'+active[a].getAttribute('id')).childNodes[0].nodeValue;
       price_total = parseFloat(price_total) + parseFloat(h.replace(',','.'));
    }
    addPackagesToReceipt(active[a]);
  }  

  log('setSelected price: ', price_total);

  countDiscount(cart, price_total, cgi);
  updateTerms(cart);

  // add postcode to the Yhteystiedot form
  $('tilauslomake_pnumero').value = $('pnumero_vaihe1').childNodes[0].nodeValue;
  $('tilauslomake_pnumero').disabled = true;
  if ($('ptoimipaikka_vaihe1') && $('ptoimipaikka_vaihe1').childNodes[0]) {
      $('tilauslomake_ptoimip').value = $('ptoimipaikka_vaihe1').childNodes[0].nodeValue;
  }
  tarkistaPostinumero();
  tarkistaToimipaikka();
  cgi = false;
  updateContractPeriods();
}

var sopimusjakso_div = '';
var contracts;
var discounts;

function updateContractPeriods() {
 if($('sopimusjaksot')){
  // add all products from the cart to new contract period phase
  $('sopimusjaksot').innerHTML = '';
  // doing things differently in case of "kateiskortti":
  if(isdefined('kateis') && kateis == true){
    sopimusjakso_div = '<div class="sj_row" id="sj_starttipaketti"><div class="sj_name">PlusTV StarttiPaketti:</div><div class="sj_opt_row">';
    // all three types of packages are chosen or only PlusTV + URHO -> showing only 12 month contract period option
    if((plustv == true && canal == true && urho == true) || (plustv == true && canal == false && urho == true)){
      contracts = u_contracts;
      discounts = u_discounts;

    // only PlusTV and CANAL are chosen, showing 6 and 12 month contract period options
    }else if(plustv == true && canal == true && urho == false){
      contracts = c_contracts;
      discounts = c_discounts;

    // only PlusTV is chosen, showing 3, 6 and 12 month contract period options
    }else if(plustv == true && canal == false && urho == false){
      contracts = p_contracts;
      discounts = p_discounts;
    }

    // add empty divs for better CSS scaling:
    if(contracts.length == 1){
       sopimusjakso_div += '<div class="sj_opt empty"></div><div class="sj_opt empty"></div>';
    }else if(contracts.length == 2){
       sopimusjakso_div += '<div class="sj_opt empty"></div>';
    }

    for(t=0;t<contracts.length;t++){
       sopimusjakso_div += '<div class="sj_opt" id="cont_' + contracts[t] +'"><input type="radio" id="input_contract_' + contracts[t] + '" class="inputs_starttipaketti" name="inputs_starttipaketti" onclick="contractDiscount(\'' + contracts[t] + '\');"></input> ' + contracts[t] + 'kk</div>'
    }

    sopimusjakso_div += '</div></div><div class="sj_row darker"><div class="sj_name normal">PlusTV OmaPaketti, alennus palvelumaksusta:</div><div class="sj_opt_row" id="discount_line">';

    // add empty divs for better CSS scaling:
    if(discounts.length == 1){
       sopimusjakso_div += '<div class="sj_opt empty"></div><div class="sj_opt empty"></div>';
    }else if(discounts.length == 2){
       sopimusjakso_div += '<div class="sj_opt empty"></div>';
    }

    for(d=0;d<discounts.length;d++){
        sopimusjakso_div += '<div class="sj_opt" id="dis_' + contracts[d] +'">' + discounts[d] + '</div>';
    }

    sopimusjakso_div += '</div></div>';
    for(c=1;c<cart.length;c++){
       if(cart[c].indexOf('nopid') == -1){
          sopimusjakso_div += '<div class="sj_row"><div class="sj_name normal noborder">' + $(cart[c]).getAttribute("title").substring(2,$(cart[c]).getAttribute("title").indexOf(":::")) + '</div></div>';
       }
    }

    $('sopimusjaksot').innerHTML = sopimusjakso_div;
    // calling this in order to get "default" discount to the receipt
    if(sitovuusTaulu.length > 1){
       log('tuupataan valinnat sitovuusTaulusta', sitovuusTaulu);
       contractDiscount(sitovuusTaulu[1]);
       $('input_contract_'+sitovuusTaulu[1]).checked = true;
    }else{
       if(urho == true){
          contractDiscount('12');
          $('input_contract_12').checked = true;
       }else{
          contractDiscount('6');
          $('input_contract_6').checked = true;
       }
    }

  }else{
    var cp_json = '../tilaus/tilaus_json.cgi?';
    for(p=0;p<cart.length;p++){
     if(cart[p].indexOf('nopid') == -1){
       cp_json += 'tuote-' + cart[p] + '=on&';
     }
    }
    var cp = loadJSONDoc(cp_json);
    cp.addCallback(getContractPeriods);
    cp.addErrback(testi);
  }
 }else{
  if($('plustv_alennus')) { $('plustv_alennus').style.display = 'none'; }
 }
}

function contractDiscount(month,price){
  if(price != null){
    price = numberFormatter("##.00")(price);
    price = price.replace('.',',');
  }

  var periods = getElementsByTagAndClassName('div',null,$('period_column1'));
  for(chosen=0;chosen<periods.length;chosen++){
     removeElementClass(periods[chosen],'chosen');
  }
  addElementClass($('dis_'+month),'chosen');
  $('plustv_alennus').style.display = 'block';
  var tempPrice;
  if(month == '6'){
    tempPrice = '1,12';
    if(price){
       tempPrice = price;
    }
    $('hinta_plustv_alennus').innerHTML = tempPrice;
  }else if(month == '12'){
    tempPrice = '2,24';
    if(price){
       tempPrice = price;
    }
    $('hinta_plustv_alennus').innerHTML = tempPrice;
  }else if(month == '24'){
    tempPrice = '3,36';
    if(price){
       tempPrice = price;
    }
    $('hinta_plustv_alennus').innerHTML = tempPrice;
  }else if(month == '3' || month == 'null' || month == '0'){
    $('hinta_plustv_alennus').innerHTML = '0,00';
log('piilotetaan plustv_alennus');
    $('plustv_alennus').style.display = 'none';
  }
  if(!isdefined('kateis')){
     if(month != '3' && month != 'null' && month != '0'){
        addElementClass($('am_ale'),'chosen');
     }else{
        addElementClass($('am_norm'),'chosen');
     }
  }
  updateReceiptPrices();
}

var tilausdata;

function getContractPeriods(result){
  tilausdata = result;
  var sitovuuksien_lkm = 0;
  var suurin_lkm = 0;
  sopimusjakso_div = '';
  var suurin_prio = 0;
  var ekaan_soluun = false;
  var third_column_height = 0;

  var rows = new Array();
  for(i=0;i<tilausdata.length;i++) {
      tuote = tilausdata[i];
      rows[i] = new Array();
      rows[i][0] = tuote;
      sitovuudet = tuote['SITOVUUDET'];
      sitovuuksien_lkm = sitovuudet.length;
      if(sitovuuksien_lkm > suurin_lkm){
         suurin_lkm = sitovuuksien_lkm;
      }

      for(j=0;j<sitovuudet.length;j++) {
         rows[i][j+1] = sitovuudet[j];
	  if(sitovuudet[j].KUVAUS.indexOf('oistaiseksi') >= 0){
             ekaan_soluun = true;
	  }
      }

      if(suurin_prio < tuote.PRIORITEETTI){
          suurin_prio = tuote.PRIORITEETTI;
      }
  }

  var cl = 'sj_opt_s';
  var p_nodiscount = false;
  var tempString = '';
  // set default contract periods amount to 4
  if(suurin_lkm < 4){
     suurin_lkm = 4;
  }

  var helpperi = false;

log('SUURIN RIO: ',suurin_prio);

  for(i=0;i<rows.length;i++){
     sopimusjakso_div += '<div id="period_package_div_'+ parseInt(i+1) +'"><div class="period_column_div_1"><p>'+ rows[i][0].KUVAUS +'</p>';
     for(j=1;j<rows[i].length;j++){
        sopimusjakso_div += '<div class="period_column1">';

	 if (rows[i][0].KUVAUS.indexOf('PlusTV') != -1) {
	    if (rows[i][0].PRIORITEETTI == suurin_prio) {
              sopimusjakso_div += '<input type="radio" id="input_contract_p_'+ rows[i][j].SITOVUUS +'" class="sitovuusvalinta" name="inputs_p_sitovuus_'+ rows[i][0].TUOTE +'" onclick="activatePeriod('+ parseInt(i+1) +','+ j +',true);"></input><span>'+ rows[i][j].KUVAUS +'</span>';
              if(rows[i][j].ALENNUS_AMAKSU_EUR != "null"){
                 sopimusjakso_div += '<div class="period_hidden_discount_column">'+rows[i][j].ALENNUS_AMAKSU_EUR+'</div>';
              } else {
                 sopimusjakso_div += '<div class="period_hidden_discount_column">0</div>';
              }
           } else {
              sopimusjakso_div += '<input type="radio" id="input_contract_p_' + rows[i][j].SITOVUUS + '" class="sitovuusvalinta" name="inputs_p_sitovuus_'+ rows[i][0].TUOTE +'" onclick="activatePeriod('+ parseInt(i+1) +','+ j +',false);"></input><span>'+ rows[i][j].KUVAUS +'</span>';
           }
        } else if (rows[i][0].KUVAUS.indexOf('CANAL') != -1) {
	    if (rows[i][0].PRIORITEETTI == suurin_prio) {
              sopimusjakso_div += '<input type="radio" id="input_contract_c_' + rows[i][j].SITOVUUS + '" class="sitovuusvalinta" name="inputs_c_sitovuus_' + rows[i][0].TUOTE + '" onclick="activatePeriod('+ parseInt(i+1) +','+ j +',true);"></input><span>'+ rows[i][j].KUVAUS +'</span>';
              if(rows[i][j].ALENNUS_AMAKSU_EUR != "null"){
                 sopimusjakso_div += '<div class="period_hidden_discount_column">'+rows[i][j].ALENNUS_AMAKSU_EUR+'</div>';
              } else {
                 sopimusjakso_div += '<div class="period_hidden_discount_column">0</div>';
              }
           } else {
              sopimusjakso_div += '<input type="radio" id="input_contract_c_' + rows[i][j].SITOVUUS + '" class="sitovuusvalinta" name="inputs_c_sitovuus_' + rows[i][0].TUOTE + '" onclick="activatePeriod('+ parseInt(i+1) +','+ j +',false);"></input><span>'+ rows[i][j].KUVAUS +'</span>';
           }
           if(rows[i][0].ADDON_TUOTE){
              canalAddon = rows[i][0].ADDON_TUOTE;
	    }
        } else if (rows[i][0].KUVAUS.indexOf('URHO') != -1) {
           var rightUProd;
	    if(cart[2] != 'nopid3'){
              if(cart[0] == 'nopid1' && cart[1] == 'nopid2'){
		   if(isdefined('urhoStandalone') && urhoStandalone){
                    rightUProd = urhoStandalone;
                 }else{
                    rightUProd = '10059';
                 }
              }else{
                 if(isdefined('urhoAddon') && urhoAddon){
                    rightUProd = urhoAddon;
                 }else{
                    rightUProd = rows[i][0].TUOTE;    
                 }
              }
           }
	    if (rows[i][0].PRIORITEETTI == suurin_prio) {
              sopimusjakso_div += '<input type="radio" id="input_contract_u_' + rows[i][j].SITOVUUS + '" class="sitovuusvalinta" name="inputs_u_sitovuus_' + rightUProd + '" onclick="activatePeriod('+ parseInt(i+1) +','+ j +',true);"></input><span>'+ rows[i][j].KUVAUS +'</span>';
              if(rows[i][j].ALENNUS_AMAKSU_EUR != "null"){
                 sopimusjakso_div += '<div class="period_hidden_discount_column">'+rows[i][j].ALENNUS_AMAKSU_EUR+'</div>';
              } else {
                 sopimusjakso_div += '<div class="period_hidden_discount_column">0</div>';
              }
           } else {
              sopimusjakso_div += '<input type="radio" id="input_contract_u_' + rows[i][j].SITOVUUS + '" class="sitovuusvalinta" name="inputs_u_sitovuus_' + rightUProd + '" onclick="activatePeriod('+ parseInt(i+1) +','+ j +',false);"></input><span>'+ rows[i][j].KUVAUS +'</span>';
           }
        }
         sopimusjakso_div += '</div>';
     } // END FOR J
     
     sopimusjakso_div += '</div><div class="period_column_div_2">';

     if (i == 0) {
        sopimusjakso_div += '<p>Etusi kuukausimaksusta:</p>';
     } else {
        sopimusjakso_div += '<p></p>';
     }

     for(j=1;j<rows[i].length;j++){
        tempString = '';
        if (rows[i][j].KKMAKSUETU == '0' || rows[i][j].KKMAKSUETU == "null") {
           tempString = 'normaali hinta';
        } else {
           tempString = rows[i][j].KKMAKSUETU;
        }
        sopimusjakso_div += '<div class="period_column2">' + tempString + '</div>';
     }

     third_column_height = (rows[i].length-1)*44-7;

     sopimusjakso_div += '</div><div class="period_column_div_3">';

     if (i == 0) {
        sopimusjakso_div += '<p>Muut tilaajaedut:</p>';
     } else {
        sopimusjakso_div += '<p></p>';
     }

     for(j=1;j<rows[i].length;j++){
        tempString = '';
        if (rows[i][j].TILAAJAETU == '0' || rows[i][j].TILAAJAETU == "null") {
           tempString = 'Ei etuja';
        } else {
           tempString = rows[i][j].TILAAJAETU;
        }
        sopimusjakso_div += '<div class="period_column3" style="height:'+ third_column_height +'px;">' + tempString + '</div>';
     }

     sopimusjakso_div += '</div></div>';
  } // END FOR I

  sopimusjakso_div += '<div style="clear:both;"></div><div id="discount_div"><div class="discount_div_column_1"><p>Avausmaksu:</p></div><div class="discount_div_column_2"><span id="opening_cost_discount">39,90</span><span>&euro;</span></div></div>';

  $('sopimusjaksot').innerHTML = sopimusjakso_div;

// set "oletussitovuus" from DB as default cp
if(sitovuusTaulu.length < 1){
   for (i=0;i<rows.length;i++) {
      if (plustv == true) {
         if (rows[i][0].KUVAUS.indexOf('PlusTV') != -1) {
            if ($('input_contract_p_' + rows[i][0].SITOVUUS)) {
               $('input_contract_p_' + rows[i][0].SITOVUUS).checked = true;
               for (j=1;j<rows[i].length;j++) {
                  if (rows[i][0].SITOVUUS == rows[i][j].SITOVUUS) {
	               if (rows[i][0].PRIORITEETTI == suurin_prio) {
                         activatePeriod(parseInt(i+1),j,true);
                      } else {
                         activatePeriod(parseInt(i+1),j,false);
                      }
                  }
               }
            }
         }
      }

      if (rows[i][0].KUVAUS.indexOf('CANAL') != -1) {
         if(canal == true){
            if($('input_contract_c_'+rows[i][0].SITOVUUS)){ $('input_contract_c_'+rows[i][0].SITOVUUS).checked = true; }
            for(j=1;j<rows[i].length;j++){
               if(rows[i][0].SITOVUUS == rows[i][j].SITOVUUS){
	            if (rows[i][0].PRIORITEETTI == suurin_prio) {
                      activatePeriod(parseInt(i+1),j,true);
                   } else {
                       activatePeriod(parseInt(i+1),j,false);
                   }
               }
            }
         }
      }

      if (rows[i][0].KUVAUS.indexOf('URHO') != -1) {
         if(urho == true){
            if($('input_contract_u_'+rows[i][0].SITOVUUS)){ $('input_contract_u_'+rows[i][0].SITOVUUS).checked = true; }
            for(j=1;j<rows[i].length;j++){
               if(rows[i][0].SITOVUUS == rows[i][j].SITOVUUS){
	            if (rows[i][0].PRIORITEETTI == suurin_prio) {
                      activatePeriod(parseInt(i+1),j,true);
                   } else {
                      activatePeriod(parseInt(i+1),j,false);
                   }
               }
            }
         }
      }
   }
}

  // this is done only when returning back from CGI:
   var activateParams;
   var sitcgi;
   if(sitovuusTaulu.length > 1){
      sitcgi = getElementsByTagAndClassName('input','sitovuusvalinta');
      for(i=0;i<sitovuusTaulu.length;i=i+2){
         for(j=0;j<sitcgi.length;j++){
            if(sitovuusTaulu[i].substring(15) == sitcgi[j].getAttribute('name').substring(18)){
               if(sitovuusTaulu[i+1] == sitcgi[j].getAttribute('id').substring(17)){
                  activateParams = sitcgi[j].getAttribute('onclick').substring(15,sitcgi[j].getAttribute('onclick').length-2).split(",");
                  if (activateParams[2]== "true") {
                     activatePeriod(activateParams[0],activateParams[1],true);
                  } else {
                     activatePeriod(activateParams[0],activateParams[1],false);
                  }
                  $(sitcgi[j].getAttribute('id')).checked = true;
               }
            }
         }
      }
   }

}

function activatePeriod(div_place,radio_place,count_discount) { 
   var column_1 = document.getElementById('period_package_div_'+ div_place).childNodes[0].childNodes;
   var column_2 = document.getElementById('period_package_div_'+ div_place).childNodes[1].childNodes;
   var column_3 = document.getElementById('period_package_div_'+ div_place).childNodes[2].childNodes;
   var opening_cost_discount = 0;
   for(k=1;k<column_1.length;k++){
      if (radio_place == k) {
         addElementClass(column_1[k],'selected_period1');
         addElementClass(column_2[k],'selected_period2');
         addElementClass(column_3[k],'selected_period3');
         if (count_discount) {
            opening_cost_discount = getElementsByTagAndClassName('div','period_hidden_discount_column', column_1[k])[0].innerHTML;
         }
      } else {
         removeElementClass(column_1[k],'selected_period1');
         removeElementClass(column_2[k],'selected_period2');
         removeElementClass(column_3[k],'selected_period3');
      }
   }
    if (count_discount) {
      opening_cost_discount = parseFloat(39.90) - parseFloat(opening_cost_discount);
      if(opening_cost_discount != null){
         opening_cost_discount = numberFormatter("##.00")(opening_cost_discount);
         opening_cost_discount = opening_cost_discount.replace('.',',');
      }
      $('opening_cost_discount').innerHTML = (opening_cost_discount);
   }
}

function addPackagesToReceipt(obj){
  prod_desc = obj.getAttribute('title');
  if(prod_desc != null){
        if(prod_desc.indexOf('p:') >= 0){
         // expecting this to be PlusTV product
         $('selected_p_fi').innerHTML = prod_desc.substring(2,prod_desc.indexOf(':::'));
         $('selected_p_sv').innerHTML = prod_desc.substring(prod_desc.indexOf(':::')+3);
         $('hinta_p').innerHTML = showPrice($('price_'+obj.getAttribute('id')).childNodes[0].nodeValue);
         //$('hinta_p').innerHTML = showPrice(parseFloat($('price_'+obj.getAttribute('id')).childNodes[0].nodeValue));
        }else if(prod_desc.indexOf('c:') >= 0){
         // expecting this to be CANAL+ product
         $('selected_c_fi').innerHTML = prod_desc.substring(2,prod_desc.indexOf(':::'));
         $('selected_c_sv').innerHTML = prod_desc.substring(prod_desc.indexOf(':::')+3);

         // Juha A. muuttaa tän, koska kuitille ei haluta alennettua hintaa
         // $('hinta_c').innerHTML = showPrice($('price_'+obj.getAttribute('id')).childNodes[0].nodeValue);
         $('hinta_c').innerHTML = showPrice($('price_norm_'+active[a].getAttribute('id')).childNodes[0].nodeValue);

        }else if(prod_desc.indexOf('u:') >= 0){
         // expecting this to be URHOtv
         $('selected_u_fi').innerHTML = prod_desc.substring(2,prod_desc.indexOf(':::'));
         $('selected_u_sv').innerHTML = prod_desc.substring(prod_desc.indexOf(':::')+3);
         $('hinta_u').innerHTML = showPrice($('price_norm_'+obj.getAttribute('id')).childNodes[0].nodeValue);
    log('urhon hinta: ', $('price_'+obj.getAttribute('id')).childNodes[0].nodeValue);
        }
  }
}



/* This function is triggered every time user changes
   the product selection in one of the stacks available. */

function checkPrice(stack, idx){
  // find out amount of products in current stack and remove "active" class from all products
  var products = getElementsByTagAndClassName('div','item',$(stack));

  for(i=0;i<products.length;i++){
     removeElementClass(products[i],'active');
     if(products[i].getAttribute('id').indexOf('nopid') == -1){
        var h = 'price_' + products[i].getAttribute('id');
        var b = 'price_norm_' + products[i].getAttribute('id');
        removeElementClass($(h),'activeprice');
        removeElementClass($(b),'activenormprice');
     }
  }
  
  var selected = idx;
  
  // add "active" class to selected product
  addElementClass(products[selected],'active');
  log('checkPrice: ', products[selected].getAttribute('id'));
  if(products[selected].getAttribute('id').indexOf('nopid') != -1){
     if($('noprod_box_'+stack)) { $('noprod_box_pino'+products[selected].getAttribute('id').substring(5)).checked = true; }
  }else{
     if($('noprod_box_'+stack)) { $('noprod_box_'+stack).checked = false; }
  }
  
  // see which products are selected (class=active) from all of the stacks:
  cart = new Array();
  active = getElementsByTagAndClassName('div','active');
  k = false;
  price_total = 0.0;
  for(f=0;f<active.length;f++){
      cart.push(active[f].getAttribute('id'));
  }
  
  checkUrho();

  if(cart.indexOf('1126') >= 0){
     // hide SVT channel name because product 1126 doesn't have it (10058 has it)
     log('hiding SVT World');
     $('ei_emux_ch22').style.display = 'none';
  }else if(cart.indexOf('10058') >= 0){
     $('ei_emux_ch22').style.display = 'block';
  }
  

  for(a=0;a<active.length;a++){
    log('ACTIVE: ', active[a].getAttribute('id'));
      if($('price_'+active[a].getAttribute('id'))){
         price_total = parseFloat(price_total) + parseFloat($('price_norm_'+active[a].getAttribute('id')).childNodes[0].nodeValue.replace(',','.'));
      }
      if(active[a].getAttribute('id').indexOf('nopid') == -1){
      	 addElementClass($('price_'+active[a].getAttribute('id')),'activeprice');
     	 addElementClass($('price_norm_'+active[a].getAttribute('id')),'activenormprice');
      }
      // see if user hasn't selected any PlusTV package
      if(active[a].getAttribute('id') == 'nopid1' || cart.indexOf('10079') >= 0){
         k = true;
      }
      // add selected products to receipt
      prod_desc = active[a].getAttribute('title');
      if(prod_desc != null){
        if(prod_desc.indexOf('p:') >= 0){
         // expecting this to be PlusTV product
	 $('selected_p_fi').innerHTML = prod_desc.substring(2,prod_desc.indexOf(':::'));
         $('selected_p_sv').innerHTML = prod_desc.substring(prod_desc.indexOf(':::')+3);
         $('hinta_p').innerHTML = showPrice($('price_'+active[a].getAttribute('id')).childNodes[0].nodeValue);
        }else if(prod_desc.indexOf('c:') >= 0){
         // expecting this to be CANAL+ product
         $('selected_c_fi').innerHTML = prod_desc.substring(2,prod_desc.indexOf(':::'));
         $('selected_c_sv').innerHTML = prod_desc.substring(prod_desc.indexOf(':::')+3);
         $('hinta_c').innerHTML = showPrice($('price_norm_'+active[a].getAttribute('id')).childNodes[0].nodeValue);
         if($('canal_paketti')) { $('canal_paketti').style.display = 'block'; }
        }else if(prod_desc.indexOf('u:') >= 0){
         // expecting this to be URHOtv
         if($('urho_paketti')) {
            $('urho_paketti').style.display = 'block';
            $('selected_u_fi').innerHTML = prod_desc.substring(2,prod_desc.indexOf(':::'));
            $('selected_u_sv').innerHTML = prod_desc.substring(prod_desc.indexOf(':::')+3);
            //$('hinta_u').innerHTML = showPrice($('price_'+active[a].getAttribute('id')).childNodes[0].nodeValue);
         }
        }
      }
  }

  // hide Kanavavalitsin and Lisakorttisivu if user hasn't PlusTV package in cart (only in web store)
  if(!$('tilauslomake_kortti')){
    if(k == true){
     if ($('step1') != null) { $('step1').style.display = 'none';}
     if ($('arrow1') != null) {$('arrow1').style.display = 'none';}
     if ($('vaihe2') != null) {$('vaihe2').style.display = 'none';}
     if ($('step2') != null) {$('step2').style.display = 'none';}
     if ($('arrow2') != null) {$('arrow2').style.display = 'none';}
     if ($('vaihe3') != null) {$('vaihe3').style.display = 'none';}
    }else{
        if ($('step1') != null) { $('step1').style.display = 'block';}
        if ($('arrow1') != null) { $('arrow1').style.display = 'block';}
        if ($('vaihe2') != null) { $('vaihe2').style.display = 'block';}
        if ($('step2') != null){ $('step2').style.display = 'block';}
        if ($('arrow2') != null){ $('arrow2').style.display = 'block';}
        if ($('vaihe3') != null){ $('vaihe3').style.display = 'block';}
    }
  }

  // remove "ale_bold" class from #alennukset
  var alet = getElementsByTagAndClassName('div','ale',$('alennukset'));
  for(f=0;f<alet.length;f++){
     removeElementClass(alet[f],'ale_bold');
  }
  countDiscount(cart,price_total);
  updateTerms(cart);
// Tomppa testaa 2.3:
  if(cgi == false && cart.length == 3){
     sitovuusTaulu = new Array();
     updateContractPeriods();
  }
}

function checkUrho() {
      // checking if URHOtv is stand alone or add-on
 var urhoPriceId = 'price_'+urhoId;
 var urhoPriceNormId = 'price_norm_'+urhoId;
 
 if ($(urhoPriceId) != null) {
      if((cart.indexOf('nopid1') >= 0 && cart.indexOf('nopid2') >= 0)) {
         // URHO STAND-ALONE
         $('hinta_u').innerHTML = '14,95';
         $(urhoPriceId).innerHTML = '14,95';
         $(urhoPriceNormId).innerHTML = '14,95';
      }else{
         // URHO ADD-ON
        
         if($('tilauslomake_kortti')){
            // palautettu alennusrivin nayttaminen toistaiseksi "ennalleen" PLUSTVX-444:
            // $('alennus').style.display = 'none';
            if(isdefined('promo') && promo != null && promo == true){
               $('hinta_u').innerHTML = '0,00';
               $(urhoPriceId).innerHTML = '0,00';
               $(urhoPriceNormId).innerHTML = '0,00';
            } else {
               $('hinta_u').innerHTML = '14,95';
               $(urhoPriceId).innerHTML = '14,95';
               $(urhoPriceNormId).innerHTML = '14,95';
            }
         }else{
            $('hinta_u').innerHTML = '14,95';
            $(urhoPriceNormId).innerHTML = '14,95';
         }
      }
   }
}

function updateTerms(cart){
  log('updating terms with cart: ', cart, ' and CANAL-addon: ', canalAddon);
  var k;
  if($('ruotsiksi') && $('ruotsiksi').checked){
     k = '2';
  }else{
     k = '1';
  }
  var href = 'include/kampanjaehdot.jsp?lang=' + k + '&';
  var href_a = '';
  for(g=0;g<cart.length;g++){
     if (g == 2 && cart[2] != 'nopid3') {
        if (cart[0] == 'nopid1' && cart[1] == 'nopid2') {
        // urho standalone
           if (isdefined('urhoStandalone') && urhoStandalone) {
              href_a = href_a + 'pid=' + urhoStandalone + '&';
           } else {
              href_a = href_a + 'pid=10059&';
           }
        } else {
        // urho addon
           if (isdefined('urhoAddon') && urhoAddon) {
              href_a = href_a + 'pid=' + urhoAddon + '&';
           } else {
              href_a = href_a + 'pid=11000&';
           }
        }
     } else {
        if(cart[g].indexOf('nopid') == -1){
           href_a = href_a + 'pid=' + cart[g] + '&';
        }
     }
  }

  // find the product IDs for addon products (if such are selected)
  if(cart[0] && cart[0].indexOf('nopid') == -1 && (cart[1] == undefined || cart[1].indexOf('nopid') == -1)){
     //d = doSimpleXMLHttpRequest('/site/ajax_packet_request.jsp?pid='+cart[0]+'&pid='+cart[1]);
     //d.addCallback(askForCampaignTerms, href, href_a);
log('TAALLA: updateTerms');
     d = loadJSONDoc('../tilaus/tilaus_json.cgi?tuote-' + cart[1] + '=on');
     d.addCallback(askForCampaignTerms, href, href_a, cart[1]);
  } else {
     // reset combination product id 
     combination_id = 'none';
     // 
     href = href + href_a;
     log('final terms link: ', href);
     $('kampanjaehdot_linkki').href = href;
     $('paketoinnin_ehdot_linkki_fi').href = href;
     $('paketoinnin_ehdot_linkki_sv').href = href;
  }
}

function askForCampaignTerms(href, href_a, canalProductID, result){
log('askForCampaignTerms: ', href, href_a, canalProductID);
  combination_id = 'none';
  /*if(result.responseText.indexOf('ERROR') == -1){
     var start = result.responseText.indexOf('Product:')+8;
     var end = result.responseText.indexOf('Price');
     combination_id = result.responseText.substring(start,end); 
  }*/
  
  //if(combination_id != 'none'){
     // using combination product id and possible third selection's (URHOtv) id
  //   href = href + 'pid=' + combination_id + '&pid=' + cart[2];
  //}else{
     // using individual product ids
     href = href + href_a;
  //}

  // find out if CANAL product should be ADDON
  if(result[0].ADDON_TUOTE){
     log('CANAL on addonina: ', result[0].ADDON_TUOTE);
     if(href.indexOf(canalProductID != -1)){
        href = href.replace(canalProductID, result[0].ADDON_TUOTE);
     }
  }

  log(href);

  $('kampanjaehdot_linkki').href = href;
  $('paketoinnin_ehdot_linkki_fi').href = href;
  $('paketoinnin_ehdot_linkki_sv').href = href;
}



/* This function is called every time user changes phase of
   the ordering process. */

function checkPhase(idx) {

  log("running with index ", idx);

  skipChannelSelection = false;
  
  // remove "activephase" class from all phases
  var phases = getElementsByTagAndClassName('div','vaihe');
  var activephase = getElementsByTagAndClassName('div','activephase')[0].getAttribute('id');
  for(i=0;i<phases.length;i++){
     removeElementClass(phases[i],'activephase');
  }

  var phase = idx;
  // add "active" class to selected product
  addElementClass(phases[phase],'activephase');

  if(isdefined('promo') && $('next_phase') && $('next_phase').style.display == 'none' && promo != null && promo == true && phase == 1){
    $('next_phase').style.display = 'block'; 
  }

  if(phase != 0){
     $('pnumero_ilm').style.display = 'none';
     $('tilaus_cont').style.display = 'none';
     $('stepit').style.display = 'block';
     $('tilaa_prev').style.display = 'block';
     //updateContractPeriods();
  }else{
     $('pnumero_ilm').style.display = 'block';
     $('tilaus_cont').style.display = 'block';
     $('stepit').style.display = 'none';
     $('tilaa_prev').style.display = 'none';
  }

  for(c=0;c<cart.length;c++){
      if(cart[c] == 'nopid1' || cart.indexOf('10079') >= 0){
         skipChannelSelection = true;
         // there isn't PlusTV product selected, skipping Kanavavalitsin & Lisakortit when navigating forward
         if(phase == 1){
            jQuery("#vaihe_cont").scrollable().move(2);
	 }
         // there isn't PlusTV product selected, skipping Kanavavalitsin & Lisakortit when navigating back
         if(phase == 2){
            if(activephase == sopimusPhase){ // ennen sopimusjaksoja kaytettiin lomakePhase:a
               jQuery("#vaihe_cont").scrollable().move(-2);
            }
         }
      }
  }

  // setting correct phase in order to activate correct step with showPhase()
  if(skipChannelSelection == true && phase == 1) {
     phase = phase+1;
  }
  if(skipChannelSelection == true && phase == 2) {
     phase = phase+1;
  }

  if(phase >= 1){
     $('nappi_seuraava').src = '../../stat/images/webkauppa/jatka.gif';
  }else{
     $('nappi_seuraava').src = '../../stat/images/webkauppa/tilaa.gif';
  }
  
  showPhase(phase);
  

}

function showPhase(phase){
   p = getElementsByTagAndClassName('div','step',$('stepit'));
   h = getElementsByTagAndClassName('div','activephase')[0];

   for(i=0;i<p.length;i++){
       removeElementClass(p[i],'bold');
   }

   if(h.getAttribute('id') != 'vaihe2') {
       $('kuitti_bot').style.display = "none";
       $('kuitti_bot_def').style.display = "block";
   } 

   // showing and hiding receipt depending on which phase is active
   if(h.getAttribute('id') != 'vaihe1'){
	  $('kuitti_container').style.display = 'block';
         if(isdefined('promo') && promo != null && promo == true){
            $('lisakorttien_hinta').innerHTML = '0,00';
         }
   }else{
   	  // reset lisakortti choices
	  lisakorttimaara = 0;
	  junnukorttimaara = 0;
	  $('korttimaksu_maara').innerHTML = '1';
	  $('lisakorttien_hinta').innerHTML = '2,99';
	  $('lisakortit_kuitti').style.display = 'none';
	  $('junnukortti_kuitti').style.display = 'none';
	  kortit = getElementsByTagAndClassName('input','lisakortti_box');
	  for(j=0;j<kortit.length;j++){
	      kortit[j].checked = false;
	  }
      $('kuitti_container').style.display = 'none';
   }

   if(h.getAttribute('id') == 'vaihe2'){
      addElementClass($('step1'),'bold');
   }else if(h.getAttribute('id') == 'vaihe3'){
      addElementClass($('step2'),'bold');
   }else if(h.getAttribute('id') == 'vaihe4'){
      addElementClass($('step3'),'bold');
   }else if(h.getAttribute('id') == 'vaihe5'){
      addElementClass($('step4'),'bold');
   }else if(h.getAttribute('id') == 'vaihe6'){
      addElementClass($('step5'),'bold');
   }else if(h.getAttribute('id') == 'vaihe7'){
      addElementClass($('step6'),'bold');
   }

   if(h.getAttribute('id') == 'vaihe2'){
      if(omaArray.indexOf(cart[0]) >= 0){
         if(oma_kori.length == 9){
            $('next_phase').style.display = 'block';        
         }else{
            $('next_phase').style.display = 'none';
         }
      }
      if(pikkuArray.indexOf(cart[0]) >= 0){
         if(pikku_kori.length == 6){
            $('next_phase').style.display = 'block';
         }else{
            $('next_phase').style.display = 'none';
         }
      }
   }else if(h.getAttribute('id') == lomakePhase){
      lomakeTaytetty();
      // setting normal behaviour to 'JATKA TILAUSTA' button
      setNodeAttribute($('next_phase'), 'onclick', null);
   }else if(h.getAttribute('id') == ehtoPhase){
      tarkistaEhtojenValinta();
   }else{
      $('next_phase').style.display = 'block';
   }
}


/* This function is triggered when user deselects one of the stacks */

function deselect(select_id){
   var p = '#'+select_id.substring(11);
   
// URHO-pinon disablointiin tehty lisatarkistus
   if(p.length > 7) {
      var d = p.substring(7);
      p = p.substring(0,6)
   } else {
      var d = '';
   }
// URHO-pinon disablointiin tehty lisatarkistus loppuu

   if(d == 'disable'){
      jQuery(p).scrollable().end();
   }else if($(select_id) && $(select_id).checked == true){
      jQuery(p).scrollable().end();
   }else if ($(select_id)) {
      jQuery(p).scrollable().begin();
   } else {
     //nothing
   }
}

function selectFirst(select_id){
   var p = '#'+select_id.substring(11);
   if ($(select_id.substring(11))) {
    jQuery(p).scrollable().begin();
   }
}

function countDiscount(cart,price,cgi){
  // depending on which stacks are available, set variables default values
  // in order to count correct discount and show it on corrent discount line
  
  if ($('pino1')) {
     plustv = true;   
  } else {
     plustv = false;
  }
  
  if ($('pino2')) {
    if ($('canal_paketti')) { $('canal_paketti').style.display = 'block';}
    canal = true;
  } else {
    canal = false;
    if ($('canal_paketti')) { $('canal_paketti').style.display = 'none';}
  }
  
  if ($('pino3')) {
    urho = true;
    if ($('urho_paketti')) {$('urho_paketti').style.display = 'block';}
  } else {
    urho = false;
    if ($('urho_paketti')) {$('urho_paketti').style.display = 'none';}
  }
  
  if(isdefined('promo') && promo != null && promo == true){
     urho = false;
     canal = false;
  }  

  var amount = cart.length;

  for(z=0;z<cart.length;z++){
     if(cart[z] == 'nopid1'){
        plustv = false;
        amount--;
     }
     if(cart[z] == 'nopid2'){
        canal = false;
        amount--;
     }
     if(cart[z] == 'nopid3'){
        urho = false;
        amount--;
     }
  }

  if(amount == 1) {
     $('paketit_kuv_fi').innerHTML = 'paketti';
  }else{
     $('paketit_kuv_fi').innerHTML = 'pakettia';
  }

  $('paketit_lkm').innerHTML = amount;

  $('tilaa_next').style.display = 'block';

log('tilanne: ', plustv, canal, urho, price);

  if(urho == false && plustv == true && canal == true){
     // URHOtv isn't selected
     if($('ale1')) { addElementClass($('ale2'),'ale_bold'); }
     log("5 eur discount");
     price = price - 5;

     if (getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0] && getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0].childNodes[0]) {
        price_canal = parseFloat(getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0].childNodes[0].nodeValue.replace(',','.'));
    } else {
        price_canal = 0;
    }

    if (getElementsByTagAndClassName('span','activeprice',$('pino2'))[0]) {
     getElementsByTagAndClassName('span','activeprice',$('pino2'))[0].innerHTML = showPrice(price_canal - 5);
    }
     // display normal price for all CANAL products
     canal_products = getElementsByTagAndClassName('span','price_norm_cont',$('pino2'));
     for(c=0;c<canal_products.length;c++){
         canal_products[c].style.display = 'inline';
     }
     $('alennus').style.display = 'block';
     $('hinta_alennus').innerHTML = '5,00';
  }else if(urho == true && ((plustv == true && canal == false) || (plustv == false && canal == true))){
     // either PlusTV or CANAL package isn't selected and URHOtv is
     if($('ale2')) { addElementClass($('ale1'),'ale_bold'); }
     price = price - 5;
     if(canal == true){
        if (getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0]) {
            price_canal = parseFloat(getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0].childNodes[0].nodeValue.replace(',','.'));
            getElementsByTagAndClassName('span','activeprice',$('pino2'))[0].innerHTML = showPrice(price_canal);
        }
        // hide normal price from all CANAL products
  	    canal_products = getElementsByTagAndClassName('span','price_norm_cont',$('pino2'));
  	    for(c=0;c<canal_products.length;c++){
      	    canal_products[c].style.display = 'none';
        }
     }
     if(urho == true){
        if (getElementsByTagAndClassName('span','activenormprice',$('pino3'))[0]) {
            price_urho = parseFloat(getElementsByTagAndClassName('span','activenormprice',$('pino3'))[0].childNodes[0].nodeValue.replace(',','.'));
            getElementsByTagAndClassName('span','activeprice',$('pino3'))[0].innerHTML = showPrice(price_urho - 5);
        }
     }
     //if(!$('tilauslomake_kortti')) { $('alennus').style.display = 'block'; }
     $('hinta_alennus').innerHTML = '5,00';
     $('alennus').style.display = 'block';
  }else if(urho == false && plustv == false && canal == false){
     // none of packages is selected, can't continue
     $('tilaa_next').style.display = 'none';
  }else if(urho == true && plustv == false && canal == false){
     // only URHOtv is selected
     $('alennus').style.display = 'none';
     $('hinta_alennus').innerHTML = '0,00';
  }else if(plustv == true && urho == false && canal == false){
     // only PlusTV is selected
     $('alennus').style.display = 'none';
     $('hinta_alennus').innerHTML = '0,00';
  }else if(plustv == false && urho == false && canal == true){
     // only CANAL is selected
     price_canal = parseFloat(getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0].childNodes[0].nodeValue.replace(',','.'));
     getElementsByTagAndClassName('span','activeprice',$('pino2'))[0].innerHTML = showPrice(price_canal);
     // hide normal price from all CANAL products
     canal_products = getElementsByTagAndClassName('span','price_norm_cont',$('pino2'));
     for(c=0;c<canal_products.length;c++){
         canal_products[c].style.display = 'none';
     }
     $('alennus').style.display = 'none';
     $('hinta_alennus').innerHTML = '0,00';
  }else{
     // all packages are selected
     if(cart.length == 3){
        if($('ale3')) { addElementClass($('ale3'),'ale_bold'); }
        price = price - 10;
        price_canal = parseFloat(getElementsByTagAndClassName('span','activenormprice',$('pino2'))[0].childNodes[0].nodeValue.replace(',','.'));
        getElementsByTagAndClassName('span','activeprice',$('pino2'))[0].innerHTML = showPrice(price_canal - 5);
        
        // display normal price for all CANAL products
     	canal_products = getElementsByTagAndClassName('span','price_norm_cont',$('pino2'));
     	for(c=0;c<canal_products.length;c++){
            canal_products[c].style.display = 'inline';
        }
        
        price_urho = parseFloat(getElementsByTagAndClassName('span','activenormprice',$('pino3'))[0].childNodes[0].nodeValue.replace(',','.'));
        getElementsByTagAndClassName('span','activeprice',$('pino3'))[0].innerHTML = showPrice(price_urho - 5);
	$('alennus').style.display = 'block';
        $('hinta_alennus').innerHTML = '10,00';
     }
  }

  $('hinta_num').innerHTML = showPrice(price);

  if ($('hinta_plustv_alennus') && $('hinta_plustv_alennus').childNodes[0]) {
     price = price - getFloat($('hinta_plustv_alennus').childNodes[0].nodeValue);
  }

  if(isdefined('promo') && promo != null && promo == true){
    $('hinta_yhteensa').innerHTML = showPrice(parseFloat(0.00)+price);
  } else {
    $('hinta_yhteensa').innerHTML = showPrice(parseFloat(2.99)+price);
  }

  if(cgi != null && cgi == true){
     log('returning from cgi, doing things differently');
     channelSelectorAfterCGI(cart);
  }else{
     prepareChannelSelector(cart);
  }
}

function showPrice(price) {
   parseFloat(price);
   if(typeof(price) == 'string'){
      price = price.replace(',','.');
   }
   price = numberFormatter("##.00")(price);
   price = price.replace('.',',');
   price = price.replace('-','');
   return price;
}

function prepareChannelSelector(cart) {
   count = 0;

   var slct = getElementsByTagAndClassName('input','ch_slct');
   for(i=0;i<slct.length;i++){
       /*if(slct[i].getAttribute('disabled') != 'disabled'){
          slct[i].disabled = false;
       }*/
       slct[i].disabled = true;
       if (!cgi) {
            slct[i].checked = false;
       }
   }

   showRightChannelSelector(cart);
   
   if(kokoArray.indexOf(cart[0]) >= 0){
      // KokoPaketti selected
      if (isdefined('koko_kori')) {
          for(i=0;i<koko_kori.length;i++){
              $(koko_kori[i]+'_chkbt').checked = true;
              $(koko_kori[i]+'_chkbt').disabled = true;
          }
     }
   } else if(omaArray.indexOf(cart[0]) >= 0){
      // OmaPaketti selected
      for(d=0;d<oma_kori.length;d++){
          $(oma_kori[d]+'_chkbt').checked = true;
          count++;
      }
      // enabloidaan / disabloidaan selectit niin etta IE:kin ymmartaa
      for(i=0;i<slct.length;i++){
         if(getStyle($('channel_select_bg_'+ slct[i].getAttribute('id').substring(0,4) + '_disabled'),'display') == 'block'){
            slct[i].disabled = true;
	 }else{
            slct[i].disabled = false;
         }
      }

      // palautetaan Sport Pro, MAX ja Fakta valittaviksi, jos nakyvat alueella
      if(isdefined('nakyy_ch12') && nakyy_ch12 != null && nakyy_ch12 == 1){
         $('ch12_chkbt').disabled = false;
      }
      if(isdefined('nakyy_ch13') && nakyy_ch13 != null && nakyy_ch13 == 1){
         $('ch13_chkbt').disabled = false;
      }
      if(isdefined('nakyy_ch14') && nakyy_ch14 != null && nakyy_ch14 == 1){
         $('ch14_chkbt').disabled = false;
      }

      updateSelectionInfo(count, 9);   
   } else if(pikkuArray.indexOf(cart[0]) >= 0){
      // PikkuPaketti selected
      for(s=0;s<pikku_kori.length;s++){
          $(pikku_kori[s]+'_chkbt').checked = true;
          count++;
      }
      // enabloidaan / disabloidaan selectit niin etta IE:kin ymmartaa
      for(i=0;i<slct.length;i++){
         if(getStyle($('channel_select_bg_'+ slct[i].getAttribute('id').substring(0,4) + '_disabled'),'display') == 'block'){
            slct[i].disabled = true;
         }else{
            slct[i].disabled = false;
         }
      }
      updateSelectionInfo(count, 6);
   }
   if(pikkuArray.indexOf(cart[0]) >= 0){
      $('ch12_chkbt').disabled=true;
      $('ch13_chkbt').disabled=true;
      $('ch14_chkbt').disabled=true;
      if($('channel_select_bg_ch12')) { $('channel_select_bg_ch12').style.display = 'none';}
      if($('channel_select_bg_ch12_disabled')) { $('channel_select_bg_ch12_disabled').style.display = 'block';}
      if($('channel_select_bg_ch13')) { $('channel_select_bg_ch13').style.display = 'none';}
      if($('channel_select_bg_ch13_disabled')) { $('channel_select_bg_ch13_disabled').style.display = 'block';}
      if($('channel_select_bg_ch14')) { $('channel_select_bg_ch14').style.display = 'none';}
      if($('channel_select_bg_ch14_disabled')) { $('channel_select_bg_ch14_disabled').style.display = 'block';}
   } else {
      if(isdefined('nakyy_ch12') && nakyy_ch12 != null && nakyy_ch12 == 1){
         if($('channel_select_bg_ch12')) { $('channel_select_bg_ch12').style.display = 'block';}
         if($('channel_select_bg_ch12_disabled')) { $('channel_select_bg_ch12_disabled').style.display = 'none';}
      }
      if(isdefined('nakyy_ch13') && nakyy_ch13 != null && nakyy_ch13 == 1){
         if($('channel_select_bg_ch13')) { $('channel_select_bg_ch13').style.display = 'block';}
         if($('channel_select_bg_ch13_disabled')) { $('channel_select_bg_ch13_disabled').style.display = 'none';}
      }
      if(isdefined('nakyy_ch14') && nakyy_ch14 != null && nakyy_ch14 == 1){
         if($('channel_select_bg_ch14')) { $('channel_select_bg_ch14').style.display = 'block';}
         if($('channel_select_bg_ch14_disabled')) { $('channel_select_bg_ch14_disabled').style.display = 'none';}
      }
   }
}

function isdefined( variable) {
    return (typeof(window[variable]) == "undefined")?  false: true;
}


function showRightChannelSelector(cart){
   if(kokoArray.indexOf(cart[0]) >= 0){
      if($('kanavavalitsin_kokopaketti')) { $('kanavavalitsin_kokopaketti').style.display = 'block'; }
      if($('kanavavalitsin_omapaketti')) { $('kanavavalitsin_omapaketti').style.display = 'none'; }
      if($('kanavavalitsin_pikkupaketti')) { $('kanavavalitsin_pikkupaketti').style.display = 'none'; }
      if($('plustv_paketti')) { $('plustv_paketti').style.display = 'block'; }
      if($('koko_channels')) { $('koko_channels').style.display = 'block'; }
      if($('oma_channels')) { $('oma_channels').style.display = 'none'; }
      if($('pikku_channels')) { $('pikku_channels').style.display = 'none'; }
      if($('urheilu_channels')) { $('urheilu_channels').style.display = 'none'; }
      if($('ei_emux_channels')) { $('ei_emux_channels').style.display = 'none'; }
      if($('kuitti_bot')) {$('kuitti_bot').style.display = 'none';}
      if($('kuitti_bot_def')) {$('kuitti_bot_def').style.display = 'block';}
      // hide possible preselection links
      if($('preselection_container')) {$('preselection_container').style.display = 'none';}
      if($('select_info')) {$('select_info').style.display = 'none';}
      if($('continue_info')) {$('continue_info').style.display = 'none';}
   } else if(urheiluArray.indexOf(cart[0]) >= 0){
      // UrheiluPaketti
      if($('kanavavalitsin_kokopaketti')) { $('kanavavalitsin_kokopaketti').style.display = 'block'; }
      if($('kanavavalitsin_omapaketti')) { $('kanavavalitsin_omapaketti').style.display = 'none'; }
      if($('kanavavalitsin_pikkupaketti')) { $('kanavavalitsin_pikkupaketti').style.display = 'none'; }
      if($('plustv_paketti')) { $('plustv_paketti').style.display = 'block'; }
      if($('koko_channels')) { $('koko_channels').style.display = 'none'; }
      if($('ei_emux_channels')) { $('ei_emux_channels').style.display = 'none'; }
      if($('oma_channels')) { $('oma_channels').style.display = 'none'; }
      if($('pikku_channels')) { $('pikku_channels').style.display = 'none'; }
      if($('urheilu_channels')) { $('urheilu_channels').style.display = 'block'; }
      if($('kuitti_bot')) {$('kuitti_bot').style.display = 'block';}
      if($('kuitti_bot_def')) {$('kuitti_bot_def').style.display = 'none';}
      // hide possible preselection links
      if($('preselection_container')) {$('preselection_container').style.display = 'none';}
      if($('select_info')) {$('select_info').style.display = 'none';}
      if($('continue_info')) {$('continue_info').style.display = 'none';}
   } else if(omaArray.indexOf(cart[0]) >= 0){
      // OmaPaketti
      if($('kanavavalitsin_kokopaketti')) { $('kanavavalitsin_kokopaketti').style.display = 'none'; }
      if($('kanavavalitsin_omapaketti')) { $('kanavavalitsin_omapaketti').style.display = 'block'; }
      if($('kanavavalitsin_pikkupaketti')) { $('kanavavalitsin_pikkupaketti').style.display = 'none'; }
      if($('plustv_paketti')) { $('plustv_paketti').style.display = 'block'; }
      if($('koko_channels')) { $('koko_channels').style.display = 'none'; }
      if($('ei_emux_channels')) { $('ei_emux_channels').style.display = 'none'; }
      if($('oma_channels')) { $('oma_channels').style.display = 'block'; }
      if($('pikku_channels')) { $('pikku_channels').style.display = 'none'; }
      if($('urheilu_channels')) { $('urheilu_channels').style.display = 'none'; }
      if($('kuitti_bot')) {$('kuitti_bot').style.display = 'block';}
      if($('kuitti_bot_def')) {$('kuitti_bot_def').style.display = 'none';}
      // display possible preselection links
      if($('preselection_container')) {$('preselection_container').style.display = 'block';}
      for(e=0;e<getElementsByTagAndClassName('div','omapakettiin').length;e++){
          getElementsByTagAndClassName('div','omapakettiin')[e].style.display = 'block';
      }
      for(v=0;v<getElementsByTagAndClassName('div','pikkupakettiin').length;v++){
          getElementsByTagAndClassName('div','pikkupakettiin')[v].style.display = 'none';
      }
	} else if(eiEmuxArray.indexOf(cart[0]) >= 0){
        // 3+1Paketti
      if($('kanavavalitsin_kokopaketti')) { $('kanavavalitsin_kokopaketti').style.display = 'none'; }
      if($('kanavavalitsin_omapaketti')) { $('kanavavalitsin_omapaketti').style.display = 'none'; }
      if($('kanavavalitsin_pikkupaketti')) { $('kanavavalitsin_pikkupaketti').style.display = 'none'; }
      if($('plustv_paketti')) { $('plustv_paketti').style.display = 'block'; }
      if($('koko_channels')) { $('koko_channels').style.display = 'none'; }
      if($('oma_channels')) { $('oma_channels').style.display = 'none'; }
      if($('ei_emux_channels')) { $('ei_emux_channels').style.display = 'block'; }
      if($('pikku_channels')) { $('pikku_channels').style.display = 'none'; }
      if($('urheilu_channels')) { $('urheilu_channels').style.display = 'none'; }
      if($('kuitti_bot')) {$('kuitti_bot').style.display = 'block';}
      if($('kuitti_bot_def')) {$('kuitti_bot_def').style.display = 'none';}
      if($('canal_paketti')) { $('canal_paketti').style.display = 'none'; }
      if($('urho_paketti')) { $('urho_paketti').style.display = 'none'; }
      // display possible preselection links
      
   }else if(pikkuArray.indexOf(cart[0]) >= 0){
      // PikkuPaketti
      if($('kanavavalitsin_kokopaketti')) { $('kanavavalitsin_kokopaketti').style.display = 'none'; }
      if($('kanavavalitsin_omapaketti')) { $('kanavavalitsin_omapaketti').style.display = 'none'; }
      if($('kanavavalitsin_pikkupaketti')) { $('kanavavalitsin_pikkupaketti').style.display = 'block'; }
      if($('plustv_paketti')) { $('plustv_paketti').style.display = 'block'; }
      if($('koko_channels')) { $('koko_channels').style.display = 'none'; }
      if($('oma_channels')) { $('oma_channels').style.display = 'none'; }
      if($('pikku_channels')) { $('pikku_channels').style.display = 'block'; }
      if($('urheilu_channels')) { $('urheilu_channels').style.display = 'none'; }
      if($('ei_emux_channels')) { $('ei_emux_channels').style.display = 'none'; }
      if($('kuitti_bot')) {$('kuitti_bot').style.display = 'block';}
      if($('kuitti_bot_def')) {$('kuitti_bot_def').style.display = 'none';}
      // display possible preselection links
      $('preselection_container').style.display = 'block';
      for(e=0;e<getElementsByTagAndClassName('div','omapakettiin').length;e++){
          getElementsByTagAndClassName('div','omapakettiin')[e].style.display = 'none';
      }
      for(v=0;v<getElementsByTagAndClassName('div','pikkupakettiin').length;v++){
          getElementsByTagAndClassName('div','pikkupakettiin')[v].style.display = 'block';
      }  
    } else if(cart.indexOf('nopid1') >= 0){
      if($('plustv_paketti')) { $('plustv_paketti').style.display = 'none'; }
      if($('koko_channels')) { $('koko_channels').style.display = 'none'; }
      if($('oma_channels')) { $('oma_channels').style.display = 'none'; }
      if($('ei_emux_channels')) { $('ei_emux_channels').style.display = 'none'; }
      if($('pikku_channels')) { $('pikku_channels').style.display = 'none'; }
      if($('urheilu_channels')) { $('urheilu_channels').style.display = 'none'; }
      if($('kuitti_bot') != null) {$('kuitti_bot').style.display = 'none';}
      if($('kuitti_bot_def') != null) {$('kuitti_bot_def').style.display = 'block';}
   }
   // ennen sitovuuksia oli || $('tilauslomake_kortti')
   if(cart.indexOf('nopid2') >= 0 || (isdefined('kassa') && kassa)){
      if($('canal_paketti')) { $('canal_paketti').style.display = 'none'; }
   }
   if(cart.indexOf('nopid3') >= 0){
      if($('urho_paketti')) { $('urho_paketti').style.display = 'none'; }
   }
}

function channelSelectorAfterCGI(cart){
   count = 0;
   showRightChannelSelector(cart);
   var slct = getElementsByTagAndClassName('input','ch_slct');
   for(i=0;i<slct.length;i++){
       if(slct[i].checked == true){
          count++;
          lisattava = getNodeAttribute(slct[i],'id').substring(0,getNodeAttribute(slct[i],'id').indexOf('_chkbt'));
          if($('kanavavalitsin_pikkupaketti').style.display == 'block'){
             pikku_kori.push(lisattava);
             var tikettiin = DIV({'id': 'pikku_'+lisattava, 'class':'pikku'},transform(lisattava));
             appendChildNodes($('pikku_channels'),tikettiin);
          }else if($('kanavavalitsin_omapaketti').style.display == 'block'){
             oma_kori.push(lisattava);
             var tikettiin = DIV({'id': 'oma_'+lisattava, 'class':'oma'},transform(lisattava));
             appendChildNodes($('oma_channels'),tikettiin);
          }
       }
       if($('kanavavalitsin_kokopaketti').style.display == 'block'){
          slct[i].checked = true;
          slct[i].disabled = true;
       }
   }

   var t = loadJSONDoc('../tilaus/nakyvyydet.cgi',{'json':$('tilauslomake_pnumero').value});
   t.addCallback(checkAvailableChannelsAfterCGI);

   if($('kanavavalitsin_pikkupaketti') && $('kanavavalitsin_pikkupaketti').style.display == 'block'){
      updateSelectionInfo(count, 6);
      if(count == 6){
        $('continue_info').style.display = 'none';
        $('next_phase').style.display = 'block';
      }else{
        $('continue_info').style.display = 'block';
        $('next_phase').style.display = 'none';
      }
   }else if($('kanavavalitsin_omapaketti') && $('kanavavalitsin_omapaketti').style.display == 'block'){
      updateSelectionInfo(count, 9);
      if(count == 9){
        $('continue_info').style.display = 'none';
        $('next_phase').style.display = 'block';
      }else{
        $('continue_info').style.display = 'block';
        $('next_phase').style.display = 'none';
      }
   }
   log('after CGI there is ', count, ' selected channels');

   if($('hinta_alennus') && $('hinta_alennus').childNodes[0]) {ale = $('hinta_alennus').childNodes[0].nodeValue;}
   if($('hinta_plustv_alennus') && $('hinta_plustv_alennus').childNodes[0]) { plustv_ale = $('hinta_plustv_alennus').childNodes[0].nodeValue; }

   chosen_card = '';
   if($('lisakortti1') && $('lisakortti1').checked){
         lisakorttimaara =1;
         $('lisakortit_selite_fi').innerHTML = 'Yksi PlusLis&auml;kortti';
         if(kokoArray.indexOf(cart[0]) >= 0){
            chosen_card = '4111';
         }else if(omaArray.indexOf(cart[0]) >= 0){
            chosen_card = '4121';
         }else if(pikkuArray.indexOf(cart[0]) >= 0){
            chosen_card = '4131';
         } else if (eiEmuxArray.indexOf(cart[0]) >= 0) {
        	chosen_card = '4151';
         }
   }else if($('lisakortti2') && $('lisakortti2').checked){
         lisakorttimaara =2;
         $('lisakortit_selite_fi').innerHTML = 'Kaksi PlusLis&auml;korttia';
         
         if(kokoArray.indexOf(cart[0]) >= 0){
            chosen_card = '4112';
         } else if(omaArray.indexOf(cart[0]) >= 0){
            chosen_card = '4122';
         } else if(pikkuArray.indexOf(cart[0]) >= 0){
            chosen_card = '4132';
         } else if(eiEmuxArray.indexOf(cart[0]) >= 0){
            chosen_card = '4152';
         }
   }else if($('lisakortti3') && $('lisakortti3').checked){
         lisakorttimaara =3;
         $('lisakortit_selite_fi').innerHTML = 'Kolme PlusLis&auml;korttia';
         
         if(kokoArray.indexOf(cart[0]) >= 0){
            chosen_card = '4113';
         } else if(omaArray.indexOf(cart[0]) >= 0){
            chosen_card = '4123';
         } else if(pikkuArray.indexOf(cart[0]) >= 0){
            chosen_card = '4133';
         } else if(eiEmuxArray.indexOf(cart[0]) >= 0){
            chosen_card = '4153';
         }
   } else {
        lisakorttimaara = 0;
    }
   
   if ($('lisakortti4') && $('lisakortti4').checked){ 
         junnukorttimaara = 1;
         junnu_card = '4501';
         $('junnukortti_selite_fi').innerHTML = 'Junnukortti';
   } else {
      junnu_card = '';
      junnukorttimaara = 0;
   }
   
   // Chech invoice row visibility
   if (junnukorttimaara > 0) {
         $('junnukortti_kuitti').style.display = 'block';
   } else {
        $('junnukortti_kuitti').style.display = 'none';
   }
   
   if (lisakorttimaara > 0) {
        $('lisakortit_kuitti').style.display = 'block';
   } else {
        $('lisakortit_kuitti').style.display = 'none';
   }
   
   updateReceiptPrices();
   tiedotKunnossa = 1;
   ehdotValittu = 1;
   arvo1 = 1; arvo2 = 1; arvo3 = 1; arvo4 = 1; arvo5 = 1; arvo6 = 1; arvo7 = 1; arvo8 = 1; arvo9 = 1; arvo10 = 1; arvo11 = 1;
   $('etunimi_color_code').style.background = '#e4f2f3';
   $('sukunimi_color_code').style.background = '#e4f2f3';
   $('katuosoite_color_code').style.background = '#e4f2f3';
   $('postinumero_color_code').style.background = '#e4f2f3';
   $('postitoimipaikka_color_code').style.background = '#e4f2f3';
   $('matkapuhelin_color_code').style.background = '#e4f2f3';
   $('sahkoposti_color_code').style.background = '#e4f2f3';

   // move to last phase
   jQuery("#vaihe_cont").scrollable().end();

}

function checkAvailableChannelsAfterCGI(result){
   var b = function(obj, key){
       return obj[key].nakyy;
   }
   var inp = getElementsByTagAndClassName('input','ch_slct');
   for(i=0;i<inp.length;i++){
       s = getNodeAttribute(inp[i],'id');
       t = s.indexOf('_chkbt');
       h = s.substring(0,t);
       n = b(result, h);
       if(n != 1){
          setNodeAttribute($(s), 'disabled', 'true');
          $('channel_select_bg_'+s.substring(0,s.indexOf('_chkbt'))).style.display = 'none';
          $('channel_select_bg_'+s.substring(0,s.indexOf('_chkbt'))+'_disabled').style.display = 'block';
          $(s).checked=false;
       }
   }
}

function selectCh(obj){
   lisattava = getNodeAttribute(obj,'id').substring(0,getNodeAttribute(obj,'id').indexOf('_chkbt'));
   if($('kanavavalitsin_pikkupaketti').style.display == 'block'){
      count = pikku_kori.length;
      if(obj.checked == false){
         for(j=0;j<pikku_kori.length;j++){
             if(lisattava == pikku_kori[j]){
                pikku_kori.splice(j,1);
                count--;
                swapDOM($('pikku_'+lisattava),null);
             }
         }
      }else{
         pikku_kori.push(lisattava);
         count++;
         var tikettiin = DIV({'id': 'pikku_'+lisattava, 'class':'pikku'},transform(lisattava));
         appendChildNodes($('pikku_channels'),tikettiin);
      }
      updateSelectionInfo(count, 6);
      if(count == 6){
      	$('continue_info').style.display = 'none';
      	$('next_phase').style.display = 'block';
      }else{
      	$('continue_info').style.display = 'block';
      	$('next_phase').style.display = 'none';
      }
   }else if($('kanavavalitsin_omapaketti').style.display == 'block'){
      count = oma_kori.length;
      if(obj.checked == false){
         for(j=0;j<oma_kori.length;j++){
             if(lisattava == oma_kori[j]){
                oma_kori.splice(j,1);
                count--;
                swapDOM($('oma_'+lisattava),null);
             }
         }
      }else{
         oma_kori.push(lisattava);
         count++;
         var tikettiin = DIV({'id': 'oma_'+lisattava, 'class':'oma'},transform(lisattava));
         appendChildNodes($('oma_channels'),tikettiin);
      }
      updateSelectionInfo(count, 9);
      if(count == 9){
        $('continue_info').style.display = 'none';
        $('next_phase').style.display = 'block';
      }else{
        $('continue_info').style.display = 'block';
        $('next_phase').style.display = 'none';
      }
   }
}

function preselect(preselection_id){
	var slct = getElementsByTagAndClassName('input','ch_slct');
	   for(i=0;i<slct.length;i++){
	       // won't enable channel's checkbox if channel isn't visible (disabled already)
	       if(slct[i].getAttribute('disabled') != 'true' && !slct[i].disabled){
	          slct[i].disabled = false;
	       }
	       slct[i].checked = false;
	   }
   if(preselection_id == null){
   
   if($('kanavavalitsin_pikkupaketti').style.display == 'block'){
      $('ch12_chkbt').disabled=true;
      $('ch13_chkbt').disabled=true;
      $('ch14_chkbt').disabled=true;
      doPreselectionMagic('pikku_channels', pikku_preselect, 6);
   }
   if($('kanavavalitsin_omapaketti').style.display == 'block'){
      doPreselectionMagic('oma_channels', oma_preselect, 9);
   }
 }else{
   // TODO: manage preselections somewhere else than here (t.ex. XML from Multinews?)
   var preselection_kori = new Array();
   if(preselection_id == 'sportti'){
       preselection_kori.push('ch12','ch13','ch14','ch16','ch17','ch18','ch19','ch24','ch69');
   }else if(preselection_id == 'lapsi'){
      preselection_kori.push('ch13','ch14','ch16','ch17','ch18','ch19','ch21','ch24','ch25');
   }
   if(preselection_kori.length == 9){
      doPreselectionMagic('oma_channels', preselection_kori, 9);
   }
   if(preselection_kori.length == 6){
      doPreselectionMagic('pikku_channels', preselection_kori, 6);
   }
 }
}

function doPreselectionMagic(channel_div, channel_array, maxcount){
   replaceChildNodes($(channel_div), null);
   if(maxcount == 6){
      pikku_kori = new Array();
      count = 0;
      for(j=0;j<channel_array.length;j++){
          //if($(channel_array[j]+'_chkbt').getAttribute('disabled') != 'true'){
          if(!$(channel_array[j]+'_chkbt').disabled){
             var tikettiin = DIV({'id': 'pikku_'+channel_array[j], 'class':'pikku'},transform(channel_array[j]));
             appendChildNodes($(channel_div),tikettiin);
             $(channel_array[j]+'_chkbt').checked = true;
             pikku_kori.push(channel_array[j]);
             count++;
          }
          if(count == maxcount){
             $('continue_info').style.display = 'none';
             $('next_phase').style.display = 'block';
          }
      }
      updateSelectionInfo(count, maxcount);
    }else if(maxcount == 9){
      oma_kori = new Array();
      count = 0;
      for(j=0;j<channel_array.length;j++){
          //if($(channel_array[j]+'_chkbt').getAttribute('disabled') != 'true'){
          if(!$(channel_array[j]+'_chkbt').disabled){
             var tikettiin = DIV({'id': 'oma_'+channel_array[j], 'class':'oma'},transform(channel_array[j]));
             appendChildNodes($(channel_div),tikettiin);
             $(channel_array[j]+'_chkbt').checked = true;
             oma_kori.push(channel_array[j]);
             count++;
          }
          if(count == maxcount){
             $('continue_info').style.display = 'none';
             $('next_phase').style.display = 'block';
          }
      }
      updateSelectionInfo(count, maxcount);
    }
}

function updateSelectionInfo(count, maxcount){
   $('select_info').style.display = 'block';
   $('continue_info').style.display = 'block';
   $('select_info').innerHTML = '<span class="fi">Olet valinnut ' + count + '/' + maxcount + ' kanavaa.</span><span class="sv">Du har valt ' + count + '/' + maxcount + ' kanaler.</span>';
   var kanava = '<span class="fi">kanavaa</span><span class="sv">kanaler</span>';
   if(count == (maxcount+1) || count == (maxcount-1)){
      kanava = '<span class="fi">kanava</span><span class="sv">kanal</span>';
   }
   if(count < maxcount){
      $('continue_info').style.display = 'block';
      $('continue_info').innerHTML = '<span class="fi">Valitse viel&auml; ' + (maxcount-count) + ' ' + kanava + ' jatkaaksesi tilausta.</span><span class="sv">L&auml;gg till ytterligare ' + (maxcount-count) + ' ' + kanava + '.</span>';
   }else if(count > maxcount){
      $('continue_info').style.display = 'block';
      $('continue_info').innerHTML = '<span class="fi">Poista viel&auml; ' + (count-maxcount) + ' ' + kanava + ' jatkaaksesi tilausta.</span><span class="sv">Ta bort ' + (count-maxcount) + ' ' + kanava + '.</span>';
   }else if(count == maxcount){
      $('continue_info').style.display = 'none';
   }
   tarkistaKieli();
}
function junnukortti(obj) {
    
   checked_box = obj.getAttribute('id');
   if(obj.checked == true){
      if(checked_box == 'lisakortti4') {
         junnukorttimaara = 1;
         junnu_card = '4501';
         $('junnukortti_selite_fi').innerHTML = 'Junnukortti';
         $('junnukortti_kuitti').style.display = 'block';
      } 
   } else {
      junnu_card = '';
      junnukorttimaara = 0;
      $('junnukortti_kuitti').style.display = 'none';
   }
   updateReceiptPrices();

}

function updateReceiptPrices() {
     if ($('hinta_alennus') && $('hinta_alennus').childNodes[0]) {
       ale = $('hinta_alennus').childNodes[0].nodeValue;
     }
     if(!ale) { ale = 0; }

     if ($('hinta_plustv_alennus') && $('hinta_plustv_alennus').childNodes[0]) {
       plustv_ale = $('hinta_plustv_alennus').childNodes[0].nodeValue;
     }
     if(!plustv_ale) { plustv_ale = 0; }
     
     $('korttimaksu_maara').innerHTML = getCardAmount();
     $('lisakorttien_hinta').innerHTML = showPrice(getCardPayments());
     $('palvelumaksu').innerHTML = showPrice(getCardServicePayments());
     if ($('junnukorttimaksu')) { 
        $('junnukorttimaksu').innerHTML = showPrice(getJunnuCardServicePayments());}
 
     $('hinta_yhteensa').innerHTML = showPrice(parseFloat(price_total) - getFloat(ale) - getFloat(plustv_ale) + getCardServicePayments() + getJunnuCardServicePayments() + getCardPayments() );
}

function getFloat(t) {
   if(typeof(t) == 'string'){
      t = t.replace(',','.');
   }
  return parseFloat(t);
}

function getCardPayments() {
      return parseFloat(getCardAmount() * 2.99);
}

function getCardAmount() {
    return junnukorttimaara + lisakorttimaara + 1;
}

function getJunnuCardServicePayments() {
    return parseFloat(junnukorttimaara * 3.02);
}

function getCardServicePayments() {
    if (eiEmuxArray && cart[0] && eiEmuxArray.indexOf(cart[0]) >= 0) {
        return parseFloat(lisakorttimaara * 4.45);
    } else {
        return parseFloat(lisakorttimaara * 5.95);
    }
}

function lisakortti(obj) {
   chosen_card = '';
   if(obj.checked == true){
      $('lisakortit_kuitti').style.display = 'block';
      kortit = getElementsByTagAndClassName('input','lisakortti_box');
      for(j=0;j<kortit.length;j++){
          if(kortit[j].getAttribute('id') != obj.getAttribute('id') && kortit[j].getAttribute('id') != 'lisakortti4'){
             kortit[j].checked = false;
          }
      }
      checked_box = obj.getAttribute('id');
      if(checked_box == 'lisakortti1'){
        lisakorttimaara =1;
         $('lisakortit_selite_fi').innerHTML = 'Yksi PlusLis&auml;kortti';
      }else if(checked_box == 'lisakortti2'){
        lisakorttimaara =2;
         $('lisakortit_selite_fi').innerHTML = 'Kaksi PlusLis&auml;korttia';
      } else if(checked_box == 'lisakortti3'){
        lisakorttimaara =3;
         $('lisakortit_selite_fi').innerHTML = 'Kolme PlusLis&auml;korttia';
      } else { }

      // check which PlusTV package is selected
      if(kokoArray.indexOf(cart[0]) >= 0){
         // KokoPaketti
         if(obj.getAttribute('id') == 'lisakortti1'){
            chosen_card = '4111';
         }else if(obj.getAttribute('id') == 'lisakortti2'){
            chosen_card = '4112';
         }else if(obj.getAttribute('id') == 'lisakortti3'){
            chosen_card = '4113';
         }
      }else if(omaArray.indexOf(cart[0]) >= 0){
         // OmaPaketti
         if(obj.getAttribute('id') == 'lisakortti1'){
            chosen_card = '4121';
         }else if(obj.getAttribute('id') == 'lisakortti2'){
            chosen_card = '4122';
         }else if(obj.getAttribute('id') == 'lisakortti3'){
            chosen_card = '4123';
         }
      }else if(pikkuArray.indexOf(cart[0]) >= 0){
         // PikkuPaketti
         if(obj.getAttribute('id') == 'lisakortti1'){
            chosen_card = '4131';
         }else if(obj.getAttribute('id') == 'lisakortti2'){
            chosen_card = '4132';
         }else if(obj.getAttribute('id') == 'lisakortti3'){
            chosen_card = '4133';
         }
      } else if(eiEmuxArray.indexOf(cart[0]) >= 0){
          // 3+1
          if(obj.getAttribute('id') == 'lisakortti1'){
             chosen_card = '4151';
          }else if(obj.getAttribute('id') == 'lisakortti2'){
             chosen_card = '4152';
          }else if(obj.getAttribute('id') == 'lisakortti3'){
             chosen_card = '4153';
          }
       }else{
         // no PlusTV package

      }
   }else{
      lisakorttimaara = 0;
      $('lisakortit_kuitti').style.display = 'none';
   }
   updateReceiptPrices();
}



/* YHTEYSTIEDOT functions */

function lomakeTaytetty(){
  log(arvo1,arvo2,arvo3,arvo4,arvo5,arvo6,arvo7,arvo8,arvo9,arvo10);
  t = getElementsByTagAndClassName('div','activephase');
  
  if(t[0].getAttribute('id') == lomakePhase){
   if(false && $('tilauslomake_kortti')){
     if(arvo1==1 && arvo2==1 && arvo3==1 && arvo4==1 && arvo5==1 && arvo6==1 && arvo7==1 && arvo8==1 && arvo9==1 && arvo10==1 && arvo11==1 && tarkistaIka()==true && tiedotKunnossa == 1){
        $('next_phase').style.display = 'block';
        log('Näytetään');
     }else{
        $('next_phase').style.display = 'none';
        log('Ei näytetä');
     }
   }else{
     if(arvo1 == 1 && arvo2 == 1 && arvo3 == 1 && arvo4 == 1 && arvo5 == 1 && arvo6 == 1 && arvo7 == 1 && arvo8 == 1 && arvo9 == 1 && arvo11==1 && tarkistaIka() == true && tiedotKunnossa == 1){
        $('next_phase').style.display = 'block';
        log('Näytetään');
     }else{
        $('next_phase').style.display = 'none';
        log('Ei näytetä');
     }
   }
   tarkistaKieli();
  }
}

function tarkistaIka() {
  // current.getYear() returns date in "years since 1900" format which is compatible with values coming from the html-form instead of real current year.
  var vuosi = parseInt(current.getYear());
  var kuukausi = parseInt(current.getMonth()) + 1;
  var paiva = parseInt(current.getDate());
  var til_p = parseInt($('tilauslomake_hetu1p').value);
  var til_kk = $('tilauslomake_hetu1k').value;
  var til_v = parseInt($('tilauslomake_hetu1v').value);
  var erotus = vuosi-til_v;
  var erotus2 = kuukausi-til_kk;
  var erotus3 = paiva-til_p;
  if(erotus == 18){
     if(erotus2 > 0){
        //log("vasta 18, ika kunnossa");
        return true;
     }else if(erotus2 == 0){
        if(erotus3 >= 0){
           //log("18v, kk-erotus = 0");
           return true;
        }else{
           $('hetu_virhe').innerHTML = "Tilaajan on oltava t&auml;ysi-ik&auml;inen.";
           return false;
        }
     }else{
        //log("kk-maara ei tasmaa");
        $('hetu_virhe').innerHTML = "Tilaajan on oltava t&auml;ysi-ik&auml;inen.";
        return false;
     }
  }else if(erotus >= 18){
     //log("ika yli 18");
     return true;
  }else{
     //log("ika ei riita");
     $('hetu_virhe').innerHTML = "Tilaajan on oltava t&auml;ysi-ik&auml;inen.";
     //log("ika ei riita toistamiseen");
     return false;
  }
}

function poistaValit(arvo){
  var string;
  var newstring = "";
  if (arvo.indexOf(' ') != -1) {
      string = arvo.split(' ');
      for (var i=0;i<string.length;i++){
           newstring += string[i];
      }
      return newstring;
  } else { return arvo; }
}

function tarkistaKieli(){
  if($('ruotsiksi') && $('ruotsiksi').checked){
     kieliSv();
  }else{
     kieliFi();
  }
}

function tarkistaEtunimi(){
  var etunimi = poistaValit($('tilauslomake_etunimi').value);
  if(!etunimi || !etunimi.length > 0){
     if($('ruotsiksi') && $('ruotsiksi').checked){
        if($('etunimi_color_code')){
           $('etunimi_color_code').style.background = '#f0b2b0';
        }
        $('etunimi_virhe').innerHTML = 'Fyll i ditt f&ouml;rnamn.';
     }else{
        if($('etunimi_color_code')){
           $('etunimi_color_code').style.background = '#f0b2b0';
        }
        $('etunimi_virhe').innerHTML = 'T&auml;yt&auml; etunimesi.';
     }
     arvo1 = 0;
     tiedotKunnossa = 0;
  }else{
     if($('etunimi_color_code')){
        $('etunimi_color_code').style.background = '#e4f2f3';
     }
     $('etunimi_virhe').innerHTML = "";
     tiedotKunnossa = 1;
     arvo1 = 1;
  }
  lomakeTaytetty();
}

function tarkistaSukunimi(){
  var sukunimi = poistaValit($('tilauslomake_sukunimi').value);
  if(!sukunimi || !sukunimi.length > 0){
     if($('ruotsiksi') && $('ruotsiksi').checked){
        if($('sukunimi_color_code')){
           $('sukunimi_color_code').style.background = '#f0b2b0';
        }
        $('sukunimi_virhe').innerHTML = 'Fyll i ditt efternamn.';
     }else{
        if($('sukunimi_color_code')){
           $('sukunimi_color_code').style.background = '#f0b2b0';
        }
        $('sukunimi_virhe').innerHTML = 'T&auml;yt&auml; sukunimesi.';
     }
     arvo2 = 0;
     tiedotKunnossa = 0;
  }else{
     if($('sukunimi_color_code')){
        $('sukunimi_color_code').style.background = '#e4f2f3';
     }
     $('sukunimi_virhe').innerHTML = "";
     tiedotKunnossa = 1;
     arvo2 = 1;
  }
  lomakeTaytetty();
}

function tarkistaKatuosoite(){
  var katuosoite = poistaValit($('tilauslomake_osoite').value);
  if(!katuosoite || !katuosoite.length > 0){
     if($('ruotsiksi') && $('ruotsiksi').checked){
        if($('katuosoite_color_code')){
           $('katuosoite_color_code').style.background = '#f0b2b0';
        }
        $('katuosoite_virhe').innerHTML = 'Fyll i din gatuadress.';
     }else{
        if($('katuosoite_color_code')){
           $('katuosoite_color_code').style.background = '#f0b2b0';
        }
        $('katuosoite_virhe').innerHTML = 'T&auml;yt&auml; katuosoitteesi.';
     }
     arvo3 = 0;
     tiedotKunnossa = 0;
  }else{
     if($('katuosoite_color_code')){
        $('katuosoite_color_code').style.background = '#e4f2f3';
     }
     $('katuosoite_virhe').innerHTML = "";
     tiedotKunnossa = 1;
     arvo3 = 1;
  }
  lomakeTaytetty();
}

function tarkistaPostinumero(){
   tiedotKunnossa = 1;
   arvo4 = 1;
   if($('postinumero_color_code')){
      $('postinumero_color_code').style.background = '#e4f2f3';
   }
   lomakeTaytetty();
}

function tarkistaToimipaikka() {
   var toimipaikka = poistaValit($('tilauslomake_ptoimip').value);
   if(!toimipaikka){
      if($('ruotsiksi') && $('ruotsiksi').checked){
         if($('postitoimipaikka_color_code')){
            $('postitoimipaikka_color_code').style.background = '#f0b2b0';
         }
         $('toimipaikka_virhe').innerHTML = 'Fyll i din postanstalt.';
      }else{
         if($('postitoimipaikka_color_code')){
            $('postitoimipaikka_color_code').style.background = '#f0b2b0';
         }
         log('KAANNETAAN TOIMIPAIKKAVIRHE PAALLE');
         $('toimipaikka_virhe').innerHTML = 'T&auml;yt&auml; postitoimipaikkasi.';
      }
      arvo5 = 0;
      tiedotKunnossa = 0;
   }else{
      if($('postitoimipaikka_color_code')){
         $('postitoimipaikka_color_code').style.background = '#e4f2f3';
      }
      $('toimipaikka_virhe').innerHTML = "";
      tiedotKunnossa = 1;
      arvo5 = 1;
   }
   lomakeTaytetty();
}

function tarkistaPuhelin(){
   var matkapuhelin = poistaValit($('tilauslomake_mpuhelin').value);
   var kotipuhelin = poistaValit($('tilauslomake_puhelin').value);
   matkapuhelin = matkapuhelin.replace(/-/g,"");
   kotipuhelin = kotipuhelin.replace(/-/g,"");
   if(matkapuhelin != '' && isNaN(matkapuhelin) == false) {
      if($('matkapuhelin_color_code')){
         $('matkapuhelin_color_code').style.background = '#e4f2f3';
      }
      $('matkapuhelin_virhe').innerHTML = "";
      tiedotKunnossa = 1;
      arvo6 = 1;
   } else if (kotipuhelin != '' && isNaN(kotipuhelin) == false) {
      if($('matkapuhelin_color_code')){
         $('matkapuhelin_color_code').style.background = '#e4f2f3';
      }
      $('matkapuhelin_virhe').innerHTML = "";
      tiedotKunnossa = 1;
      arvo6 = 1;
   } else {
      if($('ruotsiksi') && $('ruotsiksi').checked){
         if($('matkapuhelin_color_code')){
            $('matkapuhelin_color_code').style.background = '#f0b2b0';
         }
         $('matkapuhelin_virhe').innerHTML = 'Fyll i ditt mobil- eller hemtelefonnummer.';
      }else{
         if($('matkapuhelin_color_code')){
            $('matkapuhelin_color_code').style.background = '#f0b2b0';
         }
         $('matkapuhelin_virhe').innerHTML = 'T&auml;yt&auml; joko matka- tai kotipuhelimesi.';
      }
      arvo6 = 0;
      tiedotKunnossa = 0;
   }
   lomakeTaytetty();
}

function tyhjennaKentta(){
   if($('tilauslomake_sposti').value == "tunnus@osoite"){
      $('tilauslomake_sposti').value = "";
      $('tilauslomake_sposti').style.color = "black";
   }
}

function tarkistaEmail(){
   var email = poistaValit($('tilauslomake_sposti').value);
   var paate = email.substring(email.lastIndexOf("@") + 1, email.length);
   var maatunnus = paate.substring(paate.lastIndexOf(".") + 1, paate.length);
   if(email){
      if(email.length > 5 && email.indexOf('@') > 0 && paate.indexOf('.') > 0 && maatunnus.length > 1) {
         if($('sahkoposti_color_code')){
            $('sahkoposti_color_code').style.background = '#e4f2f3';
         }
         $('email_virhe').innerHTML = "";
         tiedotKunnossa = 1;
         lomakeTaytetty();
      }else{
         if($('ruotsiksi') && $('ruotsiksi').checked){
            if($('sahkoposti_color_code')){
               $('sahkoposti_color_code').style.background = '#f0b2b0';
            }
            $('email_virhe').innerHTML = 'Vars'+aring+'god och kontrollera ditt e-post.';
         }else{
            if($('sahkoposti_color_code')){
               $('sahkoposti_color_code').style.background = '#f0b2b0';
            }
            $('email_virhe').innerHTML = 'Ole hyv&auml; ja tarkista s&auml;hk&ouml;postiosoitteesi.';
         }
         $('next_phase').style.display = 'none';
         tiedotKunnossa = 0;
      }
   }
   lomakeTaytetty();
}

function tarkistaHetup(){
   log($('tilauslomake_hetu1p').value, $('tilauslomake_hetu1k').value, $('tilauslomake_hetu1v').value);
   if($('tilauslomake_hetu1p').value != '00' && $('tilauslomake_hetu1k').value != '00' && $('tilauslomake_hetu1v').value != '00'){
      tiedotKunnossa = 1;
      arvo7 = 1;
      arvo8 = 1;
      arvo9 = 1;
      if($('syntymaaika_color_code')){
         $('syntymaaika_color_code').style.background = '#e4f2f3';
      }
      $('hetu_virhe').innerHTML = "";
         lomakeTaytetty();
   }else{
      arvo7 = 0;
      tiedotKunnossa = 0;
      $('next_phase').style.display = 'none';
      if($('ruotsiksi') && $('ruotsiksi').checked){
         if($('syntymaaika_color_code')){
            $('syntymaaika_color_code').style.background = '#f0b2b0';
         }
         $('hetu_virhe').innerHTML = 'Fyll i ditt f&ouml;delsedatum.';
      }else{
         if($('syntymaaika_color_code')){
            $('syntymaaika_color_code').style.background = '#f0b2b0';
         }
         $('hetu_virhe').innerHTML = 'T&auml;yt&auml; henkil&ouml;tunnuksesi.';
      }
   }
   tarkistaTunnusosa();
}

function tarkistaHetukk(){
   if($('tilauslomake_hetu1k').value != '00' && $('tilauslomake_hetu1p').value != '00' && $('tilauslomake_hetu1v').value != '00'){
      tiedotKunnossa = 1;
      arvo7 = 1;
      arvo8 = 1;
      arvo9 = 1;
      if($('syntymaaika_color_code')){
         $('syntymaaika_color_code').style.background = '#e4f2f3';
      }
      $('hetu_virhe').innerHTML = "";
   }else{
      arvo8 = 0;
      tiedotKunnossa = 0;
      $('next_phase').style.display = 'none';
      if($('ruotsiksi') && $('ruotsiksi').checked){
         if($('syntymaaika_color_code')){
            $('syntymaaika_color_code').style.background = '#f0b2b0';
         }
         $('hetu_virhe').innerHTML = 'Fyll i ditt f&ouml;delsedatum.';
      }else{
         if($('syntymaaika_color_code')){
            $('syntymaaika_color_code').style.background = '#f0b2b0';
         }
         $('hetu_virhe').innerHTML = 'T&auml;yt&auml; henkil&ouml;tunnuksesi.';
      }
   }
   tarkistaTunnusosa();
}

function tarkistaHetuv(){
   if($('tilauslomake_hetu1v').value != '00' && $('tilauslomake_hetu1p').value != '00' && $('tilauslomake_hetu1k').value != '00'){
      tiedotKunnossa = 1;
      arvo7 = 1;
      arvo8 = 1;
      arvo9 = 1;
      if($('syntymaaika_color_code')){
         $('syntymaaika_color_code').style.background = '#e4f2f3';
      }
      $('hetu_virhe').innerHTML = "";
   }else{
      arvo9 = 0;
      tiedotKunnossa = 0;
      if($('ruotsiksi') && $('ruotsiksi').checked){
         if($('syntymaaika_color_code')){
            $('syntymaaika_color_code').style.background = '#f0b2b0';
         }
         $('hetu_virhe').innerHTML = 'Fyll i ditt f&ouml;delsedatum.';
      }else{
         if($('syntymaaika_color_code')){
            $('syntymaaika_color_code').style.background = '#f0b2b0';
         }
         $('hetu_virhe').innerHTML = 'T&auml;yt&auml; henkil&ouml;tunnuksesi.';
      }
   }
   tarkistaTunnusosa();
}

function tarkistaTunnusosa(){
   if ($('tilauslomake_tunnusosa').value != null && $('tilauslomake_tunnusosa').value != "") {
       var pp = poistaValit($('tilauslomake_hetu1p').value);
       var kk = poistaValit($('tilauslomake_hetu1k').value);
       var vv = poistaValit($('tilauslomake_hetu1v').value);
       var tunnusosa = poistaValit($('tilauslomake_tunnusosa').value);

       var tarkistusmerkit = "0123456789ABCDEFHJKLMNPRSTUVWXY";

       var tarkistusluku = parseInt(pp + kk + vv + tunnusosa.substr(0,3),10) % 31;
       var tarkistusmerkki = tarkistusmerkit.charAt(tarkistusluku);

       if (tarkistusmerkki == tunnusosa.charAt(3).toUpperCase()) {
          var hetu = pp + kk + vv + "-" + tunnusosa.substr(0,3) + tunnusosa.charAt(3).toUpperCase();
          var hetuOikein = /\d{6}[+-A]\d{3}[0-9ABCDEFHJKLMNPRSTUVWXY]/;
          if (hetuOikein.test(hetu)) {
              if($('syntymaaika_color_code')){
                 $('syntymaaika_color_code').style.background = '#e4f2f3';
               }
               $('hetu_virhe').innerHTML = "";
               arvo11 = 1;
               tiedotKunnossa = 1;
          } else {
               if($('ruotsiksi') && $('ruotsiksi').checked){
                  $('hetu_virhe').innerHTML = 'Kontrollera ditt f&ouml;delsedatum.';
               }else{
                  $('hetu_virhe').innerHTML = 'Tarkista henkil&ouml;tunnuksesi..';
               }
               if($('syntymaaika_color_code')){
                  $('syntymaaika_color_code').style.background = '#f0b2b0';
               }
               arvo11 = 0;
               tiedotKunnossa = 0;
          }
       } else {
          if($('ruotsiksi') && $('ruotsiksi').checked){
             $('hetu_virhe').innerHTML = 'Kontrollera ditt f&ouml;delsedatum.';
          }else{
             $('hetu_virhe').innerHTML = 'Tarkista henkil&ouml;tunnuksesi..';
          }
          if($('syntymaaika_color_code')){
             $('syntymaaika_color_code').style.background = '#f0b2b0';
          }
          arvo11 = 0;
          tiedotKunnossa = 0;
       }
    } else {
          if($('ruotsiksi') && $('ruotsiksi').checked){
             $('hetu_virhe').innerHTML = 'Fyll i ditt f&ouml;delsedatum.';
          }else{
             $('hetu_virhe').innerHTML = 'T&auml;yt&auml; henkil&ouml;tunnuksesi.';
          }
          if($('syntymaaika_color_code')){
             $('syntymaaika_color_code').style.background = '#f0b2b0';
          }
          arvo11 = 0;
          tiedotKunnossa = 0;
    }
    lomakeTaytetty();
}

function hyvaksyEhdot(){
   if($('tilauslomake_ehdot').checked && cart.length != 0){
      ehdotValittu = 1;
      // next_phase-linkkia muokattava menemaan submitToCGI():hin
      setNodeAttribute($('next_phase'), 'onclick', 'submitToCGI();');
      if($('ehtojen_virhe')){
         $('ehtojen_virhe').style.display = 'none';
      }
      $('next_phase').style.display = 'block';
   }else{
      // next_phase-linkkia muokattava menemaan tarkistaEhtojenValinta():hin
      ehdotValittu = 0;
      if($('ehtojen_virhe')){
         $('ehtojen_virhe').style.display = 'block';
      }
      $('next_phase').style.display = 'none';
   }
   tarkistaKieli();
}

function tarkistaEhtojenValinta() {
   if(ehdotValittu == 0){
      if($('ehtojen_virhe')){
         $('ehtojen_virhe').style.display = 'block';
         $('next_phase').style.display = 'none';
      }
   }else{
      if($('ehtojen_virhe')){
         $('ehtojen_virhe').style.display = 'none';
         // setting behaviour for JATKA TILAUSTA button
         setNodeAttribute($('next_phase'), 'onclick', 'submitToCGI();');
         $('next_phase').style.display = 'block';
      }
   }
}

function submitToCGI() {
   log("sitten cgi:lle");
   var names = ["etunimi", "sukunimi", "osoite",
               "pnumero", "ptoimip", "mpuhelin", "puhelin",
               "sposti", "hetu1p", "hetu1k", "hetu1v", "kortti",
               "tunnusosa", "ehdot", "keyword-A"];
 
   for (i = 0; i < names.length; i++) {
    var wname = 'tilauslomake_' + names[i];
     if ($(wname)) {
        if (wname == 'tilauslomake_mpuhelin' || wname == 'tilauslomake_puhelin' ) {
           log("trying to insert into", names[i]);
           document.test[names[i]].value = $(wname).value.replace(/-/g,"");
        } else {
           log("trying to insert into", names[i]);
           document.test[names[i]].value = $(wname).value;
        }
     }
   }


   /* kaikki tuotteet, joiden kohdalle kaikki laskutusjaksovalinnat */

   var valittu = '1';

   if($('t1147')){
      for(i=0; i<$('laskutusjakso_norm').kkvalinta.length; i++) {
          if($('laskutusjakso_norm').kkvalinta[i].checked) {
             valittu = $('laskutusjakso_norm').kkvalinta[i].value;
          }
      }
   }else{
      valittu = '1';
   }
   log("valittu: ", valittu);

   var palvelukieli = "";

/*   
   for(j=0;j<$('palvelukieli').palvelu.length;j++){
       if($('palvelukieli').palvelu[j].checked){
          palvelukieli = $('palvelukieli').palvelu[j].value;
       }
   }
*/
   
   var kielet = getElementsByTagAndClassName('input','ruksiboksi',$('palvelukieli'));
   for(j=0;j<kielet.length;j++){
       if(kielet[j].checked){
          palvelukieli = kielet[j].value;
       }
   }

   document.test.kieli.value = palvelukieli;

   if($('maksutapa') && getStyle($('maksutapavalinta'),'display') == 'block'){
      var maksutapa = "";
      for(m=0;m<$('maksutapa').maksuvalinta.length;m++){
          if($('maksutapa').maksuvalinta[m].checked){
             maksutapa = $('maksutapa').maksuvalinta[m].value;
          }
      }
      document.test.maksu.value = maksutapa;
   }else{
      if(document.test.maksu) {
         document.test.maksu.value = 'lasku';
      }
   }

   document.test.jakso.value = valittu;

   // chosen products now in two different variables: cart (array) and chosen_card (lisakortit),
   // combination product's id is fetched to combination_id variable
   
   // if combination product is selected
   if(combination_id != 'none'){
      log("Using combination product" +combination_id);
      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+combination_id, 'value': 'on'}));
      // add also possible URHOtv product
      if(cart[2] && cart[2].indexOf('nopid') == -1){
         log("Product addon: " +cart[2]);      
         // urho addon
         if (isdefined('urhoAddon') && urhoAddon) {
             document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+urhoAddon, 'value': 'on'}));
         } else {
	     document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+11000, 'value': 'on'}));
         } 
      } else {
      	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'noprid3', 'value': 'noprid3'}));
      }
      
      for(z=0;z<cart.length;z++){
      	if (z==0) {
              document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid1', 'value': cart[z]}));
        } else if (z==1) {
              document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid2', 'value': cart[z]}));
        } else if (z==2){
             document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid3', 'value': cart[z]}));
        }
      }
      // if combination product isn't selected
   }else{
     for(z=0;z<cart.length;z++){
       
       // add also "fake" products in order to be able to return from CGI back to web store without having to ask java about individual product ids
        if(cart[z] == 'nopid1') {
        	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'noprid1', 'value': 'noprid1'}));
        	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid1', 'value': cart[z]}));
        } else if (cart[z] == 'nopid2') {
        	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'noprid2', 'value': 'noprid2'}));
        	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid2', 'value': cart[z]}));
        } else if (cart[z] == 'nopid3') {
        	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'noprid3', 'value': 'noprid3'}));
        	document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid3', 'value': cart[z]}));
        } else {
        	if (z==0) {
                 document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+cart[z], 'value': 'on'}));
                 document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid1', 'value': cart[z]}));
              }
        	if (z==1) {
                 if(isdefined('promo') && promo != null && promo == true){
      	             document.test.appendChild(INPUT({'type': 'hidden', 'name': 'noprid2', 'value': 'noprid2'}));
                    document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid2', 'value': 'noprid2'}));
                 } else {
                    document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+cart[z], 'value': 'on'}));
                    document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid2', 'value': cart[z]}));
                 }
              }
              if (z==2) {
                 if(isdefined('promo') && promo != null && promo == true){
        	      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'noprid3', 'value': 'noprid3'}));
        	      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid3', 'value': cart[z]}));
                 } else {
        	      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'pid3', 'value': cart[z]}));
                    if (cart[0] == 'nopid1' && cart[1] == 'nopid2') {
                    // urho standalone
                       if (isdefined('urhoStandalone') && urhoStandalone) {
                          document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+urhoStandalone, 'value': 'on'}));
                       } else {
                          document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+10059, 'value': 'on'}));
                       }
                    } else {
                    // urho addon
                       if (isdefined('urhoAddon') && urhoAddon) {
                          document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+urhoAddon, 'value': 'on'}));
                       } else {
             	            document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+11000, 'value': 'on'}));
                       }
                    }
                 }
              }
         }
      }
   }


   if(chosen_card != '' && chosen_card.length == 4 && cart[0] != 'nopid1'){
       document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+chosen_card, 'value': 'on'}));
   }
   if(junnu_card != '' && junnu_card.length == 4 && cart[0] != 'nopid1'){
       document.test.appendChild(INPUT({'type': 'hidden', 'name': 'tuote-'+junnu_card, 'value': 'on'}));
   }
   if($('kanavavalitsin_kokopaketti') && $('kanavavalitsin_kokopaketti').style.display == 'block'){
      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'koko', 'value': 'on'}));
      log('kokopaketti');
   }else if($('kanavavalitsin_omapaketti') && $('kanavavalitsin_omapaketti').style.display == 'block'){
      for(o=0;o<oma_kori.length;o++){
          document.test.appendChild(INPUT({'type': 'hidden', 'name': oma_kori[o], 'value': 'on'}));
      }
   }else if($('kanavavalitsin_pikkupaketti') && $('kanavavalitsin_pikkupaketti').style.display == 'block'){
      for(p=0;p<pikku_kori.length;p++){
          document.test.appendChild(INPUT({'type': 'hidden', 'name': pikku_kori[p], 'value': 'on'}));
      }
   } else if (eiEmuxArray.indexOf(cart[0]) >= 0) {
      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'ch13', 'value': 'on'}));
      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'ch15', 'value': 'on'}));
      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'ch16', 'value': 'on'}));
      document.test.appendChild(INPUT({'type': 'hidden', 'name': 'ch22', 'value': 'on'}));
   }

   // SITOVUUSVALINNAT:
  if($('sopimusjaksot')){
   if(isdefined('kateis') && kateis == true){
     var startit = getElementsByTagAndClassName('input','inputs_starttipaketti');
     var selected_contract = '';
     for(s=0;s<startit.length;s++){
         if(startit[s].checked){
            // substring of id "inputs_contract_xx"
            selected_contract = startit[s].getAttribute('id').substring(15);
         }
     }

     for(c=0;c<cart.length;c++){
      if(cart[c].indexOf('nopid') == -1){
         document.test.appendChild(INPUT({'type': 'hidden', 'name': 'sitovuus-tuote-'+cart[c], 'id': 'sitovuus-tuote-'+cart[c],'value': selected_contract}));
      }
     }
   }else{
     var sitovuudet = getElementsByTagAndClassName('input','sitovuusvalinta');
     for(sit=0;sit<sitovuudet.length;sit++){
        if(sitovuudet[sit].checked){
           document.test.appendChild(INPUT({'type': 'hidden', 'name': 'sitovuus-tuote-'+sitovuudet[sit].getAttribute('name').substring(18), 'id': 'sitovuus-tuote-'+sitovuudet[sit].getAttribute('name').substring(18),'value': sitovuudet[sit].getAttribute('id').substring(17)}));
        }
     }
   }
  }

   log("FORM VALUES");
   for(i=0; i<document.test.elements.length; i++)
    {
    log("Input: "+ document.test.elements[i].name + " value: " + document.test.elements[i].value);
    }
   document.test.submit();
}

function transform(kanava) {
        var name;
        if(kanava == 'ch13'){
                name = 'MTV3 MAX';
        }else if(kanava == 'ch14'){
                name = 'MTV3 Fakta';
        }else if(kanava == 'ch15'){
                name = 'Sub Leffa';
        }else if(kanava == 'ch16'){
                name = 'Sub Juniori';
        }else if(kanava == 'ch17'){
                name = 'Discovery Channel';
        }else if(kanava == 'ch25'){
                name = 'Disney Channel';
        }else if(kanava == 'ch18'){
                name = 'Eurosport';
        }else if(kanava == 'ch24'){
                name = 'KinoTV';
        }else if(kanava == 'ch19'){
                name = 'Music Television';
        }else if(kanava == 'ch21'){
                name = 'Nickelodeon';
        }else if(kanava == 'ch22'){
                name = 'SVT World';
        }else if(kanava == 'ch12'){
                name = 'Nelonen Sport Pro';
        }else if(kanava == 'ch69'){
                name = 'DIGIVIIHDE';
        }
        return name;
}

function showInfo(channel,lang){
   $('popup_layer').style.display = 'block';
   $('popup_layer').style.top =  getPageScroll()[1] + (getPageHeight() / 10) + 'px';
   //$('popup_layer').style.left = '385.5px';
   $('popup_layer').style.left = getPageWidth() / 2 - (635 / 2) + 'px';
   aloita(channel,lang);
}

function getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {         // Explorer 6 Strict
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;
    }
    return new Array(xScroll,yScroll)
}

function getPageHeight() {
    var windowHeight
    if (self.innerHeight) {     // all except Explorer
      windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
      windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
      windowHeight = document.body.clientHeight;
    }
    return windowHeight
}

function getPageWidth() {
    var windowWidth
    if (self.innerWidth) {     // all except Explorer
      windowWidth = self.innerWidth;
    } else if (document.documentElement && document.documentElement.clientWidth) { // Explorer 6 Strict Mode
      windowWidth = document.documentElement.clientWidth;
    } else if (document.body) { // other Explorers
      windowWidth = document.body.clientWidth;
    }
    return windowWidth
}


function channel_hover(place) {
   if (document.getElementById('channel_select_bg_' + place + '_disabled').style.display != 'block') {
      document.getElementById('channel_select_bg_' + place).style.display = 'none';
      document.getElementById('channel_select_bg_' + place + '_active').style.display = 'block';
   }
}

function channel_hover_out(place) {
   if (document.getElementById('channel_select_bg_' + place + '_disabled').style.display != 'block') {
      document.getElementById('channel_select_bg_' + place).style.display = 'block';
      document.getElementById('channel_select_bg_' + place + '_active').style.display = 'none';
   }
}


function tikkeri(obj){
   var haettavaJuttu = "include/page_include.jsp?otsikko=yes&sl2=1&id=" + obj;
   var pyynto = doSimpleXMLHttpRequest(haettavaJuttu);
   $('tikkeri_helpperi').style.display = 'block';
   //appear($('tikkeri_helpperi'));
   pyynto.addCallback(naytaJuttuA);
   return false;
}

function naytaJuttuA(result){
  $('tikkeri_helpperi').innerHTML = '<a href="#" class="close" title="Sulje" onclick="return hidetikkeri();">X</a>';
  //$('tikkeri_helpperi').innerHTML += '<p>TESTI</p>';
  $('tikkeri_helpperi').innerHTML += result.responseText;
  return false;
}

function hidetikkeri() {
  //fade($('tikkeri_helpperi'));
  $('tikkeri_helpperi').style.display = 'none';
  return false;
}