var endMsg;
var file1;
var warnMsg = '';

function confirmEmail(e)
{
    redTableObj = parent.document.getElementById('redTable');
    hiderObj = parent.document.getElementById('hider');
	emailConfirmObj = parent.document.getElementById('emailConfirm');
	emailConfirmObj.style.display = 'none';
    getPage('Tech_Tools/PartSearch/emailCheck.php?email='+e,'processEmail');
	browserName == 'msie' ? redTableObj.filters.alpha.opacity=100 : browserName == 'firefox' ? redTableObj.style.MozOpacity = 1 : redTableObj.style.opacity = 100;
	hiderObj.style.width = '1px';
}


function findExt(ext)
{
	ext = ext.toLowerCase();
	okayExt = '.sldprt.slddrw.sldasm.part.prt.gif.jpg.jpeg.pdf.png.zip.dwg.dxf.tif.tiff.bmp.igs.iges.drwl.edrw.stp.step.xpr.asm.xas.ipt.sldprt.psd';
	checkExtPos = ext.lastIndexOf('.');
	if(checkExtPos == '-1'){warnMsg += 'Not a valid file type.';}
	theExt = ext.substr(checkExtPos,ext.length - checkExtPos);
	if(okayExt.indexOf(theExt) == '-1'){warnMsg += 'That file type ('+ theExt +') is not one we can handle.'}

	return warnMsg;
}

function startUploads(e)
{
    document.getElementById('progStatsHolder').style.backgroundColor = 'black';
	sendBtn.value = "Sending...";
	sendBtn.disabled = true;
	//window.frames['grabFiles'].document.getElementById('upStatus').innerHTML = 'Upload Status: Sending';
	
	var formInfo = parent.document.rfqform;
	//var warnMsg= '';
	var fname = parent.document.getElementById('fname').value;
	fname.length < 2 ? warnMsg += 'Enter your first name.\r\n' : warnMsg += '';
	fname = fname.replace(/\|/g,"*");
	fname = escape(fname);
	var lname = parent.document.getElementById('lname').value;
	lname.length < 2 ? warnMsg += 'Enter your last name.\r\n' : warnMsg += '';
	lname = lname.replace(/\|/g,"*");
	lname = escape(lname);
	var companyName = parent.document.getElementById('companyName').value;
	companyName.length < 2 ? warnMsg += 'Enter your company name.\r\n' : warnMsg += '';
	companyName = companyName.replace(/\|/g,"*");
	companyName = escape(companyName);
	var street = parent.document.getElementById('street').value;
	street.length < 2 ? warnMsg += 'Enter your street.\r\n' : warnMsg += '';
	street = street.replace(/\|/g,"*");
	street = escape(street);
	var city = parent.document.getElementById('city').value;
	city.length < 2 ? warnMsg += 'Enter your city.\r\n' : warnMsg += '';
	city = city.replace(/\|/g,"*");
	city = escape(city);
	var states = parent.document.getElementById('states').value;

	var prov = parent.document.getElementById('prov').value;
	var statesAlt = parent.document.getElementById('statesAlt').value;
	statesAlt = statesAlt.replace(/\|/g,"*");
	statesAlt = escape(statesAlt);
	var zip = parent.document.getElementById('zip').value;
	zip.length < 3 ? warnMsg += 'Enter your zip or postal code. \r\n' : warnMsg  = warnMsg + '';
	zip = zip.replace(/\|/g,"*");
	zip = escape(zip);
	var phone = parent.document.getElementById('phone').value;
	phone.length < 10 ? warnMsg += 'Enter your phone number.\r\n' : warnMsg += '';
	phone = phone.replace(/\|/g,"*");
	phone = escape(phone);
	var fax = parent.document.getElementById('fax').value;
	//fax.length < 10 ? warnMsg += 'Enter your fax number.\r\n' : warnMsg += '';
	fax = fax.replace(/\|/g,"*");
	fax = escape(fax);
	var email = parent.document.getElementById('email').value;
	email.length < 2 ? warnMsg += 'Enter your email address.\r\n' : warnMsg += '';
	email = email.replace(/\|/g,"*");
	email = escape(email);
	var country = parent.document.getElementById('country').value;
	country.replaceWS() == '--' ? warnMsg += 'Select your country.\r\n' : warnMsg += '';

    var quantity = parent.document.getElementById('quantity').value;
	var tmpQty = quantity.replaceWS();
	tmpQty.length == 0 ? warnMsg += 'Enter a quanity. \r\n' : warnMsg += '';
	
	var material = parent.document.getElementById('material').value;
	var tmpMatl = material.replaceWS();
	tmpMatl.length == 0 ? warnMsg += 'Enter a material. If it is on the drawing just put \"see print\" \r\n' : warnMsg += '';
	
	var emailTest = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var emailTestResults = emailTest.test(email);
	!emailTestResults ? warnMsg += 'Enter a valid e-mail address\r\n' : warnMsg += '';

	var emailOrFax = new findRadioBtn(formInfo.emailFax);
	var emailOrFaxVal = emailOrFax.buttonValue;


	var rfqComments = parent.document.getElementById('comments').value;
	rfqComments.length > 1000 ? warnMsg += 'Please limit your comments to 1000 characters.  \r\n' : warnMsg += '';
	rfqComments = rfqComments.replace(/\|/g,"*");
	rfqComments = escape(rfqComments);


	var f1 = window.frames['grabFiles'].document.getElementById('file1').value;
	if(f1.length > 0){findExt(f1)};
	f1 = f1.replace(/\|/g,"*");
	var f2 = window.frames['grabFiles'].document.getElementById('file2').value;
	if(f2.length > 0){findExt(f2)};
	f2 = f2.replace(/\|/g,"*");
	var f3 = window.frames['grabFiles'].document.getElementById('file3').value;
	if(f3.length > 0){findExt(f3)};
	f3 = f3.replace(/\|/g,"*");
	
	var f1pos = f1.lastIndexOf("\\");
	var f2pos = f2.lastIndexOf("\\");
	var f3pos = f3.lastIndexOf("\\");
	f1 = f1.substr(f1pos+1);
	f2 = f2.substr(f2pos+1);
	f3 = f3.substr(f3pos+1);
	f1.length < 1 && f2.length < 1 && f3.length < 1 ? showMeter = false : showMeter = true;//alert(f1);

	prov != '--' ? states = prov : states = states;
	statesAlt != '' ? states = statesAlt : states = states;
	states == '--' ? warnMsg += 'Enter your State or Province.' : warnMsg += '';

	var userInfo = fname + '|' + lname + '|' + companyName + '|' + street + '|' + city + '|' + states + '|' + zip + '|' + phone + '|' + fax + '|' + email + '|' + rfqComments + '|' + emailOrFaxVal + '|' + f1 + '|' + f2 + '|' + f3 + '|'+ country+'|'+material+'|'+quantity;

	if(warnMsg != '')
	{
		alert(warnMsg);
		setTimeout("changeStatus",1000);
		//window.frames['grabFiles'].document.getElementById('upStatus').innerHTML = 'Upload Status: Error';
		sendBtn.value = "Try Sending Again";
		sendBtn.disabled = false;
	}
	else
	{
		uploadID = window.frames.grabFiles.document.getElementById('uID').value;
		window.frames.grabFiles.sendForm(userInfo);	
		
		if(showMeter)
		{
		    progInterval = setInterval("getPage('Tech_Tools/RFQ/uploadProgress2.php?id='+uploadID,'checkUploadProgress')",500);
		}
	}

	if(showMeter  && warnMsg == '')
	{
		//document.getElementById('progMeter').style.display='';
	}
	warnMsg = '';
	document.getElementById('largerFilesLinks').style.display='none';
	
	//self.frames['grabFiles'].upStatus.innerHMTL = "bcm';
}

