// JavaScript Document
var bd=new Object({bladegroup:0,feet:4,inch:0,fracinch:0,width:"",toothpitch:"",qty:1});

function quikLoad(trgt,bg,w,p,radioObj) {
	var ustring="forms/bladeform.cfm";
	loadObj(radioObj);
	// load the blade object first
	bd.bladegroup=bg;
	bd.width=w;
	bd.toothpitch=p;
	// portaband uses hidden fields for size
	if (document.orderform.feet.type == 'hidden') 
	{ 
		bd.feet='0'
		bd.inch='44';
		bd.fracinch='.875';
		ustring="forms/bladeformPortaband.cfm";
		//alert(bd.inch);
	}
	// all other blades hae user select from options
	else
	{
		bd.feet=document.orderform.feet.options[document.orderform.feet.selectedIndex].value;
		bd.inch=document.orderform.inch.options[document.orderform.inch.selectedIndex].value;
		bd.fracinch=document.orderform.fracinch.options[document.orderform.fracinch.selectedIndex].value;
	}
	//alert(ustring);
	ustring=ustring+buildQryStr();
	
	//alert(ustring);
	Spry.Utils.updateContent(trgt, ustring,loadForm);
							 
}
function buildQryStr() {
	var qryStr="?";
	var c=1;
	for(att in bd) {// build the URL parameters based on the loaded javascript object
		if(c >1){qryStr=qryStr+"&";}
		qryStr=qryStr+att+'='+bd[att];	
		c++;
	}
	qryStr=qryStr+'&cheater=' + Math.random();
	return qryStr;
}
function loadObj(obj){// updates single key in blade object based on form object
	var thisOpt;
	var thisVal; 
	if (obj == 0) {// this catches the add to cart image and breaks so an undefined is not added
		return true;	
	} 
	if(obj.type == 'text' || obj.type == 'hidden') { 
		thisOpt=obj.name;
		thisVal=obj.value;
	}
	else if(obj.type == "select-one") {
		thisOpt=obj.name;
		thisVal=obj.options[obj.selectedIndex].value;
	}
	else if(obj.type == 'radio') {
		thisOpt=obj.name;
		thisVal=obj.value;
	}
	bd[thisOpt]=thisVal;
	for(v in bd) {
		//alert(v+' = '+bd[v]);
	}
}
// reload the form
function loadForm() {
	// loop the object
	for(att in bd) {
		// set the specific form
		with(document.orderform){
			if(!!elements[att]){// use a double-negative here to make sure specific form element exists
				if(elements[att].type == 'text' || elements[att].type == 'hidden'){
					elements[att].value= bd[att];
				}
				else if(elements[att].type == 'select-one') {
					for(x=1;x<elements[att].length;x++) {
						if(elements[att].options[x].value == bd[att]) {
							elements[att].selectedIndex=x;
						}
					}
				}
				else if(elements[att].type == 'radio' || elements[att][0].type == 'radio') {//alert(elements[att].length);
					for(r=0;r<elements[att].length;r++) {
						if(elements[att][r].value == bd[att]) {
							elements[att][r].checked = true;	
						}
					}
				}
			}	
		}
	}
	//fillform();
}
function fillform() {
	 //in order for finishfunc to work when content has been cached; need this setTiemout function
	 setTimeout("loadForm()",0);
}
function getBladeForm(obj,trgt,url) {
	var c=1;// counter
	var u=url;
	var d=trgt; //div target
		
	if (arguments.length == 4)
	{
		obj = document.orderform.feet;
		//alert(obj.value);
		loadObj(obj);
		str=u+buildQryStr(); 
		//obj = document.orderform.inch;
		//loadObj(obj);
		//str=u+buildQryStr(); 
		/*obj = document.orderform.fracinch;
		loadObj(obj);
		str=u+buildQryStr(); */
		//alert(str);
		Spry.Utils.updateContent(d, str,loadForm);
	}
	else
	{
		loadObj(obj);// load javascript object based on selected values in form
		str=u+buildQryStr();  
		Spry.Utils.updateContent(d, str,loadForm);
	}
}
function getForm(trgt,url) {
	var urlOut=url+'&cheater=' + Math.random();
	Spry.Utils.updateContent(trgt, urlOut);
}
function getValsnPush() {
	var urlStr="sidebar.cfm?"
	var qty=document.sbcf.qty.value;
	var bladeid=document.sbcf.bladeid.value;
	var itemid=document.sbcf.itemid.value;
	var qryStr="bladeid="+bladeid+"&qty="+qty+"&itemid="+itemid;
	urlStr=urlStr+qryStr+'&cheater=' + Math.random();
	Spry.Utils.updateContent('sbcart', urlStr);
}

function updCartQty(obj,trgt,cartpos){
	var u="forms/upd_cart_qty.cfm";
	var q="?";
	q=q+"cartid="+obj.name;
	q=q+"&qty="+obj.value;
	urlStr=u+q+'&cheater=' + Math.random();
	//alert(urlStr);
	Spry.Utils.updateContent(trgt, urlStr);
}
function showWait(h,w) {
	var imgID="waiting";
	if(arguments.length > 2){imgID=arguments[2];}
	document.getElementById(imgID).style.visibility = 'visible';
	document.getElementById(imgID).height = h;
	document.getElementById(imgID).width = w;
}
function hideWait(){
	document.getElementById("waiting").style.visibility = 'hidden';	
}
function doShipping(){
	var q="?cheater="+Math.random();
	if(arguments.length == 1){
		q=q+"&ups="+arguments[0];
	}
	u="forms/calculate_shipping.cfm"+q;
	Spry.Utils.updateContent('shipping',u);
}
function machineSearch(v) {
	var q=v.toLowerCase();
	if(q.length > 2){
		showWait(33,45);
		u="forms/machineSearch.cfm?i="+q;
		if(arguments.length > 2){
			fadeIt('machineclicker', u);
		}
		else{Spry.Utils.updateContent('machineclicker', u);}
	}
	//else if(q.length < 3){
		//showWait(33,45);
		///u="forms/machineSearch.cfm?i=zzzzzzzz";
		//Spry.Utils.updateContent('machineclicker', u);
			
	//}
}
function getModel(k,x) {
	showWait(33,45);
	u="forms/modelDetail.cfm?m="+k+"&i="+x+"&cheater=" + Math.random();
	Spry.Utils.updateContent('machineclicker', u);
}