﻿$(document).ready(function(){

clearExisting();

getNewestListings();
getUpcomingOpenHouses();
getLatestClosings();
LoadShowCaseImages();

ActivateRotator();

var houseCheck = $("#houses").text();
if(houseCheck == "")
	$("#houses").append("<div class='no-houses'>There are no open houses scheduled at this time. <br><br>Please check this site daily for updated open house listings.</div>");
	

});

function ActivateRotator()
{
$(".container").wtRotator({
					width:617,
					height:359,
					button_width: 50,
					button_height: 50,
					button_margin:5,
					auto_start:true,
					delay:5000,
					transition:"fade",
					transition_speed:1000,
					cpanel_position:"inside",
					cpanel_align:"BR",
					timer_align:"top",
					display_thumbs:true,
					display_dbuttons:true,
					display_playbutton:true,
					display_numbers:true,
					display_timer:false,
					mouseover_pause:false,
					cpanel_mouseover:false,
					text_mouseover:false,
					text_effect:"fade",
					text_sync:true,
					tooltip_type:"image",
					shuffle:false,
					block_size:100,
					vert_size:55,
					horz_size:50,
					block_delay:25,
					vstripe_delay:75,
					hstripe_delay:180					
				});
}

function clearExisting()
{
	$("#listings").html("");
	$("#houses").html("");
	$("#closings").html("");
	$("#showcase-images").html("");
}

function LoadShowCaseImages()
{

var strHtml = "<div class='container'>";
	strHtml += "<div class='wt-rotator'>";
		strHtml += "<div class='screen'>";
			strHtml += "<noscript><img src='../images/noimage.png'/></noscript>";
		strHtml += "</div>";
		strHtml += "<div class='c-panel'>";
			strHtml += "<div class='buttons'>";
				strHtml += "<div class='prev-btn'></div>";
				strHtml += "<div class='play-btn'></div>";
				strHtml += "<div class='next-btn'></div>"; 
			strHtml += "</div>";					
			strHtml += "<div class='thumbnails'>";
				strHtml += "<ul>";

	$().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "Property Listings",
    CAMLQuery: "<Query><Where><Eq><FieldRef Name='Featured' /><Value Type='Boolean'>1</Value></Eq></Where><OrderBy><FieldRef Name='ListingDate' Ascending='False' /></OrderBy></Query>",
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='ListingDate' /><FieldRef Name='NumberBedrooms'/><FieldRef Name='NumberFullBathrooms'/><FieldRef Name='Price'/><FieldRef Name='PropertyAddress'/><FieldRef Name='PropertyState'/><FieldRef Name='PropertyZipCode'/><FieldRef Name='Township'/></ViewFields>",
    completefunc: function (xData, Status) {
      $(xData.responseXML).find("[nodeName='z:row']").each(function() {
			strHtml += "<li>";
		
				var id = $(this).attr("ows_Title");
	
				strHtml += "<a href='/PropertyImages/" + id + "-00.jpg'><img src='/PropertyImages/" + convertToThumbnail(id + "-00.jpg") + "'/></a>";
				strHtml += "<a href='/Pages/details.aspx?pid=" + id + "'></a>";
				
				strHtml += "<div style='top:5px; width:180px; height: 70px; font-weight: bold;'>";
					
					  		/* No Address
					  		var address = $(this).attr("ows_PropertyAddress");
  							strHtml += "<div class='address' style='color: #0557c4;font-weight: bold;'>" + address + "</div>";
  							*/
  							
  							var strLocation = $(this).attr("ows_Township") + ", " +  $(this).attr("ows_PropertyState").toUpperCase() + ", " + $(this).attr("ows_PropertyZipCode");
   						    strHtml += "<div class='location' style='margin-bottom: 6px;color: #0557c4;font-weight: bold;'>" + strLocation + "</div>";
      					
      						var fullBaths = $(this).attr("ows_NumberFullBathrooms");
      						fullBaths = fullBaths.substring(0,fullBaths.indexOf('.'));
      						strHtml += "<div class='full-baths' style='margin-right: 10px;color: #000;display: inline;font-weight: bold;'>Bath: " + fullBaths + "</div>";

							var bedrooms = $(this).attr("ows_NumberBedrooms");
							bedrooms = bedrooms.substring(0,bedrooms.indexOf('.'));
      						strHtml += "<div class='bedrooms' style='color: #000;display: inline;font-weight: bold;'>Beds: " + bedrooms + "</div>";

							var strPrice = $(this).attr("ows_Price")
					        var price = strPrice.split(".");
					        strHtml += "<div class='' style='margin-top: 6px;color: #000; font-style: italic; font-weight: normal;'>" + formatCurrency(price[0]) + "</div>";

				strHtml += "</div>";
			
			strHtml += "</li>";
      });
    }
  });
				strHtml += "</ul>";	
			strHtml += "</div>"; //close thumbnails
		strHtml += "</div>"; //close cpanel
	strHtml += "</div>"; //close wt-rotator
