
var subsafe = false;

function quote_find(myform,preq)
{
        MyIndex = myform.selectedIndex;
        MyValue = myform.options[MyIndex].value;
        cstart = false;
        
        newo = preq.options;
        newol = newo.length-1;

        for (i = 0; i <= newol; i++)
        {
        	newo[i].style.color = "#cccccc";
        	newo[i].style.fontweight = "normal";        
        	newo[i].selected = false;
        
        	if (newo[i].value == "occ_"+ MyValue)
        	{
        		cstart = true;

        		newo[newol].selected = true;
        		newo[newol].selected = false;
        		newo[i].selected = true;
        	}
        	else if (newo[i].value.indexOf("occ_") >= '0')
        	{
        		cstart = false;
        	}
        	
        	if (cstart)
        	{
        		newo[i].style.color = "#000000";
        		newo[i].style.fontweight = "bold";
        		newo[i].style.backgroundcolor = "#ccff99";
        	}
        	
        	
        }
}

function quote_add(myform,update)
{
        MyIndex = myform.selectedIndex;
        MyText = myform.options[MyIndex].text;
        
        update.elements["data[quote]"].value = MyText;
        mylen = MyText.length;
        
        update.qlength.value = 85-mylen;
}

function update_count(myfield,myform)
{
        MyLen = myfield.value.length;
        myform.qlength.value = 85-MyLen;
}


function bbr(myurl)
{
	w=screen.availwidth+"px";
	h=screen.availheight+"px";
	var bbbr = open("","AvantiElite","width=600,height=150,left=30,top=50");
	if (bbbr)
	{
		bbbr.location = myurl;
	}
	else
	{
		if (exit)
		{
			bbbr = window.showModalDialog(""+myurl+"","","dialogHeight: "+h+"; dialogWidth: "+w+"; dialogTop: 50px; dialogLeft: 100px; edge: Raised; center: Yes; help: Yes; resizable: No; status: No;");
			exit=false;
		}
	}
}

function pop(myurl,h,w)
{
	var bbbr = open("","AvantiElite","width="+ w +",height="+ h +",left=30,top=50");
	bbbr.location = myurl;
}

function mypreview()
{
	n = 0;
	sf = 0;
	q = document.forms[0].elements["data[quote]"].value;
	df = document.forms[0].elements["data[font]"];
	myf = df.length;
	
	fonts = new Array();
	fonts["arial"] = "1";
	fonts["times"] = "2";
	fonts["americana"] = "3";
	fonts["oldenglish"] = "4";
	fonts["script"] = "5";
	
	//alert(myf);
	
	for (i = 0; i < myf; i++)
	{
		if (df[i].checked)
		{
			myfont = fonts[df[i].value];
			sf = 1;
			dfiv = df[i].value;
		}
	}
	
	if (sf == '0')
	{
		alert("Please select a font to display your quote with.");
		n = 1;
	}	
	else if (q.length <= '0' && dfiv != 'none')
	{
		alert("Please select a quote or enter some text in the available field.");
		n = 1;
	}
	else if (dfiv == 'none')
	{
		n = 1;
	}
	
	if (n == '0')
	{
		link = "./image.php?f="+ myfont +"&q=" + escape(q);
		//alert(link);
		
		myw = window.open("","AvantiElite","width=720,height=180,left=10,top=50,scrollbars=yes,resizable=yes");
		myw.location = link;
	}
}

function quickpreview(f,q)
{
	fonts = new Array();
	fonts["arial"] = "1";
	fonts["times"] = "2";
	fonts["americana"] = "3";
	fonts["oldenglish"] = "4";
	fonts["script"] = "5";
	
	myfont = fonts[f];
	
	link = "./image.php?f="+ myfont +"&q=" + escape(q);
	
	myw = window.open("","AvantiElite","width=720,height=180,left=10,top=50,scrollbars=yes,resizable=yes");
	myw.location = link;

}

function helpem(id)
{
	link = "./help.php?help="+ id;
	myw = window.open("","AvantiElite","width=450,height=350,left=40,top=50,scrollbars=yes,resizable=yes");
	myw.location = link;
		
}

function headinfo(id)
{
	link = "./heads.php?head_id="+ id;
	myw = window.open("","AvantiElite","width=550,height=200,left=40,top=50,scrollbars=yes,resizable=yes");
	myw.location = link;
}

