var min_width=0;
var max_width=0;
var min_drop=0;
var max_drop=0;
var price=0;

// calculates the minimum price for current product
function getMinimumPrice(form_calc)
{
  //var discount=venetianmm_arr[0][6] / 100;
  var min_price=vertical_arr[0][6][3][0];
  
  for(i=0; i<vertical_arr.length; i++)
  { 
      var slat_arr=vertical_arr[i][6];
      for(j=0; j<slat_arr[0].length; j++)
      { 
        var cur_price=slat_arr[3][j]*(1-discount_);
        if (min_price>cur_price)
        {
          min_price=cur_price;
        }
      }
    
  }
  min_price=formatDecimal(min_price,true,2);
  document.getElementById('minprice').innerHTML = min_price;
}

function CheckReferrer() {
  
  var ref = document.referrer;
  if(ref != "http://www.webwoodenblinds.co.uk/vertical-blinds-nextday.html")
    document.form_calcvertical.nextday.selectedIndex = 1; // select default "Standard, 5 days" when not coming from above links
  else
    document.form_calcvertical.nextday.selectedIndex = 0; // select default "Nextday"
//    document.form_calcvertical.nextday.selectedIndex = 1; // for bank holiday
}

function getParams()
{
  var idx = document.URL.indexOf('?');
  var params = new Array();
  if (idx != -1)
  {
    var pairs = document.URL.substring(idx+1, document.URL.length).split('&');
    for (var i=0; i<pairs.length; i++)
    {
      nameVal = pairs[i].split('=');
      params[nameVal[0]] = nameVal[1];
    }
  }
  return params;
}

function SetOtherParams()
{
    params = getParams();
    if (params["controls"] && params["louvre"] && params["stack"] && params["recess"] && params["bracket"] && params["headrail"])
    {
        document.form_calcvertical.louvre_value.value = params["louvre"];
        selectLouvre(document.form_calcvertical.louvre_value.value);
        document.form_calcvertical.controls.value = params["controls"];
        document.form_calcvertical.stack_pos.value = params["stack"];
        document.form_calcvertical.recess.value = params["recess"];
        document.form_calcvertical.bracket.value = params["bracket"];
        document.form_calcvertical.headrail.value = params["headrail"];
    }

  if (params["slat"])
    {
        document.form_calcvertical.louvre_value.value = params["slat"];
        selectLouvre(document.form_calcvertical.louvre_value.value);

    var slatObj = document.form_calcvertical.louvre;
    for(k = 0; k < slatObj.length; k++) {
      if(slatObj[k].value == params["slat"])
        slatObj[k].checked = true;
    }
    }
  
}

function formatDecimal(argvalue, addzero, decimaln) {
  var numOfDecimal = (decimaln == null) ? 2 : decimaln;
  var number = 1;

  number = Math.pow(10, numOfDecimal);

  argvalue = Math.round(parseFloat(argvalue) * number) / number;
  
  argvalue = "" + argvalue;

  if (argvalue.indexOf(".") == 0)
    argvalue = "0" + argvalue;

  if (addzero == true) {
    if (argvalue.indexOf(".") == -1)
      argvalue = argvalue + ".";

    while ((argvalue.indexOf(".") + 1) > (argvalue.length - numOfDecimal))
      argvalue = argvalue + "0";
  }

  return argvalue;
}

function selectLouvre(louvre)
{
  document.form_calcvertical.louvre_value.value=louvre; // radul

  document.form_calcvertical.price.value="";
  document.form_calcvertical.saveprice.value="";
  document.form_calcvertical.addtobasket.disabled=false;
  var louvre_poz=-1;
  for(i=0; i<vertical_arr.length;i++)
  {
    if(vertical_arr[i][0]==louvre)
      louvre_poz=i;
  }
  if(louvre_poz<0)
    return;
    
   //document.form_calcvertical.louvre.value=louvre;


  //add min max
  /*var widthminmax=document.form_calcvertical.widthminmax;
  widthminmax.options[1]=null;
  widthminmax.options[0]=null;
  
  widthminmax.options[0]=new Option(vertical_arr[louvre_poz][2], 1);*/
  min_width=parseInt(vertical_arr[louvre_poz][2]);
  //widthminmax.options[1]=new Option(vertical_arr[louvre_poz][3], 2);
  max_width=parseInt(vertical_arr[louvre_poz][3]);
  //widthminmax.value=2;
  
  /*var dropminmax=document.form_calcvertical.dropminmax;
  dropminmax.options[0]=null;
  
  dropminmax.options[0]=new Option(vertical_arr[louvre_poz][4], 1);*/
  min_drop=parseInt(vertical_arr[louvre_poz][4]);
  //dropminmax.options[1]=new Option(vertical_arr[louvre_poz][5], 2);
  max_drop=parseInt(vertical_arr[louvre_poz][5]);
  //dropminmax.value=2;
  
  price=0;
  
  params = getParams();
  
  width = params["width"];
  drop = params["drop"];
  
  if((width!="")&&(typeof(width) != "undefined"))
    document.form_calcvertical.custom_width.value=unescape(width);
  if((drop!="")&&(typeof(drop) != "undefined"))
    document.form_calcvertical.custom_drop.value=unescape(drop);
  
  if((document.form_calcvertical.custom_drop.value!="")&&(document.form_calcvertical.custom_width.value!=""))
    GetCustomPrice();
}

