﻿/* <![CDATA[ */

// **************************************************************************************************************
//   Global Declarations
// **************************************************************************************************************

// TODO : REMOVE ALL EXCEPT PRODUCTION DOMAIN BEFORE RELEASE
// var targetDomain = 'http://avapt020/';
// var targetDomain = 'http://localhost:4661';
// var targetDomain = 'http://localhost/Deewr.Ifp.Web.UI.Public';
// var targetDomain = 'http://avapd023:90';
var targetDomain = 'http://ifp.mychild.gov.au';

var exampleServiceTypeText = 'Select a service type';
var exampleLocationText = 'State/Region/Suburb/Town or Postcode';
var exampleServiceNameText = 'e.g. 123 Billy Bear Day Care';

// **************************************************************************************************************
//   window.onload
//   self explanatory
// **************************************************************************************************************
window.onload = function()
{
	initialise();
	var scriptable = document.getElementById("divScriptable");
	if (scriptable)
		scriptable.style.display = "";
}

// **************************************************************************************************************
//   initialise
//   This function is called from window.onload on page start up
// **************************************************************************************************************
function initialise()
{
	setupLinks();

	var serviceNameDiv = document.getElementById('qfServiceNameDiv');
	var serviceTypeDiv = document.getElementById('qfServiceTypeDiv');

	// Service Type CheckBox
	var searchTypeCheckBox = document.getElementById('serviceTypeOption');

	if (searchTypeCheckBox.checked)
	{
		serviceTypeDiv.style.display = 'block';
		serviceNameDiv.style.display = 'none';
	}
	else
	{
		serviceTypeDiv.style.display = 'none';
		serviceNameDiv.style.display = 'block';
	}
}

// **************************************************************************************************************
//   setupLinks
//   This function is called from iniitial to redirect link for different environments
// **************************************************************************************************************
	function setupLinks()
	{
		document.getElementById('qfFindLink').href = targetDomain + '/ChildCareService/Search.aspx';
		document.getElementById('qfMoreOptionsLink').href = targetDomain + '/ChildCareService/Search.aspx';
		document.getElementById('qfHelpLink').href = targetDomain + '/Content/Help.aspx';
		document.getElementById('qfProvidersLink').href = targetDomain + '/Content/Providers.aspx';
	}

// **************************************************************************************************************
//   toggleSearchType
//   This function is called when the user clicks on the "Serach Type" option.
// **************************************************************************************************************
function toggleSearchType(sender)
{
	// alert('Changed Search Type');
	var serviceNameDiv = document.getElementById('qfServiceNameDiv');
	var serviceTypeDiv = document.getElementById('qfServiceTypeDiv');
	if (sender.value == 'Name')
	{
		serviceTypeDiv.style.display = 'none';
		serviceNameDiv.style.display = 'block';
	}
	else
	{
		serviceTypeDiv.style.display = 'block';
		serviceNameDiv.style.display = 'none';
	}
}

// **************************************************************************************************************
//   quickFind
//   This function is called by Search link.
//   Initiates Search thru Information For Famalies
// **************************************************************************************************************/
function quickFind()
{
	var serviceTypeText = exampleServiceTypeText;
	var serviceNameText = exampleServiceNameText;
	var locationText = exampleLocationText;

	var locationTextBox = document.getElementById('qfLocationTextBox');
	var serviceTypeDropDown = document.getElementById('qfServiceTypeDropDown');
	var serviceNameTextBox = document.getElementById('qfServiceNameTextBox');

	var searchTypeCheckBox = document.getElementById('serviceTypeOption');

	if (searchTypeCheckBox.checked)
	{
		// Service Type CheckBox
		if (serviceTypeDropDown.value.length == 0)
		{
			alert('Please select a Service Type.');
			return;
		}
		
		serviceTypeText = serviceTypeDropDown.value.toString().toUpperCase();
	}
	else
	{
		// Service Type CheckBox
		if (serviceNameTextBox.value.length < 3 || serviceNameTextBox.value == exampleServiceNameText)
		{
			alert('A minimum of 3 characters required for Name');
			return;
		}
		
		serviceNameText = serviceNameTextBox.value.toString().toUpperCase();
	}

	if (locationTextBox.value.length < 2 || locationTextBox.value == exampleLocationText)
	{
		alert('A minimum of 2 characters required for Location');
		return;
	}
	
	// Determine if any postcodes are supplied, and ensure they're exactly four digits.
	var locFields = locationTextBox.value.split(/[, ]/);
	for (var i=0; i<locFields.length; i++)
	{
		if (!isNaN(locFields[i]) && locFields[i].length != 4)
		{
			alert('Please enter a valid 4 digit Postcode');
			return;
		}
	}
	locationText = locationTextBox.value.toUpperCase();

	var targetUrl = buildUrl(locationText, serviceTypeText, serviceNameText);

	// Redirect To Search
	window.location = targetUrl;
}

// **************************************************************************************************************
//   buildUrl
//   This function builds Url with query string to call quick find page
// **************************************************************************************************************/
function buildUrl(locationText, serviceTypeText, serviceNameText)
{
	var searchTypeCheckBox = document.getElementById('serviceTypeOption');
	var targetUrl = targetDomain + "/ChildCareService/quickfind.aspx?";

	if (locationText.toString().length > 0)
	{
		targetUrl = targetUrl + 'location=' + locationText;
	}

	if (searchTypeCheckBox.checked)
	{
		// Service Type
		if (serviceTypeText.toString().length > 0)
			targetUrl = targetUrl + '&servicetype=' + serviceTypeText;
	}
	else
	{
		// Service Name
		if (serviceNameText.toString().length > 0)
			targetUrl = targetUrl + '&servicename=' + serviceNameText;
	}

	return encodeURI(targetUrl);
}

// **************************************************************************************************************
//   clearLocationText
//   This function is for shadow text in  text boxes
// **************************************************************************************************************/
function clearLocationText(sender)
{
	if (sender != null && sender.value == exampleLocationText)
		clearText(sender);
}

// **************************************************************************************************************
//   resetLocationText
//   This function is for shadow text in  text boxes
// **************************************************************************************************************/
function resetLocationText(sender)
{
	if (sender != null && sender.value.length == 0)
		resetText(sender, exampleLocationText);
}

// **************************************************************************************************************
//   clearServiceNameText
//   This function is for shadow text in  text boxes
// **************************************************************************************************************/
function clearServiceNameText(sender)
{
	if (sender != null && sender.value == exampleServiceNameText)
		clearText(sender);
}

// **************************************************************************************************************
//   resetServiceNameText
//   This function is for shadow text in  text boxes
// **************************************************************************************************************/
function resetServiceNameText(sender)
{
	if (sender != null && sender.value.length == 0)
		resetText(sender, exampleServiceNameText);
}

// **************************************************************************************************************
//   clearText
//   This function is for shadow text in  text boxes
// **************************************************************************************************************/
function clearText(sender)
{
	sender.value = '';
}

// **************************************************************************************************************
//   resetText
//   This function is for shadow text in  text boxes
// **************************************************************************************************************/
function resetText(sender, defaultText)
{
	if(sender.value.length == 0)
		sender.value = defaultText;
}

/* ]]> */
