
function Slider_init(val) {
	if(val == 'diamond'){	
		
		// - Slider 3 -----------------------------------------
		D_centerstoneweightSlider = new Bs_Slider();		
		D_centerstoneweightSlider.width         = SLIDER_WIDTH;
		D_centerstoneweightSlider.height        = SLIDER_HEIGHT2;
		D_centerstoneweightSlider.imgDir   = image_directory;
		D_centerstoneweightSlider.direction = 1;
		D_centerstoneweightSlider.setBackgroundImage('background.gif', 'no-repeat');
		D_centerstoneweightSlider.attachOnChange(D_centerstoneweightSliderChange);
		D_centerstoneweightSlider.attachOnSlideEnd(D_centerstoneweightSliderEnd);		

		D_centerstoneweightSlider.fieldName     = 'slider3_start';
		D_centerstoneweightSlider.minVal        = caratMin;
		D_centerstoneweightSlider.maxVal        = caratMax;
		D_centerstoneweightSlider.valueInterval = .01;
		D_centerstoneweightSlider.valueDefault  = caratMin;
		D_centerstoneweightSlider.setSliderIcon('down.gif', 80, 11);
		D_centerstoneweightSlider.useInputField = 0;
		D_centerstoneweightSlider.styleValueFieldClass = 'sliderInput';		
		D_centerstoneweightSlider.useSecondKnob        = true;
		D_centerstoneweightSlider.preventValueCrossing = true;
		D_centerstoneweightSlider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.	

		D_centerstoneweightSlider.fieldName2     = 'slider3_end';
		D_centerstoneweightSlider.minVal2        = caratMin;
		D_centerstoneweightSlider.maxVal2        = caratMax;
		D_centerstoneweightSlider.valueInterval2 = .01;
		D_centerstoneweightSlider.valueDefault2  = caratMax;
		D_centerstoneweightSlider.setSliderIcon2('up.gif', 80, 11);
		D_centerstoneweightSlider.useInputField2 = 0;
		D_centerstoneweightSlider.styleValueFieldClass2 = 'sliderInput';
			
		D_centerstoneweightSlider.drawInto('D_centerstoneweightSlider');

		
		// - Slider cut -----------------------------------------
		cs_cut_slider = new Bs_Slider();
		cs_cut_slider.width         = SLIDER_WIDTH;
		cs_cut_slider.height        = SLIDER_HEIGHT;
		cs_cut_slider.imgDir   = image_directory;
		cs_cut_slider.direction = 1;
		cs_cut_slider.setBackgroundImage('ex_fr.gif', 'no-repeat');
		cs_cut_slider.attachOnChange(cs_cut_sliderChange);
		cs_cut_slider.attachOnSlideEnd(cs_cut_sliderEnd);		
		cs_cut_slider.fieldName     = 'slider3_start';
		cs_cut_slider.minVal        = CUT_MIN;
		cs_cut_slider.maxVal        = CUT_MAX;
		cs_cut_slider.valueInterval = 1;
		cs_cut_slider.valueDefault  = CUT_MIN;
		cs_cut_slider.setSliderIcon('down.gif',80, 11);
		cs_cut_slider.useInputField = 0;
		cs_cut_slider.styleValueFieldClass = 'sliderInput';		
		cs_cut_slider.useSecondKnob        = true;
		cs_cut_slider.preventValueCrossing = true;
		cs_cut_slider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.		
		cs_cut_slider.fieldName2     = 'slider3_end';
		cs_cut_slider.minVal2        = CUT_MIN;
		cs_cut_slider.maxVal2        = CUT_MAX;
		cs_cut_slider.valueInterval2 = 1;
		cs_cut_slider.valueDefault2  = CUT_MAX;
		cs_cut_slider.setSliderIcon2('up.gif',80, 11);
		cs_cut_slider.useInputField2 = 0;
		cs_cut_slider.styleValueFieldClass2 = 'sliderInput';		
		cs_cut_slider.drawInto('cs_cut_slider');
	
	 
	  // - Slider color -----------------------------------------
		cs_color_slider = new Bs_Slider();
		cs_color_slider.width         = SLIDER_WIDTH;
		cs_color_slider.height        = SLIDER_HEIGHT;
		cs_color_slider.imgDir   = image_directory;
		cs_color_slider.direction = 1;
		cs_color_slider.setBackgroundImage('ex_co.gif', 'no-repeat');
		cs_color_slider.attachOnChange(cs_color_sliderChange);
		cs_color_slider.attachOnSlideEnd(cs_color_sliderEnd);		
		cs_color_slider.fieldName     = 'slider3_start';
		cs_color_slider.minVal        = COLOR_MIN;
		cs_color_slider.maxVal        = COLOR_MAX;
		cs_color_slider.valueInterval = 1;
		cs_color_slider.valueDefault  = COLOR_MIN;
		cs_color_slider.setSliderIcon('down.gif',80, 11);
		cs_color_slider.useInputField = 0;
		cs_color_slider.styleValueFieldClass = 'sliderInput';		
		cs_color_slider.useSecondKnob        = true;
		cs_color_slider.preventValueCrossing = true;
		cs_color_slider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.		
		cs_color_slider.fieldName2     = 'slider3_end';
		cs_color_slider.minVal2        = COLOR_MIN;
		cs_color_slider.maxVal2        = COLOR_MAX;
		cs_color_slider.valueInterval2 = 1;
		cs_color_slider.valueDefault2  = COLOR_MAX;
		cs_color_slider.setSliderIcon2('up.gif',80, 11);
		cs_color_slider.useInputField2 = 0;
		cs_color_slider.styleValueFieldClass2 = 'sliderInput';		
		cs_color_slider.drawInto('cs_color_slider');
	
		// - Slider clarity -----------------------------------------
		cs_clarity_slider = new Bs_Slider();
		cs_clarity_slider.width         = SLIDER_WIDTH;
		cs_clarity_slider.height        = SLIDER_HEIGHT;
		cs_clarity_slider.imgDir   = image_directory;
		cs_clarity_slider.direction = 1;
		cs_clarity_slider.setBackgroundImage('ex_cl.gif', 'no-repeat');
		cs_clarity_slider.attachOnChange(cs_clarity_sliderChange);
		cs_clarity_slider.attachOnSlideEnd(cs_clarity_sliderEnd);		

		cs_clarity_slider.fieldName     = 'slider3_start';
		cs_clarity_slider.minVal        = CLARITY_MIN;
		cs_clarity_slider.maxVal        = CLARITY_MAX;
		cs_clarity_slider.direction     = 1;
		cs_clarity_slider.valueInterval = 1;
		cs_clarity_slider.valueDefault  = CLARITY_MIN;
		cs_clarity_slider.setSliderIcon('down.gif',80, 11);
		cs_clarity_slider.useInputField = 0;
		cs_clarity_slider.styleValueFieldClass = 'sliderInput';		
		cs_clarity_slider.useSecondKnob        = true;
		cs_clarity_slider.preventValueCrossing = true;
		cs_clarity_slider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.		

		cs_clarity_slider.fieldName2     = 'slider3_end';
		cs_clarity_slider.minVal2        = CLARITY_MIN;
		cs_clarity_slider.maxVal2        = CLARITY_MAX;
		cs_clarity_slider.valueInterval2 = 1;
		cs_clarity_slider.valueDefault2  = CLARITY_MAX;
		cs_clarity_slider.setSliderIcon2('up.gif',80, 11);
		cs_clarity_slider.useInputField2 = 0;
		cs_clarity_slider.styleValueFieldClass2 = 'sliderInput';
		cs_clarity_slider.drawInto('cs_clarity_slider');
	
		// - POLISH SLIDER -----------------------------------------
		D_polishSlider = new Bs_Slider();
		D_polishSlider.width         = SLIDER_WIDTH;
		D_polishSlider.height        = SLIDER_HEIGHT;
		D_polishSlider.imgDir   = image_directory;
		D_polishSlider.direction = 1;
		D_polishSlider.setBackgroundImage('ex_fr.gif', 'no-repeat');
		D_polishSlider.attachOnChange(D_polishSliderChange);
		D_polishSlider.attachOnSlideEnd(D_polishSliderEnd);		

		D_polishSlider.fieldName     = 'slider3_start';
		D_polishSlider.minVal        = POLISH_MIN;
		D_polishSlider.maxVal        = POLISH_MAX;
		D_polishSlider.valueInterval = 1;
		D_polishSlider.valueDefault  = POLISH_MIN;
		D_polishSlider.setSliderIcon('down.gif',80, 11);
		D_polishSlider.useInputField = 0;
		D_polishSlider.styleValueFieldClass = 'sliderInput';		
		D_polishSlider.useSecondKnob        = true;
		D_polishSlider.preventValueCrossing = true;
		D_polishSlider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.		

		D_polishSlider.fieldName2     = 'slider3_end';
		D_polishSlider.minVal2        = POLISH_MIN;
		D_polishSlider.maxVal2        = POLISH_MAX;
		D_polishSlider.valueInterval2 = 1;
		D_polishSlider.valueDefault2  = POLISH_MAX;
		D_polishSlider.setSliderIcon2('up.gif',80, 11);
		D_polishSlider.useInputField2 = 0;
		D_polishSlider.styleValueFieldClass2 = 'sliderInput';		
		D_polishSlider.drawInto('D_polishSlider');
	
		// - SYMMETRY SLIDER -----------------------------------------
		D_symmetrySlider = new Bs_Slider();
		D_symmetrySlider.width         = SLIDER_WIDTH;
		D_symmetrySlider.height        = SLIDER_HEIGHT;
		D_symmetrySlider.imgDir   = image_directory;
		D_symmetrySlider.direction = 1;
		D_symmetrySlider.setBackgroundImage('ex_fr.gif', 'no-repeat');
		D_symmetrySlider.attachOnChange(D_symmetrySliderChange);
		D_symmetrySlider.attachOnSlideEnd(D_symmetrySliderEnd);		

		D_symmetrySlider.fieldName     = 'slider3_start';
		D_symmetrySlider.minVal        = SYMMETRY_MIN;
		D_symmetrySlider.maxVal        = SYMMETRY_MAX;
		D_symmetrySlider.valueInterval = 1;
		D_symmetrySlider.valueDefault  = SYMMETRY_MIN;
		D_symmetrySlider.setSliderIcon('down.gif',80, 11);
		D_symmetrySlider.useInputField = 0;
		D_symmetrySlider.styleValueFieldClass = 'sliderInput';		
		D_symmetrySlider.useSecondKnob        = true;
		D_symmetrySlider.preventValueCrossing = true;
		D_symmetrySlider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.		

		D_symmetrySlider.fieldName2     = 'slider3_end';
		D_symmetrySlider.minVal2        = SYMMETRY_MIN;
		D_symmetrySlider.maxVal2        = SYMMETRY_MAX;
		D_symmetrySlider.valueInterval2 = 1;
		D_symmetrySlider.valueDefault2  = SYMMETRY_MAX;
		D_symmetrySlider.setSliderIcon2('up.gif',80, 11);
		D_symmetrySlider.useInputField2 = 0;
		D_symmetrySlider.styleValueFieldClass2 = 'sliderInput';		
		D_symmetrySlider.drawInto('D_symmetrySlider');
	
	
		// - Price Slider Vert -----------------------------------------
		D_priceSlider = new Bs_Slider();
		D_priceSlider.width         = SLIDER_WIDTH;
		D_priceSlider.height        = SLIDER_HEIGHT2;
		D_priceSlider.imgDir   = image_directory;
		D_priceSlider.direction = 1;
		D_priceSlider.setBackgroundImage('background.gif', 'no-repeat');
		D_priceSlider.attachOnChange(D_priceSliderChange);
		D_priceSlider.attachOnSlideEnd(D_priceSliderEnd);		
		D_priceSlider.fieldName     = 'D_priceSlider_start';
		D_priceSlider.minVal        = priceMin;
		D_priceSlider.maxVal        = priceMax;
		D_priceSlider.valueInterval = 1;
		D_priceSlider.valueDefault  = priceMin;
		D_priceSlider.setSliderIcon('down.gif', 80, 11);
		D_priceSlider.useInputField = 0;
		D_priceSlider.styleValueFieldClass = 'sliderInput';		
		D_priceSlider.useSecondKnob        = true;
		D_priceSlider.preventValueCrossing = true;
		D_priceSlider.wheelAmount        = 0; //disable mouse wheeling cause we have 2 knobs.		
		D_priceSlider.fieldName2     = 'D_priceSlider_end';
		D_priceSlider.minVal2        = priceMin;
		D_priceSlider.maxVal2        = priceMax;
		D_priceSlider.valueInterval2 = 1;
		D_priceSlider.valueDefault2  = priceMax;
		D_priceSlider.setSliderIcon2('up.gif', 80, 11);//file,width,height
		D_priceSlider.useInputField2 = 0;
		D_priceSlider.styleValueFieldClass2 = 'sliderInput';		 
		D_priceSlider.drawInto('D_sliderPrice');
	}
	
	
	
	if(val == 'vertical'){	
	
	if(BrowserDetect.browser == 'Firefox' && BrowserDetect.OS == 'Mac'){
		scrollHeight = 409;
	}
	else{
		scrollHeight = 421;
	}
	
	 // - Slider 100 -----------------------------------------
	  vSlider = new Bs_Slider();
	  vSlider.direction = 1;	
	  vSlider.attachOnChange(vSliderChange);
	  vSlider.attachOnSlideEnd(vSliderEnd);
	  vSlider.height        = scrollHeight;
	  vSlider.minVal        = vSliderMin;
	  vSlider.maxVal        = vSliderMax;
	  vSlider.valueDefault  = 1;
	  vSlider.bgColor       = '#F9F9F7';
	  vSlider.useInputField = 0;
	  vSlider.width         = 16;
	  vSlider.imgDir = image_directory;
	  vSlider.setSliderIcon('vertical_knob.gif', 16, 17);
	  vSlider.arrowKeepFiringTimeout = 300;
	  vSlider.setArrowIconLeft('vertical_arrowUp.gif', 16, 17);
	  vSlider.setArrowIconRight('vertical_arrowDown.gif', 16, 17);
	  vSlider.styleValueFieldClass = 'sliderInput';
	  vSlider.drawInto('vSlider');
	  document.getElementById('alcvSlider').style.background = 'url(/Slider/vertical_arrowUp.gif) no-repeat top left';
	  document.getElementById('alcvSlider').style.width = 17;
	  document.getElementById('alcvSlider').style.height = 16;	 
	  document.getElementById('arcvSlider').style.background = 'url(/Slider/vertical_arrowDown.gif) no-repeat top left';
	  document.getElementById('arcvSlider').style.width = 17
	  document.getElementById('arcvSlider').style.height = 16;	 
	}
}