function AddLouvres()
{
  //add louvres
  /* radul */
  var louvre_value = GetSlatValue(document.form_calcvertical);
  document.form_calcvertical.louvre_value.value = louvre_value; // put selected slat's value in a hidden field

  selectLouvre(louvre_value); //select default louvre 
  
}

function ChangePrice(custom_ctrl, form_calc)
{
  custom_ctrl.value="";
  form_calc.price.value="";
  form_calc.saveprice.value="";
  //form_calc.addtobasket.disabled=true; 
}

function GetPrice(prices_arr, width, drop)
{
  var min_dif_width=-1, min_dif_drop=-1;
  var sel_width=-1, sel_drop=-1;
  var price=0;
  for(i=0;i<prices_arr[0].length;i++)
  {
    var cur_dif_width=prices_arr[1][i]-width;
    var cur_dif_drop=prices_arr[2][i]-drop;
    //alert("dif curenta: "+cur_dif_width+"   width: "+sizes_arr[1][i]+" custom width:"+custom_width);
    if(((min_dif_width==-1)||(cur_dif_width<min_dif_width))&&(cur_dif_width>=0))
    {
      min_dif_width=cur_dif_width;
      sel_width=prices_arr[1][i];
      sel_drop=-1;
      min_dif_drop=-1;
    }
    
    if(prices_arr[1][i]==sel_width)
      if(((min_dif_drop==-1)||(cur_dif_drop<min_dif_drop))&&(cur_dif_drop>=0)&&(min_dif_width!=-1))
      {
        min_dif_drop=cur_dif_drop;
        sel_drop=prices_arr[2][i];
        price=prices_arr[3][i];
      }
  }
  return price;
}

function GetMaxWidth(prices_arr, drop)
{
  var max_width=0;
  var min_dif_drop=-1;
  var sel_drop=-1;
  for(i=0;i<prices_arr[0].length;i++)
  {
    var cur_dif_drop=prices_arr[2][i]-drop;
    if(((min_dif_drop==-1)||(cur_dif_drop<min_dif_drop))&&(cur_dif_drop>=0))
    {
      min_dif_drop=cur_dif_drop;
      sel_drop=prices_arr[2][i];
      max_width=0;
    }
    
    if((prices_arr[2][i]==sel_drop)&&(max_width<prices_arr[1][i]))
      max_width=prices_arr[1][i];
  }
  return max_width;
}
  
function GetCustomPrice()
{
  var custom_width=parseInt(document.form_calcvertical.custom_width.value);
  var custom_drop=parseInt(document.form_calcvertical.custom_drop.value);
  if((min_width>custom_width)||(max_width<custom_width)||(isNaN(custom_width)))
  {
    alert("Please enter width between "+min_width+"mm (min) and "+max_width+"mm (max)");
    return false;
  }
  if((min_drop>custom_drop)||(max_drop<custom_drop)||(isNaN(custom_drop)))
  {
    alert("Please enter drop between "+min_drop+"mm (min) and "+max_drop+"mm (max)");
    return false;
  }
  
  //find louvre
  var louvre=-1;
  for(i=0;i<vertical_arr.length; i++)
  {
    if(vertical_arr[i][0]==document.form_calcvertical.louvre_value.value)
      louvre=i;
  }
  if(louvre<0)
    return;
  
  price=GetPrice(vertical_arr[louvre][6], custom_width, custom_drop);
  
  if(price==0)
  {
    var strMaxWidth=GetMaxWidth(vertical_arr[louvre][6], custom_drop);
    alert("Maximum width for the selected drop is "+strMaxWidth+" mm");
    return;
  }

  // NEXTDAY price
  /* *********************************************** */
  var delivery = document.form_calcvertical.nextday;  
  /* *** for bank holiday *** */
  if(delivery.value != 0 && false) {
    alert("Sorry, nextday service is no longer available on this product.");
    document.form_calcvertical.nextday.selectedIndex = 1;
    delivery.value = 0;
  }
  var sel_slat = vertical_arr[louvre][1];

  if (sel_slat == "127mm"){ // no nextday on this slat (verticalmm amo - some products)
    if(delivery.selectedIndex == 0){ // nextday is selected
      alert("Next day service is not available for this slat size!");
    }
    delivery.selectedIndex = 1; // select standard
  }

  var delivery_price = 0;
  
  if (delivery.value != 0)
    delivery_price = 5 / (1 - discount_);

  price += delivery_price;
  /* *********************************************** */

  //document.form_calcvertical.price.value = formatDecimal(price*(1-vertical_arr[louvre][7]), true, 2);
  //document.form_calcvertical.saveprice.value = formatDecimal(price*vertical_arr[louvre][7], true, 2);
  document.form_calcvertical.price.value = formatDecimal(price*(1-discount_), true, 2);
  document.form_calcvertical.saveprice.value = formatDecimal(price*discount_, true, 2);
  document.form_calcvertical.addtobasket.disabled=false;
}

function VerifyVerticalMMForm(form)
{
  if(form.price.value<=0)
  {
    alert('Please insert width and drop first and click the button "Price Calculator"');
    return false;
  }
  return true; 
}

function ConvertInchToMm()
{
  var custom_inches=document.form_calcvertical.custom_inches;
  var custom_mm=document.form_calcvertical.custom_mm;
  
  custom_mm.value=formatDecimal(parseFloat(custom_inches.value.replace(",",".").replace(",","."))*25.4, false, 0);
}

function GetSlatValue(form){ // radul
  var louvre_value;
  for (i=0;i<form.louvre.length;i++) {
    if (form.louvre[i].checked)
      louvre_value = form.louvre[i].value;
  }
  return louvre_value;
}


