
var date = new Date();
monthField=document.getElementById('ddlMonth');
dayField = document.getElementById('ddlDay');

function updateDays()
{ //CURRENTLY NOT IN USE
	var i=0;
	for(i=0; i<dayField.options.length; i++)
		dayField.options[i].disabled = false;
	

	if(monthField.selectedIndex == 8)
	{
		
		//Following three lines remove the 13,12,11 from the month
		dayField.options[12].disabled = true;
		dayField.options[11].disabled = true;
		dayField.options[10].disabled = true;
	}
	
	i=-1;
	do
	{
		i++;
		dayField.selectedIndex = i;
	}while(dayField.options[i].disabled);	
	
}

function updateFields()
{ 
	cleanup();

	
	monthField=document.getElementById('ddlMonth');

	date.setDate(date.getDate()+1);
	monthField.selectedIndex = date.getMonth();

	dayField = document.getElementById('ddlDay');

	//dayField.selectedIndex = date.getDate()-1;
	//updateDays();
	var i=date.getDate()-2;
	do
	{
		i++;
		dayField.selectedIndex = i;
	}while(dayField.options[i].disabled);

	

	yearField = document.getElementById('ddlYear');
	yearField.options[0].text = date.getFullYear();
	yearField.options[1].text = date.getFullYear()+1;
	yearField.options[2].text = date.getFullYear()+2;

	ccYearField = document.getElementById('ddlCCYear');
	var prevOption = null;

	for(i=date.getFullYear(); i<=date.getFullYear()+12; i++)
	{
		var curOption = document.createElement('option');
		curOption.text = i;
		try{
			ccYearField.add(curOption, null);
		}catch(ex)
		{
			ccYearField.add(curOption);
		}	
		prevOption = curOption;
	}
	ccYearField.selectedIndex = 0;
}

function emptyField(field)
{
    with (field)
    {
        if (value==null||value=="")
        {
		return true;
	}
        return false;
    }
}

function invalidEmail(field)
{
	if(emptyField(field))
		return "-Email must be filled<br>";
	with (field)
	{
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		if (apos<1||dotpos-apos<2) 
		{
			return "-A valid email is required<br>";
		}
		return "";
	}
}

function invalidCreditCard(field)
{
	if(emptyField(field))
		return "-Credit card number must be filled<br>";
	with(field)
	{
	 	curVal = value;
		curVal =curVal.replace(/ /g,"");
		
		if(curVal.indexOf(".") != -1)
		{
			return "-A valid credit card number is required<br>";
		}
		var number;
		try
		{
			number = parseInt(curVal);
		}catch(err)
		{
			return "-A valid credit card number is required<br>";
		}

		if(curVal.length<13 || curVal.length>19)
		{
			return "-A valid credit card number is required<br>";
		}

		var alternate = new Boolean(true);
		
		var total = number%10;
		number = Math.floor(number/10);
		
		for(var i=0; i<curVal.length-1; i++)
		{
			total = (alternate)? (  (number%10*2>9)?total+(number%10*2)-9:total+number%10*2  ) : total+number%10;
			alternate = !alternate;
			number = Math.floor(number/10);
		}

		

		if(total%10 != 0)
		{
			return "-A valid credit card number is required<br>";
		}
		
		return "";
	}
}

function invalidPhoneNumber(field)
{
	if(emptyField(field))
		return "-Phone number must be filled<br>";
	with(field)
	{
		curVal = value;
		curVal =curVal.replace(/ /g,"");
		curVal =curVal.replace(/\(/g,"");
		curVal =curVal.replace(/\)/g,"");
		curVal =curVal.replace(/-/g,"");		

		if(curVal.indexOf(".") != -1)
		{
			return "-A valid phone number is required<br>";
		}

		try
		{
			parseInt(curVal);
		}catch(err)
		{
			return "-A valid phone number is required<br>";
		}
		
		if(curVal.length<10 || curVal.length>10)
		{
			return "-A valid phone number is required<br>";
		}	

		return "";
	}
}

function invalidFirstName(field)
{
	if(emptyField(field))
		return "-First name must be filled<br>";
	if(invalidName(field))
		return "-A valid first name is required<br>";
	return "";
}

function invalidLastName(field)
{
	if(emptyField(field))
		return "-Last name must be filled<br>";
	if(invalidName(field))
		return "-A valid last name is required<br>";
	return "";
}

function invalidName(field)
{
	with(field)
	{
		if(value.length<2)
		{
			return true;
		}
		return false;
	}
}

function invalidCreditCardName(field)
{
	if(emptyField(field))
		return "-Credit card name must be filled<br>";
	with(field)
	{
		String.prototype.trim = function() { return this.replace(/^\s*([\S\s]*?)\s*$/, '$1')};
		//value = value.trim();

		if(value.trim().length<2)
		{
			return "-A valid credit card name is required<br>";
		}
		return "";
	}
}

function cleanup()
{
	var jOff =document.getElementById('jOff');
	jOff.innerHTML = "";
}
		
function agreedCheckbox(field)
{
	if(field.checked == false)
		return "-You must read and agree to the cancellation policy.";
	return "";

}

function roll(id, source)
{
	document[id].src = source;
}

function validate_form(thisform)
{
    with (thisform)
    {	
	var errorMessage = "<h1 style=\"color:red; font-size:100%\">";

	errorMessage += invalidFirstName(txtFirst);
	errorMessage += invalidLastName(txtLast);
	errorMessage += invalidPhoneNumber(txtPhone);
        	errorMessage += invalidEmail(txtEmail);
        	errorMessage += invalidCreditCard(txtNum);
        	errorMessage += invalidCreditCardName(txtName);
	//errorMessage += agreedCheckbox(checkAgree);

	errorMessage += "</h1>";

	if(errorMessage == "<h1 style=\"color:red; font-size:100%\"></h1>")
		return true;

	var errorRow =document.getElementById('error');
	errorRow.innerHTML = errorMessage;

	
	return false;
    }
}