function subButton(mystep,myform,myvalue)
{
	//myform.action = "./putter.php";
	//alert(myform.action);
	myform.action.value = myvalue;
	//alert(myform.action.value);
	
	if (mystep == '1' && !validstep1(myform))
	{
		return false;	
	}
	else if (mystep == '2' && !validstep2(myform))
	{
		return false;	
	}
	else if (mystep == '3' && !validstep3(myform))
	{
		return false;	
	}
	else if (mystep == '4' && !validstep4(myform))
	{
		return false;	
	}	
	else if (mystep == '5' && !validstep5(myform))
	{
		return false;	
	}
	else if (mystep == '7' && !validstep7(myform))
	{
		return false;	
	}	
	else if (mystep == '99')
	{
		subsafe = true;
	}
}

function validstep1(myform)
{
	myreturn = true;
	sf = 0;

	if (!validNum(myform.elements["data[quantity]"],'Quantiy',true))
	{
		myreturn = false;
	}
	
	df = myform.elements["data[font]"];
	myf = df.length;
	
	for (i = 0; i < myf; i++)
	{
		if (df[i].checked)
		{
			sf = 1;
			dfiv = df[i].value;
		}
	}
	
	if (sf != '1')
	{
		alert('Please select a font!');
		myreturn = false;
	}
	else if (dfiv != 'none' && !validRequired(myform.elements["data[quote]"],'Quote'))
	{
		myreturn = false;
	}	
	
	subsafe = myreturn;
	return myreturn;
}

function validstep2(myform)
{
	myreturn = true;
	sf = 0;

	df = myform.elements["data[head_id]"];
	myf = df.length;
	
	for (i = 0; i < myf; i++)
	{
		if (df[i].checked)
		{
			sf = 1;
		}
	}
	
	if (sf != '1')
	{
		alert('Please select a Putter Head!');
		myreturn = false;
	}
	
	subsafe = myreturn;
	return myreturn;
}

function validstep3(myform)
{
	myreturn = true;
	sf = 0;

	df = myform.elements["data[logo_id]"];
	myf = df.length;
	
	for (i = 0; i < myf; i++)
	{
		if (df[i].checked)
		{
			sf = 1;
		}
	}
	
	if (sf != '1')
	{
		alert('Please select a Logo Option!');
		myreturn = false;
	}
	
	subsafe = myreturn;
	return myreturn;
}

function validstep4(myform)
{
	myreturn = true;
	sf = 0;

	df = myform.elements["data[option_id]"];
	myf = df.length;

	for (i = 0; i < myf; i++)
	{
		if (df[i].checked)
		{
			sf = 1;
		}
	}

	if (sf != '1')
	{
		alert('Please select an above Option!');
		myreturn = false;
	}
	
	subsafe = myreturn;
	return myreturn;
}

function validstep5(myform)
{
	myreturn = true;
	sf = 0;

	//alert(myform.name);
	//alert(myform.elements.length);
	
	//interrogate(myform)
	
	for (i = 0; i < myform.elements.length; i++)
	{
		if (myform.elements[i].type == 'text' && myform.elements[i].value > '0')
		{
			sf = 1;
		}
	}

	sc = myform.elements["data[selected_case]"];
	
	if (sf != '1' && !sc.checked)
	{
		alert('Please Select a Putter Display Option!');
		myreturn = false;
	}
	
	subsafe = myreturn;
	return myreturn;
}

function validstep7(myform)
{
	pmi = false;
	myreturn = true;
	myalert = "";
	df = myform.elements;
	c = myform.sameinfo.checked;
	
	pm = myform.elements["data[pay_by]"];
	
	for (i = 0; i < pm.length; i++)
	{
		if (pm[i].checked)
		{
			pmi = pm[i].value;
		}
	}

	if (df["data[ci_first]"].value == "" || (df["data[bi_first]"].value == "" && !c))
	{
		myalert += "First Name\n";
	}
	
	if (df["data[ci_last]"].value == "" || (df["data[bi_last]"].value == "" && !c))
	{
		myalert += "Last Name\n";
	}
	
	if (df["data[ci_address1]"].value == "" || (df["data[bi_address1]"].value == "" && !c))
	{
		myalert += "Address\n";
	}
	
	if (df["data[ci_city]"].value == "" || (df["data[bi_city]"].value == "" && !c))
	{	
		myalert += "City\n";
	}
	
	if (df["data[ci_state]"].value == "" || (df["data[bi_state]"].value == "" && !c))
	{
		myalert += "State\n";
	}
	
	if (df["data[ci_zip]"].value == "" || (df["data[bi_zip]"].value == "" && !c))
	{
		myalert += "Zip\n";
	}
	
	if (df["data[ci_country]"].value == "" || (df["data[bi_country]"].value == "" && !c))
	{
		myalert += "Country\n";
	}
	
	if (df["data[ci_phone]"].value == "" || (df["data[bi_phone]"].value == "" && !c))
	{
		myalert += "Phone\n";
	}
	
	if (!pmi)
	{
		myalert += "Select a payment Method\n";
	}
	else if (pmi == "visa" || pmi == "mc")
	{
		if (df["data[cc_name]"].value == "")
		{
			myalert += "Name on Credit Card\n";
		}
		
		if (df["data[cc_number]"].value == "")
		{
			myalert += "Credit Card Number\n";
		}
		
		if (df["data[cc_exp_yr]"].value == "")
		{
			myalert += "CC Exp Year\n";
		}
		
		if (df["data[cc_exp_mn]"].value == "")
		{
			myalert += "CC Exp Month\n";
		}
	}
	
	if (myalert)
	{
		if (!c)
		{
			g = " Customer and Billing ";
		}
		else
		{
			g = " Customer ";
		}
		
		alert("Please enter the following"+ g +"information:\n\n"+ myalert);
		myreturn = false;
	}
	
	subsafe = myreturn;
	return myreturn;
}