/* Browser Detect */

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


//BUILD YOUR OWN **************************************************************

function sliderMask(knobNumber, sliderDiv, slider1, slider2){
	var slider1_mask = $(slider1+'_mask');
	var slider2_mask = $(slider2+'_mask');
	var slider1 = $(slider1);
	var slider2 = $(slider2);	

	if(slider1_mask){
	}
	else{
		slider1_mask = document.createElement('div');
		slider1_mask.id = slider1.id+"_mask";
		slider1_mask.appendChild(document.createTextNode(' '));
		$(sliderDiv).firstChild.appendChild(slider1_mask);
	}
	if(slider2_mask){
	}
	else{
		slider2_mask = document.createElement('div');
		slider2_mask.id = slider2.id+"_mask";
		slider2_mask.style.backgroundPosition = "bottom";
		slider2_mask.appendChild(document.createTextNode(' '));
		$(sliderDiv).firstChild.appendChild(slider2_mask);
	}
	if(knobNumber == 1){
		var grabHeight = parseInt(slider1.style.top.substring(0, slider1.style.top.length - 2));
		grabHeight = (grabHeight + 11) + "px";		
		slider1_mask.style.height = grabHeight;
		slider1_mask.style.width = D_polishSlider.width + "px";
		slider1_mask.style.top = "0px";
		slider1_mask.style.left = "0px";
	}
	if(knobNumber == 2){
		var grabHeight = parseInt(slider2.style.top.substring(0, slider2.style.top.length - 2));
		var newHeight = D_polishSlider.height - grabHeight;		
		slider2_mask.style.height = newHeight + "px";
		slider2_mask.style.width = D_polishSlider.width + "px";
		slider2_mask.style.top = slider2.style.top;
		slider2_mask.style.left = "0px";
	}
}


