/* searchresults.js */
$.extend(window.FAP.UI, {
    showComplete: function (e) { if ($('.myPlacesValues ul', this).text().length > 90) { $(this).addClass('longtext expanded').removeClass('beginAnimation'); } else { $(this).addClass('expanded').removeClass('beginAnimation'); } },
    hideComplete: function (e) { $(this).removeClass('expanded beginAnimation'); },
    showImageCount: function (e) { e.stopPropagation(); var obj = $(this), parent = obj.parents('.searchResultTable:eq(0), .pictureCardContent'); obj.data('imageCount', parent.find('.photoCount').stop(true, true).fadeIn(500)); var logos = parent.find('.searchResultAgentLogo, .status'); if ($.browser.msie6) { $.each(logos, function (i, v) { var el = $(v); el.data('height', el.height()).data('width', el.width()); }); } obj.data('logo', logos.stop(true, true).fadeOut(500)); },
    hideImageCount: function (e) { e.stopPropagation(); var obj = $(this); if (obj.data('imageCount')) { obj.data('imageCount').stop(true, true).fadeOut(500); } if (obj.data('logo') && obj.data('logo').length) { obj.data('logo').stop(true, true).fadeIn(500); if ($.browser.msie6) { obj.data('logo').each(function (i, v) { var el = $(v); el.height(el.data('height')).width(el.data('width')).removeData('height').removeData('width'); }); } } obj.removeData('logo').removeData('imageCount'); },
    showMyPlaces: function (e) { $(this).parents('.myPlacesContent:eq(0)').addClass('beginAnimation').animate({ width: $(this).closest('.searchResultContent').width() + 10 }, 500, window.FAP.UI.showComplete); },
    hideMyPlaces: function (e) { var obj = $(this); var parent = obj.parents('.myPlacesContent:eq(0)'); parent.addClass("beginAnimation").removeClass('longtext').animate({ width: 225 }, 500, window.FAP.UI.hideComplete); },
    hideCardStatuses: function (e) {var $this = $(this); if (e.target.tagName == 'IMG') { $(e.target).unbind("mouseout").bind("mouseover", window.FAP.UI.showCardStatuses); $this = $this.closest('.pictureCard'); } if ($this.hasClass("pictureCard")) { $this.find('.photoCount, .searchResultAgentLogo, .status').stop(true, true).fadeOut(0); } },
    showCardStatuses: function (e) {var $this = $(this); if ($this.hasClass("pictureCard")) { $this.find('.photoCount, .searchResultAgentLogo, .status').stop(true, true).fadeIn(500, function (e) { if ($this.find('h2:visible').length == 0) { $this.find('.photoCount, .searchResultAgentLogo, .status').fadeOut(0); } }); if (e.target.tagName == 'IMG') { $(e.target).bind("mouseout", function (e) { window.FAP.UI.hideCardStatuses.call(this, e); }); }} else {if (this.tagName == 'IMG') { $this.closest('.pictureCard').find('.photoCount, .searchResultAgentLogo, .status').fadeIn(500, function (e) { if ($this.find('h2:visible').length == 0) { $this.find('.photoCount, .searchResultAgentLogo, .status').fadeOut(0); } }); if (e.target.tagName == 'IMG') { $(e.target).bind("mouseout", function (e) { window.FAP.UI.hideCardStatuses.call(this, e) }); } }};}});

function SelectAll(selector) {$(selector + ' input:checkbox').attr('checked', 'checked').parent().addClass('checked');}
function SelectNone(selector) {$(selector + ' input:checkbox').removeAttr('checked').parent().removeClass('checked');}
function SelectItem(e) {  if (e.target.tagName == 'INPUT') {  e.target.parentNode.className = (e.target.checked) ? 'checked' : ''; } }


