var scrapeSuccess = false;
function handleHomeAwayScrapeChange() {
	scrapeSuccess = false;
	jQuery.ajax({
		url: "/properties/ajax_check_propertyid/h/" + jQuery("#HomeAwayScrape").val(),
		success: 
			function(txt) {  
				handleUniqueCheckHomeawayId(txt);
			}
	});
}

function performHomeAwayScrape() {
	if (jQuery("#HomeAwayScrape").val() != '') {
		var url = '/proxy/xml.php?type=homeaway&id=' + jQuery("#HomeAwayScrape").val();
		//jQuery("#homeaway_url").html('http://www.homeaway.com/vacation-rental/p' + jQuery("#HomeAwayScrape").val());
		//jQuery("#homeaway_url").html('');
		jQuery("#HomeAwayScrapeURI").val('http://www.homeaway.com/vacation-rental/p' + jQuery("#HomeAwayScrape").val());
		jQuery.ajax({
			url: url,
			success: 
				function(html) {
					handleHomeAwayScrapeReturn(html);  
				},
			complete:
				function(html) {
					if (!scrapeSuccess) jQuery("#HomeAwayIdError").html('Ooops.  Bad HomeAway ID.');;
				}
		});
	}
}
function handleHomeAwayScrapeReturn(xml) {
	var elements  = {
		"title":  							"PropertyTitle",
		"shortDescription": 			 	"PropertyShortDescription",
		"longDescription": 					"PropertyLongDescription",
		"primaryPhoto":						"PropertyPrimaryPhoto",
		'propertyReservations':				"PropertyAvailabilityRaw",
		'propertyAvailabilityThisMonth':	"PropertyAvailabilityThisMonth",
		'propertyRates':					"PropertyRates",
		'propertyTaxrate':					"PropertyTaxRate",
		'propertyCleaning':					"PropertyCleaningRate"
	};
	jQuery(xml).find("item").children().each(function(i,n) {
		dn = "#" + elements[n.tagName];
		jQuery(dn).val(jQuery(n).text());
	});
	scrapeSuccess = true;
	jQuery("#HomeAwayIdError").html('Success');
	jQuery("#HomeAwayScrapeType").val(1);
	
//  Set the image
	jQuery("#houseImg").html('<img src="' + jQuery("#PropertyPrimaryPhoto").val() + '" style="height:100px; width:100px;" />');
	
//  Get the availability data for the month
	var dayAvailable = jQuery("#PropertyAvailabilityThisMonth").val().split(',');
	
	var months = Array('January','February','March','April','May','June','July','August','September','October','November','December');
	var dayInMonth = Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	dt = new Date();
	dt.setDate(1);
	if ( (dt.getYear() % 4 == 0 && dt.getYear() % 100 != 0)  ||
		 (dt.getYear() % 400 == 0)) dayInMonth[1] = 29;
	//  Build a calendar table
	var tbl  = '<br/><table cellpadding="0" cellspacing="0" style="max-width:146px; border:none; padding:none; margin:none; display:inline-block; border-collapse:collapse;">';
		tbl += '<tr class="monthHeader"><td colspan="7" style="font-size:14px; font-weight:bold;">' + months[dt.getMonth()] + '</td></tr>';
	    tbl += '<tr class="dow"><td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td></tr><tr>';
	var x = 0;
	for (x=0;x<dt.getDay();x++) {
		tbl += '<td style="height:20px; width:20px;"></td>';
	}
	for (var y=1;y<dayInMonth[dt.getMonth()];y++) {
		if (x % 7 == 0) {
			tbl += '</tr><tr>';
		}
		x++;
		if (y != 0) tbl += '<td class="availability' + dayAvailable[y-1] + '">' + y +  '</td>';
	}
	tbl += '</tr></table>';
	jQuery("#houseCalendar").html(tbl);

//  Set the text description (#PropertyDescription)
	var txt  = '<h4 style="display:inline;">Property:</h4>&nbsp;';
	    txt += '<strong>' + jQuery("#PropertyTitle").val() + '</strong><br/>';
	    txt += '<em>' + jQuery("#PropertyLongDescription").val().substr(0,350) + '...</em>';
	jQuery("#PropertyDescription").html(txt);
//  Set the rates table (#propertyRates)
	var tbl = '<h3>Rate Schedule</h3><table id="rates"><tr class="header"><td>&nbsp;</td><td>Dates</td><td>Weekly</td><td>Weeknight</td><td>Weekend<br/>Night</td><td>Monthly</td><td>Minimum</td></tr>';
	var a = jQuery("#PropertyRates").val().split("~");
	for (var x=0; x < a.length; x++) {
		var b = a[x].split(';');
		if (b.length > 6)  {
			tbl += '<tr><td>' + b[0] + '</td><td>' + b[1] + ' - ' + b[3] + '</td>';
			tbl += '<td>' + b[5] + '</td><td>' + b[6] + '</td><td>' + b[8] + '</td><td>' + b[10] + '</td><td>' + b[11] + '</td></tr>';
		}
	}
	tbl += '</table>';
	jQuery("#propertyRates").html(tbl);
}


var publicEmailReturn = '';
var publicEmailValidationFeedback = '';
function checkEmail(dn) {
	var d = "#" + dn;
	//alert(jQuery(d).attr("url") + ' :: ' + jQuery(d).attr("callback"));
	var fn = jQuery(d).attr("callback") + "()";
	jQuery.ajax({
		url: jQuery(d).attr("url") + "/" + jQuery(d).val(),
		success: 
			function(txt) {  
				publicEmailReturn = txt;
				publicEmailValidationFeedback = jQuery(d).attr("feedback");
				setTimeout(fn,1);  
			}
	});
}

function handleEmailValidation() {
	var txt = publicEmailReturn;
	var fb = jQuery("#" + publicEmailValidationFeedback).html(txt);
}

function handleUniqueCheckHomeawayId(txt) {

	if (jQuery.trim(txt) == 'valid') {
		jQuery("#HomeAwayIdError").html('<img src="/img/loading_small.gif" alt="Checking HomeAway.com" />');
		performHomeAwayScrape();
	}
	else {
		jQuery("#HomeAwayIdError").html('Property already in use');
	}

}

function centerSliderOnPage() {
	var w = jQuery(window).width();
	var left = parseFloat((w - 910)/2);
	jQuery("#sliderParent").css('left', left + 'px');
}