/*FILTERS*/

function D_addCenterstone(val){
	if(readCookie('centerstone')){
		centerstone = readCookie('centerstone');
	}
	else{
		centerstone = "";
	}
	centerstone += val;
	createCookie('centerstone', centerstone);
	createCookie('page', 1);
	getNewDiamonds('', 'scripts03 d_addcenterstones');
}
function D_removeCenterstone(val){
	if(readCookie('centerstone')){
		centerstone = readCookie('centerstone');
	}
	else{
		centerstone = "";
	}
	centerstone = centerstone.replace(new RegExp(val, 'g'), '');
	createCookie('centerstone', centerstone);
	createCookie('page', 1);
	getNewDiamonds('', 'scripts03 d_removecenterstones');
}



//WEIGHT-----------
function D_centerstoneweightSliderChange(sliderObj, val, newPos, knobNumber) { 
	sliderMask(knobNumber, 'coD_centerstoneweightSlider', 'poD_centerstoneweightSlider', 'poD_centerstoneweightSlider2');
	if(knobNumber == 1){
		createCookie('diamond_search_centerstonesizemin', val);	
		$('minCaratTB').value = val;	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_centerstonesizemax', val);	
		$('maxCaratTB').value = val;	
	}
	createCookie('page', 1);
}
function D_centerstoneweightSliderEnd(obj, val, pos){
	getNewDiamonds();
}

