function bre_create_cookie(sName, sValue, iDays)
{
	if(iDays)
	{
    	var date = new Date();
    	date.setTime(date.getTime() + ( iDays * 24 * 60 * 60 * 1000 ) );
    	var expires = "; expires=" + date.toGMTString();
	}
	else
	{
    	var expires = "";
	}
	document.cookie = sName + "=" + sValue + expires + "; path=/";
}

function bre_read_cookie(sName)
{
	var nameEQ = sName + "=";
	var ca = document.cookie.split(';');
	for(var i = 0; i < ca.length; i++)
	{
    	var c = ca[i];
    	while(c.charAt(0) == ' ') c = c.substring(1, c.length);
    	if(c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
	}
	return null;
}

function bre_erase_cookie(sName)
{
	createCookie(sName, "", -1);
}

//function bre_add_to_favorites(propId)
function bre_add_to_favorites()
{
	var pnm = '';
	for(var i = 1; i <= 30; i++)
	{
		pnm = 'propid' + i;
		cookieValue = bre_read_cookie(pnm);
		if( cookieValue == null)
		{
			bre_create_cookie(pnm, propId, 30);
			break;
		}
		else if(cookieValue == propId)
		{
			break;
		}
	}
	var cnt = 0;
	for(var x = 1; x <= 30; x++)
	{
		pnm = 'propid' + x;
		if(bre_read_cookie(pnm) != null)
			++cnt;
	}
	$("#favcnt").html(cnt);
	if(i > 30)
	{
		alert("A maximum of thirty favorites has previously been defined.  Cannot add more.");
		return;
	}
}

/**
* Searches for the search form available and calls it's submit method.
*/
function doSearchFormSubmit()
{
	if(jQuery("#quick-search").size() > 0)
		jQuery("#quick-search").submit();
	else if(jQuery("#adv-search").size() > 0)
		jQuery("#adv-search").submit();
	else if(jQuery("#spec-search").size() > 0)
		jQuery("#spec-search").submit();
	else if(jQuery("#cat-search").size() > 0)
		jQuery("#cat-search").submit();
}


function navToProp(url, chkin)
{
	if(chkin != null)
		document.propform.pcheckin.value = chkin
	else
		document.propform.pcheckin.value = "";

	if(document.asearch)
	{
		document.propform.pnights.value = document.asearch.anights.value;
	}
	else if(document.search)
	{
		document.propform.pnights.value = document.search.nights.value;
	}
	else
	{
		document.propform.pnights.value = 7;
	}
	document.propform.action = url;
	document.propform.submit();
}

$(".favorites-link").bind("click", function()
{
	var propid = $(this).attr("pid");
	var pnm = '';
	for(var i = 1; i <= 30; i++)
	{
		pnm = 'propid' + i;		
		cookieValue = bre_read_cookie(pnm);
		if( cookieValue == null)
		{
			bre_create_cookie(pnm, propid, 30);
			$(this).html("<strong>Remove Favorite</strong>");
			if(typeof(_gaq) != "undefined")
				_gaq.push(['_trackEvent', 'BRE Click', 'click', 'Visitor Added to Favorites']);
			break;
		}
		else if(cookieValue == propid)
		{
			bre_create_cookie(pnm, '', -1);
			$(this).html("<strong>Add To Favorites</strong>");
			if(typeof(_gaq) != 'undefined')
				_gaq.push(['_trackEvent', 'BRE Click', 'click', 'Visitor Removed from Favorites']);
			break;
		}
	}
	var cnt = 0;
	for(var x = 1; x <= 30; x++)
	{
		pnm = 'propid' + x;
		if(bre_read_cookie(pnm) != null)
			++cnt;
	}
	$("#favcnt").html(cnt);
	if(i > 30)
	{
		alert("A maximum of thirty favorites has previously been defined.  Cannot add more.");
		return false;
	}
	
	return false;
});
/**
* Manages changes to the number of properties displayed on the page combo.
*/
jQuery("#homes_per_page").bind("change", function(evt)
{
	jQuery("#results_per_page").val(jQuery(this).val());
	doSearchFormSubmit();
});

/**
* Handles a click on the page navigation links in the search result navigation area of the document.
*/
jQuery(".srpgnav").bind("click", function(evt)
{
	evt.preventDefault();
	var elem = evt.target;
	var page = jQuery(elem).attr("page");
	jQuery("#current_page").val(page);
	doSearchFormSubmit();
});


/**
* Handles a click on sort field links in the search result navigation area of the document.
*/
jQuery(".sort_field_link").bind("click", function(evt)
{
	evt.preventDefault();
	var ctrl = evt.ctrlKey;
	var col = jQuery(evt.target).attr("key");
   var sortDir = "";
	if(!ctrl)
	{
		var sortElem = jQuery(".sort_form_field:first");
		var sortDirElem = jQuery(".sort_dir_form_field:first");
      var newSortCol = col;
		if(sortElem.val() == col)
		{
			if(sortDirElem.val() == 'asc') sortDir = ("desc");
			else sortDir = "asc";
		}
		else
		{
			newSortCol = col;
			sortDir = "desc";
		}
		jQuery(".sort_form_field").val("");
		jQuery(".sort_dir_form_field").val("");
		sortElem.val(newSortCol);
		sortDirElem.val(sortDir);
	}
	else
	{
		if(jQuery(".sort_form_field[value='"+col+"']").size() == 0)
		{
			var sortFld = jQuery(".sort_form_field[value='']:first");
			var sortDirFld = jQuery("#" + sortFld.attr("sortdirid"));
			if(sortFld.size() > 0 && sortDirFld.size() > 0)
			{
				sortFld.val(col);
				sortDirFld.val('asc');
			}
		}
		else
		{
			var sortDirFld = jQuery("#" + jQuery(".sort_form_field[value='" + col + "']").attr("sortdirid"));
			sortDir = sortDirFld.val();
			sortDir = sortDir == "asc" ? "desc" : "asc";
			sortDirFld.val(sortDir);

		}
	}
   doSearchFormSubmit();
});

/**
* Setup for flip key
*/
(function($) {
  $.fn.vCenter = function(options) {
    var pos = {
      sTop : function() {
        return window.pageYOffset
        || document.documentElement && document.documentElement.scrollTop
        ||  document.body.scrollTop;
      },
      wHeight : function() {
        return window.innerHeight
        || document.documentElement && document.documentElement.clientHeight
        || document.body.clientHeight;
      }
    };
    return this.each(function(index) {
      if (index == 0) {
        var $this = $(this);
        var elHeight = $this.height();
        var elTop = pos.sTop() + (pos.wHeight() / 2) - (elHeight / 2);
        $this.css({
          position: 'absolute',
          marginTop: '0',
          top: elTop
        });
      }
    });
  };
})(jQuery); // end plugin

jQuery(".flip-key-review-item").bind("click", function()
{
	var pid = jQuery(this).attr("pid");
	var request_url = BaseUrl + "/jax/flip-key.php";
	jQuery.ajax(
	{
		url: request_url,
		data: {"pid":pid},
		success: function(htmlstr)
		{
			var container = jQuery("#fp-containerdiv");
			container.html(htmlstr);
			var win_width = Math.floor(jQuery(window).width() / 2);
			var form_width = Math.floor(jQuery("#fp-container").width() / 2);

			jQuery("#fp-closebtn-hover").hide();
			jQuery("#fp-container").vCenter();
			jQuery("#fp-container").css("left", win_width - form_width);

			jQuery("#fp-closebtn").bind("mouseover", function()
			{
				jQuery("#fp-closebtn").hide();
				jQuery("#fp-closebtn-hover").show();
			});
			jQuery("#fp-closebtn-hover").bind("mouseout", function()
			{
				jQuery("#fp-closebtn-hover").hide();
				jQuery("#fp-closebtn").show();
			});
			jQuery("#fp-closebtn-hover").bind("click", function()
			{
				jQuery("#fp-container").hide();
			});

		}
	})

	return false;
});