function ci_up(field1,myform,field2)
{
	//alert(field1.value);
	//alert(field2);
	if (myform.sameinfo.checked)
	{
		myform.elements["data["+ field2 +"]"].value = field1.value;
	}
}

function ci_bi(myform)
{
	fields = new Array();
	fields[0] = "first";
	fields[1] = "last";
	fields[2] = "address1";
	fields[3] = "address2";
	fields[4] = "city";
	fields[5] = "state";
	fields[6] = "zip";
	fields[7] = "country";
	fields[8] = "phone";
	fields[9] = "fax";

	for (i = 0; i < fields.length; i++)
	{
		if (myform.sameinfo.checked)
		{
			myform.elements["data[bi_"+ fields[i] +"]"].value = myform.elements["data[ci_"+ fields[i] +"]"].value;
		}
		else
		{
			myform.elements["data[bi_"+ fields[i] +"]"].value = "";
		}
		
	}
	
	return true;
}

function interrogate(what) {
    var output = '';
    for (var i in what)
        output += i+ '\n';
    alert(output);
}

function safesub()
{
	return subsafe;	
}	

function updateHead(mylist,myform)
{
        MyIndex = mylist.selectedIndex;
        MyValue = mylist.options[MyIndex].value;
        
        list2 = myform.elements["data[head_id]"];
        
        myarray = MyValue.split(',');
        
        //alert(MyIndex);
        //alert(MyValue);
        
        for (i = 0; i < list2.length; i++)
        {
        	list2[i].checked = false;
        
        	if (list2[i].value == myarray[1])
        	{
        		list2[i].checked = true;
        	}
        }
}

function updateOption(mylist,myform)
{
        MyIndex = mylist.selectedIndex;
        MyValue = mylist.options[MyIndex].value;
        
        list2 = myform.elements["data[option_id]"];
        
        myarray = MyValue.split(',');
        
        //alert(MyIndex);
        //alert(MyValue);
        
        for (i = 0; i < list2.length; i++)
        {
        	list2[i].checked = false;
        
        	if (list2[i].value == myarray[4])
        	{
        		list2[i].checked = true;
        	}
        }
}

function updateLogo(mylist,myform)
{
        MyIndex = mylist.selectedIndex;
        MyValue = mylist.options[MyIndex].value;
        
        list2 = myform.elements["data[logo_id]"];
        
        myarray = MyValue.split(',');
        
        //alert(MyIndex);
        //alert(MyValue);
        
        for (i = 0; i < list2.length; i++)
        {
        	list2[i].checked = false;
        
        	if (list2[i].value == myarray[3])
        	{
        		if (myarray[3] == "upload")
        		{
        			myform.elements["data[c_logo_id]"].value = myarray[5];
        		}
        	
        		list2[i].checked = true;
        	}
        }
}

function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField,fieldLabel)
{
	var result = true;
	
	if (formField.value == "")
	{
		alert('Please enter a value for the "' + fieldLabel +'" field.');
		formField.focus();
		result = false;
	}
	
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;

	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,fieldLabel,required)
{
	var result = true;
	
	if (required && !validRequired(formField,fieldLabel))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		alert("Please enter a complete email address in the form: yourname@yourdomain.com");
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validInt(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			alert('Please enter a number for the "' + fieldLabel +'" field.');
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}


function validDate(formField,fieldLabel,required)
{
	var result = true;

	if (required && !validRequired(formField,fieldLabel))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var month = parseInt(elems[0],10);
  			var day = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter a date in the format MM/DD/YYYY for the "' + fieldLabel +'" field.');
			formField.focus();		
		}
	} 
	
	return result;
}

