<!--
function numOrdA(a, b){ return (a-b); }

function numOrdD(a, b){ return (b-a); } 

numArray = new Array(3,5,12,53,12,47);
function fraction(string) {
	lngth=parseFloat(string);
	var wholeNum=Math.floor(lngth);
	var decimal=lngth-wholeNum;
	var increment=.125;
	var eighths= decimal / increment;
	var numerator="";
	var denominator="";
	if(eighths!=0) {
		if( eighths%4==0 ) {				
			numerator=eighths/4;
			denominator = 2;
		} else {
			if( eighths%2==0 ) {
				numerator=eighths/2;
				denominator = 4;
			} else {
				numerator=eighths;
				denominator = 8;
			}
		}
	if(wholeNum==0) { wholeNum=""; }
	lngth=wholeNum + " "+numerator+"/"+denominator;
	}
	return lngth;
}

function nice_length(type, lngth){
	if(type=="Metric") {
		lngth+='&nbsp;mm';
	} else {
		lngth=fraction(lngth)+'"';
	}
return lngth;
}

function get_specs_data(){
this.subcat=null; this.type=null; this.spec=null;
	this.get_specs=function(){
		$.getJSON( "/finder/specs.php", { spec: this.spec, type:this.type, subCat:this.subcat }, function(json){
			var specs=Array();
			var counts=Array();
			i=0;
			for(x in json){
				//alert(x);
				specs[i]=x;
				//alert(json[x]);
				counts[i]=json[x]
				i++;
			 }
			 var data=specs.concat(counts);
			return data;
			//return json;
		})
	}
}


function part_data(){
	this.data; this.paraam; this.subCat; 
	this.get_data=function(){
		$.getJSON( "/finder/parts.php", { paramName: this.paraam, paramVal:this.data[this.paraam][x] , subCat:this.subCat }, function(json){
			partNums[npo.paraam]=Array();
			for(x in json){ partNums[npo.paraam][x]=json[x]; }//partNums['length'][0]
			display_specs();
		})
	}
}

function num_parts(){
	this.paraam=null; this.subCat=null; this.val=null;
	this.get_num =function(){
		$.get( "/finder/num_parts.php", { paramName:this.paraam, paramVal:this.val, subCat:this.subCat }, function(txt){																																																  			return txt;																										   		})
	}
}

function wait(paraam){
	if(!paraam) {
		var t=setTimeout("wait("+paraam+")", 1000);
	}
};

function part_html(){
	this.num=null; this.content=null; this.title=null;
	this.get_html=function(){
		html='<p><a class="specOpt" title="';
		html+=this.title;
		html+='">';
		html+=this.content;
		html+='</a>'+arrow()+' ('+this.num+')</p>'
		return html;
	}	
}



function display_specs(){ // nDat,
this.subcat=null; 
this.paraam=null; 
this.type=null;
this.spec=null;
this.display=function(){
	$(".itmOpt").click(function(){						
		$(".itmOpt").removeClass('blueBg');	
		str = this.className;
		var s = str.indexOf('itmOpt')+7;
		type=str.substr(s);
		$(this).addClass('blueBg');
		var title = this.title;	
		var tilde=title.indexOf('~');
		subcat=title.substr(0, tilde);
		spec=title.substr(tilde+1, title.length); 
		paraam=spec;
		$.getJSON( "/finder/specs.php", { spec:spec, type:type, subCat:subcat }, function(data){
			var specs=Array(); var counts=Array(); //var data=Array();
			i=0;		
			for(x in data){ 
				specs[i]=x; 
				counts[i]=data[x];
				i++; 
			}
			//}
			//for(x in specs){ alert(specs[x]); alert(counts[x]); }
			/*
			if(	(spec=="length") || (spec=="dia") ) {	
				l_d= Array();
				for(x in data){ l_d[x]=data[x]; }
				l_d.sort(numOrdA);
				data=l_d;
			}*/
		
			shwTitle=spec.substr(0, 1).toUpperCase()+spec.substr(1); //alert(shwTitle);
			count=0;
			for(x in specs) { count++; }
			var linksDescription=""; var vals=Array();
			for(x in specs) { vals[x]=specs[x]; }
			theCount=0;
			thisHtml="";
			for(x in specs) 
			{
				var val=specs[x];	theCount++;
				var num=counts[x];		//alert(val); alert(num);	
				var theVal=specs[x];
				title=theVal; var content="";
				if(spec=="length" || spec=="dia") { 
					if(spec=="length") { content=nice_length(type, theVal); }
					if(spec=="dia") {
						if(type=="Standard") { content='#'+theVal; }
						if (type=="Metric") { content=theVal+'mm'; }
					} 
				}else { content=theVal; }
				//alert(title); alert(content);
				info=new part_html();
				info.content=content;
				info.title=title;
				info.num=num;
				thisHtml+=info.get_html();
				//alert(thisHtml);
				//alert("thiscount = "+thisCount+" count= "+count);
				//if(theCount==count) { display_specs_show(thisHtml, shwTitle); }
			}
			display_specs_show(thisHtml, shwTitle);
		})
	});
}
}

