//<![CDATA[
function confirmSubmit(msg)
  {
    var msg = msg || "Are you sure you wish to continue?";

    var agree = confirm(msg);

    if (agree)
      return true;
    else
      return false;
  }

function resizeWindow(width, height)
{
  window.resizeTo(width, height);
}

function setShipping(obj)
{
  if(obj.shippingMode.checked == true)
  {
    obj.shippingFirstName.value         = obj.billingFirstName.value;
    obj.shippingLastName.value          = obj.billingLastName.value;
    obj.shippingCompanyName.value       = obj.billingCompanyName.value;

    obj.shippingCountryId.selectedIndex = obj.billingCountryId.selectedIndex;

    obj.shippingAddress1.value          = obj.billingAddress1.value;
    obj.shippingAddress2.value          = obj.billingAddress2.value;
    obj.shippingCity.value              = obj.billingCity.value;

  //  obj.shippingStateId.selectedIndex   = obj.billingStateId.selectedIndex;
    obj.shippingZip.value               = obj.billingZip.value;
    obj.shippingPhone.value             = obj.billingPhone.value;
    obj.shippingFax.value               = obj.billingFax.value;
  }
  else
  {
    obj.shippingFirstName.value         = '';
    obj.shippingLastName.value          = '';
    obj.shippingCompanyName.value       = '';
    obj.shippingCountryId.selectedIndex = '';
    obj.shippingAddress1.value          = '';
    obj.shippingAddress2.value          = '';
    obj.shippingCity.value              = '';

    obj.shippingStateId.selectedIndex   = '';
    obj.shippingZip.value               = '';
    obj.shippingPhone.value             = '';
    obj.shippingFax.value               = '';
  }
  xajax_getStates('selectShippingStateId', obj.shippingCountryId.selectedIndex, obj.billingStateId.selectedIndex, 'shippingStateId');
}

function resizeWindow(width, height)
{
  window.resizeTo(width, height);
}


function convertToMoney(price, prefix, decimals, dec_point, thousands_sep)
{
  var price = price || 0;
  var decimals = decimals || 2;
  var dec_point = dec_point || '.';
  var thousands_sep = thousands_sep || ',';
  var prefix = prefix || '$';
  var price_sign = '';
  
  if (price != 0)
  {
    if (price<0)
    {
      price_sign = '-';
      price = Math.abs(price);
    }
    price = Math.round(price * Math.pow(10, decimals));
    price = price.toString();
    priceDec = dec_point + price.substr(price.length-decimals, price.length);
    price = price.substr(0, price.length-decimals);
  }
  
  price = price.replace(/(\d)(?=(\d{3})+([.]|$))/g,"$1"+thousands_sep)
  
  newPrice = price_sign + prefix + price + priceDec;
  return newPrice;
}

function changeMetalPrice(metal)
{ 
  var retail;
 
  if (arPriceForMetal != undefined)
  {
    document.getElementById('price').innerHTML = arPriceForMetal[metal];
    retail = arPriceForMetal[metal];
    retail = retail.replace('$','');
    retail = retail.replace(',','');
    retail = retail/1.25 *2.5;
    retail = convertToMoney(retail);

    document.getElementById('retailPrice').innerHTML = retail;
    
  }  
}

function goldBandsFilter()
{
  var metal = document.getElementById('metal').options[document.getElementById('metal').options.selectedIndex].innerHTML;
  var fingerSize = document.getElementById('fingerSize').options[document.getElementById('fingerSize').options.selectedIndex].innerHTML;
  var millimeterSize = document.getElementById('millimeterSize').options[document.getElementById('millimeterSize').options.selectedIndex].innerHTML;
  var arTmp = [];
  var i=0;

  for (key in goldbandsListTable)
  {
    var value = goldbandsListTable[key];
    var matchMetal = false;
    var matchFingerSize = false;
    var matchMillimeterSize = false;

    if (metal != 'Please select...')
    {
      if(value.metalName == metal) matchMetal = true;
    }
    else matchMetal = true;

    if (fingerSize != 'Please select...')
    {
      if (value.fingerSizeName == fingerSize) matchFingerSize = true;
    }
    else matchFingerSize = true;

    if (millimeterSize != 'Please select...')
    {
      if (value.millimeterSizeName == millimeterSize) matchMillimeterSize = true;
    }
    else matchMillimeterSize = true;

    if (matchMetal && matchFingerSize && matchMillimeterSize)
    {
      arTmp[i] = goldbandsListTable[key];
      i++;
    }
  }

  var htTable = document.getElementById('tbodyId');
  var htBody = document.createElement("tbody");
  var htTR, htTD, htCB;

  // clear table body
  htTable.removeChild(htTable.tBodies[0]);
  htTable.appendChild(htBody);


  for (key=0; key<arTmp.length; key++)
  {
    htTR = htBody.insertRow(key);
    if (key % 2 != 0) htTR.style.backgroundColor='#EDF3F3';

    htTD = htTR.insertCell(0);

    htCB = document.createElement("input");
    htCB.type = 'checkbox';
    htCB.name = 'idList[]';
    htCB.value = arTmp[key].id;
    htTD.appendChild(htCB);

    var j=0;
    for (field in arListFieldsView)
    {
      j++;
      htTD = htTR.insertCell(j);
      htTD.className = "rowCart";
      if (arTmp[key][arListFieldsView[field].selectAs] !='' && arTmp[key][arListFieldsView[field].selectAs] !='0')
        htTD.innerHTML = arTmp[key][arListFieldsView[field].selectAs];
    }
  }
}

