var already_saved = false;
var already_signed = false;

function order(){
	$('order').show();
	$('name').focus();
	pageTracker._trackPageview("/order_show");
}

function invite(){
	$('invite').show();
	$('inviter-name').focus();
	pageTracker._trackPageview("/invite_show");
}

function hideOrder(){
	$('order').hide();
}

function hideInvite(){
	$('invite').hide();
}


function doOrder(){
	error = false;
	if (!$('name').value){
		$('name').highlight().focus();
		error = true;
	}

	if (!$('phone').value){
		$('phone').highlight().focus();
		error = true;
	}

	if (!$('email').value || !emailCheck($('email').value)){
		$('email').highlight().focus();
		error = true;
	}
	
	if (!error && !already_saved){
		$('loader').show();
		$('button').hide();
		new Ajax.Request('/order', {
			method: 'POST',
			parameters: $('order-form').serialize(true),
			onSuccess: function(transport){
				var response = transport.responseText || "error";
				if (response == 'ok'){
					$('result').show().highlight();
					$('loader').hide();
					already_saved = true;
					pageTracker._trackPageview("/order_done");
				}
				else{
					$('loader').hide();
					$('button').show();
					already_saved = false;
				}
			}
		});
	}
}

function doInvite(){
	error = false;
	if (!$('inviter-name').value){
		$('inviter-name').addClassName('errorField');
		$('inviter-name').focus();
		error = true;
	}
	else{
		$('inviter-name').removeClassName('errorField');
	}
	if (!$('invitation-email').value || !emailCheck($('invitation-email').value)){
		$('invitation-email').addClassName('errorField');
		$('invitation-email').focus();
		error = true;
	}
	else{
		$('invitation-email').removeClassName('errorField');
	}
	
	if (!error){
		$('invite-loader').show();
		$('invite-button').hide();
		new Ajax.Request('/invite', {
			method: 'POST',
			parameters: $('invite-form').serialize(true),
			onSuccess: function(transport){
				var response = transport.responseText || "error";
				if (response == 'ok'){
					$('invite-result').show();
					$('invite-loader').hide();
					pageTracker._trackPageview("/invite_done");
				}
				else{
					$('invite-loader').hide();
					$('invite-button').show();
				}
			}
		});
	}
}

function inviteMore(){
	$('invite-loader').hide();
	$('invite-result').hide();
	$('invite-button').show();
	$('invitation-email').clear().focus();
}

function inlineMailingSave(){
	if (emailCheck($('inline_mailing').value)){
		$('inline_mailing_button').hide();
		$('inline_spinner').show();
		$('inline_mailing').disable();
		
		new Ajax.Request('/mailing', {
			method: 'POST',
			parameters: {mailing_email: $('inline_mailing').value},
			onSuccess: function(transport){
				var response = transport.responseText || "error";

				if (response == 'ok'){
					$('inline_mailing').value = 'Ваш email успешно сохранен'
				}
				else{
					$('inline_mailing').value = 'Данный email уже существует'
				}

				$('inline_mailing_button').show();
				$('inline_spinner').hide();
				$('inline_mailing').enable().highlight();
				window.setTimeout(function() {
					$('inline_mailing').clear();}, 3000);
			}
		});
	}
	else{
		var text = $('inline_mailing').value;
		$('inline_mailing').value = 'Неверный формат электронной почты'
		$('inline_mailing').highlight();
		window.setTimeout(function() {
			$('inline_mailing').value = text}, 2000);
	}
}

function saveMailing(){
	if (emailCheck($('mailing-email').value)){
		$('mailing-button').hide();
		$('mailing-loader').show();
		$('mailing-email').disable();
		
		new Ajax.Request('/mailing', {
			method: 'POST',
			parameters: {mailing_email: $('mailing-email').value},
			onSuccess: function(transport){
				var response = transport.responseText || "error";

				if (response == 'ok'){
					$('mailing-email').value = 'Ваш email успешно сохранен'
				}
				else{
					$('mailing-email').value = 'Данный email уже существует'
				}

				$('mailing-button').show();
				$('mailing-loader').hide();
				$('mailing-email').enable().highlight();
				window.setTimeout(function() {
					$('mailing-email').clear()}, 3000);
			}
		});
	}
	else{
		var text = $('mailing-email').value;
		$('mailing-email').value = 'Неверный формат почты'
		$('mailing-email').highlight();
		window.setTimeout(function() {
			$('mailing-email').value = text}, 2000);
	}
}

function showSubscribe(){
	$('subscribe').show();
	$('mailing-email').focus();
	
	return false;
}

function hideSubsribe(){
	$('subscribe').hide();
}

function emailCheck(str){
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}
	if (str.indexOf(at,(lat+1))!=-1){
	   return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
	   return false;
	}
	if (str.indexOf(dot,(lat+2))==-1){
	   return false;
	}
	if (str.indexOf(" ")!=-1){
	   return false;
	}
	return true;				
}