	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];}}
	}

	function MM_swapImgRestore() { //v3.0
	var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_findObj(n, d) { //v4.0
	var p,i,x;if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && document.getElementById) x=document.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	 if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	
	function AddItinerary(MemberID) {
		window.open("/includes/code/itinerary/itinerary_add.asp?MemberID=" + MemberID + "&action=add", "NewPage", "menubar=no,location=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,width=500,height=500");
	}
	
	function AddItineraryMLS(MLS) {
		window.open("/includes/code/itinerary/itinerary_add_RE.asp?MLS=" + MLS + "&action=add", "NewPage", "menubar=no,location=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,width=500,height=500");
	}

	function EmailAFriend(MemberID) {
		window.open("/includes/code/email_member.asp?ID=" + MemberID, "NewPage", "menubar=no,location=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,width=500,height=500");
	}
	
	function EmailAFriendMLS(MemberID) {
		window.open("/includes/code/email_member_RE.asp?ID=" + MemberID + "&type=MLS", "NewPage", "menubar=no,location=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,width=500,height=500");
	}
	function MLSCompare() {
		window.open("compare.asp", "NewPage", "menubar=no,location=no,resizable=no,scrollbars=yes,status=yes,toolbar=no,width=720,height=500");
	}
	function MLSClose() {
			document.getElementById("compare").style.display='none';
	}
	function ChangeRes(strImage)
	{
	var req = null;

	if (window.XMLHttpRequest)
	{
		req = new XMLHttpRequest();
		if (req.overrideMimeType)
		{
			req.overrideMimeType('text/xml');
		}
	}
	else if (window.ActiveXObject)
	{
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)
		{
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
		}

	req.onreadystatechange = function()
	{
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				document.getElementById("right_res").innerHTML  = req.responseText;
			}
			else
			{
				document.getElementById("right_res").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
			}
		}
};

//req.open("GET", "/includes/reservations/" + strImage + ".html", true);
//req.send(null);
if (strImage != "parking") {
    req.open("GET", "/includes/reservations/" + strImage + ".html", true);
    req.send(null);
}
else {
    req.open("GET", "/includes/reservations/" + strImage + ".asp", true);
    req.send(null);
}
	}
	
	
	function ChangeResWebcams(strImage)
		{
		var req = null;
	
		if (window.XMLHttpRequest)
		{
			req = new XMLHttpRequest();
			if (req.overrideMimeType)
			{
				req.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject)
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
			}
	
		req.onreadystatechange = function()
		{
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					document.getElementById("right_res").innerHTML  = req.responseText;
				}
				else
				{
					document.getElementById("right_res").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
				}
			}
        };
        if (strImage != "parking") {
            req.open("GET", "/includes/reservations/" + strImage + ".html", true);
            req.send(null);
        }
        else {
            req.open("GET", "/includes/reservations/" + strImage + ".asp", true);
            req.send(null);
        }
		//req.open("GET", "/includes/reservations_webcams/" + strImage + ".html", true);
		//req.send(null);
	}
	
	function ChangeCompare(strAction,strMLS,strClass)
		{
		var req = null;
	
		if (window.XMLHttpRequest)
		{
			req = new XMLHttpRequest();
			if (req.overrideMimeType)
			{
				req.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject)
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
			}
	
		req.onreadystatechange = function()
		{
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					document.getElementById("compare").style.display  = "";
					document.getElementById("compare").innerHTML  = req.responseText;
				}
				else
				{
					document.getElementById("compare").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
				}
			}
        };
            req.open("GET", "compare_add.asp?action=" + strAction + "&MLS=" + strMLS + "&class=" + strClass, true);
            req.send(null);
	}
	
	function ChangeWebcams(strType)
	{
		var req = null;

		if (window.XMLHttpRequest)
		{
			req = new XMLHttpRequest();
			if (req.overrideMimeType)
			{
				req.overrideMimeType('text/xml');
			}
		}
		else if (window.ActiveXObject)
		{
			try {
				req = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e)
			{
				try {
					req = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}

		req.onreadystatechange = function()
		{
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					document.getElementById("webcamwindow").innerHTML  = req.responseText;
				}
				else
				{
					document.getElementById("webcamwindow").innerHTML="Error: returned status code " + req.status + " " + req.statusText;
				}
			}
			};

			req.open("GET", strType + ".asp", true);
			req.send(null);
			
	}
	
	
	function valForm() {
		if(document.getElementById("ea").value == "") {
			alert("Please enter your email address")
			document.getElementById("ea").focus()
			return false
		}

		if(-1 == document.getElementById("ea").value.indexOf("@")) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		   return false;
		   }
		if(-1 != document.getElementById("ea").value.indexOf(",")) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		   return false;
		   }
		if(-1 != document.getElementById("ea").value.indexOf("#")) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		   return false;
		   }
		if(-1 != document.getElementById("ea").value.indexOf("!")) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		   return false;
		   }
		if(-1 != document.getElementById("ea").value.indexOf(" ")) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		   return false;
		   }
		if(document.getElementById("ea").value.length == (document.getElementById("ea").value.indexOf("@")+1) ) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		   return false;
		   }
		if(document.getElementById("ea").value.length == 0) {
			alert("Please enter a valid email address")
			document.getElementById("ea").focus()
		  return false;
		  }

	return true;
}