/*
function changePriceGoldBands_Old()
{
  var metal = document.getElementById('metal').options[document.getElementById('metal').options.selectedIndex].innerHTML;
  var fingerSize = document.getElementById('fingerSize').options[document.getElementById('fingerSize').options.selectedIndex].innerHTML;
  var millimeterSize = document.getElementById('millimeterSize').options[document.getElementById('millimeterSize').options.selectedIndex].innerHTML;
  var arTmp = [];
  var i=0;

  for (key in goldbandsListTable)
  {
    var value = goldbandsListTable[key];
    var matchMetal = false;
    var matchFingerSize = false;
    var matchMillimeterSize = false;

    if (metal != 'Please select...')
    {
      if(value.metalName == metal) matchMetal = true;
    }
    else matchMetal = false;

    if (fingerSize != 'Please select...')
    {
      if (value.fingerSizeName == fingerSize) matchFingerSize = true;
    }
    else matchFingerSize = false;

    if (millimeterSize != 'Please select...')
    {
      if (value.millimeterSizeName == millimeterSize) matchMillimeterSize = true;
    }
    else matchMillimeterSize = false;

    if (matchMetal && matchFingerSize && matchMillimeterSize)
    {
      arTmp[i] = goldbandsListTable[key];
      i++;
    }
  }

  if (arTmp.length != 0)
  {
    document.getElementById('priceCaption').style.display = 'block';
    document.getElementById('price').innerHTML = arTmp[0]['priceName'];
    document.getElementById('btShop').style.display = 'block';
    document.getElementById('btWish').style.display = 'block';
  }
  else
  {
    document.getElementById('priceCaption').style.display = 'none';
    document.getElementById('price').innerHTML = '';
    document.getElementById('btShop').style.display = 'none';
    document.getElementById('btWish').style.display = 'none';
  }
}
*/

function changeGoldBandsSelectBy(metal, fingerSize)
{
  selectFingerSize = document.getElementById('fingerSize');
  selectMillimeterSize = document.getElementById('millimeterSize');
  //clear' select
  if (selectFingerSize != undefined) selectFingerSize.options.length = 0;
  if (selectMillimeterSize != undefined) selectMillimeterSize.options.length = 0;

  var iFS = 0;
  var iMS = 0;
  var metalSub, fingerSizeSub;

  //fill' select
  if (arGoldBendsDropDown['_'+metal] != undefined)
  {
    metalSub = arGoldBendsDropDown['_'+metal].subItems;

    for (keyFS in metalSub)
    {
      if (selectFingerSize != undefined)
      {
        selectFingerSize.options[iFS] = new Option(metalSub[keyFS].text, metalSub[keyFS].value, false, false);
        iFS++;
      }

      if (typeof(fingerSizeSub) != 'object')
      {
        if (metalSub['_'+fingerSize] == undefined)
        {
          fingerSizeSub = metalSub[keyFS].subItems;
        }
        else
        {
          fingerSizeSub = metalSub['_'+fingerSize].subItems;
        }
      }
    }

    if (selectMillimeterSize != undefined)
    {
      for (keyMS in fingerSizeSub)
      {
        selectMillimeterSize.options[iMS] = new Option(fingerSizeSub[keyMS].text, fingerSizeSub[keyMS].value, false, false);
        iMS++;
      }
    }

  }
}