//PRICE----------
function D_priceSliderChange(sliderObj, val, newPos, knobNumber) { 
	sliderMask(knobNumber, 'coD_sliderPrice', 'poD_sliderPrice', 'poD_sliderPrice2');
	if(knobNumber == 1){
		createCookie('diamond_search_priceLow', val);	
		$('minPriceTB').value = val;	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_priceHigh', val);	
		$('maxPriceTB').value = val;
	}
	createCookie('page', 1);
}

function D_priceSliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 dpriceslider');
}

//CUT
function cs_cut_sliderChange(sliderObj, val, newPos, knobNumber) { 
	
	sliderMask(knobNumber, 'cocs_cut_slider', 'pocs_cut_slider', 'pocs_cut_slider2');
	
	var cuts = new Array("Excellent", "Very Good", "Good", "Fair");
	if(knobNumber == 1){
		createCookie('diamond_search_cs_cutmin', val);	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_cs_cutmax', val);	
	}

	createCookie('page', 1);
}
function cs_cut_sliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 cscutslider');
}

//COLOR
function cs_color_sliderChange(sliderObj, val, newPos, knobNumber) { 
	var colorss = new Array("D", "E", "F", "G", "H", "I", "J", "K");

	sliderMask(knobNumber, 'cocs_color_slider', 'pocs_color_slider', 'pocs_color_slider2');

	if(knobNumber == 1){
		createCookie('diamond_search_cs_colormin', val);	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_cs_colormax', val);	
	}
	createCookie('page', 1);
}
function cs_color_sliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 cscolorslider');
}

