function addLoadEvent ( func ) {
	var oldonload = window.onload;
	if ( typeof window.onload != 'function' ) {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

var common = {
	addClass : function (element,value) {
		if (!element.className) {
			element.className = value;
		} else {
			var newClassName = element.className;
			newClassName+= " ";
			newClassName+= value;
			element.className = newClassName;
		}
	},
	pagePreloads : function () {
		if ( document.body.id == "home" ) {
			common.homePreload();
		}
		if ( document.body.id == "mlsmap" ) {
			mlsmap.preload();
		}
		if ( document.body.id == "mlssearch" ) {
			reg.safeSubmit();
			mlssearch.preload();
		}
		if ( document.body.id == "mlslisting" ) {
			mlslisting.preload();
		}
		if ( document.body.id == "mlslistings" ) {
			mlslistings.preload();
		}
		if ( document.body.id == "contact" ) {
			contact.preload();
		}
	},
	homePreload : function () {
		if ( document.getElementById("login_form") ){
			var con = document.getElementById("login_form");
			var el = con.getElementsByTagName("a");
			el[0].onclick = new Function ( "login_form.submit();return false;" );
		}
		if ( document.getElementById("tic") ) {
			var tic = document.getElementById("tic");
			var trs = tic.getElementsByTagName("tr");
			for ( var i=0; i<trs.length; i+=2 ) {
				common.addClass(trs[i],"alt");
			}
		}
	},
	t : function () {
		alert( "Cookies are required for the use of this site.\nPlease make sure that you accept cookies from this site before proceeding." );
		timerID = setTimeout("common.redirectMap()",10000);
	},
	y : function () {
		alert( "Cookies are required for the use of this site.\nPlease make sure that you enable the acceptance of cookies for this site before proceeding." );
	},
	w : function () {
		alert( "Cookies are required for the use of this site.\nPlease make sure that you accept cookies from this site before proceeding." );
		document.location.href = "charleston-mls-listings-area-map.php";
	},
	redirectMap : function () {
		document.location.href = "charleston-mls-listings-area-map.php";
	}
}

var mlssearch = {
	preload : function ( ) {
		if ( yell ) {
			common.y();
		}
	}
}

var mlslistings = {
	preload : function ( ) {
		if ( yell ) {
			common.t();
		}
	}
}

var mlslisting = {
	preload : function ( ) {
		if ( yell ) {
			common.t();
		}
		var imgs = document.getElementById("imgs");
		var imgas = imgs.getElementsByTagName("a");
		imgas[0].onclick = new Function( "return mlslisting.larger(this.href);" );
		if ( imgs = document.getElementById("thumbs") ) {
			imgas = imgs.getElementsByTagName("a");
			for ( var i=0; i<imgas.length; i++ ) {
				imgas[i].onmouseover = new Function( "return mlslisting.swap(this.href);" );
				imgas[i].onclick = new Function( "return mlslisting.larger(this.href);" );
			}
		}
		var blowUp = document.createElement("div");
		blowUp.id = "blowUp";
		blowUp.style.display = "none";
		var blankImg = document.createElement("img");
		blankImg.src = "images/trans.gif";
		blankImg.width = "640px";
		blankImg.height = "480px";
		blankImg.src = "images/trans.gif";
		blankImg.id = "blowUpimg";
		blowUp.appendChild(blankImg);
		blankImg.onclick = new Function( "mlslisting.hide();" );
		var wrap = document.getElementById("wrapper");
		wrap.appendChild(blowUp);
		if ( document.getElementById("icon_scrapbook") ) {
			var scrap = document.getElementById("icon_scrapbook");
			var scrapa = scrap.getElementsByTagName("a");
			scrapa[0].onclick = new Function( "return mlslisting.addScrap(this.href);" );
		}
	},
	addScrap : function ( url ) {
		new Ajax.Request( url, {
			method: "get",
			onSuccess: function(transport) {
				alert(transport.responseText);
			}
		}
		);
		return false;
	},
	larger : function ( url ) {
		var blowUpImg = document.getElementById("blowUpimg");
		var blowUp = document.getElementById("blowUp");
		blowUpImg.src = url;
		blowUp.style.display = "block";
		return false;
	},
	swap : function ( url ) {
		var img = document.getElementById("marquis");
		var imga = document.getElementById("a_marquis");
		imga.href = url;
		img.src = url;
		return false;
	},
	hide : function ( ) {
		var blowUp = document.getElementById("blowUp");
		blowUp.style.display = "none";
	}
}

var mlsmap = {
	imgN : new Array,
	imgs : new Array,
	imgState : new Array,
	preload : function () {
		if ( yell ) {
			common.y();
		}
		var area_list = document.getElementById("area_list");
		var areas = area_list.getElementsByTagName("li");
		var hrefs = "";
		var inputs = "";
		if ( yell ) {
			common.y();
		}
		for ( var i=0; i<areas.length; i++ ) {
			if ( areas[i].id.substr(0,5)=="area_" ) {
				hrefs = areas[i].getElementsByTagName("a");
				inputs = areas[i].getElementsByTagName("input");
				if ( areas[i].id.substr(5) != "0" ) {
					mlsmap.imgN[i] = areas[i].id.substr(5);
					mlsmap.imgs[mlsmap.imgN[i]] = new Image();
					mlsmap.imgs[mlsmap.imgN[i]].src = "images/map-area-" + mlsmap.imgN[i] + ".gif";
					hrefs[0].onmouseover = new Function ( "return mlsmap.aOver(" + mlsmap.imgN[i] + ");" );
					hrefs[0].onmouseout = new Function ( "return mlsmap.aOut(" + mlsmap.imgN[i] + ");" );
					hrefs[0].onclick = new Function ( "return mlsmap.aClick(" + mlsmap.imgN[i] + ");" );
					inputs[0].onmouseover = new Function ( "return mlsmap.aOver(" + mlsmap.imgN[i] + ");" );
					inputs[0].onmouseout = new Function ( "return mlsmap.aOut(" + mlsmap.imgN[i] + ");" );
					inputs[0].onclick = new Function ( "return mlsmap.iClick(" + mlsmap.imgN[i] + ");" );
				} else {
					hrefs[0].onclick = new Function ( "return mlsmap.aAll(0);" );
					inputs[0].onclick = new Function ( "return mlsmap.iAll(0);" );
				}
			}
		}
		inputs = document.getElementById("searchbutton");
		inputs = inputs.getElementsByTagName("input");
		inputs[0].value = "";
		var mapArea = "";
		for ( i=1; i<=14; i++ ) {
			mapArea = document.getElementById("map_" + mlsmap.imgN[i] );
			mapArea.onmouseover = new Function ( "return mlsmap.aOver(" + mlsmap.imgN[i] + ");" );
			mapArea.onmouseout = new Function ( "return mlsmap.aOut(" + mlsmap.imgN[i] + ");" );
			mapArea.onclick = new Function ( "return mlsmap.aClick(" + mlsmap.imgN[i] + ");" );
		}
		var map = document.getElementById("map");
		var roads = document.getElementById("roads");
		for ( i=0; i<mlsmap.imgs.length; i++ ) {
			mapimg = document.createElement("img");
			mapimg.src = "images/map-area-" + i + ".gif";
			mapimg.width = "520";
			mapimg.height = "550";
			mapimg.className = "area";
			mapimg.id = "area_img_" + mlsmap.imgN[i];
			map.insertBefore(mapimg,roads);
		}
		var con = document.getElementById("content");
		con.appendChild(map);
		var el = "";
		for ( i=0; i<mlsmap.imgs.length; i++ ) {
			el = document.getElementById("area_img_" + mlsmap.imgN[i]);
			el.src = "images/trans.gif";
		}
	},
	aOver : function ( imgId ) {
		var img = document.getElementById( "area_img_" + imgId );
		img.src = mlsmap.imgs[imgId].src;
		return true;
	},
	aOut : function ( imgId ) {
		var img = document.getElementById( "area_img_" + imgId );
		if ( !mlsmap.imgState[imgId] ) {
			img.src = "images/trans.gif";
		}
		return true;
	},
	aClick : function ( imgId ) {
		var img = document.getElementById( "area_img_" + imgId );
		var inpt = document.getElementById("aid_" + imgId );
		if ( !mlsmap.imgState[imgId] ) {
			img.src = mlsmap.imgs[imgId].src;
			inpt.checked = true;
			mlsmap.imgState[imgId] = 1;
		} else {
			img.src = "images/trans.gif";
			inpt.checked = false;
			mlsmap.imgState[imgId] = 0;
			inpt = document.getElementById("aid_0" );
			inpt.checked = false;
			mlsmap.imgState[0] = 0;
		}
		return false;
	},
	aAll : function ( imgId ) {
		var mapimg = "";
		var inpt = "";
		if ( mlsmap.imgState[imgId] != 1 ) {
			for ( i=0; i<mlsmap.imgs.length; i++ ) {
				mapimg = document.getElementById("area_img_" + mlsmap.imgN[i]);
				mapimg.src = "images/map-area-" + i + ".gif";
				mlsmap.imgState[i] = 1;
				inpt = document.getElementById("aid_" + i );
				inpt.checked = true;
			}
			mlsmap.imgState[imgId] = 1;
		} else {
			for ( i=0; i<mlsmap.imgs.length; i++ ) {
				mapimg = document.getElementById("area_img_" + mlsmap.imgN[i]);
				mapimg.src = "images/trans.gif";
				mlsmap.imgState[i] = 0;
				inpt = document.getElementById("aid_" + i );
				inpt.checked = false;
			}
			mlsmap.imgState[imgId] = 0;
		}
		return false;
	},
	iClick : function ( imgId ) {
		var img = document.getElementById( "area_img_" + imgId );
		var inpt = document.getElementById("aid_" + imgId );
		if ( !mlsmap.imgState[imgId] ) {
			img.src = mlsmap.imgs[imgId].src;
			mlsmap.imgState[imgId] = 1;
		} else {
			img.src = "images/trans.gif";
			mlsmap.imgState[imgId] = 0;
			inpt = document.getElementById("aid_0" );
			inpt.checked = false;
			mlsmap.imgState[0] = 0;
		}
	},
	iAll : function ( imgId ) {
		var mapimg = "";
		var inpt = "";
		if ( mlsmap.imgState[imgId] != 1 ) {
			for ( i=0; i<mlsmap.imgs.length; i++ ) {
				mapimg = document.getElementById("area_img_" + mlsmap.imgN[i]);
				mapimg.src = "images/map-area-" + i + ".gif";
				mlsmap.imgState[i] = 1;
				inpt = document.getElementById("aid_" + i );
				inpt.checked = true;
			}
			mlsmap.imgState[imgId] = 1;
		} else {
			for ( i=0; i<mlsmap.imgs.length; i++ ) {
				mapimg = document.getElementById("area_img_" + mlsmap.imgN[i]);
				mapimg.src = "images/trans.gif";
				mlsmap.imgState[i] = 0;
				inpt = document.getElementById("aid_" + i );
				inpt.checked = false;
			}
			mlsmap.imgState[imgId] = 0;
		}
		return true;
	}
}

var contact = {
	preload : function ( ) {
		if ( document.getElementById("conForm") ) {
			var el = document.getElementById("conForm");
			var nin = document.createElement("input");
			nin.name = "hasjava";
			nin.type = "hidden";
			nin.value = "true";
			el.appendChild(nin);
		}
	},
	cf : function ( theForm ) {
		var msg = "";
		if ( document.getElementById("Your_Name").value == "" ) {
			msg += "Please enter your name.\n";
		}
		if ( document.getElementById("Your_Email").value == "" ) {
			msg += "Please enter your email address.\n";
		}
		if ( document.getElementById("Phone").value == "" ) {
			msg += "Please enter your phone number.\n";
		}
		if ( ( document.getElementById("Address_1").value == "" ) && ( document.getElementById("Address_2").value == "" ) ) {
			msg += "Please enter your street address.\n";
		}
		if ( document.getElementById("City").value == "" ) {
			msg += "Please enter your city.\n";
		}
		if ( document.getElementById("State").value == "" ) {
			msg += "Please enter your state.\n";
		}
		if ( document.getElementById("Zip").value == "" ) {
			msg += "Please enter your zip.\n";
		}
		if ( msg ) {
			alert(msg);
			var el = document.getElementById("reg_button");
			el.style.display = "inline";
			return false;
		}
		return true;
	}
}

var reg = {
	cf : function ( theForm ) {
		var msg = "";
		if ( document.getElementById("Your_Name").value == "" ) {
			msg += "Please enter your name.\n";
		}
		if ( document.getElementById("Your_Email").value == "" ) {
			msg += "Please enter your email address.\n";
		}
		if ( document.getElementById("Your_Phone").value == "" ) {
			msg += "Please enter your phone number.\n";
		}
		if ( msg ) {
			alert(msg);
			var el = document.getElementById("reg_button");
			el.style.display = "inline";
			return false;
		}
		return true;
	},
	cl : function ( tf ) {
		msg = "";
		if ( document.getElementById("Email").value == "" ) {
			msg += "Please enter the email address you previously registered.\n";
		}
		if ( msg ) {
			alert( msg );
			el = document.getElementById("login_button");
			el.style.display = "inline";
			return false;
		} else {
			return true;
		}
	},
	safeSubmit : function ( ) {
		var inputs = document.getElementsByTagName("input");
		for ( var i=0; i<inputs.length; i++ ) {
			if ( inputs[i].type == "submit" ) {
				inputs[i].style.display = "inline";
				inputs[i].onclick = new Function( "this.style.display='none';return true;" );
			}
		}
		if ( frm = document.getElementById("searchform") ) {
			frm.onsubmit = new Function( "return reg.showSub();" );
			var el = "";
			for ( var i=1; i<=4; i++ ) {
				el = document.getElementById("tp"+i);
				el.onclick = new Function( "document.getElementById('tp0').checked=false;return true;" );
			}
			el = document.getElementById("tp0");
			el.onclick = new Function( "document.getElementById('tp1').checked=false;document.getElementById('tp2').checked=false;document.getElementById('tp3').checked=false;document.getElementById('tp4').checked=false;return true;" );
		}
	},
	showSub : function () {
		var inputs = document.getElementsByTagName("input");
		for ( var i=0; i<inputs.length; i++ ) {
			if ( inputs[i].type == "submit" ) {
				inputs[i].style.display = "inline";
			}
		}
	}
}

if ( document.getElementById && document.getElementsByTagName ) { 
	addLoadEvent(common.pagePreloads);
}