function display_specs_show(linksDescription, shwTitle){ //linksDescription, shwTitle

		var html='<div style="position: relative;" class="niceform autoFindSelect">';
		html+=linksDescription;
		html+='</div>';
		/*
		$("#specHdr").append(shwTitle);
		$("#specLinks").append(html);
		$("#specs").fadeIn("fast");	
		*/
		$("#parts").fadeOut("fast", function(){
				$("#partHdr").empty();
				$("#partLinks").empty();
				//$("#partHdr").append(hdr);
				//$("#partLinks").append(html);
				//$("#parts").fadeIn("fast");
				$("#specs").fadeOut("fast", function(){
					$("#specLinks").empty();
					$("#specHdr").empty();
					$("#specHdr").append(shwTitle);
					$("#specLinks").append(html);
					$("#specs").fadeIn("fast");	
				
			
		//parts(npo.paraam, npo.subCat);	//function parts(paraam, subcat){
		$(".specOpt").click( function(){
			$(".specOpt").removeClass('blueBg');
			$(this).addClass('blueBg');
			var spec=this.title;
			$.getJSON( "/finder/part.php", { paramName:paraam, paramVal:spec , subCat:subcat }, 	
				function(json){	
				var html='<div style="position:relative" class="niceform findSelect">';
				var pCount=0;
				for(x in json){
					var pn = json[x]['pn'];
					var d =  json[x]['d'];
					html+='<p><a href="/Part/'+pn+'" title="View part ';
					html+=pn+'">Part &nbsp;'+pn+'</a> &nbsp;<span class="pD">'+d+'</span></p>';
					pCount++;
				}
			html+='</div>';
			var hdr=pCount+ " &nbsp;Products";
							/* ids
				sct		sctHdr		subcats
				vals	valHdr		values
				specs	specHdr		specLinks
				parts	partHdr		partLinks
				*/
			$("#parts").fadeOut("fast", function(){
				$("#partHdr").empty();
				$("#partLinks").empty();
				$("#partHdr").append(hdr);
				$("#partLinks").append(html);
				$("#parts").fadeIn("fast");
			})
			
			udf=new updateForm;
			udf.fields[0]="subCat";
			udf.values[0]=subcat;
			udf.fields[1]=paraam;
			udf.values[1]=spec;
			udf.numParts=pCount;
			udf.postDescription='or click individual part links above';
			udf.optClassName="none";
			udf.description="";
			udf.update();

		//$("#parts").fadeOut("fast", function(){
			//$("#partHdr").empty();
			//$("#partLinks").empty();								 
		//});
		});
		})
			});	
	});
}

function specs_opts(subCat){
	$(".itmOpt").click(function(){
		
		$(".itmOpt").removeClass('blueBg');						   
		$(this).addClass('blueBg');	
		$("#parts").fadeOut("fast", function(){
			$("#partHdr").empty();
			$("#partLinks").empty();								 
		});
		
			
		var html="";
		var type=
		numParts=new Array;
		partNums=new Array;
		
		var title = this.title;	
		var tilde=this.title.indexOf('~');
		var scat=title.substr(0, tilde);
		var paraam=title.substr(tilde+1, title.length);
		
		npo=new part_data(); 
		npo.data=data; 
		npo.paraam=paraam; 
		npo.subCat=subCat;
		npo.get_data();
	})
}
$(document).ready(function(){
	$(".flinks").each(function(){
		if( $(this).attr("href")==window.location ) {
			$(this).parent().addClass("isLink"); 
		}
	})
});
$(document).ready(function(){
	$(".tocOpt").click(function(){
		$("#msgBx").fadeOut("fast");
		$(".tocOpt").removeClass('blueBg');						   
		$(this).addClass('blueBg');							   
		var txt =this.title;
		$.getJSON( "/finder/subcats.php", { param: txt},  
		function(data)
		{
			if(data['count']>0) {
				var total=0;
				var html ='<div style="position:relative" class="niceform findSelect">';
				for(x=0; x <data['count']; x++) {
					html+='<p><a class="sctOpt" title="'+data['subCat'+x]+'">';
					html+=data['subCat'+x]+arrow()+'</a>&nbsp;('+data['numParts'+x]+')</p>';
					total+=parseInt(data['numParts'+x]);
				}
				var hdr = data['count']+' Sucategories';
				html+='</div>';
				/* ids
				sct		sctHdr		subcats
				vals	valHdr		values
				specs	specHdr		specLinks
				parts	partHdr		partLinks
				*/
				$("#parts").fadeOut("fast", function(){
					$("#partHdr").empty();
					$("#partLinks").empty();
					$("#specs").fadeOut("fast", function(){
						$("#specLinks").empty();
						$("#specHdr").empty();
						$("#vals").fadeOut("fast", function(){
							$("#valHdr").empty();
							$("#values").empty();
							$("#sct").fadeOut("fast", function(){
								$("#sctHdr").empty();
								$("#subcats").empty();
								$("#sctHdr").append(hdr);
								$("#subcats").append(html);
								$("#sct").fadeIn("fast", function(){
									udf=new updateForm;
									udf.fields[0]="category";
									udf.values[0]=txt;
									udf.optClassName=".tocOpt";
									udf.description="in category";
									udf.update();
									sctOpts();
								});
							});
				 		});
				 	});
				});	
			}
          });
  	});
})

