/* utils */
$(document).ready(function() {
});

function sA() {
 var sM = $("#content");
 var offset = $(window).height() - $("#top").height() - $("#menu").height() - $("#footer").height();
 if (offset > 0) sM.css("min-height", offset);
}

function drawCircle(center, radius, numPoints) {
	poly = [] ; 
	var lat = center.lat;
	var lng = center.lng;
	var d2r = Math.PI/180 ;                // degrees to radians
	var r2d = 180/Math.PI ;                // radians to degrees
	var Clat = (radius/3963) * r2d ;      //  using 3963 as earth's radius
	var Clng = Clat/Math.cos(lat*d2r);
	
	//Add each point in the circle
	for (var i = 0 ; i < numPoints ; i++)
	{
		var theta = Math.PI * (i / (numPoints / 2)) ;
		Cx = lng + (Clng * Math.cos(theta)) ;
		Cy = lat + (Clat * Math.sin(theta)) ;
		poly.push({lat:Cy, lng:Cx});
	}

	//Add the first point to complete the circle
	poly.push(poly[0]);

	return poly;
}

//CONTACT FORM
jQuery.fn.ajaxify = function() {
	this.submit(function() {
		var error = false;
		var form = jQuery(this);
		form.find(':input').each(function(index, element) {
			var elementObj = jQuery(element);
			if (elementObj.attr('name').length == 0 || elementObj.attr('id').length == 0) return;
			
			var selector = '';
			if (elementObj.attr('type') == 'text') {
				selector = 'div.input.text';
			} else if (elementObj.attr('type') == 'textarea') {
				selector = 'div.input.textarea';
			} else if (elementObj.attr('type') == 'checkbox') {
				selector = 'div.input.checkbox';
			}
			if (!(elementObj.attr('type') == 'checkbox' || elementObj.attr('type') == 'hidden' || elementObj.attr('type') == 'select-multiple')) {
				if ((elementObj.val().length == 0 || elementObj.val() == elementObj.attr('alt')) && elementObj.hasClass('required') == true) {
					elementObj.closest(selector).addClass('error');
					error = true;
				} else {
					elementObj.closest(selector).removeClass('error');

				}
			}

		});
		if (error == true) return;
		
		form.find('button').hide();
		form.find('.loader').show();
		
		jQuery.ajax({
			type: 'POST',
			url: form.attr('action'),
			data: form.serializeArray(),
			success: ajaxifyCallback,
			dataType: 'json',
			context: form
		});
	});
	
	return this.each(function(){});
};

function ajaxifyCallback(data, txt) {
	var form = $(this.context);
	if(data.errors == 'incorrectId') form.parent().addClass('error');
	if (data.errors == null) {
		form.closest('div').html(form.siblings('.form-replacement').html());
		return;
	}
		
	form.find('.loader').hide();
	form.find('button').show();
	
	jQuery.each(data.errors,function(index,value) {
		var inputObj = form.find(":input[name='data[" + index + "]']");
		
		var selector = '';
		if (inputObj.attr('type') == 'text') {
			selector = 'div.input.text';
		} else if (inputObj.attr('type') == 'textarea') {
			selector = 'div.input.textarea';
		}
		
		inputObj.closest(selector).addClass('error');
	});
};