//CLARITY
function cs_clarity_sliderChange(sliderObj, val, newPos, knobNumber) { 
	var clarities = new Array("FL", "IF", "VVS1", "VVS2", "VS1", "VS2", "SI1", "SI2", "I1");

	sliderMask(knobNumber, 'cocs_clarity_slider', 'pocs_clarity_slider', 'pocs_clarity_slider2');

	if(knobNumber == 1){
		createCookie('diamond_search_cs_claritymin', val);	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_cs_claritymax', val);	
	}
	createCookie('page', 1);
}

function cs_clarity_sliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 csclarityslider');
}


//POLISH-----------
function D_polishSliderChange(sliderObj, val, newPos, knobNumber) { 	
	sliderMask(knobNumber, 'coD_polishSlider', 'poD_polishSlider', 'poD_polishSlider2');
	if(knobNumber == 1){
		createCookie('diamond_search_polishMin', val);	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_polishMax', val);	
	}
	
	createCookie('page', 1);
}

function D_polishSliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 dpolishslider');
}


//SYMMETRY---------
function D_symmetrySliderChange(sliderObj, val, newPos, knobNumber) { 
	sliderMask(knobNumber, 'coD_symmetrySlider', 'poD_symmetrySlider', 'poD_symmetrySlider2');
	
	if(knobNumber == 1){
		createCookie('diamond_search_symmetryMin', val);	
	}
	if(knobNumber == 2){
		createCookie('diamond_search_symmetryMax', val);	
	}
	createCookie('page', 1);
}

function D_symmetrySliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 dsymmetryslider');
}


//Sort Options---------
function D_sortOptionsChange(item, vala, valb) { 
	clear_sort_images();
	
	var tmp_sort_cookie = "";
	if(readCookie('sortt')){
		tmp_sort_cookie = readCookie('sortt');
	}
	if(tmp_sort_cookie == vala){
		createCookie('sortt', valb);	
		$(item).src='http://images.diamondwave.com/sort_down.jpg';
	}
	else{
		createCookie('sortt', vala);	
		$(item).src='http://images.diamondwave.com/sort_up.jpg';
	} 
	getNewDiamonds(); 
	createCookie('page', 1);
}

//Basic Sort Options
function D_basicSortOptionsChange(val) { 
	clear_sort_images();

	var tmp_sort_cookie = "";
	if(readCookie('basicsort')){
		tmp_sort_cookie = readCookie('basicsort');
	}
	if(tmp_sort_cookie == val + 'a'){
		createCookie('basicsort', val + 'b');	
	}
	else{
		createCookie('basicsort', val + 'a');	
	} 
	createCookie('returnDiamondsBasic_page', 1);
	window.location.href=window.location.href;
}


function D_symmetrySliderEnd(obj, val, pos){
	getNewDiamonds('no', 's03 dsymmetryslider');
}


//PAGE SLIDER

function vSliderChange(sliderObj, val, newPos) { 
	createCookie('page', val);	
	getNewDiamondsNoFlash('no', 's03 vsliderslider');
}
function vSliderEnd(obj, val, newPos){
}

/*COOKIES*/

/************** Cookie Functions **************/
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 eraseCookie(name) {
	createCookie(name,"",-1);
}




/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
/*MISC*/

function dpSmartLink(u,n,w,h,p) { // v1.4 by David Powers
  var a,j,k,x,y,f='';if(!n){n='';}if(w){f+='width='+w+',';}if(h){f+='height='+h+',';}
  if(p){p=p.split(':');if(p[0]!='z'){p[0]=='c'?(x=(screen.width-w)/2):x=p[0];f+='left='+x+',';}
  if(p[1]!='z'){if(p[0]=='c'){y=(screen.height-h-p[1])/2;if(navigator.appName.indexOf('Op')!=-1){
  y-=96;y=y<0?0:y;}}else{y=p[1];}f+='top='+y+',';}}a=arguments.length;if(a>5){for (k=5;k<a;k++){
  switch(arguments[k]){case 'all':f+='toolbar,menubar,location,scrollbars,status,resizable,';break;
  case 't':f+='toolbar,';break; case 'm':f+='menubar,';break;case 'l':f+='location,';break;
  case 'sc':f+='scrollbars,';break;case 's':f+='status,';break;case 'r':f+='resizable,';}}}
  if(f.charAt(f.length-1)==','){f=f.slice(0,-1);}j=window.open(u,n,f);j.focus();
  document.MM_returnValue=false;
}

function changeDetailImage(sku){
	$('prodImage').src = "http://www.diamondwave.com" + sku + "-" + detailSize + "-" + detailShape + "-DE.jpg";
}

function formatCurrency(num) {
num = num.toString().replace(/\$|\,/g,'');
if(isNaN(num))
num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
if(cents<10)
cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
num = num.substring(0,num.length-(4*i+3))+','+
num.substring(num.length-(4*i+3));
return (((sign)?'':'-') + '$' + num + '.' + cents);
}



