var calendar = null;
function init()
{
	if (YD.get("appointmentContainer"))
	{
	 calendar = new YAHOO.widget.Calendar("appointCal","appointmentContainer", { pagedate: pageDate, 
		                                                        mindate: startDate, 
		                                                        maxdate: endDate } ); 
	 calendar.render();
	 calendar.selectEvent.subscribe(handleSelect, calendar, true);
	}
	 YE.on("aptSubmit", "click", submitAppointment);
	 
}
function handleSelect(type,args,obj) { 
	var dates = args[0]; 
	var date = dates[0]; 
	var year = date[0], month = date[1], day = date[2]; 
	
	var txtDate1 = document.getElementById("aptDate"); 
	txtDate1.value = month + "/" + day + "/" + year; 
} 

function setAptStatus(msg)
{
	YD.get("aptStatus").innerHTML = msg;
}
function setInquiryStatus(msg)
{
	YD.get("inquiryStatus").innerHTML = msg;
}
function sendInquiryForm()
{
    var emailFilter = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$");
    if (YD.get("questionName").value == "" || YD.get("questionName").value.length > 100)
    {
        alert("Please enter your name.");
    }
    else if (!YD.get("questionEmail").value.toLowerCase().match(emailFilter))
    {
        alert("Please enter a valid email address.");
    }
    else if (YD.get("questionPhone").value.length > 100)
    {
        alert("Please enter a shorter phone number.");
    }
    else if (YD.get("questionText").value == "")
    {
    	alert("Please enter your inquiry.");
    }
    else if (YD.get("questionText").value.length > 5000)
    {
        alert("Please reduce the amount of text in your inquiry.");
    }
    else
    {
        var qstring = YAHOO.util.Connect.setForm("inquiryForm");
        setInquiryStatus("<img src='" + yglUrl + "images/loading.gif'/> Sending...");
        YAHOO.util.Connect.asyncRequest("POST", yglUrl + "ajaxServices/clientServices.php", sendQuestion_Callback, "SendInquiry=Y&" + qstring);
    }
}
sendQuestion_Callback =
{
	success: function(arg)
	{
		if (arg.responseText == "Y")
		{
			if (document.getElementById("inquiryFormContainer"))
			{
				document.getElementById("inquiryFormContainer").style.display = "none";
				document.getElementById("inquirySuccessContainer").style.display = "block";
			}
			else
				setInquiryStatus("<span style='color:green;'>Inquiry successfully sent.</span>");
		}
		else
		{
			if (arg.responseText.indexOf("N:") != -1)
				setInquiryStatus("<span style='color:red'>" + arg.responseText.substring(2) + "</span>");
			else
				setInquiryStatus("<span style='color:red'>Failed to send inquiry.</span>");
		}
	},
	failure: function(arg)
	{
		setInquiryStatus("<span style='color:red'>Failed to send inquiry.</span>");
	}
};
function submitAppointment()
{
	var aptDate = YD.get("aptDate").value;
	var aptTime = YD.get("aptTime").options[YD.get("aptTime").selectedIndex].value;
	var aptName = YD.get("aptName").value;
	var aptPhone = YD.get("aptPhone").value;
	var aptEmail = YD.get("aptEmail").value;
	var aptInstruction = YD.get("aptInstructions").value;
	
	if (aptDate == "")
	{
		alert("Please select an appointment date.");
		return;
	}
	if (aptTime == "")
	{
		alert("Please select an appointment time.");
		return;
	}
	if (aptName == "")
	{
		alert("Please enter your name.");
		return;
	}
	if (aptPhone == "")
	{
		alert("Please enter your phone number so we can call you to confirm the appointment.");
		return;
	}
	if (aptEmail == "")
	{
		alert("Please enter your email address.");
		return;
	}
	
	if (!confirm("Schedule an appointment on " + aptDate + " " + aptTime + "?"))
		return;
	
	var qstring = YAHOO.util.Connect.setForm("appointmentForm");
	setAptStatus("<img src='" + yglUrl + "images/loading.gif'/> Sending...");
	YAHOO.util.Connect.asyncRequest("POST", yglUrl + "ajaxServices/clientServices.php", submitAppointment_Callback, "ScheduleAppointment=Y&" + qstring);
}
submitAppointment_Callback = 
{
	success : function(arg)
	{
		if (arg.responseText == "Y")
		{
			YD.setStyle("appointmentFormContainer", "display", "none");
			YD.setStyle("appointmentSuccessContainer", "display", "block");
		}
		else
			setAptStatus("<span style='color:red'>Setting up appointment failed.</span>");
	},
	failure: function(arg)
	{
		setAptStatus("<span style='color:red'>Setting up appointment failed.</span>");
	}
};