var swfu;

function checkForm(f)
{
	var divwidth  = 300;
	var divheight = 100;

	var window_width = get_document_window_width();
   	var width = convert_width(divwidth,window_width);
   	var window_height = get_document_window_height();
   	var height = convert_height(divheight,window_height);
   	var left = calculate_left(width,window_width);
   	var top = calculate_top(height,window_height);
	
	$('ajaxmessage').style.top = top+'px';
	$('ajaxmessage').style.left = left+'px';
	

	new Ajax.Request('admin/formmailer.php', 
					 {
					 	method: 'post',
		 			  	parameters: $(f).serialize(),
						onSuccess: function(transport)
						{			
							scroll(0,0);
							elementAppear('ajaxmessage');
							$(f).reset();
						},
						onFailure: function(transport)
						{ 							
							scroll(0,0);							
							elementAppear('ajaxmessage');
							
							
							//Recaptcha.reload();
						}
	 				 }
					 );
}

function formClose()
{
	answer = confirm("Leave Pay Online Page?");
	if(answer)
	{
		$('patientforms').innerHTML = "Thank your for using or online payment system. You will be redirect to the home page in 5 seconds.";
		setTimeout("self.location.href='http://www.westerndental.com'",5000);
	}
}

function intiateForm()
{
	$('submitform').disabled = false;
	addDatePickersToInputs();
}

function verifyPaymentForm(f)
{
	cc = checkCard();
	nc = checkInput('fname');
	ad = checkInput('lname');
	ce = checkExpiration();
	
	if(!cc || !nc || !ad || !ce )
	{
		if(!$('teetimepolicy').checked)
			alert("You must accept the course's tee time policy by clicking the checkbox.");
			//alert(cc +' '+ nc +' '+ad+' '+pc+' '+ce);
		return false;
	}
}

function initiate_upload_progress()
{
	
	/*$('#fileField').jqUploader({background:'FFFFFF',
							   uploadScript: 'flash_upload.php',
							   barColor:'FFDD00',
							   allowedExt:'*.ppt; *.swf; *.odp;',
							   allowedExtDescr: 'Presentation Files (*.doc; *.docx; *.wdp; *.pdf;)',
							   validFileMessage: 'Click upload to upload your file.',
							   maxFileSize: "1048576000",
							   //endMessage: 'and don\'t you come back ;)',
	                           hideSubmit: false});*/
	 var settings = {
				// Backend settings
				upload_url: "admin/resume_upload.php",	// Relative to the SWF file, you can use an absolute URL as well.
				file_post_name: "resume_file",
				
				// Flash file settings
				file_size_limit : "10 MB",
				file_types : "*.doc;*.wpd;*.pdf",			// or you could use something like: "*.doc;*.wpd;*.pdf",
				file_types_description : "All Files",
				file_upload_limit : "0",
				file_queue_limit : "1", 

				// Event handler settings
				//swfupload_loaded_handler : swfUploadLoaded,
				
				file_dialog_start_handler: fileDialogStart,
				file_queued_handler : fileQueued,
				file_queue_error_handler : fileQueueError,
				file_dialog_complete_handler : fileDialogComplete,
				
				upload_start_handler : uploadStart,	// I could do some client/JavaScript validation here, but I don't need to.
				upload_progress_handler : uploadProgress,
				upload_error_handler : uploadError,
				upload_success_handler : uploadSuccess,
				upload_complete_handler : uploadComplete,

				// Button Settings
				button_image_url : "images/XPButtonUploadText_61x22.png",	// Relative to the SWF file
				button_placeholder_id : "spanButtonPlaceholder",
				button_width: 61,
				button_height: 22, 
				
				// Flash Settings
				flash_url : "images/swfupload.swf",

				custom_settings : {
					progress_target : "fsUploadProgress",
					upload_successful : false,
					cancelButtonId : "btnCancel"

				},
				
				// Debug settings
				debug: true

			};

			swfu = new SWFUpload(settings);

}

function checkInput(field)
{ 
	var fieldarr = new Object();
	
	fieldarr.company = "Course Name";
	fieldarr.contact = "Contact Name";
	fieldarr.fname = "First Name";
	fieldarr.lname = "Last Name";
	fieldarr.email = "Contact Email";
	fieldarr.phone = "Contact Phone";
	fieldarr.add1 = "Address 1";
	fieldarr.address1 = "Address 1";
	fieldarr.city = "City";
	fieldarr.state = "State";
	
	if($(field+'error'))
		error = $(field+'error');
	else if($('generalerror'))
		error = $('generalerror');
	else
		error = $('errorbox');
		
	if($(field).value == '' || $(field).value == null)
	{
		error.innerHTML = fieldarr[field]+' is a required field';
		if(error.id != 'errorbox' || error.style.display == "")
		{	
			error.className = "errorbox";
		}
		else {
			elementBlindDown('errorbox');
			error.style.display = "";
		}		
		return false;
	}
	
	error.innerHTML = "";
				if(error.id != 'errorbox')
				{	
					error.className = "errorbox";
				}
				else {
					//elementBlindUp('errorbox');
					//error.style.display = "none";
				}
	
	return true;
}

