function change_diamond(diamond)
{
  document.getElementById('chbox_round').src = "/img/checkbox.png";
  document.getElementById('chbox_oval').src = "/img/checkbox.png";
  document.getElementById('chbox_pear').src = "/img/checkbox.png";
  document.getElementById('chbox_heart').src = "/img/checkbox.png";
  document.getElementById('chbox_princess').src = "/img/checkbox.png";
  document.getElementById('chbox_triangle').src = "/img/checkbox.png";
  document.getElementById('chbox_marquise').src = "/img/checkbox.png";
  document.getElementById('chbox_radiant').src = "/img/checkbox.png";
  document.getElementById('chbox_emerald').src = "/img/checkbox.png";
  document.getElementById('chbox_cushion').src = "/img/checkbox.png";
  
  document.getElementById('chbox_'+diamond).src = "/img/checkbox_selected.png";
  
  document.getElementById('type').value = diamond;  
}

function search_diamonds()
{
  if (document.getElementById('size1').value != "") make_2_decimals('size1');
  if (document.getElementById('size2').value != "") make_2_decimals('size2');
  document.getElementById('search_diamonds').submit();
}

function search_diamonds_back()
{
  document.getElementById('search_diamonds').submit();
}

function change_diamond_list(diamond_id,index,count)
{
  for (i=0;i<count;i++)
  {
    document.getElementById('chbox_'+i).src = "/img/checkbox.png";
  }
  
  document.getElementById('chbox_'+index).src = "/img/checkbox_selected.png";
  
  document.getElementById('id').value = diamond_id;  
}

function show_detail()
{
  document.getElementById('show_diamond_detail').submit();
}

function make_2_decimals(input)
{
  num = "" + document.getElementById(input).value;

  while (num.indexOf(',')>-1) 
  {
    pos = num.indexOf(',');
    num = "" + (num.substring(0, pos) + '.' + num.substring((pos + 1), num.length));
  }
  num1 = Math.round(num*100)/100;
  document.getElementById(input).value = num1.toFixed(2);
}

function send_contact_email()
{
  var email_filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  var phone_filter = /^([0-9]{8,14})+$/;
  if (document.getElementById('name').value =="")
	{
	  alert("Nezadali ste vaše meno.");
	  document.getElementById('name').focus();
	  return false;
	}
	else if (document.getElementById('e-mail').value =="")
	{
	  alert("Nezadali ste vašu e-mailovú adresu.");
	  document.getElementById('e-mail').focus();
	  return false;
	}
	else if (!email_filter.test(document.getElementById('e-mail').value))
	{
	  alert("Nezadali ste správnu e-mailovú adresu.");
	  document.getElementById('e-mail').focus();
	  return false;
	}
	else if (document.getElementById('phone').value =="")
	{
	  alert("Nezadali ste vaše telefónne číslo.");
	  document.getElementById('phone').focus();
	  return false;
	}
	else if (!phone_filter.test(document.getElementById('phone').value))
	{
	  alert("Nezadali ste správne telefónne číslo.");
	  document.getElementById('phone').focus();
	  return false;
	}
  else document.getElementById('send_email').submit();
}

function show (id) 
{
  document.getElementById('p5.0').style.display = "none";
  document.getElementById('p5.1').style.display = "none";
  document.getElementById('p5.2').style.display = "none";
  document.getElementById('p5.3').style.display = "none";
  document.getElementById('p5.4').style.display = "none";
  document.getElementById(id).style.display = "block";
}

function change_ring_sk(code,weight, diameter,i)
{
  var count = document.getElementById('count').value;
  for (j=0;j<count;j++)
  {
    document.getElementById(j).style.display="block";  
  }
  document.getElementById(i).style.display="none";
  document.getElementById('main_image').src = "/img/rings/"+code+".jpg";
  document.getElementById('main_image').alt = code;
  document.getElementById('model_name').innerHTML = code;
  document.getElementById('dimension').innerHTML = weight+"ct /priemer približne "+diameter+"mm/";
}

function change_ring_en(code,weight, diameter,i)
{
  var count = document.getElementById('count').value;
  for (j=0;j<count;j++)
  {
    document.getElementById(j).style.display="block";  
  }
  document.getElementById(i).style.display="none";
  document.getElementById('main_image').src = "/img/rings/"+code+".jpg";
  document.getElementById('main_image').alt = code;
  document.getElementById('model_name').innerHTML = code;
  document.getElementById('dimension').innerHTML = "Weight "+weight+"ct /diameter circa "+diameter+"mm/";
}

function show_banner_slow()
{
  setTimeout("show_banner()",100);
}

function show_banner()
{  
  grayOut(true,{'zindex':'50', 'bgcolor':'#111111', 'opacity':'80'})
  document.getElementById('floating').style.display = "block";
  fade_in('floating');
}

function hide_banner()
{
  fade_out('floating');
  setTimeout("grayOut(false)",900);
  //document.getElementById(id).style.display = "none";
}

/*fade function*/

var TimeToFade = 1000.0;

function fade_in(id)
{
  var element = document.getElementById(id);
  if( element == null ) return;

  if(element.FadeState == null)
  {
    element.FadeState = -2;
  }

  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else if (element.FadeState != 2)
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animate_fade(" + new Date().getTime() + ",'" + id + "')", 33);
  }
}

function fade_out(id)
{
  var element = document.getElementById(id);
  if( element == null ) return;

  if(element.FadeState == null)
  {
    element.FadeState = 2;
  }

  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else if (element.FadeState != -2)
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animate_fade(" + new Date().getTime() + ",'" + id + "')", 33);    
  }
}

function animate_fade(last_tick, id)
{
  var current_tick = new Date().getTime();
  var elapsed_ticks = current_tick - last_tick;

  var element = document.getElementById(id);

  if(element.FadeTimeLeft <= elapsed_ticks)
  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = ' + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    if (element.FadeState == -2) element.style.display = "none";
    return;
  }

  element.FadeTimeLeft -= elapsed_ticks;
  var new_opacity = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    new_opacity = 1 - new_opacity;

  element.style.opacity = new_opacity;
  element.style.filter = 'alpha(opacity = ' + (new_opacity*100) + ')';

  setTimeout("animate_fade(" + current_tick + ",'" + id + "')", 33);
}

function grayOut(vis, options) {
  // Pass true to gray out screen, false to ungray
  // options are optional.  This is a JSON object with the following (optional) properties
  // opacity:0-100         // Lower number = less grayout higher = more of a blackout
  // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
  // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
  // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
  // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
  // in any order.  Pass only the properties you need to set.
  var options = options || {};
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 70;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#000000';
  var dark=document.getElementById('darkenScreenObject');
  if (!dark) {
    // The dark layer doesn't exist, it's never been created.  So we'll
    // create it here and apply some basic styles.
    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=document.getElementById('darkenScreenObject');  // Get the object.
  }
  if (vis) {
    // Calculate the page width and height
    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
        var pageWidth = document.body.scrollWidth+'px';
        var pageHeight = document.body.scrollHeight+'px';
    } else if( document.body.offsetWidth ) {
      var pageWidth = document.body.offsetWidth+'px';
      var pageHeight = document.body.offsetHeight+'px';
    } else {
       var pageWidth='100%';
       var pageHeight='100%';
    }
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;
    dark.style.MozOpacity=opaque;
    dark.style.filter='alpha(opacity='+opacity+')';
    dark.style.zIndex=zindex;
    dark.style.backgroundColor=bgcolor;
    dark.style.width= pageWidth;
    dark.style.height= pageHeight;
    dark.style.display='block';
  } else {
     dark.style.display='none';
  }
}