function RegisterResultsEvents(isPhotoView) {
	var $SearchResults = $('#SearchResults');

	if (!isPhotoView) {
		var opts = $.extend( FUI.concertinaOptions, { autoCollapse: doAutoCollapse });
		$SearchResults.find('.propImage').hover(FUI.showImageCount, FUI.hideImageCount);
		//$('.poi, .myPlaces .concertina').concertina(opts);
	}
	else {
		if (!$.browser.msie6) {
			$SearchResults.find('.pictureCard').hover(FUI.showCardStatuses, FUI.hideCardStatuses);
		}
	}
	$SearchResults.click(function(e) {if ($(e.target).hasClass("contactAgentModal")) {return ShowContactAgentModal.call(e.target); } });
	CheckNotes();

}

function RegisterSelectListEvents() {
	$('#SearchResults').find('.selectList').bind('click', SelectItem);
}

function RegisterMyPlacesEvents() {

	$('#SearchResults').click(function(e) {
		$target = $(e.target);
		if ($target.hasClass("myPlacesTitle")) { window.FAP.UI.showMyPlaces.call(e.target, e); }
		else if ($target.hasClass("registerModal")) { ShowRegisterModal.call(e.target); }
		else if ($target.hasClass("loginModal")) { ShowLoginModal.call(e.target); }
		else if ($target.hasClass("myPlacesMessage")) { window.FAP.UI.hideMyPlaces.call(e.target, e); }
	});
}

function CheckNotes() {
	$('.userNote').hide(); // Just in case any are displayed
	$.ajax({
		contentType: 'application/json; charset=utf-8',
		data: "{'userAccountId': ''}",
		dataType: 'json',
		type: 'POST',
		url: '/svc/UserNotesService.asmx/ListUserNotes',
		success: function(response) {
			response = response.d || response;
			if (response.length > 0) {
				$r = $('#SearchResults');
				for (var i = 0; i < response.length; i++) {
					$r.find('a.pid' + response[i] + ':eq(0)').setUserNoteHref().show();
				}
			}
		}
	});
}
$.fn.setUserNoteHref = function() {
	if (this.length > 0) {
		var href = this.attr('href');
		if (href.indexOf('usn=1') == -1) {
			href += "&usn=1";
		}
		return this.attr('href', href);
	}
	else {
		return this;
	}
}

function keypress_UpdateCounter(e) {
	var value = $(this).val();
	if (value != null && value != "") {
		var len = value.length;
		if (len <= 400) {
			if (e.keyCode == 32) {
				counterLabel.html(500 - (len));
			}
		}
		else {
			counterLabel.html(500 - (len));
		}
	}
}

var counterLabel = $('#Value');
var AllowedRanges = [[0, 8], [14, 31], [33, 46],[91, 93], [112, 145]];
function checkKeyCode(num) {
	var result = false;
	for (i = 0; i < AllowedRanges.length; i++) {
		if (num >= AllowedRanges[i][0] && num <= AllowedRanges[i][1]) {
			result = true;
			break;
		}
	}
	return result;
}
function CheckCount(e) {if ($(this).val().length >=500) {if(!checkKeyCode(e.keyCode) ){ e.preventDefault();} }  }
function ValidateSelectList(sender, args) {
	args.IsValid = ($('#SearchResults').find('.selectList').find('input:checked').length > 0);
}

function yellXmlCallback(url, loc, qry) {
    var adcontainer = this.clone(),
    placeHolder = $('#YellPlaceholder'),
    oldID = adcontainer.attr('id'),
    newID = placeHolder.attr('id'),
    labels = adcontainer.find('label').each(function(i, v) { $v = $(v); $v.attr("for", $v.attr("for").replace(oldID, newID)); }),
    texts = adcontainer.find("input:text").each(function(i, v) { v.id = v.id.replace(oldID, newID) });
    var content = $('<div class="infopanelContent"></div>')
content.append(adcontainer.html())
placeHolder.addClass("infoPanel").append(content).append('<span class="tl"></span><span class="tr"></span><span class="bl"></span><span class="br"></span>');
    this.YellAd('copyOptions', placeHolder);
    placeHolder.YellAd(url, loc, qry);
}

(function($) { $('#SearchResults').find('textarea.default_text').keydown(CheckCount).keyup(keypress_UpdateCounter); })(jQuery);
