
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function display(str, elementID /* optional - switches DIV elements */ ) {
	var displayElement;
	var defaultElement = document.getElementById("MSG_default");
	if(!elementID) displayElement = defaultElement;
	else displayElement = document.getElementById(elementID);
	var msgGraphics = new Animation(displayElement);
	var fadeOutDisplay = function() {
		msgGraphics.fadeElementOpacity(-1, 0, 50);		
		};	
	msgGraphics.fadeElementOpacity(1, 100, 25);	
	displayElement.innerHTML = "<img src='images/visuals/information.gif' class='MSG_information' />"
							 + "<strong style='color\:black\;'>There was an error!</strong><br /><br />" + str;
	setTimeout(fadeOutDisplay, 2000);
	}
	
function popUpWin(url) {
	sealWin=window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=1,width=600,height=600');
	self.name = "mainWin"; 
}

function Get_Cookie(name) {
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(len,end));
}

function Set_Cookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

function Delete_Cookie(name,path,domain) {
    if (Get_Cookie(name)) document.cookie = name + "=" +
       ( (path) ? ";path=" + path : "") +
       ( (domain) ? ";domain=" + domain : "") +
       ";expires=Thu, 01-Jan-70 00:00:01 GMT";
}



function popUp(url, winname, width, height, scroll, resize, status) {
	newWin=window.open(url,winname,'toolbar=0,location=0,directories=0,,menubar=0' 
		+ ',scrollbars='+scroll 
		+ ',resizable='+resize 
		+ ',status=' + status 
		+ ',width=' + width 
		+ ',height='+ height);
	self.name = "mainWin"; 
}


function MM_findObj(n, d) { //v3.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); return x;
}
/* Functions that swaps images. */
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 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;
}

/* Functions that handle preload. */
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 removeAB(str_) {
	digits = '0123456789.';
	clr = '';
	for (i=0; i<str_.length; i++) {
		if (digits.indexOf(str_.charAt(i))>-1) {
			clr +=  str_.charAt(i);
		}
	}
	if (clr.length == 0) { clr = "0"; }
	return clr;
}


function validateField(field,theForm)  {
	if (field.value.length == 0) {
		alert('Please enter a valid value.');
		return false;
	} else {
		theForm.submit();
	}
}




function formatStreet(str_) {

		//str_ = clearQuotes(str_);
		
		str_ = str_.toUpperCase();
		
		re = '.';
		str_ = str_.replace(re, '') ;
		
		
		re = 'EAST ';
		str_ = str_.replace(re, 'E ') ;
		
		re = 'WEST ';
		str_ = str_.replace(re, 'W ') ;
		
		re = ' STREET';
		str_ = str_.replace(re, ' St.') ;
		
		re = ' ST';
		str_ = str_.replace(re, ' St.') ;
		
		re = 'St.';
		str_ = str_.replace(re, 'ST.') ;
		
		re = ' AVENUE';
		str_ = str_.replace(re, ' Ave.') ;
		
		re = ' AVE';
		str_ = str_.replace(re, ' Ave.') ;
		
		re = ' AV';
		str_ = str_.replace(re, ' Ave.') ;
		
		re = 'Ave.';
		str_ = str_.replace(re, 'AVE.') ;

		re = ' ROAD';
		str_ = str_.replace(re, ' RD') ;
		
		re = ' RD';
		str_ = str_.replace(re, ' RD.') ;

		re = 'FIRST ';
		str_ = str_.replace(re, '1ST ') ;

		re = 'SECOND ';
		str_ = str_.replace(re, '2ND ') ;
		
		re = 'THIRD ';
		str_ = str_.replace(re, '3RD ') ;
		
		re = 'FOURTH ';
		str_ = str_.replace(re, '4TH ') ;

		re = 'FIFTH ';
		str_ = str_.replace(re, '5TH ') ;
		
		re = 'SIXTH ';
		str_ = str_.replace(re, '6TH ') ;

		re = 'SEVENTH ';
		str_ = str_.replace(re, '7TH ') ;

		re = 'EIGHT ';
		str_ = str_.replace(re, '8TH ') ;

		re = 'NINTH ';
		str_ = str_.replace(re, '9TH ') ;
		
		re = 'TENTH ';
		str_ = str_.replace(re, '10TH ') ;

		
		
		return str_;
	}