//----------------------------------------------------------------------------------
//Programmer: Cedric De Walsche
//Company: Galveston.com & Companies inc
//Date: 4/29/2010
//Functions added to operate ajax calendar:
//fShowCal(m, y, o, p) takes month,year,textbox name and allow previous dates vars and opens calendar through ajax in div
//fShowCalYear(y, o, p) takes year,textbox name and allow previous dates vars and opens 1 year of months trough ajax in div
//fHideCal() hides the calendar div
//SetValue(d, o) takes date,textbox name and sets date in textbox
//GetCordinates(obj) takes obj of textbox where calendar date will be shown in and 
//                  gets the xy coordinates of the textbox so fShowCal can calculate
//                  where to show the caledar div
//----------------------------------------------------------------------------------


//global vars to hold coordinates of textbox for use in other functions
var X = 0;
var Y = 0;

function fShowCal(m, y, o, p, s) {
    //check if m = ''
    if (m == '') {
        //check if there is already a date in the date textbox and use the month from it
        var txt = document.getElementById(o);
        var d = new Date(txt.value);
        if (d = "") {
            m = d.getMonth() + 1;
        }
    }

    //check if m = ''
    if (y == '') {
        //check if there is already a date in the date textbox and use the month from it
        var txt = document.getElementById(o);
        var d = new Date(txt.value);
        if (d = "") {
            y = d.getFullYear();
        }
    }

    var obj = document.getElementById("divPopup");
    obj.style.visibility = 'visible';
    obj.style.position = "absolute";
    obj.style.left = X + "px";
    obj.style.top = Y + 20 + "px";
    //call ajax responseText
    ChangeResParking("http://www.galveston.com/cruiseparking/calendar.aspx?m=" + m + "&y=" + y + "&o=" + o + "&p=" + p + "&s=" + s);
}

function fShowCalYear(y, o, p, s) {
    var obj = document.getElementById("divPopup");
    obj.style.visibility = 'visible';
    obj.style.position = "absolute";
    obj.style.left = X + "px";
    obj.style.top = Y + 20 + "px";
    //call ajax responseText
    ChangeResParking("http://www.galveston.com/cruiseparking/calendaryear.aspx?y=" + y + "&o=" + o + "&p=" + p + "&s=" + s);
}

function fHideCal() {
    var obj = document.getElementById("divPopup");
    obj.style.visibility = 'hidden';
}

function SetValue(d, o) {
    var cal = document.getElementById(o);
    cal.value = d;
    fHideCal();
}

function SetBlankValue(o) {
    var cal = document.getElementById(o);
    cal.value = "";
    fHideCal();
}

function GetCordinates(obj) {
    X = obj.offsetLeft;
    Y = obj.offsetTop;
    while (obj.offsetParent) {
        X = X + obj.offsetParent.offsetLeft;
        Y = Y + obj.offsetParent.offsetTop;
        if (obj == document.getElementsByTagName("body")[0]) {
            break;
        }
        else {
            obj = obj.offsetParent;
        }
    }
}


function ChangeResParking(URL) {
    var req = null;

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        if (req.overrideMimeType) {
            req.overrideMimeType('text/xml');
        }
    }
    else if (window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) { }
        }
    }

    req.onreadystatechange = function () {
        if (req.readyState == 4 || req.readyState == "complete") {
            if (req.status == 200) {
                try {
                    document.getElementById("divPopup").innerHTML = req.responseText;
                }
                catch (e) {
                    // IE fails unless we wrap the string in another element.
                    //Clear outer div first
                    document.getElementById("divPopup").innerHTML = '';
                    var wrappingElement = document.createElement('div');
                    wrappingElement.innerHTML = req.responseText;
                    document.getElementById("divPopup").appendChild(wrappingElement);
                }
            }
            else {
                document.getElementById("divPopup").innerHTML = "Error: returned status code " + req.status + " " + req.statusText;
            }
        }
    };
    req.open("GET", URL, true);
    req.send(null);
}



function valFormRELI() {
	if(document.getElementById("txtLIEmail").value == "") {
		alert("Please enter your email address")
		document.getElementById("txtLIEmail").focus()
		return false
	}
	if(-1 == document.getElementById("txtLIEmail").value.indexOf("@")) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
       return false;
       }
    if(-1 != document.getElementById("txtLIEmail").value.indexOf(",")) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
       return false;
       }
    if(-1 != document.getElementById("txtLIEmail").value.indexOf("#")) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
       return false;
       }
    if(-1 != document.getElementById("txtLIEmail").value.indexOf("!")) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
       return false;
       }
    if(-1 != document.getElementById("txtLIEmail").value.indexOf(" ")) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
       return false;
       }
    if(document.getElementById("txtLIEmail").value.length == (document.getElementById("txtLIEmail").value.indexOf("@")+1) ) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
       return false;
       }
    if(document.getElementById("txtLIEmail").value.length == 0) {
		alert("Please enter a valid email address")
		document.getElementById("txtLIEmail").focus()
      return false;
      }
	if(document.getElementById("txtLIP").value == "") {
		alert("Please enter your Password")
		document.getElementById("txtLIP").focus()
		return false
	}
return true;
  }



var finalLeft = 0, finalTop = 0;
function findPos(obj) {
	  var myWidth = 0, myHeight = 0;
	    if( typeof( window.innerWidth ) == 'number' ) {
	      //Non-IE
	      myWidth = document.documentElement.clientWidth;
	    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	      //IE 6+ in 'standards compliant mode'
	      myWidth = document.documentElement.clientWidth;
	    }
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	do {
		curleft += obj.offsetLeft;
		curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	curleft += 602;
	curleft = myWidth - curleft;
	curtop += 1;
	finalLeft = curleft;
	finalTop = curtop;
	}
}

function LoginVisible() {
	document.getElementById("loginbox1").style.right = finalLeft + "px";
	document.getElementById("loginbox1").style.top = finalTop + "px";
	document.getElementById("loginbox1").style.visibility = "visible";
}
