///TODO: TURN THESE INTO XML COMMENTS FOR EASIER DOC GENERATION?
function OpenEventNotificationDetailsWindow(evtNotificationID)
{
	window.open('ViewEventNotificationDetails.aspx?EventNotificationID=' + evtNotificationID.toString() ,'EventNotification', "toolbars=0, height=460, width=460");
}



function OpenBookingSheetPrint(url, strArrayName, strParamKey)
{
	if(strArrayName && strParamKey)
		url += '?strArrayName=' + strArrayName + '&strParameterKey=' + strParamKey
	
	window.open(url, "BookingSheetPrint", 'toolbar=0 scrollbars=1, width=700, height=600');
}


//
// function: checkAlertSave
// Checks the value of the formChanged parameter, and if it is boolean true, then
// alerts the user to save before exiting.
// otherwise it cancels the event.
function checkAlertSave(formChanged)
{	
	if(formChanged)
	{
		var x = (formChanged.toLowerCase() == 'true');
		if(x)
		{
			var cancel = confirm('Exit without saving?');
			event.returnValue = cancel;
			return cancel;
		}
	}
}

//
// function: formatPhoneNumber
// formats a phone number
// parameters:
// sender - the text box element to control the formatting of.
function formatPhoneNumber(sender)
{
	var nums = new Array();
	var numsRegExp = new RegExp("[0-9]");
	for(var a=0; a < sender.value.length; a++)
	{
		if(numsRegExp.test(sender.value.charAt(a)))
		{	
			nums.push(sender.value.charAt(a));
		}
	}
	
	var fmtPhone = '';
	if(nums.length == 3)
	{
		fmtPhone = nums[0].toString() + nums[1].toString() + nums[2].toString() + '-';
		sender.value = fmtPhone;
	}	
	else if(nums.length == 6)
	{
		fmtPhone = nums[0].toString() + nums[1].toString() + nums[2].toString() + '-';	
		fmtPhone += nums[3].toString() + nums[4].toString() + nums[5].toString() + '-';
		sender.value = fmtPhone;
	}
	else if(nums.length == 10)
	{
		fmtPhone = nums[0].toString() + nums[1].toString() + nums[2].toString() + '-';
		fmtPhone +=  nums[3].toString() + nums[4].toString() + nums[5].toString() + '-';
		fmtPhone += nums[6].toString() + nums[7].toString() + nums[8].toString() + nums[9].toString();
		sender.value = fmtPhone;
	}
}

//
// function:
// setVisibility
// parameters:
// objElement - the object to show or hide
// doHide - true if objElement should be hidden, false if it should be shown.
function setVisibility(objElement, doHide)
{
	
	if(objElement)
	{
		if(doHide)
		{
			objElement.style.visibility = 'hidden';
		}
		else
		{
			objElement.style.visibility = 'visible';
		}
	}
	else
		reportError('Unable to set visibility for null element.');
}

//
// function:
// doRedirectTo
// Performs a client-side redirection to the url specified.
// parameters:
// url - The url to redirect to.
// 
function doRedirectTo(url, appendUrlAsSource)
{
	if(url) 
	{
		if(appendUrlAsSource)
		{
			if(window.search && window.search.length > 0)
			{
				url += '?';
			}
			else
			{
				url += '&';
			}
			url += 'SourceUrl=' + escape(getCurrentPath());
		}
		window.location = url;
	}
	else { reportError('Unable to redirect to a null url.'); }
		
}

function getCurrentPath()
{
	return window.location;
}
function getQueryString(key)
{
	var val = null;
	var qs = window.location.search;
	if(qs && key)
	{
		var pairs = qs.split("&"); 
      
		for (var i=0;i<pairs.length;i++) 
		{ 
			var pos = pairs[i].indexOf('='); 
			if (pos >= 0) 
			{ 
				var argName = pairs[i].substring(0,pos);
				if(argName.toLowerCase() == key.toLowerCase())
				{
					val = pairs[i].substring(pos+1); 				
				}
			} 
		} 
	}
	return val;
	
}

//Don't know who uses this or for what... AR 7/15/2005
function findPrevTextBox(sender)
{
	if(!sender)
		return null;
	
}

//
// function: DBG_Error
// Displays an error message to the user.
// parameters:
// msg - The message to display.
function reportError(msg)
{
	///TODO: Maybe do an async post to a listener with the errors & form values?
	//That'd be nice.
	alert(msg);
}




//returns true if the obj parameter is a string, otherwise false.
function isString(obj)
{
	return typeof obj == 'string';
}