strHtml += "</div>"; //close container

$("#showcase-images").append(strHtml);   
}

function getNewestListings()
{

$().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "Property Listings",
    CAMLQuery: "<Query><Where><Eq><FieldRef Name='ActiveListing' /><Value Type='Boolean'>1</Value></Eq></Where><OrderBy><FieldRef Name='ListingDate' Ascending='False' /></OrderBy></Query>",
    CAMLViewFields: "<ViewFields><FieldRef Name='UnderContractDate'/><FieldRef Name='ListingDate' /><FieldRef Name='Title' /><FieldRef Name='PropertyState'/><FieldRef Name='PropertyZipCode'/><FieldRef Name='Township'/><FieldRef Name='Price'/></ViewFields>",
    CAMLRowLimit: 3,
    completefunc: function (xData, Status) {
      $(xData.responseXML).find("[nodeName='z:row']").each(function() {
        var strHtml = "<div class='listing'>";

        var strListingDate = $(this).attr("ows_ListingDate");
  		var listingDate = strListingDate.split(' ');
  		var date = listingDate[0].split('-');
  		var month = date[1];
  		var day = date[2];
  		var year = date[0];
        
        strHtml += "<div class='created'>" + month + "." + day + "." + year + "</div>";
        
        var id = $(this).attr("ows_Title");

		strHtml += "<div class='image'><img src='/PropertyImages/" + convertToThumbnail(id + "-00.jpg") + "'/></div>";
        
        var underContractDate = $(this).attr("ows_UnderContractDate");
		if(underContractDate != undefined)
		{
			strHtml += "<div class='price'>Under Contract</div>";
		}
		
		else
		{
			/* Price */        
	        var strPrice = $(this).attr("ows_Price");
	        var price = ""; 
	        if(strPrice != undefined)
	        	price = strPrice.substring(0,strPrice.indexOf("."));
	        strHtml += "<div class='price'>" + formatCurrency(price) + "</div>";
        }

        var strLocation = $(this).attr("ows_Township") + ", " +  $(this).attr("ows_PropertyState").toUpperCase() + ", " + $(this).attr("ows_PropertyZipCode");
        strHtml += "<div class='location'>" + strLocation + "</div>";
        
        strHtml += "<div class='view-detailed-listing'><a href='/pages/details.aspx?pid=" + $(this).attr("ows_Title") + "'></a></div>";        
        strHtml += "</div>";
		$("#listings").append(strHtml);        
      });
    }
  });
  
}

