function createCookie (name,value,days) 
  {
	if (days) 
		{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
	}

function readCookie (name) 
	{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
		{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
	return null;
	}

function store_filter_search()
  {
  var dropdowns = $('.filter_search_option');
  $.each( dropdowns, function( i, dropdown)
    {
    createCookie( dropdown.id, dropdown.selectedIndex );
    });
  }

function update_filter_search()
  {
  document.getElementById("filter_search_input").value = "";
  var dropdowns = $('.filter_search_option');
  $.each( dropdowns, function( i, dropdown)
    {
    if( dropdown.value.length > 0 )
      {
      document.getElementById("filter_search_input").value += dropdown.value;
      }
    });
  }
  
function filter_change()
  {
  update_filter_search();
  store_filter_search();
  }
  
function clear_search()
  {
  var dropdowns = $('.filter_search_option');
  $.each( dropdowns, function( i, dropdown)
    {
    dropdown.selectedIndex = 0;
    });
  filter_change();
  window.location.href = "/products/search?searchterm=+%2B%22technology%3A[%3A]Extrusion%22++%2B%22technology%3A[%3A]Reheat+%26+Stretch%22+&per_page=12";
  }
  
function setup_dropdowns(data)
  {
  $.each( data, function( i, item )
    {
    var dropdown = document.createElement( "select" );
    dropdown.className = "filter_search_option";
    dropdown.id = item.name;
    
    var heading = document.createElement("option");
    heading.value = "";
    heading.appendChild( document.createTextNode( "-- " + item.name.replace(":","")) );
    dropdown.appendChild( heading );
    
    //item.values.alphanumSort(false);
    
    $.each( item.values, function( i, value)
      {
      var option = document.createElement("option");
      if( item.name.toLowerCase().indexOf('market') > -1 )
        {
        option.value = ' +"' + value + '" ';
        }
      else
        {
        var min_length_array = value.replace(/-/g, ' ').split(' ');
        min_length_array.sort( function( a,b ) { return(a.length - b.length) } );
        if( min_length_array[0].length < 4 ) 
          {
          option.value = ' +"' + item.name.toLowerCase().replace(/ /g, '-') + "[:]" + value + '" ';
          }
        else
          {
          option.value = ' +' + value.split(" ").join(" +");
          }
        }
      option.appendChild( document.createTextNode( value ));
      
      if( parseInt(readCookie( dropdown.id)) == (i+1) && parseInt(readCookie( dropdown.id)) > 0)
        {
        option.selected = "selected";
        }
      dropdown.appendChild( option );
      })
    
    dropdown.onchange = filter_change;
    document.getElementById('filter_search_dropdown_container').appendChild( dropdown );
    })
    //console.log( dojo.toJson(data, true));
  }


function filter_search()
  {
  $.getJSON( "/public_ui/javascripts/search_properties.js", '', setup_dropdowns);
  document.getElementById("clear_search").onclick = clear_search;
  filter_change();
  document.getElementById("search_box_input").onfocus = function()
    {
    var search_box = document.getElementById("search_box_input");
    if(search_box.value == "Search by keyword or item code") search_box.value = "";
    };
  document.getElementById("search_box_input").onblur = function()
    {
    var search_box = document.getElementById("search_box_input");
    if(search_box.value == "") search_box.value = "Search by keyword or item code";
    };
  document.getElementById("search_box_input").onchange = function()
    {
    var search_box_input = document.getElementById("search_box_input");
    var search_box_term = document.getElementById("search_box_term");
    search_box_term.value = '"' + search_box_input.value + '"';
    };
  }

$(document).ready( filter_search );