// 
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//displays a popup calendar and populates the sender with the value selected.
function OpenCalendar(sender, allowPastDates, eventArgs)
{
	//these variables are used to specify that the popup should come up 
	//near where the click event happened.
	if(!allowPastDates)
	{
		allowPastDates = false;
	}
	x = eventArgs.screenX.toString();
	y = eventArgs.screenY.toString();
	senderID = sender.id.toString();
	var wnd = window.open("DatePicker.aspx?AllowPastDates=" + allowPastDates.toString() + "&senderid="+senderID, "calendarWnd", 'width=375,height=260,left=' + x + ',top=' + y);
	//showModalDialog("DatePicker.aspx?AllowPastDates=" + allowPastDates.toString() + "&senderid="+senderID, this, 'dialogWidth:202px; dialogHeight:220px, dialogLeft:' + x + '; dialogTop:' + y);
}




var XmlHttp;
//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable  
function CreateXmlHttpObj()
{
	//Creating object of XMLHTTP in IE
	try
	{
		XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			XmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		catch(oc)
		{
			XmlHttp = null;
		}
	}
	//Creating object of XMLHTTP in Mozilla and Safari 
	if(!XmlHttp && typeof XMLHttpRequest != "undefined") 
	{
		XmlHttp = new XMLHttpRequest();
	}
}


//Gets called when ADT Submit clicked from adt_security.aspx
function ADTSubmit(_URL) 
{
	var requestUrl = "ADTSubmit.aspx";
	alert(requestUrl);
	CreateXmlHttpObj();
	
	// If browser supports XMLHTTPRequest object
	if(XmlHttp)
	{
		//Setting the event handler for the response
		XmlHttp.onreadystatechange = HandleResponse;
		
		//Initializes the request object with GET (METHOD of posting), 
		//Request URL and sets the request as asynchronous.
		XmlHttp.open("GET", requestUrl,  true);
		
		
		//Sends the request to server
		XmlHttp.send(null);		
	}
}

//Called when response comes back from server
function HandleResponse()
{

	// To make sure receiving response data from server is completed
	if(XmlHttp.readyState == 4)
	{
		// To make sure valid response is received from the server, 200 means response received is OK
		if(XmlHttp.status == 200 || XmlHttp.readyState=="complete")
		{	
			//do nothing
			alert("success!");
		}
		else
		{
			alert("There was a problem sending data to the server." );
		}
	}
}


function selectSameDate(sameDayList,oneDayLaterList,twoDayLaterList,oneDayBeforeList,twoDayBeforeList)
{
	var sameDayList = document.getElementsByName("sameDayList");
	var oneDayLaterList = document.getElementsByName("oneDayLaterList");
	var twoDayLaterList = document.getElementsByName("twoDayLaterList");
	var oneDayBeforeList = document.getElementsByName("oneDayBeforeList");
	var twoDayBeforeList = document.getElementsByName("twoDayBeforeList");
	
	
	if(sameDayList[1].checked || sameDayList[2].checked || sameDayList[3].checked || sameDayList[4].checked)// == true ) //|| sameDayone_1.checked == true || sameDayone_2.checked == true || sameDayone_3.checked == true)
	{
		oneDayLaterList[1].checked = false;
		oneDayLaterList[2].checked = false;
		oneDayLaterList[3].checked = false;
		oneDayLaterList[4].checked = false;
		
		twoDayLaterList[1].checked = false;
		twoDayLaterList[2].checked = false;
		twoDayLaterList[3].checked = false;
		twoDayLaterList[4].checked = false;
		
		oneDayBeforeList[1].checked = false;
		oneDayBeforeList[2].checked = false;
		oneDayBeforeList[3].checked = false;
		oneDayBeforeList[4].checked = false;
		
		twoDayBeforeList[1].checked = false;
		twoDayBeforeList[2].checked = false;
		twoDayBeforeList[3].checked = false;
		twoDayBeforeList[4].checked = false;
	}
}

function selectOneDayLaterDate(sameDayList,oneDayLaterList)
{
	var sameDayList = document.getElementsByName("sameDayList");
	var oneDayLaterList = document.getElementsByName("oneDayLaterList");
	var twoDayLaterList = document.getElementsByName("twoDayLaterList");
	var oneDayBeforeList = document.getElementsByName("oneDayBeforeList");
	var twoDayBeforeList = document.getElementsByName("twoDayBeforeList");
	if(oneDayLaterList[1].checked || oneDayLaterList[2].checked || oneDayLaterList[3].checked || oneDayLaterList[4].checked)
	{
		sameDayList[1].checked = false;
		sameDayList[2].checked = false;
		sameDayList[3].checked = false;
		sameDayList[4].checked = false;
		
		twoDayLaterList[1].checked = false;
		twoDayLaterList[2].checked = false;
		twoDayLaterList[3].checked = false;
		twoDayLaterList[4].checked = false;
		
		oneDayBeforeList[1].checked = false;
		oneDayBeforeList[2].checked = false;
		oneDayBeforeList[3].checked = false;
		oneDayBeforeList[4].checked = false;
		
		twoDayBeforeList[1].checked = false;
		twoDayBeforeList[2].checked = false;
		twoDayBeforeList[3].checked = false;
		twoDayBeforeList[4].checked = false;
	}
	
}