/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
/***********************************************
	* Bookmark site script- &copy; Dynamic Drive DHTML code library (www.dynamicdrive.com)
	* This notice MUST stay intact for legal use
	* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
	***********************************************/
	
	/* Modified to support Opera */
	function bookmarksite(title,url){
	if (window.sidebar) // firefox
		window.sidebar.addPanel(title, url, "");
	else if(window.opera && window.print){ // opera
		var elem = document.createElement('a');
		elem.setAttribute('href',url);
		elem.setAttribute('title',title);
		elem.setAttribute('rel','sidebar');
		elem.click();
	} 
	else if(document.all)// ie
		window.external.AddFavorite(url, title);
	}








/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/


/*UPDATER*/
/************** Execution Functions **************/

function returnListProducts(){
	var ajax_url = window.location.href.replace(/\/Categories.bok/, "/");
	ajax_url = ajax_url.replace(/\/www.diamondwave.com\//, "/www.diamondwave.com/Categories/");
	
	new Ajax(ajax_url, {
		update: $("matty_replace"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();
}


function buildSteps(){
	var ajax_url = "http://www.diamondwave.com/php/returnStep.php";
	
	new Ajax(ajax_url, {
		update: $("totalSteps"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();


}



function getRelatedAjax(){
	var ajax_url = "http://www.diamondwave.com/php/related_section.php";
	
	new Ajax(ajax_url, {
		update: $("relatedAjax"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();


}



function getDiamondImages(sku, shape, size, multi){
	pars = "sku="+ sku + "&shape=" + shape + "&size=" + size + "&multi=" + multi;

	var ajax_url = "http://www.diamondwave.com/php/returnDiamonds.php?" + pars;
	
	new Ajax(ajax_url, {
		update: $("diamondImages"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();
}

function getDiamondImages2(sku, shape, size, multi){
	pars = "sku="+ sku + "&shape=" + shape + "&size=" + size + "&multi=" + multi;

	var ajax_url = "http://www.diamondwave.com/php/returnDiamonds2.php?" + pars;
	
	new Ajax(ajax_url, {
		update: $("diamondImages"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();
}

function zoomify_embed (file, lyr)
{
	var objz = document.getElementById (lyr);
	var ob = document.getElementById ('ZoomifyDesignViewer');
	var ts = (new Date ()).getTime ();
	if (ob)
		objz.removeChild (ob);
	if (objz)
	{
		var buffer = '' +
		'<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="380" height="350" id="ZoomifyDesignViewer">' +
		'<param name="flashvars" value="zoomifyImagePath=/catalogz/' + file + '&zoomifySplashScreen=0&zoomifyToolbarLogo=0&zoomifyNavigatorVisible=0&zoomifyZoomSpeed=5">' +
		'<param name="menu" value="false">' +
		'<param name="src" value="/zoomify/ZoomifyDesignViewer.swf?ts=' + ts + '">' +
		'<embed flashvars="zoomifyImagePath=/catalogz/' + file + '&zoomifySplashScreen=0&zoomifyToolbarLogo=0&zoomifyNavigatorVisible=0&zoomifyZoomSpeed=5" src="/zoomify/ZoomifyDesignViewer.swf" menu="false" pluginspage="http://www.adobe.com/go/getflashplayer" type="application/x-shockwave-flash" width="380" height="350" name="ZoomifyDesignViewer"></embed>' +
		'</object>';
		objz.innerHTML = buffer;
	}
}



function getProductDetails(prod_no, category){
	pars = "product_no="+ prod_no + "&category=" + category;

	var ajax_url = "http://www.diamondwave.com/php/product_matrix_for_detail.php?" + pars;
	
	new Ajax(ajax_url, {
		update: $("productMatrix"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();


}

function getNewDiamonds(){
	var ajax_url = "http://www.diamondwave.com/php/returnByoDiamonds.php";
	new Ajax(ajax_url, {
		update: $("returnByoDiamonds"),
		onRequest: function() {$('returnByoDiamonds').style.display = 'none'; $('imger').style.display = 'block';},
		onComplete: function() {$('returnByoDiamonds').style.display = 'block'; $('imger').style.display = 'none';},
		evalScripts: true,
		method: 'post'
	}).request();
}

function getNewDiamondsNoFlash(){
	var ajax_url = "http://www.diamondwave.com/php/returnByoDiamonds.php";
	new Ajax(ajax_url, {
		update: $("returnByoDiamonds"),
		evalScripts: true,
		method: 'post'
	}).request();
}

function getDiamondBoundaryValues(){
	var ajax_url = "http://www.diamondwave.com/php/diamond_search_boundary_values.php";
	new Ajax(ajax_url, {
		update: $("returnBoundaryValues"),
		onComplete: function() {
			Slider_init('diamond');
			Slider_init('vertical');
			setDiamondValuesFromCookies();
			getNewDiamonds();
		},
		evalScripts: true,
		method: 'post'
	}).request();

}


function getCompareDiamonds(){
	var ajax_url = "http://www.diamondwave.com/php/return_diamond_compare_values.php";
	new Ajax(ajax_url, {
		update: $("compareDiamondsReturnDiv"),
		evalScripts: true
	}).request();

}


function getDiamondsBasic(pars){
	var ajax_url = "http://www.diamondwave.com/php/returnDiamondsBasic.php?" + pars;
	new Ajax(ajax_url, {
		update: $("returnDiamondsBasicResults"),		
		evalScripts: true,
		method: 'get'
	}).request();
}


function setDiamondValuesFromCookies(){

	$('minPriceTB').value = readCookie('boundary_price_min');
	$('maxPriceTB').value = readCookie('boundary_price_max');
	$('minCaratTB').value = readCookie('boundary_carat_min');
	$('maxCaratTB').value = readCookie('boundary_carat_max');
	
	if(readCookie('diamond_search_centerstonesizemin') != null){
		var centerstonesizemin = readCookie('diamond_search_centerstonesizemin');
		D_centerstoneweightSlider.setValue(centerstonesizemin, 1);	
	}
	if(readCookie('diamond_search_centerstonesizemax') != null){
		var centerstonesizemax = readCookie('diamond_search_centerstonesizemax'); 
		D_centerstoneweightSlider.setValue(centerstonesizemax, 2);	
	}
	if(readCookie('diamond_search_priceLow') != null){
		D_priceSlider.setValue(readCookie('diamond_search_priceLow'), 1);
	}
	if(readCookie('diamond_search_priceHigh') != null){
		D_priceSlider.setValue(readCookie('diamond_search_priceHigh'), 2);
	}	
	if(readCookie('diamond_search_cs_cutmin') != null){
		cs_cut_slider.setValue(readCookie('diamond_search_cs_cutmin'), 1);
	}	
	if(readCookie('diamond_search_cs_cutmax') != null){
		cs_cut_slider.setValue(readCookie('diamond_search_cs_cutmax'), 2);
	}	
	if(readCookie('diamond_search_cs_colormin') != null){
		cs_color_slider.setValue(readCookie('diamond_search_cs_colormin'), 1);
	}	
	if(readCookie('diamond_search_cs_colormax') != null){
		cs_color_slider.setValue(readCookie('diamond_search_cs_colormax'), 2);
	}	
	if(readCookie('diamond_search_cs_claritymin') != null){
		cs_clarity_slider.setValue(readCookie('diamond_search_cs_claritymin'), 1);
	}	
	if(readCookie('diamond_search_cs_claritymax') != null){
		cs_clarity_slider.setValue(readCookie('diamond_search_cs_claritymax'), 2);
	}	
	if(readCookie('diamond_search_symmetryMin') != null){
		D_symmetrySlider.setValue(readCookie('diamond_search_symmetryMin'), 1);
	}	
	if(readCookie('diamond_search_symmetryMax') != null){
		D_symmetrySlider.setValue(readCookie('diamond_search_symmetryMax'), 2);
	}	
	if(readCookie('diamond_search_polishMin') != null){
		D_polishSlider.setValue(readCookie('diamond_search_polishMin'), 1);
	}	
	if(readCookie('diamond_search_polishMax') != null){
		D_polishSlider.setValue(readCookie('diamond_search_polishMax'), 2);
	}	
	if(readCookie('diamond_search_centerstonesizemin') != null){
		D_centerstoneweightSlider.setValue(readCookie('diamond_search_centerstonesizemin'), 1);		
	}	
	if(readCookie('diamond_search_centerstonesizemax') != null){
		D_centerstoneweightSlider.setValue(readCookie('diamond_search_centerstonesizemax'), 2);		
	}	

	if(readCookie('centerstone') != null){
		if(readCookie('centerstone').indexOf('Round') > -1){
			$('bcss1').checked = true;
		}
		if(readCookie('centerstone').indexOf('Princess') > -1){
			$('bcss2').checked = true;
		}
		if(readCookie('centerstone').indexOf('Emerald') > -1){
			$('bcss3').checked = true;
		}
		if(readCookie('centerstone').indexOf('Asscher') > -1){
			$('bcss4').checked = true;
		}
		if(readCookie('centerstone').indexOf('Marquis') > -1){
			$('bcss5').checked = true;
		}
		if(readCookie('centerstone').indexOf('Oval') > -1){
			$('bcss6').checked = true;
		}
		if(readCookie('centerstone').indexOf('Radiant') > -1){
			$('bcss7').checked = true;
		}
		if(readCookie('centerstone').indexOf('Pear') > -1){
			$('bcss8').checked = true;
		}
		if(readCookie('centerstone').indexOf('Heart') > -1){
			$('bcss9').checked = true;
		}
		if(readCookie('centerstone').indexOf('Cushion') > -1){
			$('bcss10').checked = true;
		}
	}
}


function clearDiamondCookies(){

	eraseCookie('diamond_search_centerstonesizemin');	
	eraseCookie('diamond_search_centerstonesizemax');	
	eraseCookie('diamond_search_priceLow');	
	eraseCookie('diamond_search_priceHigh');	
	eraseCookie('diamond_search_cs_cutmin');	
	eraseCookie('diamond_search_cs_cutmax');	
	eraseCookie('diamond_search_cs_colormin');	
	eraseCookie('diamond_search_cs_colormax');	
	eraseCookie('diamond_search_cs_claritymin');	
	eraseCookie('diamond_search_cs_claritymax');	
	eraseCookie('diamond_search_symmetryMin');	
	eraseCookie('diamond_search_symmetryMax');	
	eraseCookie('diamond_search_polishMin');	
	eraseCookie('diamond_search_polishMax');	
	eraseCookie('centerstone');	
 }


function clearByoCookies(){

	eraseCookie('byo_ring');	
	eraseCookie('byo_ring_size');	
	eraseCookie('byo_ring_color');	
	eraseCookie('byo_diamond');	
	eraseCookie('sku');	
	eraseCookie('currentStep');	
	clearDiamondCookies();
 }


function getCombinedPrice(){
	var ajax_url = "http://www.diamondwave.com/php/returnCombinedPrice.php?";
	
	new Ajax(ajax_url, {
		update: $("combinedPrice"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();

}

function buildInputs(sku, sku2){
	var ajax_url = "http://www.diamondwave.com/php/returnIdForSku.php?";
	
	new Ajax(ajax_url, {
		update: $("formInputs"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();
}

function buildbyodescription(){
	var ajax_url = "http://www.diamondwave.com/php/returnByoDescription.php?";
	
	new Ajax(ajax_url, {
		update: $("byoDescription"),
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();

}


function getThumbImage(sku, ider){
	pars = "sku=" + sku;
	var ajax_url = "http://www.diamondwave.com/php/returnThumbs.php?" + pars;
	
	new Ajax(ajax_url, {
		onComplete: function(){$(ider).src = this.response.text; afterAjaxFunctions();},
		evalScripts: true
	}).request();

}

function getCaratWeight(sku, ider){
	pars = "sku=" + sku;
	var ajax_url = "http://www.diamondwave.com/php/returnCarats.php?" + pars;
	
	new Ajax(ajax_url, {
		onComplete: function(){$(ider).innerHTML = this.response.text; afterAjaxFunctions();},
		evalScripts: true
	}).request();

}


function returnGiaReport(sku, ider){
	pars = "sku=" + sku;
	var ajax_url = "http://www.diamondwave.com/php/returnGiaReport.php?" + pars;
	
	new Ajax(ajax_url, {
		update: ider,
		onComplete: afterAjaxFunctions,
		evalScripts: true
	}).request();
}





/*********************Stuff for dynamic shape stuff ************************/

/* Client-side access to querystring name=value pairs
	Version 1.2.3
	22 Jun 2005
	Adam Vandenberg
*/
function Querystring(qs) { // optionally pass a querystring to parse
	this.params = new Object()
	this.get=Querystring_get
	
	if (qs == null)
		qs=location.search.substring(1,location.search.length)

	if (qs.length == 0) return

// Turn <plus> back to <space>
// See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
	qs = qs.replace(/\+/g, ' ')
	var args = qs.split('&') // parse out name/value pairs separated via &
	
// split out each name=value pair
	for (var i=0;i<args.length;i++) {
		var value;
		var pair = args[i].split('=')
		var name = unescape(pair[0])

		if (pair.length == 2)
			value = unescape(pair[1])
		else
			value = name
		
		this.params[name] = value
	}
}

function Querystring_get(key, default_) {
	// This silly looking line changes UNDEFINED to NULL
	if (default_ == null) default_ = null;
	
	var value=this.params[key]
	if (value==null) value=default_;
	
	return value
}



function loadShapes(){
	new Ajax.Request('/stoneshape.json', {onComplete: function(request){stoneShapes=eval("(" + request.responseText + ")"); writeStoneShapes();}});
}


function writeStoneShapes(){
	var filterMatch = false;
	if(stoneShapes[category]){
		var categoryShapes = stoneShapes[category][0].shapes.split(',');
	}
	else{
		if(category.indexOf(':') > -1){
			var categoryArray = category.split(':');
			for(var b = categoryArray.length - 1; b >= 0; b--){
				if(stoneShapes[categoryArray[b]]){
					var categoryShapes = stoneShapes[categoryArray[b]][0].shapes.split(',');
					filterMatch = true;
				}
			}
		}
		if(filterMatch == false){
			var categoryShapes = stoneShapes["Default"][0].shapes.split(',');
		}
	}	
		
	for(var a = 0; a < categoryShapes.length; a++){
		var filterId = $(categoryShapes[a] + 'Filter')
		if(filterId){
			$(categoryShapes[a] + 'Filter').style.display = 'block';
		}
	}
}




/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/

/*OPACITY*/

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;  
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";  
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;  
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;  
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}			
	
	
function toolTipVal(prodNum, ele){
	ajax_showTooltip('/php/returnToolTip.php?prodNo=' + prodNum ,ele);
}




/* From diamond search */
function clear_sort_images(){
	$('shape_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('cut_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('carat_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('color_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('clarity_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('polish_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('symmetry_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('report_sort').src = 'http://images.diamondwave.com/blank.gif';
	$('price_sort').src = 'http://images.diamondwave.com/blank.gif';
}

