/* 
 * Localsbest javascript file
 */
// Make sure jquery is ready before trying to fire events
$(function() {
  // Auto suggest service search
  autoSuggestService();
  autoSuggestlocal()
  
});


/*
 * Display the current year in copyright footer
 */
function footerCopyright()
{
  now = new Date
  theYear=now.getYear()
  theYear=theYear+1900
  document.write(theYear);
}

/**
 *  Clear the value of the element
 *
 */
function clearValueSid()
{
  $('#qs_category_id').val('');
  $('#as_service').val('');
}

/**
 *  Clear the value of the element
 *
 */
function clearValueCid()
{
  $('#qs_city_id').val('');
  $('#as_local').val('');
}

function clearValueCatCid()
{
  $('#cat_qs_city_id').val('');
  $('#cat_as_local').val('');
}

function autoSuggestService()
{
  $("#as_service").autocomplete({
			source: function(request, response) {
				$.ajax({
					url: "/ajax/services",
					dataType: "json",
					data: {
						style: "full",
						maxRows: 10,
						name_startsWith: request.term
					},
					success: function(data) {
						response($.map(data, function(item) {
							return {
								label: item.name,
								value: item.name
							}
						}))
					}
				})
			},
      select: function(event, ui) {
        $('#qs_category').val(ui.item.name);
      }
  });
}

/*
 * Auto suggest locals
 */
function autoSuggestlocal()
{
  $("#as_local").autocomplete({
			source: function(request, response) {
				$.ajax({
					url: "/ajax/locations",
					dataType: "json",
					data: {
						style: "full",
						maxRows: 10,
						name_startsWith: request.term
					},
					success: function(data) {
						response($.map(data, function(item) {
							return {
								label: item.local,
								value: item.local
							}
						}))
					}
				})
			},
      select: function(event, ui) {
        $('#qs_city').val(ui.item.local);
      }
  });
  
  $("#cat_as_local").autocomplete({
		source: function(request, response) {
			$.ajax({
				url: "/ajax/locations",
				dataType: "json",
				data: {
					style: "full",
					maxRows: 10,
					name_startsWith: request.term
				},
				success: function(data) {
					response($.map(data, function(item) {
						return {
							label: item.local,
							value: item.local
						}
					}))
				}
			})
		},
select: function(event, ui) {
  $('#cat_qs_city').val(ui.item.local);
}
});
  
  
  
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr;for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document;if(d.images){if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments;for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){d.MM_p[j]=new Image;d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;if(!d) d=document;if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document;n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n];for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n);return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments;document.MM_sr=new Array;for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x;if(!x.oSrc) x.oSrc=x.src;x.src=a[i+2];}
}

/**
 * Show all quick search results
 */
function showAllQsResults()
{
  $('#qs_results tr').show();
}

/**
 * Ensure only a max of 3 servicers are selected
 */
function countChecked(element) {
  var n = $("input[name='sid_list[]']:checked").length;
  if(n > 3) {
    alert("You can only select a maximum of 3 service providers");
    $(element).attr('checked', false);
  }
  if(n == 0) {
    alert("You must select at least one service provider");
  }
}


function sendFreeAcct()
{
	//$("#new_user_frm").serialize(), 
	if( !validateNewUser() ) 
	{
		return false;
	}
	
	$.post('/register', 
		{
		original_firstname:$('#original_firstname').val(),
		original_lastname:$('#original_lastname').val(),
		original_email:$('#original_email').val(),
		original_primary_phone:$('#original_primary_phone').val(),
		original_address:$('#original_address').val(),
		original_property_type:$('#original_property_type').val(),
		original_state:$('#original_state').val(),
		original_region:$('#original_region').val(),
		original_city:$('#original_city').val(),
		original_zipcode:$('#original_zipcode').val(),
		original_password:$('#original_password').val(),
		from_popup:$('#from_popup').val()
		},
		
			
		function(data) {
	     if( data['status'] == 'false')
	     {
	    	 alert(data['message']);
	    	 return false;
	     }
	     else
	    {
	    	openDialog('freeaccountfeedback');
	    }
	   },
	   'json');
	
}
/**
 * New user form validation
 */
function validateNewUser()
{
  var fname = $("input[name$='original_firstname']").val();
  if(fname == '') {
    alert("Please enter your first name.");
    return false;
  }
  var lname = $("input[name$='original_lastname']").val();
  if(lname == '') {
    alert("Please enter your last name.");
    return false;
  }
  var email = $("input[name$='original_email']").val();
  if(email == '') {
    alert("Please enter your email address.");
    return false;
  }
  var phone = $("input[name$='original_primary_phone']").val();
  if(phone == '') {
    alert("Please enter your phone number.");
    return false;
  }
  var address = $("input[name$='original_address']").val();
  if(address == '') {
    alert("Please enter your address.");
    return false;
  }
  var city = $("input[name$='original_city']").val();
  if(city == '') {
    alert("Please enter your city.");
    return false;
  }
  var state = $("input[name$='original_state']").val();
  if(state == '') {
    alert("Please enter your state.");
    return false;
  }
  var zip = $("input[name$='original_zipcode']").val();
  if(zip == '') {
    alert("Please enter your zip code.");
    return false;
  }
  var pass1 = $("input[name$='original_password']").val();
  if(pass1 == '') {
    alert("Please enter a password.");
    return false;
  }
  var pass2 = $("input[name$='original_password_confirm']").val();
  if(pass1 != pass2) {
    alert("The passwords do not match!");
    return false;
  }
  return true;
}

/**
 * Get the regions based on state
 */
function getRegions()
{
  var state_id = $("#original_state").val();
  $.getJSON('/ajax/getregions/sid/'+state_id, function(data){
      var html = '';
      var len = data.length;
      for (var i = 0; i< len; i++) {
          html += '<option value="' + data[i].region_id + '">' + data[i].region_name + '</option>';
      }
      $('#original_region').find('option').remove().end().append(html).removeAttr('disabled');
  });
}

/**
 * Get the cities based on region
 */
function getCities()
{
  var region_id = $("#original_region").val();
  $.getJSON('/ajax/getcities/rid/'+region_id, function(data){
      var html = '';
      var len = data.length;
      for (var i = 0; i< len; i++) {
          html += '<option value="' + data[i].city_id + '">' + data[i].city_name + '</option>';
      }
      $('#original_city').find('option').remove().end().append(html).removeAttr('disabled');
  });
}
