function setCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		value = value+"; expires="+date.toGMTString();
	}
	document.cookie = name+"="+value+"; path=/";
}

function getCookie(name) {
	var nameEQ = name + "=";
	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 scroll(value) {
	window.scrollBy(0, 20);
	value = value - 20;
	if (value > 0) {
		setTimeout(function() {	scroll(value); }, 10);
	}
}

function share() {
	var form = jQuery(this);
	var messageDiv = jQuery('.subscribe-message, #subscribe-message', form);
	var disableWhileProcessing = jQuery('.disablewhileprocessing', form);
	var fields = [
		{
			name: 'name',
			object: jQuery('input[name=name]', form)
		},
		{
			name: 'email',
			object: jQuery('input[name=address]', form)
		}
	];

	var data = { ajax: true };
	for (var i = 0; i < fields.length; ++i) {
		if (fields[i].object.val() === '') {
			var msg = 'You left the ' + fields[i].name + ' blank.';
			if (messageDiv.length) {
				messageDiv.html(msg).removeClass('success').addClass('error').show();
			} else {
				alert(msg);
			}
			return false;
		}
		data[fields[i].name] = fields[i].object.val();
	}

	jQuery.ajax({
		url: form.data('url'),
		type: 'POST',
		data: data,
		dataType: 'text',
		beforeSend: function(req) {
			jQuery('input', disableWhileProcessing).attr('disabled', 'disabled');
			disableWhileProcessing.fadeTo('fast', 0.4);
			messageDiv.removeClass('error').html('<div style="text-align:center">' +
				'<img src="/global/images/loading-32x32.gif" alt="Loading..." /></div>');
		},
		success: function(data, textStatus, req) {
			jQuery('input', disableWhileProcessing).removeAttr('disabled');
			disableWhileProcessing.filter(':animated').stop(true);
			disableWhileProcessing.fadeTo('fast', 1);
			// Subscribed
			if (req.status === 201) {
				if (messageDiv.length) {
					messageDiv.html(data).removeClass('error').addClass('success').show();
				} else {
					console.log(data);
				}

				jQuery('.hideonsuccess', form).hide();
				jQuery('.showonsuccess', form).show();
			}
			// Errors
			else if (req.status === 200) {
				if (messageDiv.length) {
					messageDiv.html(data).removeClass('success').addClass('error').show();
				} else {
					alert(data);
				}
			}
		}
	});

	return false;
}

jQuery(document).ready(function() {
	jQuery("form.share").submit(share).each(function() {
		jQuery(this).data('url', this.action);
	}).removeAttr('action').removeAttr('method');

	jQuery("#learnmore").click(function(e) {
		e.preventDefault();
		if (jQuery(".collapse").is(":visible")) {
			jQuery("#learnmore").html("Learn More");
		} else {
			jQuery("#learnmore").html("Hide");
		}
		jQuery(".collapse").slideToggle();
		scroll(800);
	});

	jQuery("#installPopup a.close").click(function(e) {
		e.preventDefault();
		jQuery("#installApp").hide();
		setCookie("enoteAppReminder", "closed", 30);
	});

	if (getCookie("enoteAppReminder") !== "closed")
	{
		setTimeout(function() {	window.scrollTo(0, 1); }, 1);
		if (window.navigator.standalone === false) {
			setTimeout(function () {
				jQuery('#installApp').css('opacity', 1);
				jQuery('#installApp').css('-webkitTransform', 'translate3d(440px, 0, 0)');
			}, 2000);
		}
	}
});

