			oInnflux = new Object();
			oInnflux.asFunctions = new Object();
			
			$(document).ready(function() {
				if($('input.iReviewRating').length > 0) $('input.iReviewRating').rating();
				$('#review_write input').keyup(function() { $(this).prev().removeClass('labelerror').addClass('label'); });
				$('#review_write textarea').keyup(function() { $(this).prev().removeClass('labelerror').addClass('label'); });
				$('.iReviewRating').click(function() { $(this).parent().parent().find('div:eq(0)').removeClass('labelerror').addClass('label'); });
				$('#review_write button').click(oInnflux.asFunctions.reviewAdd);
				
				// Load Google Maps V3
				var script = document.createElement("script");
				script.type = "text/javascript";
				script.src = "http://maps.google.com/maps/api/js?sensor=false&callback=initializeGoogleMaps";
				document.body.appendChild(script);
			});
			
			function initializeGoogleMaps() {}
			
			oInnflux.asFunctions.self = function() {
				sLink = location.pathname.split('/');
				if(sLink[1] == 'view') 
					return 'http://'+location.host+'/view/'+sLink[2]+'/';
				else
					return 'http://'+location.host+'/';
			}
			
			oInnflux.asFunctions.reviewSent = function(iId) {
				if($('#reviewShow').is(':visible')) $('#reviewShow').slideUp();
				if($('#reviewMap').is(':visible')) $('#reviewMap').slideUp();
				if($('#reviewWrite').is(':visible')) $('#reviewWrite').slideUp();
				if($('#reviewSent').is(':visible') && $('#reviewSent').prev().is('#ad'+iId)) {
					$('#reviewSent').slideUp();
					return false;
				}
				if(!$('#reviewSent').prev().is('#ad'+iId)) {
					$('#reviewSent').slideUp('normal',function() {
						$('#ad'+iId).after($('#reviewSent'));
						$('#reviewSent').slideDown();
					});
				}
				else $('#reviewSent').slideDown();
				return false;
			}
			
			oInnflux.asFunctions.reviewWrite = function(iId) {
				if($('#reviewShow').is(':visible')) $('#reviewShow').slideUp();
				if($('#reviewMap').is(':visible')) $('#reviewMap').slideUp();
				if($('#reviewSent').is(':visible')) $('#reviewSent').slideUp();
				if($('#reviewWrite').is(':visible') && $('#reviewWrite').prev().is('#ad'+iId)) {
					$('#reviewWrite').slideUp();
					return false;
				}
				if(!$('#reviewWrite').prev().is('#ad'+iId)) {
					$('#reviewWrite').slideUp('normal',function() {
						$('#ad'+iId).after($('#reviewWrite'));
						$('#reviewWrite').slideDown();
					});
				}
				else $('#reviewWrite').slideDown();
				return false;
			}
			
			oInnflux.asFunctions.reviewMap = function(iId,sStreet,sCity,sCountry,sState,sPostal,fLat,fLng,iZoom,sType) {
				if($('#reviewShow').is(':visible')) $('#reviewShow').slideUp();
				if($('#reviewWrite').is(':visible')) $('#reviewWrite').slideUp();
				if($('#reviewSent').is(':visible')) $('#reviewSent').slideUp();
				if($('#reviewMap').is(':visible') && $('#reviewMap').prev().is('#ad'+iId)) {
					$('#reviewMap').slideUp();
					return false;
				}
				if(!$('#reviewMap').prev().is('#ad'+iId)) {
					$('#reviewMap').slideUp('normal',function() {
						$('#ad'+iId).after($('#reviewMap'));
						$('#reviewMap').slideDown('normal',function() { oInnflux.asFunctions.showMap(iId,sStreet,sCity,sCountry,sState,sPostal,fLat,fLng,iZoom,sType); });
					});
				}
				else $('#reviewMap').slideDown('normal',function() { oInnflux.asFunctions.showMap(iId,sStreet,sCity,sCountry,sState,sPostal,fLat,fLng,iZoom,sType); });
				return false;
			}
			
			oInnflux.asFunctions.reviewPhone = function(iId,sPhone,sType) {
				$('#phoneLink'+iId).html('Phone: '+sPhone);
				if(sType != 'free') $.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=review_stats&iId='+iId+'&sType=phone',type: "POST",dataType:"json"});
				return false;
			}
			
			oInnflux.asFunctions.showMap = function(iId,sStreet,sCity,sCountry,sState,sPostal,fLat,fLng,iZoom,sType) {
				if(sType != 'free') $.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=review_stats&iId='+iId+'&sType=address',type: "POST",dataType:"json"});
				else iId = '-1';
				if(sCountry == 'USA') 
					if(sCity == " " || sCity == "")sText = "<font style=\"font-size:11px;\">"+sState+"</font>";
					else sText = "<font style=\"font-size:11px;\">"+sStreet+"<br />"+sCity+", "+sState+" "+sPostal+"</font>";
				else 
					if((sCity == " " || sCity == "") && sCountry != '') sText = "<font style=\"font-size:11px;\">"+sCountry+"</font>";
					else if((sCity == " " || sCity == "") && sCountry == '' && sStreet != '') sText = "<font style=\"font-size:11px;\">"+sStreet+"</font>";
					else sText = "<font style=\"font-size:11px;\">"+sStreet+"<br />"+sCity+", "+sCountry+" "+sPostal+"</font>";
				
				// Initialize Google Maps V3
				var myLatlng = new google.maps.LatLng(fLat,fLng);
				var myOptions = {zoom: parseInt(iZoom),center: myLatlng,mapTypeId: google.maps.MapTypeId.ROADMAP}
				var map = new google.maps.Map(document.getElementById("reviewMapWindow"), myOptions);
				var infowindow = new google.maps.InfoWindow({content: sText});
				var marker = new google.maps.Marker({position: myLatlng,map: map});
				infowindow.open(map,marker);
			}
			
			oInnflux.asFunctions.reviewShow = function(iId) {
				oInnflux.iId = iId;
				if($('#reviewWrite').is(':visible')) $('#reviewWrite').slideUp();
				if($('#reviewMap').is(':visible')) $('#reviewMap').slideUp();
				if($('#reviewSent').is(':visible')) $('#reviewSent').slideUp();
				if($('#reviewShow').is(':visible') && $('#reviewShow').prev().is('#ad'+iId)) {
					$('#reviewShow').slideUp();
					return false;
				}
				if(!$('#reviewShow').prev().is('#ad'+iId)) {
					$('#reviewShow').slideUp('normal',function() {
						$('#ad'+iId).after($('#reviewShow'));
						$('#reviewShow').html('<div style="width:100%;text-align:center;padding-top:2px;font-weight:bold;color:#555555;padding-bottom:2px;"><img src="view/templates/blt/img/ajax-loader.gif" alt="" /><br />Loading</div>');
						$('#reviewShow').slideDown('normal',oInnflux.asFunctions.reviewShowLoad);
					});
				}
				else {
					$('#reviewShow').html('<div style="width:100%;text-align:center;padding-top:2px;font-weight:bold;color:#555555;padding-bottom:2px;"><img src="view/templates/blt/img/ajax-loader.gif" alt="" /><br />Loading</div>');
					$('#reviewShow').slideDown('normal',oInnflux.asFunctions.reviewShowLoad);
				}
				$.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=review_stats&iId='+iId+'&sType=reviews',type: "POST",dataType:"json"});
				
				return false;
			}
			oInnflux.asFunctions.reviewShowLoad = function(iId) {
				if(oInnflux.iId == -1) {
					var today = new Date();
					sNow = (today.getMonth()+1) + "/" + today.getDate() + "/" + today.getYear() + ' @ 1:00 AM';
					sHtml = '<div class="review">'+
								'<div class="head">Posted by: <a href="mailto:general@prebuilt.com">Consumer</a> on <a href="#">'+sNow+'</a></div>'+
								'<div class="rating">'+
										'<div style="float:left;">Rating:</div> '+
										'<div class="rating_bar">'+
											'<div style="width:60%"></div>'+
										'</div>'+
									'</div>'+
									'<div class="label">Review:</div>'+
									'<div class="content">This might be your ad! If you want to see yourself here, please click the link on the bottom of a page.</div>'+
								'</div><div style="clear:both;"></div>';
								
					$('#reviewShow').html('<div id="review_read">'+sHtml+'</div>');
					$('#reviewShow').slideDown();
					return false;
				}
				$.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=reviews_read&id='+oInnflux.iId,type: "POST",dataType:"json",success:function(r){
					$('#reviewShow').slideUp('normal', function() {
						sHtml = '';
						if(r.asReviews.length > 0) {
							$(r.asReviews).each(function() {
								sHtml += '<div class="review">'+
										'<div class="head">Posted by: <a href="mailto:'+this.sUserEmail+'">'+this.sUser+'</a> on <a href="#">'+this.dCreated+'</a></div>'+
										'<div class="rating">'+
												'<div style="float:left;">Rating:</div> '+
												'<div class="rating_bar">'+
													'<div style="width:'+this.iRating+'%"></div>'+
												'</div>'+
											'</div>'+
											'<div class="label">Review:</div>'+
											'<div class="content">'+this.sContent+'</div>'+
										'</div><div style="clear:both;"></div>';
							});
						}
						else {
							sHtml = '<div class="review"><div class="head">There are no reviews yet</div></div><div style="clear:both;"></div>';
						}
						$('#reviewShow').html('<div id="review_read">'+sHtml+'</div>');
						$('#reviewShow').slideDown();
					});
				}});
			}
			
			oInnflux.asFunctions.reviewAdd = function(oClick, bForce) {
				bSubmit = true;
				if($('#sReviewName').val() == "") {
					$('#sReviewName').prev().removeClass('label').addClass('labelerror');
					bSubmit = false;
				}
				if($('#sReviewEmail').val() == "") {
					$('#sReviewEmail').prev().removeClass('label').addClass('labelerror');
					bSubmit = false;
				}
				if($('#iReviewRating').val() == "") {
					$('#iReviewRating').prev().removeClass('label').addClass('labelerror');
					bSubmit = false;
				}
				if($('#sReviewContent').val() == "") {
					$('#sReviewContent').prev().removeClass('label').addClass('labelerror');
					bSubmit = false;
				}
				if($('#sReviewCaptcha').val() == "" || $('#sReviewCaptcha').val().length != 6) {
					$('#sReviewCaptcha').prev().removeClass('label').addClass('labelerror');
					bSubmit = false;
				}
				if(bSubmit && bForce != 1) {
					$.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=captcha_check&sCaptcha='+$('#sReviewCaptcha').val(),type: "POST",dataType:"json",success:function(r){
						if(r.iCheck == 1) {
							oInnflux.asFunctions.reviewAdd(1,1);
						}
						else {
							tmp = new Date(); 
							document.images['captchaImage'].src='captcha.html?time='+tmp.getTime();
							$('#sReviewCaptcha').prev().removeClass('label').addClass('labelerror');
						}
					}});
					return false;
				}
				if(bForce) {
					iId = $('#reviewWrite').prev().attr('id').replace('ad','');
					d = 'id='+iId+'&'+
						'sName='+$('#sReviewName').val()+'&'+
						'sEmail='+$('#sReviewEmail').val()+'&'+
						'iRating='+$('#iReviewRating').val()+'&'+
						'sContent='+$('#sReviewContent').val()+'&'+
						'sCaptcha='+$('#sReviewCaptcha').val()+'&';
					$.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=review_add',type: "POST",data:d,dataType:"json",success:function(r){
						tmp = new Date(); 
						document.images['captchaImage'].src='captcha.html?time='+tmp.getTime();
						oInnflux.asFunctions.reviewSent(iId);
						$('#sReviewName').val('');
						$('#sReviewEmail').val('');
						$('#iReviewRating').val('');
						$('#sReviewContent').val('');
						$('#sReviewCaptcha').val('');
					}});
				}
			}
			
			oInnflux.asFunctions.showAddress = function(iId,sType) {
				if(sType != 'free') $.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=review_stats&iId='+iId+'&sType=address',type: "POST",dataType:"json"});
				return false;
			}
			oInnflux.asFunctions.showPhone = function(iId,sType) {
				if(sType != 'free') $.ajax({url:oInnflux.asFunctions.self()+'ajax.html?a=review_stats&iId='+iId+'&sType=phone',type: "POST",dataType:"json"});
				return false;
			}
				
			 function reloadListings() {
				data = "city="+$('#search_listings_city').val()+"&state="+$('#search_listings_state').val()+"&keywords="+$('#search_listings_keywords').val();
				$.ajax({
					beforeSend:  function() {
						if(bLoadResponse == true) $('#iestates_view_window_content').html("<div style=\"margin: auto;\"><img src=\"ajaxloader.gif\" alt=\"Loading data\" /></div>");
						},
					url: url,
					type: "POST",
					data: data,
					success: function(response){
						$('#iestates_view_window_content').html(response);
					}
				});
			 
			}
			
			function bookmark(url, title){
				if (window.sidebar) // firefox
					window.sidebar.addPanel(title, url, "");
				else if(window.opera && window.print){
					var elem = document.createElement('a');
					elem.setAttribute('href',url);
					elem.setAttribute('title',title);
					elem.setAttribute('rel','sidebar');
					elem.click();
				}
				else if(document.all)// ie
					window.external.AddFavorite(url, title);
				return false;
			}