function getSelectedOptionText(selectId)
{
  var select = document.getElementById(selectId);
  if (select != undefined)
  {
    var selectedIndex = select.options.selectedIndex;
    return (selectedIndex == -1)? '' : select.options[selectedIndex].text;
  }
  else
  {
    return '';
  }
}

function getSelectedOptionValue(selectId)
{
  var select = document.getElementById(selectId);
  if (select != undefined)
  {
    var selectedIndex = select.options.selectedIndex;
    return (selectedIndex == -1)? '' : select.options[selectedIndex].value;
  }
  else
  {
    return '';
  }
}

function changePriceGoldBands()
{
  var metal = getSelectedOptionValue('metal');
  var fingerSize = getSelectedOptionValue('fingerSize');
  var millimeterSize = getSelectedOptionValue('millimeterSize');

  changePriceGoldBandsEx(metal, fingerSize, millimeterSize);
}

function selectOptionByText(selectId, text)
{
  var select = document.getElementById(selectId);
  if (select != undefined)
  {
    for (i=0; i<select.options.length; i++)
    {
      if (select.options[i].text == text)
      {
        select.value = select.options[i].value;
      }
    }
  }
}

function selectOptionByValue(selectId, value)
{
  var select = document.getElementById(selectId);
  if (select != undefined)
  {
    for (i=0; i<select.options.length; i++)
    {
      if (select.options[i].value == value)
      {
        select.value = select.options[i].value;
      }
    }
  }
}

function changePriceGoldBandsEx(metal, fingerSize, millimeterSize)
{
  var arItems = [];
  var i=0;

  selectOptionByValue('metal', metal);

  changeGoldBandsSelectBy(metal, fingerSize);

  selectOptionByValue('fingerSize', fingerSize);
  selectOptionByValue('millimeterSize', millimeterSize);

  //get selects again
//  var selectFingerSize = document.getElementById('fingerSize');
//  var selectMillimeterSize = document.getElementById('millimeterSize');

  fingerSize = getSelectedOptionValue('fingerSize');
  millimeterSize = getSelectedOptionValue('millimeterSize');

  for (key in goldbandsListTable)
  {
    var value = goldbandsListTable[key];

    if(value.metal == metal)
    {
      if (value.fingerSize == fingerSize)
      {
        if (value.millimeterSize == millimeterSize)
        {
          arItems[i] = goldbandsListTable[key];
          i++;
        }
      }
    }
  }

  if (arItems.length != 0)
  {
    document.getElementById('priceCaption').style.display = 'block';
    document.getElementById('priceRetailCaption').style.display = 'block';
    document.getElementById('price').innerHTML = arItems[0]['priceName'];
    document.getElementById('priceRetail').innerHTML = arItems[0]['priceRetailName'];
    document.getElementById('btShop').style.display = 'block';
    document.getElementById('btWish').style.display = 'block';
  }
  else
  {
    document.getElementById('priceCaption').style.display = 'none';
    document.getElementById('price').innerHTML = '';
    document.getElementById('priceRetailCaption').style.display = 'none';
    document.getElementById('priceRetail').innerHTML = '';
    document.getElementById('btShop').style.display = 'none';
    document.getElementById('btWish').style.display = 'none';
  }
}

function PopUpEx(url, name, height, width, options)
{
  var options = options || {};
  
  // here all 'else' conditions are defaults
  var resizable = (options.resizable != undefined)? options.resizable : 1 ;
  var toolbar = (options.toolbar != undefined)? options.toolbar : 0;
  var location = (options.location != undefined)? options.location : 0;
  var status = (options.status != undefined)? options.status : 0;
  var menubar = (options.menubar != undefined)? options.menubar : 0;
  var directories = (options.directories != undefined)? options.directories : 0;
  var scrollbars = (options.scrollbars != undefined)? options.scrollbars : 'yes';
  var top = (options.top != undefined)? options.top : 0;
  var left = (options.left != undefined)? options.left : 0;
  var scrollbars = (options.scrollbars != 1)? '' : 'scrollbars'; //by default on
  
  var w=window.open(url, name, scrollbars + "width="+width+",height="+height+",resizable=" + resizable + ",toolbar=" + toolbar + ",location=" + location + ",status=" + status + ",menubar=" + menubar + ",directories=" + directories + ",scrollbars=" + scrollbars + ",top=" + top + ",left=" + left + "");
  w.focus();
}

//]]>