function checkCard()
{
	if($('carderror'))
		error = $('carderror');
	else
		error = $('cardbox');
	
	if(document.forms['customerForm'].cardnumber)
	{
		var field = document.forms['customerForm'].cardnumber;
		var cc=document.forms['customerForm'].cardnumber.value;
	}
	else
	{
		var field = document.forms['customerForm'].cnumber;
		var cc=document.forms['customerForm'].cnumber.value;
	}
	
	var cclen = cc.length;
	var ValidChars = "0123456789";
  	var IsNumber=true;
   	var Char;
   
	if(cc != '' || cc != null)
	{
		if(cclen >= 13 && cclen <= 16)
		{
			for (i = 0; i < cclen && IsNumber == true; i++) 
			{ 
			  	Char = cc.charAt(i); 
			  	if (ValidChars.indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
			}
			
			if(IsNumber)
			{
				check = cc.substring(0,1);
				if(check == 4)
					{	
						$('ctvisa').style.display = '';
						$('cardtype').value = 'Visa';
						error.innerHTML = "";
						if(error.id != 'cardbox' || error.style.display == "")
						{	
							error.className = "";
						}
						else {
							elementBlindUp('cardbox');
							error.style.display = "none";
							field.style.border = "1px solid #1B6026";
							field.style.background = "#F2f7f3";
						}
						return true;
					}
				else if(check == 3)
				{
					check2 = cc.substring(0,2);
					if(check2 == 34 || check2 == 37)
					{
						$('ctamex').style.display = '';
						$('cardtype').value = 'AMEX';
						error.innerHTML = "";
						if(error.id != 'errorbox' || error.style.display == "")
						{	
							error.className = "";
						}
						else {
							elementBlindUp('cardbox');
							error.style.display = "none";
							field.style.border = "1px solid #1B6026";
							field.style.background = "#F2f7f3";
						}
						return true;
					}
					//else if(check2 == 36 || check2 == 38)
						//$('ctdcvr').checked = true;
					//else if(check2 == 30)
					//{
						//check3 == ccnum.substring(0,3);
						//if(check3 == 305 || check3 == 300)
							//$('ctdcvr').checked = true;
					//}
				}
				else if(check == 5)
				{
					check4 = cc.substring(0,2);
					if(check4 > 50 && check4 < 56)
					{
						$('ctmc').style.display = '';
						$('cardtype').value = 'MasterCard';
						error.innerHTML = "";
						if(error.id != 'cardbox' || error.style.display == "")
						{	
							error.className = "";
						}
						else {
							elementBlindUp('cardbox');
							error.style.display = "none";
						}
						field.style.border = "1px solid #1B6026";
						field.style.background = "#F2f7f3";
						return true;
					}
				}
				else
				{
					error.innerHTML = "Invalid Card Number";
					if(error.id != 'cardrbox' || error.style.display == "")
					{	
						error.className = "errorbox";
					}
					else {
						elementBlindDown('cardbox');
						error.style.display = "";
					}
					field.style.border = "1px solid #CC3300";
					field.style.background = "#FFDF5E";
					return false;
				}
			}
			else
			{
				error.innerHTML = "Card Numbers cannot contain letters";
				if(error.id != 'cardbox' || error.style.display == "")
				{	
					error.className = "errorbox";
				}
				else {
					elementBlindDown('cardbox');
					error.style.display = "";
				}
				
				field.style.border = "1px solid #CC3300";
				field.style.background = "#FFDF5E";
				return false;
			}
		}
		else
		{
			error.innerHTML = "Card Number too short";
			if(error.id != 'cardbox' || error.style.display == "")
			{	
				error.className = "errorbox";
			}
			else {
				elementBlindDown('cardbox');
				error.style.display = "";
			}
			
			field.style.border = "1px solid #CC3300";
			field.style.background = "#FFDF5E";
			return false;
		}
	}
	else
	{
		error.innerHTML = "No Card Number Entered";
		if(error.id != 'cardbox' || error.style.display == "")
		{	
			error.className = "errorbox";
		}
		else {
			elementBlindDown('cardbox');
			error.style.display = "";
		}
		
		field.style.border = "1px solid #CC3300";
		field.style.background = "#FFDF5E";
		return false;
	}
}

function checkNumeric(field,vallen)
{
	var fieldarr = new Object();
	
	fieldarr.reg = "Regular Holes";
	fieldarr.exe = "Executive Holes";
	fieldarr.fee = "Greens Fee";
	fieldarr.cvv = "CVV";
	
	var error1 = fieldarr[field] +" can only contain numbers or a period.";
	var error2 = fieldarr[field] +" must be less than  "+vallen+" characters.";
	var error3 = fieldarr[field] +" is a required field. Please enter zero if you do not wish to enter zero if you do not wish to enter a value.";
	
	if($(field+'error'))
		error = $(field+'error');
	else
		error = $(field+'box');
		
	//alert(zip);
	var ziplen = $(field).value.length;
	var ValidChars = "0123456789.";
  	var IsNumber=true;
   	var Char;
   
   	
	if($(field).value != '' || $(field).value != null )
	{
		if(ziplen <= vallen)
		{
			for (i = 0; i < ziplen && IsNumber == true; i++) 
			{ 
			  	Char = $(field).value.charAt(i); 
			  	if (ValidChars.indexOf(Char) == -1) 
				{
					IsNumber = false;
				}
			}
			
			if(!IsNumber)
			{
				error.innerHTML = error1;
		
				if(error.id != field+'box' || error.style.display == "")
				{	
					error.className = "errorbox";
				}
				else {
					$(field).style.border = "1px solid #CC3300";
					$(field).style.background = "#FFDF5E";
					elementBlindDown(field+'box');
					error.style.display = "";
				}
				return false;
			}
			else 
			{
				if(error.value == error1)
				{
					if(error.id != field+'box')
					{
						
						error.innerHTML = "";
						error.className = "";
						return true;
					}
					else
					{
						$(field).style.border = "1px solid #1B6026";
						$(field).style.background = "#F2f7f3";
						elementBlindUp(field+'box');
					}
				}
			}			
		}
		else
		{
			vallen += 1;
			error.innerHTML = error2;
			
				if(error.id != 'errorbox' || error.style.display == "")
				{	
					error.className = "errorbox";
				}
				else {
					$(field).style.border = "1px solid #CC3300";
					$(field).style.background = "#FFDF5E";
					elementBlindDown(field+'box');
					error.style.display = "";
				}
				
			return false;
		}
	}
	else
	{
		error.innerHTML = error3;
		if(error.id != field+'box' || error.style.display == "")
		{
			error.className = "errorbox";
		}
		else {
			$(field).style.border = "1px solid #CC3300";
			$(field).style.background = "#FFDF5E";
					elementBlindDown(field+'box');
					error.style.display = "";
				}
		
		return false;
	}
	
	if(error.id != field+'box')
		{	
			error.innerHTML = "";
			error.className = "";
		}
		else {
			elementBlindUp(field+'box');
			$(field).style.border = "1px solid #1B6026";
			$(field).style.background = "#F2f7f3";
		}
	
	return true;
}

function checkExpiration()
{
	if($('expired'))
		error = $('expired');
	else
		error = $('errorbox');
		
	if(document.forms['customerForm'].expmonth)
		var cm=document.forms['customerForm'].expmonth.value;
	else
		var cm=document.forms['customerForm'].expm.value;
	
	if(document.forms['customerForm'].expyear)
		var cy=document.forms['customerForm'].expyear.value;
	else
		var cy=document.forms['customerForm'].expy.value;

	var ct = new Date();
	var cd = ct.getMonth()+1;
	var gy = ct.getFullYear();
	
	//alert(cm);
	if(cm < cd  && cy <= gy)
	{
		$('expired').innerHTML = 'Your Card is Expired. Please check your date or use a different card.';
		$('expired').className = "errorbox";
		
		return false;
	}
	
	$('expired').innerHTML = '';
	$('expired').className = "";
	return true;
	
}

function onlyint(e,field)
{
	if (window.event) keynum = e.keyCode;
	else if (e.which) keynum = e.which;

	if (keynum == "0x08") return true;
	if (keynum == "0x09") return true;
  	if (keynum == "0x20") return true;
	if (keynum == "0x2d" && field == 'phone') return true;
	if (keynum == "0x2E" && field == 'currency') return true;
	if (keynum == "0x2F" && field == 'date') return true;
	if ((keynum >= "0x30") && (keynum <="0x39")) return true;
	return false;
}

function onlyAlphaNumeric(e)
{
	if (window.event) keynum = e.keyCode;
	else if (e.which) keynum = e.which;

	if (keynum == "0x08") return true;
	if (keynum == "0x09") return true;
  	if (keynum == "0x20") return true;
	if ((keynum >= "0x30") && (keynum <="0x39")) return true;
	if ((keynum >= "0x41") && (keynum <="0x5A")) return true;
	if ((keynum >= "0x61") && (keynum <="0x7A")) return true;
	return false;
}

function autotab(current,to){
    if (current.getAttribute && 
      current.value.length==current.getAttribute("maxlength")) {
        to.focus() 
        }
}


