var color_min_val = 0
var color_max_val = 23;

var cut_min_val = 0
var cut_max_val = 5;

var clarity_min_val = 0
var clarity_max_val = 15;

var price_min_val = 165;
var price_max_val = 150000;

var carat_min_val = 0;
var carat_max_val = 12;

var cur_page = 1;
var page_size = 9;
var start_page_no = 1;
var view_type='grid';
var sort = 'asc';
var sortFilter = 'price';

function MoveToPage(curPage,startPage)
{	
  cur_page = curPage;  
  start_page_no = startPage;
  
  var dropdownIndex = document.getElementById('pageSize').selectedIndex; 
  page_size = document.getElementById('pageSize')[dropdownIndex].value;
  dropdownIndex = document.getElementById('sortFilter').selectedIndex; 
  sortFilter = document.getElementById('sortFilter')[dropdownIndex].value;  
  var sortOrder = querySt('or');
  if(sortOrder != 'asc' && sortOrder != 'desc')
  {
	  sort = 'asc';
  }
  else
  {
	  sort = sortOrder;
  }
  SearchDiamonds();
}
function SetPageSize(pageSize)
{
	page_size = pageSize;	
	SearchDiamonds();
}
function SortProductsBy(sortBy)
{	
	 sortFilter = sortBy;
	 sort = 'asc';	 
	 var dropdownIndex = document.getElementById('pageSize').selectedIndex; 
	 page_size = document.getElementById('pageSize')[dropdownIndex].value;
	 SearchDiamonds();
}
function SortProducts(sortOrder)
{
  if(sortOrder == 0)
  {
	  sort = 'asc'
  }
  else
  {
	  sort = 'desc'
  }  
  var dropdownIndex = document.getElementById('sortFilter').selectedIndex; 
  sortFilter = document.getElementById('sortFilter')[dropdownIndex].value;
  dropdownIndex = document.getElementById('pageSize').selectedIndex; 
  page_size = document.getElementById('pageSize')[dropdownIndex].value;  
  SearchDiamonds();
}
function SetViewType(viewType)
{
    view_type = viewType;
    var dropdownIndex = document.getElementById('sortFilter').selectedIndex; 
    sortFilter = document.getElementById('sortFilter')[dropdownIndex].value;
    dropdownIndex = document.getElementById('pageSize').selectedIndex; 
    page_size = document.getElementById('pageSize')[dropdownIndex].value;
    var sortOrder = querySt('or');
    if(sortOrder != 'asc' && sortOrder != 'desc')
    {
  	  sort = 'asc';
    }
    else
    {
  	  sort = sortOrder;
    }
	SearchDiamonds();
}
function SearchDiamonds()
{
	var cat = getCategories();
	var baseURL = getBaseURL()+'loose-diamonds' ;  // 'http://www.jemjewellers.com/loose-diamonds';
	var redirectURL = '';
	if(cat != '' || isSearch())
	{
			
		redirectURL = baseURL + "?cat=" + cat+ ColorParam() + ClariyParam() + CaratParam() + PriceParam()
                              + "&cp="  + cur_page+"&ps=" + page_size + "&sp=" + start_page_no
                              + "&vt="  + view_type+"&or=" + sort + "&sf=" + sortFilter;
	}
	
	// alert(color_min_val+ " " + color_max_val+ " " + cut_min_val + " " + cut_max_val + " " +
    // clarity_min_val+" " + clarity_max_val + " " + price_min_val + " " + price_max_val + " " + carat_min_val + " " + carat_max_val);
	// getBaseURL()	
	//alert(redirectURL);	
	
	window.location = redirectURL;
	
}
function getCategories()
{
	YAHOO.namespace('example');
	var Dom = YAHOO.util.Dom;	
	var categories = "";		
	categories = categories + (Dom.get("round").src.indexOf("round-s") != -1 ? "Round-" : "");	
	categories = categories + (Dom.get("oval").src.indexOf("oval-s") != -1 ? "Oval-" : "");	
	categories = categories + (Dom.get("pear").src.indexOf("pear-s") != -1 ? "Pear-" : "");
	categories = categories + (Dom.get("Marquise").src.indexOf("Marquise-s") != -1 ? "Marquise-" : "");
	categories = categories + (Dom.get("Emerald").src.indexOf("Emerald-s") != -1 ? "Emerald-" : "");
	categories = categories + (Dom.get("Heart").src.indexOf("Heart-s") != -1 ? "Heart-" : "");
	categories = categories + (Dom.get("Radiant").src.indexOf("Radiant-s") != -1 ? "Radiant-" : "");
	categories = categories + (Dom.get("Triangular").src.indexOf("Triangular-s") != -1 ? "Triangular-" : "");
	categories = categories + (Dom.get("Princess").src.indexOf("Princess-s") != -1 ? "Princess-" : "");
	categories = categories + (Dom.get("Euro").src.indexOf("Euro-s") != -1 ? "Euro-" : "");
	categories = categories + (Dom.get("Cushion").src.indexOf("Cushion-s") != -1 ? "Cushion-" : "");
	categories = categories + (Dom.get("Asscher").src.indexOf("Asscher-s") != -1 ? "Asscher-" : "");
	categories = categories + (Dom.get("Baguette").src.indexOf("Baguette-s") != -1 ? "Baguette-" : "");
	categories = categories + (Dom.get("kite").src.indexOf("kite-s") != -1 ? "Kite-" : "");
	categories = categories + (Dom.get("halfmoon").src.indexOf("halfmoon-s") != -1 ? "Half Moon-" : "");
	categories = categories + (Dom.get("Trapezoid").src.indexOf("Trapezoid-s") != -1 ? "Trapezoid-" : "");	
	if(categories != "")
	{
		categories = categories.substring(0,categories.length-1);		
	}
//	alert(categories);
	return categories;			
}
function getBaseURL() 
{
    var url = location.href;  // entire url including querystring - also: window.location.href;
    var baseURL = url.substring(0, url.indexOf('/', 14));


    if (baseURL.indexOf('http://localhost') != -1) {
        // Base Url for localhost
        var url = location.href;  // window.location.href;
        var pathname = location.pathname;  // window.location.pathname;
        var index1 = url.indexOf(pathname);
        var index2 = url.indexOf("/", index1 + 1);
        var baseLocalUrl = url.substr(0, index2);

        return baseLocalUrl + "/";
    }
    else {
        // Root Url for domain name
        return baseURL + "/";
    }

}
function querySt(key)
{
	
 hu = window.location.search.substring(1);
 gy = hu.split("&");
 
 for(i=0;i<gy.length;i++)
 {
	  ft = gy[i].split("=");
	  if(ft[0] == key)
	  {
		    return ft[1];
	  }
 }
 return '';
}

function ClariyParam()
{
  if(clarity_min_val == 0 && clarity_max_val == 15)
  {
	  return '';
  }
  else
  {
	  return "&clarity="+clarity_min_val + "-"+ clarity_max_val;
  }
}
function ColorParam()
{
  if(color_min_val == 0 && color_max_val == 23 )
  {
	  return '';
  }
  else
  {
	  return "&color="+color_min_val+"-"+color_max_val;
  }
}
function CaratParam()
{
	if(carat_min_val == 0 && carat_max_val == 12 )
	{
		return '';
	}
	else
	{
	  return "&carat="+ carat_min_val+"-"+carat_max_val;
	}
}
function PriceParam()
{
	if(	price_min_val == priceMin && price_max_val == priceMax)
	{
		return '';
	}
	else
	{
	    return "&price="+price_min_val+"-"+price_max_val;
	}
}
function isSearch()
{
	return !(clarity_min_val == 0 && 
			clarity_max_val == 15 && 
			carat_min_val == 0 && 
			carat_max_val == 12 &&
			color_min_val == 0 && 
			color_max_val == 23 &&
			price_min_val == priceMin &&
			price_max_val == priceMax);
}