function changeStatus()
{
   window.frames['grabFiles'].document.getElementById('upStatus').innerHTML = 'Upload Status: Error';
   return;
}

function checkUpload(tmp1,tmp2,tmp3,unId1,unId2,unId3)
{
	sessId = getCookie('ASPSESSIONIDGGGGGGGG');
	if(!endMsg)
	{
		endMsg = 'bcm';
	}
	if(endMsg.length < 4)
	{
		var file1 = window.frames['grabFiles'].document.getElementById('file1').value;
		var file1pos = file1.lastIndexOf("\\");
		var file2 = window.frames['grabFiles'].document.getElementById('file2').value;
		var file2pos = file2.lastIndexOf("\\");
		var file3 = window.frames['grabFiles'].document.getElementById('file3').value;
		var file3pos = file3.lastIndexOf("\\");
		file1 = file1.substr(file1pos+1);
		file2 = file2.substr(file2pos+1);
		file3 = file3.substr(file3pos+1);

		allFiles = file1 + '&file2=' + file2 + '&file3=' + file3 + '&tmpFile1=' + tmp1 + '&tmpFile2=' + tmp2 + '&tmpFile3=' + tmp3 + '&uniqueId1=' + unId1 + '&uniqueId2=' + unId2 + '&uniqueId3=' + unId3;
		
		//file1 = window.frames.grabFiles.file1.value;
		//getPage('/Tech_Tools/checkUpload.php','file1', allFiles, 'phpUpload');
		//getPage('Tech_Tools/RFQ/checkUpload.php?file1='+ allFiles, 'phpUpload');
	}
}