function sctOpts() {
	$(".sctOpt").click(function(){
		$(".sctOpt").removeClass('blueBg');	
		$(this).addClass('blueBg');							   
		var txt =this.title;
		//console.log(txt);
		$.getJSON( "/finder/attributes2.php", { subcat: txt},  
		function(data){	
			names=Array( "Diameter", "Pitch", "Length", "Type", "Drive", "Bit", "Head", "Thread", "Finish");
			fields=Array( "dia", "pitch", "length", "type", "drive", "bit", "head", "thread", "finish");
			var tc=0; var html=""; var noLinks=""; var typeHdr=""; 
			for(optType in data){ tc++; }
			for(optType in data) // Standard, Metric, Other
			{
				typeHdr='<p class="typeHdr">'+optType+'</p>'; html+=typeHdr;
				var noLinks=""; var links=""; 
				for(x in fields) {
					var field=fields[x];
					var name=names[x];
					var vals=Array();
					for(z in data[optType][field]){ //console.log(field+" "+data[optType][field][z]);
						vals[z]=data[optType][field][z];
						count++;
					}
					var count=0; 
					for(k in vals) { count++; }
					if(count>1) {
						links+='<p><a class="itmOpt '+optType+'" title="'+txt+"~"+field+'">';
						links+=name+"&nbsp;"+arrow()+'</a>&nbsp;';
						links+='('+count+')</p>';
					} else {
						if(noLinks==""){
							noLinks='<p class="accent bold small">All</p>'+noLinks;
						}
						noLinks+='<p class="small"><span class="green">';
						noLinks+=name+'</span>&nbsp;&nbsp;'+vals[0]+'</p>';
					}
				}
				html+=links+noLinks;
			}
				

			var title="Choose Spec";
			html ='<div class="niceform autoFindSelect">'+html;
			
			html+='</div>';
			/* ids
			sct		sctHdr		subcats
			vals	valHdr		values
			specs	specHdr		specLinks
			parts	partHdr		partLinks
			*/
			$("#parts").fadeOut("fast", function(){
				$("#partHdr").empty();
				$("#partLinks").empty();
				$("#specs").fadeOut("fast", function(){
					$("#specLinks").empty();
					$("#specHdr").empty();
					$("#vals").fadeOut("fast", function(){
						$("#valHdr").empty();
						$("#values").empty();
						$("#valHdr").append(title);
						$("#values").append(html);
						$("#vals").fadeIn("fast");
						udf=new updateForm;
						udf.fields[0]="subCat";
						udf.values[0]=txt;
						udf.optClassName=".sctOpt";
						udf.description="in subcategory";
						udf.update();
						//specs_opts(txt);
						//specs_opts(txt);
						//ds=new display_specs();
						//ds.subcat=this.subcat;
						DS=new display_specs();
						DS.subcat=txt;
						DS.display();
					}); //vals fade out
				}); // specs fade out
			}); //parts fade out
        });	//data
  	});	//sctOpts.clik
}

function updateForm(){
	this.numParts=null; this.fields=Array(); this.values=Array(); 
	this.optClassName=null; this.description=null; this.postDescription='refine results above';
	this.update=function(){
		if(udf.optCalssName!="none"){
		$(this.optClassName).each(function(){
			if($(this).hasClass("blueBg")){
				var str=$(this).parent().get(0).innerHTML;
				var start=str.lastIndexOf('(')+1;
				var end=str.lastIndexOf(')');
				var strlng=end-start;
				//alert(str.substr(start, strlng));
				udf.numParts=parseInt(str.substr(start, strlng));
			}
		})
		}
		var form='<form action="/new-finder.php" method="post">';
		var partCount=parseInt(this.numParts);
		for(x in this.fields){
			form+='<input type="hidden" name="'+this.fields[x]+'" value="'+this.values[x]+'" />';
		}
		if(udf.numParts=="1") { var partZ="part"; } else { var partZ="parts"; }
		form+='<input type="submit" style="margin-top:13px;" class="niceform button" value="Click to view &nbsp;'+partCount+' &nbsp;'+partZ+" "+udf.description+' &nbsp;OR &nbsp;'+udf.postDescription+'"/></form>';
		$("#formDiv").fadeOut("slow", function(){
			$("#formfields"	).empty();
			$("#formfields"	).append(form);
			$("#formDiv").fadeIn("slow");
		});			  
	}
}

function arrow() {
	return '<span style="color:darkgreen">&nbsp;&#8722;</span><span style="color:darkred">&gt;</span>';
}
//-->