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

var pageLoaders = {
	init : function ( ) {
		var el = document.getElementById("agent_list");
		if ( el ) {
			var clicks = el.getElementsByTagName("a");
			for ( i=0; i<clicks.length; i++ ) {
				clicks[i].onclick = new Function( "return agent.cc(this.href);" );
			}
		}
		var colRight = document.getElementById("featuredListings");
		if ( colRight ) {
			home.listings = colRight.getElementsByTagName("div").length;
			setTimeout( "home.featured()", 5000 );
		}
		var imgList = document.getElementById("imgBlock");
		if ( imgList ) {
			var imgLinks = imgList.getElementsByTagName("a");
			for ( i=0; i<imgLinks.length; i++ ) {
				imgLinks[i].onclick = new Function( "return lst.largeImgs();" );
				if ( i>0 ) {
					imgLinks[i].onmouseover = new Function( "return lst.imgRoll(this.href);" );
					lst.slideImgs[i-1] = imgLinks[i].href;
					lst.numSlides++;
				}
			}
		}

		var menuMain = document.getElementById("menuMain");
		if ( menuMain ) {
			var li = document.createElement("li");
			var link = document.createElement("a");
			var img = document.createElement("img");
			var firstLi = menuMain.getElementsByTagName("li");
			li.id = "sms";
			link.href = "./";
			link.title = "Send Drew an Instant Text Message";
			link.onclick = new Function( "return sms.msg();" );
			img.src = "images/button-sms.jpg";
			img.width = "159";
			img.height = "39";
			img.alt = "Send Drew an Instant Text Message";
			link.appendChild(img);
			li.appendChild(link);
			menuMain.insertBefore(li,firstLi[0]);
		}

	}
}

var sms = {
	msg : function ( ) {
		new Ajax.Request( "sms/token.php",
			{ method: 'get',
			onSuccess: function(transport) {
				var bg = document.createElement("div");
				var frm = document.createElement("form");
				var head = document.createElement("h3");
				var headTxt = document.createTextNode("Send Drew Sineath an Instant Text Message");
				var note = document.createElement("p");
				var noteTxt = document.createTextNode("Please enter your name, phone and message below, then click Send Text. *Required values");
				var tok = document.createElement("input");
				var name = document.createElement("input");
				var phone = document.createElement("input");
				var msg = document.createElement("textarea");
				var subm = document.createElement("input");
				var can = document.createElement("input");
				bg.id = "smsBg";
				bg.setAttribute("style", "display:none");
				frm.action = "sms/sms.php";
				frm.method = "post";
				frm.id = "smsForm";
				frm.onsubmit = new Function( "return sms.send(this);" );
				tok.type = "hidden";
				tok.name = "token";
				tok.value = transport.responseText;
				name.type = "text";
				name.name = "name";
				name.size = "60";
				name.value = "Your Name*";
				name.onfocus = new Function( "this.value='';return true;" );
				phone.type = "text";
				phone.name = "phone";
				phone.size = "60";
				phone.value = "Your Phone*";
				phone.onfocus = new Function( "this.value='';return true;" );
				msg.name = "message";
				msg.rows = "10";
				msg.cols = "60";
				subm.type = "submit";
				subm.value = "Send Text";
				can.type = "button";
				can.value = "Cancel";
				can.onclick = new Function( "sms.cancel();" );
				head.appendChild(headTxt);
				frm.appendChild(head);
				note.appendChild(noteTxt);
				frm.appendChild(note);
				frm.appendChild(tok);
				frm.appendChild(name);
				frm.appendChild(phone);
				frm.appendChild(msg);
				frm.appendChild(msg);
				frm.appendChild(subm);
				frm.appendChild(can);
				bg.appendChild(frm);
				document.body.appendChild(bg);
				Effect.Appear( 'smsBg', { duration: 0.5 } );
			}
			}
		);
		return false;
	},
	cancel : function ( ) {
		Effect.Fade( 'smsBg', { duration: 0.5, afterFinish: function(){
			var bg = document.getElementById("smsBg");
			var cont = bg.parentNode;
			cont.removeChild(bg);
		} } );
	},
	send : function ( frm ) {
		var msg = "";
		if ( frm.token.value == "" ) {
			return false;
		}
		if ( frm.name.value == "" || frm.name.value == "Your Name*" ) {
			msg += "Please enter your name.\n";
		}
		if ( frm.phone.value == "" || frm.phone.value == "Your Phone*" ) {
			msg += "Please enter your phone number.\n";
		}
		if ( frm.message.value == "" ) {
			msg += "Please enter a message for Drew.\n";
		}
		if ( msg ) {
			alert( msg );
			return false;
		}
		new Ajax.Request( frm.action,
			{	method:"post",
				parameters: { token:frm.token.value, name:frm.name.value, phone:frm.phone.value, message:frm.message.value },
				onComplete: function(transport) {
					alert( transport.responseText );
					sms.cancel();
				}
			}
		);
		return false;
	}
}