function formatPhone(Phone,Ext) {

		Phone = Phone.toUpperCase();
		
		digits = '0123456789X';
		clr = '';
		for (i=0; i<Phone.length; i++) {
			if (digits.indexOf(Phone.charAt(i))>-1) {
				clr +=  Phone.charAt(i);
			}
		}
		
		if (Ext>0) {
			n=clr.indexOf('X');
			if (n>-1) {
				document.alertForm.Ext.value = clr.substr(n+1,4);
				clr = clr.replace("X","");
				clr = clr.substr(0,10);
			}		
		}
		
		if (clr.length > 0)
		clr = "(" + clr.substr(0,3) + ") " + clr.substr(3,3) + "-" + clr.substr(6,10);
		
		return(clr);
		
	}
	
	
function toggleDiv(div) {
	if (div.style.display == 'none') div.style.display = 'block'
	else div.style.display = 'none';
}

function validateListForm(form) {
	var required = new Array();
	var isValid = true;
	required[0] = form.Address.value;
	required[1] = form.FirstName.value;
	required[2] = form.Email.value;
	for(i = 0; i < required.length; i++) {
		if(!required[i]) isValid = false;
	}
	
	if(isValid)
	{
		form.submit();
	}
	else 
	{
		display("Please make sure you've entered your <strong>name</strong>, <strong>E-Mail</strong>, and <strong>property address</strong>.", "MSG_ListForm");
	}
}


var WebID = {
	itself : null,
	setObject : function(element) {
		this.itself = element;
	},
	Form : {
		validate : function(field, fieldDefaultValue, displayBox) {
			if(!fieldDefaultValue) fieldDefaultValue = "Enter Web ID or Agent Name";
			var noInputEnteredError = "Please enter a listing ID number or an agent's name."
			var fieldObject = field;
			if(checkFieldObject()) WebID.itself.submit();
			function checkFieldObject() {
				var fieldObjectValidity = true;
				if(fieldObject.value.toLowerCase() == fieldDefaultValue.toLowerCase()) {
					display(noInputEnteredError + "\t", displayBox);
					fieldObject.value = "";
					fieldObject.focus();
					fieldObjectValidity = false;
				} return fieldObjectValidity;
			}
		}
	}
}

var Container = {
	itself : null,	
	setObject : function(element) {
		this.itself = element;
	},		
	UI : {
		display : function() {
			var element = Container.itself;
			var elUI = Container.itself.style;	
			if(!element.getAttribute("status")
				|| element.getAttribute("status") == "hidden"
				|| element.getAttribute("status") == "static") {
				document.getElementById("clickHere-Text").innerHTML = "";
				document.getElementById("title-Contact").innerHTML = "Contacting";
				document.getElementById("title-Arrow").innerHTML = "...";
				elUI.visibility = "visible"; elUI.display = "block";
				element.setAttribute("status", "shown");
			}
			else {
				document.getElementById("clickHere-Text").innerHTML = "Click here to";
				document.getElementById("title-Arrow").innerHTML = "&#187;";
				document.getElementById("title-Contact").innerHTML = "Contact";
				elUI.visibility = "hidden"; elUI.display = "none";
				element.setAttribute("status", "hidden");
			}
		}
	},	
	Form : {
		itself : null,	
		setObject : function(form) {
			this.itself = form;
		},
		validate : function(form, fields, messages, displayBox) {
			if(!displayBox) displayBox = "MSG_default";
			if(form && fields) { if(checkFields()) form.submit(); }
			function checkFields() {
				var formValidity = true;
				for(var i = 0; i < fields.length; i++) {
					if(!form.elements[fields[i]].value) {
						if(!messages || !messages[i] || messages[i] == "") formValidity = false;
						else display(messages[i] + "\t", displayBox); formValidity = false;
					}
				} return formValidity;
			}			
		}		
	}
}

var Page = {
	itself: null,
	name: null,
	set: function(page) {
		this.itself = document.getElementById("i-" + page);
		this.name = page;
		this.setProperties(this.itself); },
	properties: null,
	setProperties: function(page) {
		if(!this.itself) return;
		this.properties = this.itself.style;	},
	Layer: {
		loadProperties: function() {
			with(Page) {
				switch(name) {
					case "details": properties.paddingTop = "35px"; break;
					case "agents": properties.paddingTop = "70px"; break;
					case "search": properties.paddingTop = "85px"; break;
					default: properties.paddingTop = "85px"; } } } },
	Background: {
		image: null,
		set: function(image) { this.image = image; },
		loadImageToPage: function() {
			if(!Page.itself || !this.image) return;
			Page.properties.backgroundImage = "url(images/header/" + this.image + ".jpg)";
			Page.properties.backgroundPosition = "top";
			Page.properties.backgroundRepeat = "no-repeat"; } } }