function selectTwoDayLaterDate(sameDayList,oneDayLaterList,twoDayLaterList,oneDayBeforeList,twoDayBeforeList)
{
	var sameDayList = document.getElementsByName("sameDayList");
	var oneDayLaterList = document.getElementsByName("oneDayLaterList");
	var twoDayLaterList = document.getElementsByName("twoDayLaterList");
	var oneDayBeforeList = document.getElementsByName("oneDayBeforeList");
	var twoDayBeforeList = document.getElementsByName("twoDayBeforeList");
	if(twoDayLaterList[1].checked || twoDayLaterList[2].checked || twoDayLaterList[3].checked || twoDayLaterList[4].checked)
	{
		sameDayList[1].checked = false;
		sameDayList[2].checked = false;
		sameDayList[3].checked = false;
		sameDayList[4].checked = false;
		
		oneDayLaterList[1].checked = false;
		oneDayLaterList[2].checked = false;
		oneDayLaterList[3].checked = false;
		oneDayLaterList[4].checked = false;
		
		oneDayBeforeList[1].checked = false;
		oneDayBeforeList[2].checked = false;
		oneDayBeforeList[3].checked = false;
		oneDayBeforeList[4].checked = false;
		
		twoDayBeforeList[1].checked = false;
		twoDayBeforeList[2].checked = false;
		twoDayBeforeList[3].checked = false;
		twoDayBeforeList[4].checked = false;
	}
}

function selectOneDayBeforeDate(sameDayList,oneDayLaterList,twoDayLaterList,oneDayBeforeList,twoDayBeforeList)
{
	var sameDayList = document.getElementsByName("sameDayList");
	var oneDayLaterList = document.getElementsByName("oneDayLaterList");
	var twoDayLaterList = document.getElementsByName("twoDayLaterList");
	var oneDayBeforeList = document.getElementsByName("oneDayBeforeList");
	var twoDayBeforeList = document.getElementsByName("twoDayBeforeList");
	if(oneDayBeforeList[1].checked || oneDayBeforeList[2].checked || oneDayBeforeList[3].checked || oneDayBeforeList[4].checked)
	{
		sameDayList[1].checked = false;
		sameDayList[2].checked = false;
		sameDayList[3].checked = false;
		sameDayList[4].checked = false;
		
		twoDayLaterList[1].checked = false;
		twoDayLaterList[2].checked = false;
		twoDayLaterList[3].checked = false;
		twoDayLaterList[4].checked = false;
		
		oneDayLaterList[1].checked = false;
		oneDayLaterList[2].checked = false;
		oneDayLaterList[3].checked = false;
		oneDayLaterList[4].checked = false;
		
		twoDayBeforeList[1].checked = false;
		twoDayBeforeList[2].checked = false;
		twoDayBeforeList[3].checked = false;
		twoDayBeforeList[4].checked = false;
	}
}

function selectTwoDayBeforeDate(sameDayList,oneDayLaterList,twoDayLaterList,oneDayBeforeList,twoDayBeforeList)
{
	var sameDayList = document.getElementsByName("sameDayList");
	var oneDayLaterList = document.getElementsByName("oneDayLaterList");
	var twoDayLaterList = document.getElementsByName("twoDayLaterList");
	var oneDayBeforeList = document.getElementsByName("oneDayBeforeList");
	var twoDayBeforeList = document.getElementsByName("twoDayBeforeList");
	if(twoDayBeforeList[1].checked || twoDayBeforeList[2].checked || twoDayBeforeList[3].checked || twoDayBeforeList[4].checked)
	{
		sameDayList[1].checked = false;
		sameDayList[2].checked = false;
		sameDayList[3].checked = false;
		sameDayList[4].checked = false;
		
		twoDayLaterList[1].checked = false;
		twoDayLaterList[2].checked = false;
		twoDayLaterList[3].checked = false;
		twoDayLaterList[4].checked = false;
		
		oneDayBeforeList[1].checked = false;
		oneDayBeforeList[2].checked = false;
		oneDayBeforeList[3].checked = false;
		oneDayBeforeList[4].checked = false;
		
		oneDayLaterList[1].checked = false;
		oneDayLaterList[2].checked = false;
		oneDayLaterList[3].checked = false;
		oneDayLaterList[4].checked = false;
	}
}

function OpenZipFinder(zipTB)
{
	window.open('zipfinder.aspx?ZipTB='+zipTB, 'MoreBikeInfo', 'height=350,width=500,top=50,left=50,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=yes,status=no');
 	return false;
 		    		    	
}