var home = {
	listings : 0,
	nextListing : 0,
	featured : function ( ) {
		var colRight = document.getElementById("featuredListings");
		var divs = colRight.getElementsByTagName("div");
		if ( divs.length > 1 ) {
			home.nextListing++;
			if ( home.nextListing < divs.length ) {
				new Effect.Parallel([
					new Effect.Fade(divs[home.nextListing-1],{sync: true}),
					new Effect.Appear(divs[home.nextListing],{sync: true})],
					{ duration: 0.8 } );
			} else {
				new Effect.Parallel([
					new Effect.Fade(divs[home.nextListing-1],{sync: true}),
					new Effect.Appear(divs[0],{sync: true})],
					{ duration: 0.8 } );
				home.nextListing = 0;
			}
			setTimeout( "home.featured()", 8000 );
		}
	}
}

var agent = {
	cc : function ( url ) {
		new Ajax.Request( "count-click.php", {
		method: 'post',
		parameters: { url: url },
		onSuccess: function(transport) {
		}
		});
		return true;
	}
}

var uni = {
	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("uni.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 RecaptchaOptions = {
	theme : 'white'
}

var map = {
	sel : function ( box ) {
		if ( document.getElementById ) {
			el = document.getElementById(box);
			if ( el.checked ) {
				el.checked = false;
			} else {
				el.checked = true;
			}
			return false;
		}
		return true;
	} ,
	cf : function ( tf, num ) {
		if ( document.getElementById("aid_z" ).checked ) {
			return true;
		}
		for ( i=0; i<num; i++ ) {
			if ( document.getElementById ) {
				if ( document.getElementById("aid_"+i).checked ) {
					return true;
				}
			}
		}
		alert( "You must choose at least one area to search." );
		return false;
	},
	tip : function ( tid ) {
		if ( document.getElementById ) {
			for ( i=0; i<=area_descrips; i++ ) {
				el = document.getElementById("tip_" + i );
				el.style.display = "none";
			}
			el = document.getElementById( tid );
			el.style.display = "block";
		}
	},
	tiph : function ( tid ) {
		el = document.getElementById( tid );
		el.style.display = "none";
	}
}

var lst = {
	showInProgress : "",
	slideImgs : {  },
	numSlides : 0,
	nextSlide : 0,
	slideBlock : 0,
	cd : function ( str ) {
		return confirm( "Are you sure you wish to remove " + str + "?" );
	},
	cf : function ( tf ) {
		msg = "";
		if ( tf.px.selectedIndex && ( tf.pm.selectedIndex >= tf.px.selectedIndex ) ) {
			msg += "Please set a minimum price lower than your maximum.\n";
		}
		if ( tf.sqx.selectedIndex && ( tf.sqm.selectedIndex >= tf.sqx.selectedIndex ) ) {
			msg += "Please choose a minimum SQFT lower than your maximum.\n";
		}
		if ( msg ) {
			alert( msg );
			return false;
		} else {
			return true;
		}
	},
	clr : function ( tf ) {
		tf.pm.selectedIndex = 0;
		tf.px.selectedIndex = 0;
		tf.bd.selectedIndex = 0;
		tf.bt.selectedIndex = 0;
		tf.sqm.selectedIndex = 0;
		tf.sqx.selectedIndex = 0;
		tf.m.selectedIndex = 0;
	},
	l : function ( iid ) {
		window.open( iid, "larger", "width=400,height=400,resizable=yes,scrollbars=yes" );
		return false;
	},
	si : function ( iid ) {
		if ( document.getElementById ) {
			el = document.getElementById("marquis");
			el.src = img[iid].src;
			el = document.getElementById("llink");
			el.href = "larger.php?img=" + img[iid].src;
			for ( i=0; i<num_imgs; i++ ) {
				el = document.getElementById("img_" + i);
				el.style["text-decoration"] = "none";
				el.style.color = "#666";
			}
			el = document.getElementById("img_" + iid);
			el.style["text-decoration"] = "underline";
			el.style.color = "#000";
			return false;
		}
	},
	sv : function ( m ) {
		resp = reply;
		g( m );
		return false;
	},
	imgPop : function ( img, i ) {
		lst.nextSlide = i;
		var blowUp = document.getElementById("blowUp");
		if ( blowUp ) {
			var blockImg = document.getElementById("blockImg");
			var blockImg1 = document.getElementById("blockImg1");
			blockImg.style.display = "block";
			blockImg1.style.display = "none";
			lst.slideBlock = 0;
			blockImg.style.left = ((($("blowUp").getWidth())-640)/2)+"px";
			blockImg1.style.left = ((($("blowUp").getWidth())-640)/2)+"px";
			if ( blockImg ) {
				blockImg.src = img;
				new Effect.Appear( "blowUp", {duration: 0.8} );
			}
		}
		return false;
	},
	imgRoll : function ( img ) {
		var marquisImg = document.getElementById("marquis");
		if ( marquisImg ) {
			var marquis = marquisImg.parentNode;
			if ( marquis ) {
				marquisImg.src = img;
				marquis.href = img;
			}
		}		
	},
	imgClear : function ( ) {
		if ( lst.showInProgress ) {
			clearTimeout(lst.showInProgress);
		}
		var blowUp = document.getElementById("blowUp");
		if ( blowUp ) {
			new Effect.Fade( "blowUp", {duration: 0.8} );
		}
		return false;
	},
	slideShow : function ( ) {
		clearTimeout(lst.showInProgress);
		var slideImg = document.getElementById("blockImg");
		var slideImg1 = document.getElementById("blockImg1");
		if ( lst.nextSlide >= lst.numSlides ) {
			lst.nextSlide = 0;
		}
		if ( lst.slideBlock == 0 ) {
			slideImg1.src = lst.slideImgs[lst.nextSlide];
			new Effect.Parallel([
				new Effect.Fade(slideImg,{sync: true}),
				new Effect.Appear(slideImg1,{sync: true})],
				{ duration: 0.8 } );
				lst.slideBlock = 1;
		} else {
			slideImg.src = lst.slideImgs[lst.nextSlide];
			new Effect.Parallel([
				new Effect.Fade(slideImg1,{sync: true}),
				new Effect.Appear(slideImg,{sync: true})],
				{ duration: 0.8 } );
				lst.slideBlock = 0;
		}
		lst.nextSlide++;
		lst.showInProgress = setTimeout( "lst.slideShow()" , 3000);
	},
	largeImgs : function ( ) {
		var imgBlock = document.getElementById("blowUp");
		if ( imgBlock ) {
			new Effect.Appear( "blowUp", {duration: 0.8} );
		}
		return false;
	}
}

var reg = {
	cf : function ( tf ) {
		if ( document.getElementById ) {
			msg = "";
			var flds = new Array( "First_Name", "Last_Name", "Your_Email", "Your_Phone", "Address_1", "City", "State", "Zip" );
			var fldsd = new Array( "First Name", "Last Name", "Your Email", "Your Phone", "Address", "City", "State", "Zip" );
			if ( document.getElementById("Your_Phone").value == "eg: (555) 555-1234" ) {
				document.getElementById("Your_Phone").value = "";
			}
			if ( document.getElementById("Your_Phone").value == "(555) 555-1234" ) {
				document.getElementById("Your_Phone").value = "";
			}
			for ( i=0; i<flds.length; i++ ) {
				if ( document.getElementById(flds[i]).value == "" ) {
					msg += "Please enter " + fldsd[i] + ".\n";
				}
			}
			if ( document.getElementById("Timeframe_1").checked || document.getElementById("Timeframe_2").checked || document.getElementById("Timeframe_3").checked ) {
			} else {
				msg += "Please tell us when you are planning to buy or sell your next home or property.\n";
			}
			if ( ( document.getElementById("EmailSignup_1") && document.getElementById("EmailSignup_1").checked ) || !(document.getElementById("EmailSignup_1")) ) {
				var flds1 = new Array( "Min_Price", "Max_Price" );
				var fldsd1 = new Array( "Minimum Price", "Maximum Price" );
				for ( i=0; i<flds1.length; i++ ) {
					if ( document.getElementById(flds1[i]).value == "" ) {
						msg += "Please enter " + fldsd1[i] + ".\n";
					}
				}
			}
			
			if ( msg ) {
				alert( msg );
				el = document.getElementById("reg_button");
				el.style.display = "inline";
				return false;
			} else {
				return true;
			}
		}
	},
	cl : function ( tf ) {
		if ( document.getElementById ) {
			msg = "";
			if ( document.getElementById("Login").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;
			}
		}
	}
}

var con = {
	cf : function ( tf ) {
		if ( document.getElementById ) {
			msg = "";
			var box_flds = new Array("Buying", "Selling", "Relocating", "Browsing", "Workshop");
			if ( (!document.getElementById(box_flds[0]).checked) && (!document.getElementById(box_flds[1]).checked) && (!document.getElementById(box_flds[2]).checked) && (!document.getElementById(box_flds[3]).checked) && (!document.getElementById(box_flds[4]).checked) ) {
				
				msg += "Please check at least one box.\n";
			}
			var flds = new Array( "First_Name", "Last_Name", "Your_Email", "Address_1", "City", "State", "Zip", "Phone" );
			var fldsd = new Array( "First Name", "Last Name", "Email Address", "Address", "City", "State", "Zip", "Phone" );
			for ( i=0; i<flds.length; i++ ) {
				if ( document.getElementById(flds[i]).value == "" ) {
					msg += "Please enter " + fldsd[i] + ".\n";
				}
			}
			if ( msg ) {
				alert( msg );
				el = document.getElementById("reg_button");
				el.style.display = "inline";
				return false;
			} else {
				return true;
			}
		}
	},
	sc : function ( tf ) {
		if ( document.getElementById ) {
			msg = "";
			var flds = new Array( "First_Name", "Last_Name", "Your_Email", "Min_Price", "Max_Price" );
			var fldsd = new Array( "First Name", "Last Name", "Email Address", "Minimum Price", "Maximum Price" );
			for ( i=0; i<flds.length; i++ ) {
				if ( document.getElementById(flds[i]).value == "" ) {
					msg += "Please enter " + fldsd[i] + ".\n";
				}
			}
			if ( msg ) {
				alert( msg );
				el = document.getElementById("reg_button");
				el.style.display = "inline";
				return false;
			} else {
				return true;
			}
		}
	},
	rf : function ( tf ) {
		if ( document.getElementById ) {
			msg = "";
			var flds = new Array( "First_Name", "Last_Name", "Your_Email", "Address_1", "City", "State", "Zip", "Phone" );
			var fldsd = new Array( "First Name", "Last Name", "Email Address", "Address", "City", "State", "Zip", "Phone" );
			for ( i=0; i<flds.length; i++ ) {
				if ( document.getElementById(flds[i]).value == "" ) {
					msg += "Please enter " + fldsd[i] + ".\n";
				}
			}
			var box_flds = new Array("Schools", "Area_Attractions", "Fine_Arts", "Apartments", "Listings", "Maps" );
			onechecked = false;
			for ( i=0; i<box_flds.length; i++ ) {
				if ( document.getElementById(box_flds[i]).checked ) {
					onechecked = true;
				}
			}
			if ( !onechecked ) {
				msg += "Please check at least one box.\n";
			}
			if ( msg ) {
				alert( msg );
				el = document.getElementById("reg_button");
				el.style.display = "inline";
				return false;
			} else {
				return true;
			}
		}
	},
	ar : function ( tf ) {
		if ( document.getElementById ) {
			msg = "";
			var flds = new Array( "First_Name", "Last_Name", "Company", "Website", "Your_Email", "Address_1", "City", "State", "Zip", "Phone" );
			var fldsd = new Array( "First Name", "Last Name", "Company", "Website", "Email Address", "Address", "City", "State", "Zip", "Phone" );
			for ( i=0; i<flds.length; i++ ) {
				if ( document.getElementById(flds[i]).value == "" ) {
					msg += "Please enter " + fldsd[i] + ".\n";
				}
			}
			if ( msg ) {
				alert( msg );
				el = document.getElementById("reg_button");
				el.style.display = "inline";
				return false;
			} else {
				return true;
			}
		}
	}
}


if ( document.getElementById && document.getElementsByTagName ) {
	addLoadEvent(pageLoaders.init);
}