function showMsg(uploadMsg)
{
	endMsg = uploadMsg;
	//document.getElementById('progMeter').style.display='none';
	alert(endMsg);
	endMsg = 'reset';
}

/////library object to deal with xmlHTTP requests
var xmlResults = {
phpUpload: function(req)
	{
		if(req.readyState==4) 
		{
			if (req.status == 200)
			{
				//this is used to get the temp file name in order to determine the actual file name in checkupload.php
				var results = req.responseText;
				
				if(results != 'test2')
				{
					document.getElementById('loadProg').value = results;
					//setTimeout('checkUpload()',100);
				}
				else
				{
					document.getElementById('loadProg').value = "Done" ;
				}                           
			}
			else
			{
				alert("There was a problem retrieving the data: " + req.statusText +"\n An alert was just emailed to the staff at Rush Gears.") ;
				/////////put a call to an email xml email page to send an alert that the page is not working properly
			}
		}
	},

checkUploadProgress: function(req)
    {
	    progressDiv = document.getElementById('progress');
		storedProg = document.getElementById('storedProgress');
		storedID = document.getElementById('storedIDnum');
		meterHolderBar = document.getElementById('meterHolder');
		meterText = document.getElementById('meterTXT');
		meterBar = document.getElementById('meter');
		
	    if(req.readyState==4)
		{
		    if(req.status == 200)
			{
			    var results = req.responseText;
				//php array is -- "Uploading...",$info[meter],$info[width],$info[eta],$info[speed],$info[upl],$info[total];
                //progressDiv.innerHTML = results;
				var upMBs = '';
				var tMBs = '';
				var totl = ''
				var tempR = results.split(",");
				if (results.substr(0,10) != 'Connecting') 
				{
					upMBs = tempR[5];
					upMBs = parseInt(upMBs) / 1048576;
					upMBs = Math.Round(upMBs, 2);
					//upMBs += ' MB';
					
					tMBs = tempR[6];
					tMBs = parseInt(tMBs)/1048576;
					tMBs = Math.Round(tMBs,2);
					tMBs += ' MB'
					
					totl = upMBs+ ' of '+ tMBs;
				}
				
				if(tempR[0].toLowerCase().substr(0,10) != 'connecting')
				{
					window.frames['grabFiles'].document.getElementById('upStatus').innerHTML = tempR[0]+' '+totl;
				}
				
				//window.frames['grabFiles'].document.getElementById('upStatus').innerHTML = results;
				upMBs = '';
				if(results == 'largeFile')
				{
				    clearInterval(progInterval);
					alert('The File size exceeds 8MB');
					return;
				}
				
				if(results.substr(0,10) == 'Connecting')
				{
				    //storedProg.value = 'connecting';
					if(storedID.value.length < 1)
					{
					    storedID.value = 0;
					}
					
					storedID.value = parseInt(storedID.value) + 1;
					if(storedID.value > 2)
					{
					    meterBar.style.width = '440px';
					    meterText.innerHTML = '100%';
					    window.frames['grabFiles'].document.getElementById('upStatus').innerHTML = "Upload: finished!";
						storedProg.value = 'stopped';
						//setTimeout("clearProgress()",200);
						clearProgress();
						clearInterval(progInterval);
						return;
					}
				}
				
				if(results.substr(0,10) != 'Connecting')
				{
				    storedProg.value = 'connected';
					storedID.value = 0;
				}
				
				if(results.substr(0,10) == 'Connecting' && storedProg.value == 'connected')
				{
				    //clearInterval(progInterval);
				    //progressDiv.innerHTML = '&nbsp;&nbsp;Done!';
					storedProg.value = 'stopped';
					storedID.value = 0;
					meterBar.style.width = '440px';
					meterText.innerHTML = '100%';
					clearInterval(progInterval);
					setTimeout("clearProgress()",200);
				}
				else
				{
				    rArray = results.split(',');
				    progStatus = rArray[0];
					progMeter = rArray[1];
					progWidth = rArray[2];
					progETA = rArray[3];
					progSpeed = rArray[4]; //kbs
					progUploaded = rArray[5];
					progTotal = rArray[6];
					progStop = rArray[7];
					
					progUploaded = parseInt(progUploaded)/1048576;
					progUploaded = Math.Round(progUploaded,2);
					progTotal = parseInt(progTotal)/1048576;
					progTotal = Math.Round(progTotal,2);
					
					if(progStop == 'stop')
					{
					    clearInterval(progInterval);
						setTimeout("clearProgress()",200);
					}
					
					if(progSpeed)
					{
					    meterBar.style.width = parseInt(progWidth)*4.40 + 'px';
					    meterText.innerHTML = progMeter + '%';
					    progressDiv.innerHTML = ' &nbsp;&nbsp;Speed: '+progSpeed+'&nbsp;&nbsp;kb/s &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Time Remaining:&nbsp;&nbsp; '+progETA+' <br /> &nbsp;&nbsp;receiving: &nbsp;&nbsp;'+progUploaded+'&nbsp;MB  &nbsp;&nbsp;&nbsp;&nbsp;  of  &nbsp;&nbsp;&nbsp;&nbsp;  '+progTotal+'&nbsp;MB';
					}
				}
			}
			else
			{
			    progressDiv.innerHTML = 'There was a problem connecting to the server. Try again.';
	        }
		}
	},

processEmail: function(req)
	{
	    var email2Obj = parent.document.getElementById('email2');
	    var email1Obj = parent.document.getElementById('email');
		var fnameObj = parent.document.getElementById('fname');
		var lnameObj = parent.document.getElementById('lname');
		var companyNameObj = parent.document.getElementById('companyName');
		var streetObj = parent.document.getElementById('street');
		var cityObj = parent.document.getElementById('city');
		var statesObj = parent.document.getElementById('states');
		var zipObj = parent.document.getElementById('zip');
		var phoneObj = parent.document.getElementById('phone');
		var faxObj = parent.document.getElementById('fax');
		var countryObj = parent.document.getElementById('country');
		
		if(req.readyState==4) 
		{
			if (req.status == 200)
			{
				var results = req.responseText;
				var quoteInfo = results.split('|');
				var loggedIn = quoteInfo[0];
				
				switch(loggedIn)
				{
				case "error":
					alert('Your email address was not properly formatted. Please re-enter your email address and try again.');
					break;
				case "needToLogIn":
					email2Obj.value.length > 0 && email1Obj.value.length < 1 ? email1Obj.value = email2Obj.value : '';
					break;
				case "loggedIn":
					var Qemail = quoteInfo[1];Qemail.length > 0 ? email1Obj.value = Qemail : '';
					var Qfname = quoteInfo[2];Qfname.length > 0 ? fnameObj.value = Qfname : '';
					var Qlname = quoteInfo[3];Qlname.length > 0 ? lnameObj.value = Qlname : '';
					var Qcompany = quoteInfo[4];Qcompany.length > 0 ? companyNameObj.value = Qcompany : '';
					var Qstreet = quoteInfo[5];Qstreet.length > 0 ? streetObj.value = Qstreet : '';
					var Qcity = quoteInfo[6];Qcity.length > 0 ? cityObj.value = Qcity : '';
					var Qstate = quoteInfo[7];
					states = statesObj;
					for(x=0;x<states.length;x++)
					{
						if(states.options[x].value.toLowerCase() == Qstate.toLowerCase())
						{
							states.options[x].selected = true;
						}
					}
					var Qzip = quoteInfo[8];Qzip.length > 0 ? zipObj.value = Qzip : '';
					var Qphone = quoteInfo[9];Qphone.length > 0 ? phoneObj.value = Qphone : '';
					var Qfax = quoteInfo[10];Qfax.length > 0 ? faxObj.value = Qfax : '';
					var Qcountry = quoteInfo[11];
					country = countryObj
					
					for(x=0;x<country.length;x++)
					{
						if(country.options[x].value.toLowerCase() == Qcountry.toLowerCase())
						{
							country.options[x].selected = true;
						}
					}
					var QemailOrFaxIt = quoteInfo[12];
					emailIt = parent.document.getElementById('emailQuote');
					faxIt = parent.document.getElementById('faxQuote');
					if(QemailOrFaxIt)
					{
						switch(QemailOrFaxIt.toLowerCase())
						{ 
						case "faxit":
							faxIt.checked = true;
							break;
						case "emailit":
							emailIt.checked = true;
							break;
						default:
							emailIt.checked = true;
						}
					}
					
					//setTimeout("startUploads('none')",2000);
					break;
				}
			}
			else
			{
				var emailCode= new Array(115,97,108,101,115,115,116,97,102,102,64,114,117,115,104,103,101,97,114,115,46,99,111,109);
				var postEmailCode='';
				for (i=0;i<emailCode.length;i++)
				{
					postEmailCode+=String.fromCharCode(emailCode[i]);
				}
				
				alert('An internal Server Error occured: PQd. Could not connect to Rush Gears. \n\n Try pressing Send again or email us at '+postEmailCode+'.');
			}  
		}
	}
				    
};

function clearProgress()
{
    meterBar.style.width = '0px';
	meterText.innerHTML = '';
	sendBtn.value = 'Send Request';
	sendBtn.disabled = false;
	storedID.value = 0;
	return;
}
function getCookie(name)
{
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1)
	{
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	}
	else
	{
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
	{
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}
