/**
 * JavaScript support for handling the local component's submission of zip code updates.
 * @version $Id$
 * @author Brian Szatkowski <BSzatkowski@synacor.com>
 */

 /**
 * Initialization function
 * Checks the value of sz_zipcode on form submission and, if present, overrides value in zipcode element.
 * Also, sets a cookie to ensure new zipcode value is applied across all geo-sensitive components and menus.
 */
document.local_comp.onsubmit=function()
{
	if ((document.local_comp.sz_zipcode.value.length > 0) && document.local_comp.sz_zipcode.value.match(/^[0-9]{5}$/))
	{
		var today = new Date();
		var expire = new Date();

		expire.setTime(today.getTime() + 3600000*24*365);
		document.cookie = "local_zipcode"+"="+escape(document.local_comp.sz_zipcode.value) + ";expires="+expire.toGMTString();

		document.local_comp.zipcode.value = document.local_comp.sz_zipcode.value;
	}
	else
	{
		alert('Please enter a valid, five digit ZIP Code.');
		document.local_comp.sz_zipcode.focus();
		return false;
	}
}

/**
 * Zipcode field focus handler
 * Makes the zipcode field "active"
 */
document.local_comp.sz_zipcode.onfocus=function()
{
	if (document.local_comp.sz_zipcode.value == 'ZIP Code')
	{
		document.local_comp.sz_zipcode.value = '';
		document.local_comp.sz_zipcode.maxLength = 5;
		document.local_comp.sz_zipcode.style.color = '#000';
	}
}

/**
 * Zipcode field blur handler
 * Makes the zipcode field "inactive"
 */
document.local_comp.sz_zipcode.onblur=function()
{
	if (document.local_comp.sz_zipcode.value.length == 0)
	{
		document.local_comp.sz_zipcode.maxLength = 8;
		document.local_comp.sz_zipcode.value = 'ZIP Code';
		document.local_comp.sz_zipcode.style.color = '#888';
	}
}

