      var vis_tab = 1;
      var lastclass = "";
      var loc = document.location.href;
			var thePage = '';
			
			
			// define these two to use wishlist / compare list
			var memList    = 'memoryBox';
			var memoryForm = 'theDiamond'; // contains field 'stock_num' for memory
			var recallFunc = function(val) {
			  getDia(val);
			};
			
      function displayTab(tab) {
			  var tn;
				for(tn = 1; tn < 6; tn++) {			
          tabtitl = "dd" + tn;
          tabname = "dt" + tn;
	  			tabbutn = "ddT" + tn;
	    		Element.removeClassName(tabtitl, 'showDT');
	    		Element.removeClassName(tabbutn, 'displayTabOn');
	    		Element.removeClassName(tabname, 'showDTS');
        }
				
        tabtitl = "dd" + tab;
        tabname = "dt" + tab;
				tabbutn = "ddT" + tab;
	  		Element.addClassName(tabtitl, 'showDT');
	  		Element.addClassName(tabbutn, 'displayTabOn');
	  		Element.addClassName(tabname, 'showDTS');

        vis_tab = tab;
      }

			function handle_list(xmlObj)
			{

        $('DATA').innerHTML = xmlObj.responseText;
        var table = Element.down(Element.down('DATA'));
				var rows = Element.childElements(table);
        var header = Element.childElements(rows[0]);
				var len = parseInt(header[0].innerHTML) +1;
				var first = parseInt(header[1].innerHTML);
				var last = parseInt(header[2].innerHTML);
				var total = parseInt(header[3].innerHTML);
				var kind = header[4].innerHTML;
				var slink = header[5].innerHTML;
				var i = 0;
				
				//alert('Display ' + len + ' ' + kind + ' Diamonds, showing ' + first + ' to ' + last + ' of ' + total + '.'); 
				var limits = (last - (first-1)) + 1;
        for(i = 1; i < limits; i++) {
           var cells = Element.childElements(rows[i]);
					 var special = cells[0].innerHTML;
           if(parseInt(special) == 1) {
					   cells[5].innerHTML = "<img class='salemark' src='images/saleitem_row.gif' alt='Sale' >" + cells[5].innerHTML;
  				   if(i % 2 == 0) Element.addClassName(rows[i],'specialone');
						 else Element.addClassName(rows[i],'specialtwo');
					 }
					 Element.remove(cells[0]);
				   if(i % 2 == 0) Element.addClassName(rows[i],'rowone');
	  			 Element.writeAttribute(rows[i], 'onClick', "getDia('" + cells[1].innerHTML + "'," + cells[0].innerHTML + ");");
    			 Element.writeAttribute(rows[i], 'title', "Click to see this Diamond's details below.");
				}
				

				Element.remove(rows[0]);
				
				$('slink').href = slink;
				
				if(first <= 1) {
				  $('DSTRBP').className = 'DSTRB_off';
					Element.writeAttribute('DSTRBP', 'onclick', 'return false;');
				}
				else {
				  $('DSTRBP').className = '';				  
					Element.writeAttribute('DSTRBP', 'onclick', "$('dsf20').value='" + (first - len) + "';submitSearch();return false;");
				} 
				if(last >= total) {
				  $('DSTRBN').className = 'DSTRB_off';
					Element.writeAttribute('DSTRBN', 'onclick', 'return false;');
				}
				else {
				  $('DSTRBN').className = '';
					Element.writeAttribute('DSTRBN', 'onclick', "$('dsf20').value='" + last + "';submitSearch();return false;");
				}
				$('DSTN').innerHTML = total;
				$('DSTT').innerHTML = kind;
				if(total < 1) $('DSTL').innerHTML = 'no results.';
				else $('DSTL').innerHTML = first + ' - ' + last;
				$('diamondSearchPane').innerHTML = $('DATA').innerHTML + "<span id='DSTRC'>" + $('DSTRC').innerHTML + "</span>";
				$('DATA').innerHTML = '';
        $('loadingPane').style.display = 'none';
        $('use_block').style.display = 'none';
        pageTracker._trackPageview(thePage);
        refreshList();
			}
			function handle_stock(xmlObj)
			{
				$('ds_stock').innerHTML = xmlObj.responseText;
        $('loadingPane').style.display = 'none';
        $('use_block').style.display = 'none';
        visible_tab = "Detail";
        pageTracker._trackPageview(thePage);
        refreshList();
				
			}
			function handle_memory(xmlObj)
			{
				$('memoryBox').innerHTML = xmlObj.responseText;
				$('memoryBox2').innerHTML = xmlObj.responseText;
			}
      function handle_addtocart(xmlObj)
      {
        $('diamondBuyBody').innerHTML = xmlObj.responseText;
      }

      function loading_list(obj) {
        $('loadingPane').style.display = 'block';
				//Event.observe('loadingPane','click',obj.abort());
        $('use_block').style.display = 'block';
      }
      function submitSearch() {
        $('dsf17').value='1';
        $('dsf15').value='0';
        thePage = 'diamondSearch.php?' + $('diamondSearchForm').serialize();
        $('diamondSearchForm').action = 'diamondSearch.php?view=list';
        $('diamondSearchForm').request({ method: 'get',
				                                 onCreate: loading_list,
                                         onComplete: handle_list});
        $('diamondSearchForm').action = '';
      }
      function submitStock() {
        $('dsf17').value='0';
        $('dsf15').value='1';
        thePage = 'diamondSearch.php?' + $('diamondSearchForm').serialize();
        $('diamondSearchForm').action = 'diamondSearch.php?view=detail';
        $('diamondSearchForm').request({ method: 'get',
                                  			 onCreate: loading_list,
                                         onComplete: handle_stock});
        $('diamondSearchForm').action = '';
      }
      function memory(act) {
			  var faction = $(memoryForm).action;
			  $(memoryForm).action = 'scripts/search_remember.php?act=' + act;
        $(memoryForm).request({ method: 'get',
                                         onComplete: handle_memory});				 
        $(memoryForm).action = faction;
			}
      function recall(it) {
        recallFunc(it);			
			}
			function listmem() {
        new Ajax.Updater(memList,'scripts/search_remember.php?recallit=1',{ method: 'get' });			
			}
      
			// changes visualization in list
      function refreshList() {

        var oldstock = 'row_' + $('dsf18').value;
 				var stock = 'row_' + $('dsf16').value;
			  var i;
//        var rows = Element.childElements('DSTR');
       
			  seenIt(oldstock);
				selectIt(stock);
				unselectIt(oldstock);
			}
			function hiLite(id) {
	  		Element.addClassName(id, 'highlightedRow');
      }
			function unhiLite(id) {
	  		Element.removeClassName(id, 'highlightedRow');			  
			}
			function seenIt(id) {
	  		Element.addClassName(id, 'rowSeen');			
			}
			function notseenIt(id) {
	  		Element.removeClassName(id, 'rowSeen');			  
			}
			function selectIt(id) {
	  		Element.addClassName(id, 'rowSelect');						
			}
			function unselectIt(id) {
	  		Element.removeClassName(id, 'rowSelect');	
			}
      
     
			
      function addDiamToCart() {
        $('addToCartForm').request({ method: 'get',
                                     onComplete: handle_addtocart});
      }
      function infoPop(localUrl) {
        var theWindow = open(localUrl,"theWindow","width=420,scrollbars=yes, height=300,status=no,toolbar=no,menubar=no,resize=no,LEFT=0,top=0");
      }
      function jump(anchor) {
        document.location.hash = anchor;
      }
			function getDia(stock,type) {
			  $('dsf19').value = type;
			  $('dsf18').value = $('dsf16').value;
			  $('dsf16').value = stock;
			  $('dsf15').value = '1';
			  submitStock(0);
			  jump('dstop');
			}
			function srcDia(fld,val) {
			  var id='dsf'+fld;
				$(id).value=val;
				submitSearch();
			}
			function srcDD(fld,val) {
			  var id='dsf'+fld;
				$(id).value=val;
				$('dsf22').value='1';
				submitSearch();	
				$('dsf22').value='0';
			}
			function srcORD(fld,val,obj) {
			if (Element.hasClassName(obj, 'DESC')) {
				srcDD(fld, val + ' DESC');
				Element.removeClassName(obj,'DESC');
			}
			else {
				srcDD(fld, val);
				Element.addClassName(obj,'DESC');
			}
			Element.writeAttribute('active_ordering','id','');
			Element.writeAttribute(obj.parentNode, 'id', 'active_ordering'); 
			}