function getUpcomingOpenHouses()
{
$().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "Property Listings",
    CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='ActiveListing' /><Value Type='Boolean'>1</Value></Eq><Geq><FieldRef Name='OpenHouseStart' /><Value Type='DateTime'><Today/></Value></Geq></And></Where><OrderBy><FieldRef Name='OpenHouseStart' Ascending='True' /></OrderBy></Query>",
    CAMLViewFields: "<ViewFields><FieldRef Name='PropertyAddress'/><FieldRef Name='PropertyState'/><FieldRef Name='PropertyZipCode'/><FieldRef Name='Township'/><FieldRef Name='Title' /><FieldRef Name='PropertyState'/><FieldRef Name='PropertyZipCode'/><FieldRef Name='Township'/><FieldRef Name='Price'/><FieldRef Name='OpenHouseStart'/><FieldRef Name='OpenHouseEnd'/></ViewFields>",
    CAMLRowLimit: 4,
    completefunc: function (xData, Status) {
      $(xData.responseXML).find("[nodeName='z:row']").each(function() {
        var strHtml = "<div class='open-house'>";
        
        var strOpenHouseStart = $(this).attr("ows_OpenHouseStart");
  		var startTimestamp = strOpenHouseStart.split(' ');

  		var startDate = startTimestamp[0].split('-');
        var month = startDate[1];
  		var day = startDate[2];
  		var year = startDate[0];
        strHtml += "<div class='openHouseDate'>" + month + "." + day + "." + year + "</div>";
  		
        var id = $(this).attr("ows_Title");
		//var imgUrl = getFeaturedImage(id);
		strHtml += "<div class='image'><a href='/Pages/details.aspx?pid=" + id + "'><img src='/PropertyImages/" + convertToThumbnail(id + "-00.jpg") + "'/></a></div>";
  		
  		var address = $(this).attr("ows_PropertyAddress");
  		strHtml += "<div class='address'><a href='/Pages/details.aspx?pid=" + id + "'>" + address + "</a></div>";
  		
  		var strLocation = $(this).attr("ows_Township") + ", " +  $(this).attr("ows_PropertyState").toUpperCase() + ", " + $(this).attr("ows_PropertyZipCode");
        strHtml += "<div class='location'>" + strLocation + "</div>";
  		
		// open house date /time   		
  		strHtml += "<div class='open-house-event'>";

		var startTime = formatTime(startTimestamp[1]);
        strHtml += "<div class='openHouseStart'>" + startTime + "</div>";

        strHtml += " - ";
        
		var strEndTime = $(this).attr("ows_OpenHouseEnd");
		var endTimestamp = strEndTime.split(' ');
		var endTime = formatTime(endTimestamp[1]);
		strHtml += "<div class='openHouseEnd'>" + endTime + "</div>";
		
		strHtml += "</div>";
		// open house date / time
        
        strHtml += "</div>";
		$("#houses").append(strHtml);        
      });
    }
  });

}

function getLatestClosings()
{
$().SPServices({
    operation: "GetListItems",
    async: false,
    listName: "Property Listings",
    CAMLQuery: "<Query><Where><IsNotNull><FieldRef Name='ClosingDate' /></IsNotNull></Where><OrderBy><FieldRef Name='ClosingDate' Ascending='False' /></OrderBy></Query>",
    CAMLViewFields: "<ViewFields><FieldRef Name='ClosingDate' /><FieldRef Name='PropertyAddress'/><FieldRef Name='Title' /><FieldRef Name='PropertyState'/><FieldRef Name='PropertyZipCode'/><FieldRef Name='Township'/></ViewFields>",
    CAMLRowLimit: 5,
    completefunc: function (xData, Status) {
      $(xData.responseXML).find("[nodeName='z:row']").each(function() {
        var strHtml = "<div class='closing'>";

        var strClosed = $(this).attr("ows_ClosingDate");
  		var closed = strClosed.split(' ');

  		var date = closed[0].split('-');
  		var month = date[1];
  		var day = date[2];
  		var year = date[0];
        
        strHtml += "<div class='closed'>" + month + "." + day + "." + year + "</div>";
        
        var address = $(this).attr("ows_PropertyAddress");
  		strHtml += "<div class='address'>" + address + "</div>";

        var strLocation = $(this).attr("ows_Township") + ", " +  $(this).attr("ows_PropertyState") + ", " + $(this).attr("ows_PropertyZipCode");
        strHtml += "<div class='location'>" + strLocation + "</div>";
        
        strHtml += "</div>";
		$("#closings").append(strHtml);        
      });
    }
  });

}


