/*
The SoftAd Group
Copyright (c) 2000-2005 The SoftAd Group, Inc.  All rights reserved
*/

// To use this JS File the following files must be also included.
// CNString.js
// CNForm.js

// -------------------------------------------------------------------------------
// File name        : Saks/theme.js [Saks Solution JavaScript File]
// -------------------------------------------------------------------------------
// Author           : Ken Wimberley
// Created on       : Dec. 15, 2005
// 
// 
// -------------------------------------------------------------------------------
// Last Updated     : 
// Updated by       : 
// -------------------------------------------------------------------------------
// Copyright (c) 2003 The SoftAd Group, Inc.

// -------------------------------------------------------------------------------
// GLOBAL VARIABLES
// -------------------------------------------------------------------------------

var reCity = new RegExp("^[a-zA-Z \\.\\-,\']+$","");
var reZip = new RegExp("^[0-9]{5}([- /]?[0-9]{4})?$","");

function searchLocations(iDefaultContentSiteKey, iCorpEventPageKey, iLocationResultsPageKey){
	var oResultsForm = document.forms["results"];
	var bReady = true;
	with(oResultsForm){	
		if(PostalCode.value == ""){
			if (!reCity.test(City.value) && State.value == ""){
				alert("Please enter a city and state or a zip code to search for your nearest store.");
				bReady = false;
			} else if(!reCity.test(City.value)){
				alert("Please enter a valid City name using only letters.");
				City.focus();
				City.select();
				bReady = false;
			} else if (reCity.test(City.value) != "" && State.value == ""){
				alert("Please select a State to begin a search.");
				State.focus();
				bReady = false;
			}
		} else {
			if(!reZip.test(PostalCode.value)){
				alert("Please enter a valid Zip/Postal code.");
				PostalCode.focus();
				PostalCode.select();
				bReady = false;
			}
		}
	}
	if(bReady){
		with(oResultsForm.oCNForm){
			setValue("PostalCode", oResultsForm.PostalCode.value);
			setValue("City", oResultsForm.City.value);
			setValue("State", oResultsForm.State.value);
		}
		if(oResultsForm.Type[0]){ // If the form is on the Main Stores & Events page
			if(oResultsForm.Type[0].checked) {
				oResultsForm.oCNForm.setValue("Type", "0");	// Saks Fifth Avenue store
				setKeywords(oResultsForm);
			} else {
				oResultsForm.oCNForm.setValue("Type", "1");	// Saks Off Fifth
				oResultsForm.oCNForm.setValue("Keywords", "");
			}
		}
		var oDefaultForm = document.forms["default"];
		var oLocationsForm = document.forms["locations"];
		if(iCorpEventPageKey && iDefaultContentSiteKey && iLocationResultsPageKey){
			oDefaultForm.oCNForm.setValue("PageKey", iLocationResultsPageKey);
			var oSectionsForm = document.forms["sections"];
			with(oSectionsForm.oCNForm){
				setValue("Type", "eventEnrolled");
				setValue("SiteKey", iDefaultContentSiteKey);
				setValue("PageKey", iCorpEventPageKey);
			}
			submitMultiAction(oLocationsForm, oResultsForm, oDefaultForm, oSectionsForm);
		} else 
			submitMultiAction(oLocationsForm, oResultsForm, oDefaultForm);
	}
}

function paginate(iPage){
	var oResultsForm = document.forms["results"];
	oResultsForm.oCNForm.setValue("StartPage", iPage);
	var oDefaultForm = document.forms["default"];
	submitMultiAction(oResultsForm, oDefaultForm);
}

function getDirections(){
	var oDefaultForm = document.forms["default"];
	var bReady = true;
	with(oDefaultForm){	
		if(generic4.value == ""){	//PostalCode
			if (!reCity.test(generic2.value) && generic3.value == ""){ //City & State
				alert("Please enter either a City and State or a Zip Code.");
				bReady = false;
			} else if(!reCity.test(generic2.value)){
				alert("Please enter a valid City name using only letters.");
				generic2.focus();
				generic2.select();
				bReady = false;
			} else if (reCity.test(generic2.value) != "" && generic3.value == ""){
				alert("Please select a State to begin a search.");
				generic3.focus();
				bReady = false;
			}
		} else {
			if(!reZip.test(generic4.value)){
				alert("Please enter a valid Zip code.");
				generic4.focus();
				generic4.select();
				bReady = false;
			}
		}
	}		
	if(bReady){
		with(oDefaultForm.oCNForm){
			setValue("generic2", oDefaultForm.generic2.value); //City
			setValue("generic3", oDefaultForm.generic3.value); //State
			setValue("generic4", oDefaultForm.generic4.value); //PostalCode
		}
		submitCNForm(oDefaultForm, true);
	}	
}

function getStore(oForm, iPageKey){
	var sSiteKey = oForm._SiteKey.options[oForm._SiteKey.selectedIndex].value;
	if(sSiteKey == ""){
		return false;
	} else if(sSiteKey == "state")	{
		alert("Please select a store.");
		return false;
	} else {
		var oSectionsForm = document.forms["sections"];
		with(oSectionsForm.oCNForm){
			setValue("Type", "eventMaster");
			setValue("SiteKey", sSiteKey);
		}
		var oDefaultForm = document.forms["default"];
		with(oDefaultForm.oCNForm){
			setValue("SiteKey", sSiteKey);
			setValue("PageKey", iPageKey);
		}
		submitMultiAction(oDefaultForm, oSectionsForm);
	}
}

function getLocalEvent(oForm){
	var sSiteKeyPageKey = oForm._SiteKeyPageKey.options[oForm._SiteKeyPageKey.selectedIndex].value;
	if(sSiteKeyPageKey == ""){
		alert("Please select a Store.")
	} else {
		var ary = sSiteKeyPageKey.split("|");
		var oDefaultForm = document.forms["default"];
		with(oDefaultForm.oCNForm){
			setValue("SiteKey", ary[0]);
			setValue("PageKey", ary[1]);
		}
		submitCNForm(oDefaultForm);
	}
}

// Blue Martini fix for Saks
function resetDefaultForm(){
	var oForm = null;
	if(document.forms["default"] && document.forms["default"].oCNForm){
		oForm = document.forms["default"];	
		if(oForm.elements["generic1"]) oForm.oCNForm.setValue("generic1", "");
		if(oForm.elements["generic2"]) oForm.oCNForm.setValue("generic2", "");
		if(oForm.elements["generic4"]) oForm.oCNForm.setValue("generic4", "");
		if(oForm.elements["crt"]) oForm.oCNForm.setValue("crt", "");
	}
	if(document.forms["results"] && document.forms["results"].oCNForm){
		oForm = document.forms["results"];	
		if(oForm.elements["City"]) oForm.oCNForm.setValue("City", "");
		if(oForm.elements["PostalCode"]) oForm.oCNForm.setValue("PostalCode", "");
		if(oForm.elements["crt"]) oForm.oCNForm.setValue("crt", "");
	}
}
