function clouds()
{
	$(".cloud").each(function(index){
		cloud_move(this, 1);
	});
}

function cloud_move(cloud, pos)
{
	var width = $(document).width() + $(cloud).width();
	
	if(pos == 1)
		var left = $(cloud).width() * (-1) + Math.random() * (width + $(cloud).width());
	else
		var left = $(cloud).width() * (-1);
		
	var move_to = width - left - $(cloud).width();
		
	var top = 20 + Math.random() * 200;
	var speed = 60000 + Math.random() * 60000;
	
	speed = (move_to / width) * speed;
	
	$(cloud).css('top', top+'px');
	$(cloud).css('left', left+'px');
	
	$(cloud).animate({
		left: '+='+move_to,
	}, speed, '', function() {
		cloud_move(cloud, 0);
	});
}

var logo_dir = '-';
function logo()
{
	var speed = 1000;
	var move = 10;
	logo_dir = (logo_dir == '-') ? '+' : '-';
	
	$("#logo > a").animate({
		top: logo_dir+'='+move,
	}, speed, function() {
		logo();
	});
}

function fader(when, speed)
{
	setTimeout(function(){
		$(".fade").fadeIn(speed);
	}, when);
}

function check_for_username()
{
	var username = $("#n1").val();
	var email = $("#n2").val();
	
	$("#reg-ajax-loader").show();
	$("#reg-ajax-text").show();
	
	$.ajax({
		url: "index.php",
		global: false,
		type: "POST",
		data: ({'action_type' : 'ajax', 'action' : 'check_username', 'username' : username, 'email' : email}),
		dataType: "html",
		async:false,
		success: function(msg)
		{
			msg = ajax_retrieve_messages(msg);
			$("#reg-username").html(msg[0]);
			$("#reg-email").html(msg[2]);

			if(msg[1] == 1 && msg[3] == 1)
			{
				if(validate_registration('call'))
				{
					reg_form_submit();
				}
			}

			$("#reg-ajax-loader").hide();
			$("#reg-ajax-text").hide();			
		}
	});
}

function reg_form_submit()
{
	document.reg_form.submit();
}

function validate_registration(call)
{
	var call = (call) ? true : false;
	var pass = true;
	
	var uname = $("#n1").val();
	if(uname.length < 3)
	{
		$("#reg-username").html('<span class="error">Username is to short.</span>');
		pass = false;
	}
	else
		$("#reg-username").html('&nbsp;');
	
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = $("#n2").val();
	if(reg.test(address) == false) 
	{
		$("#reg-email").html('<span class="error">Email is wrong.</span>');
		pass = false;
	}
	else
		$("#reg-email").html('&nbsp;');

	if(!$("#n3").attr('checked'))
	{
		$("#reg-checkbox-text").addClass('error');
		pass = false;
	}
	else
		$("#reg-checkbox-text").removeClass('error');
	
	if(call)
		return pass;
	else
	{
		check_for_username();
		return false;
	}
}

function ajax_retrieve_messages(str)
{
	var i = 0;
	var counter = 0;
	var msgs = [];
	
	counter = str.indexOf('[<ajax_message>', counter)
	while(counter >= 0)
	{
		var start_m = counter;
		var end_m = str.indexOf('</ajax_message>]', counter);
		var message = str.substring(start_m + 15, end_m);
		msgs[i] = message;
		i++;
		counter = str.indexOf('[<ajax_message>', end_m)
	}
	
	return msgs;
}

function emails_invite()
{
	$("#emails-invite-form").fadeOut(500, function(){
		$("#emails-invite-thnx").fadeIn(300);
	});
	
	var emails = new Array();
	
	for(var i = 1; i <= 5; i++)
	{
		if($("#email"+i).val() != '')
			emails[emails.length] = $("#email"+i).val();
	}
	
	if(!emails.length)
		return;
	
	$.ajax({
		url: "index.php",
		global: false,
		type: "POST",
		data: ({'action_type' : 'ajax', 'action' : 'emails_invite', 'emails' : emails.join("|")}),
		dataType: "html",
		async:false,
		success: function(msg)
		{
			msg = ajax_retrieve_messages(msg);
		}
	});
}

function setLink(l)
{
	if(l.attr('rel') != '')
	{
		$("#message-link").attr('href', 'open/'+l.attr('rel'));
	}
}

var current_message = 1;
function redirectLink(l)
{
	var total = $("#random-messages > div").size();
	var next = Math.floor(Math.random() * (total - 1) + 1);
	//alert(total + ', ' + next);

	$("#message").html($("#rms-"+next).html());
	return;
}

function fav_add(id)
{
	$("#fav-add-"+id).hide();
	$("#ajax-loader-icon-"+id).show();
	
	$.ajax({
		url: "index.php",
		global: false,
		type: "POST",
		data: ({'action_type' : 'ajax', 'action' : 'fav_add', 'id' : id}),
		dataType: "html",
		async:false,
		success: function(msg)
		{
			$("#ajax-loader-icon-"+id).hide();
		}
	});	
}

function fav_remove(id)
{
	$("#link-item-"+id).fadeOut(500);
	
	$.ajax({
		url: "index.php",
		global: false,
		type: "POST",
		data: ({'action_type' : 'ajax', 'action' : 'fav_remove', 'id' : id}),
		dataType: "html",
		async:false,
		success: function(msg)
		{
		}
	});	
}

var send_newsletter_counter = 0;
function send_newsletter(id)
{
	$.ajax({
		url: "index.php",
		global: false,
		type: "POST",
		data: ({'action_type' : 'ajax', 'action' : 'send_newsletter', 'id' : id, 'counter' : send_newsletter_counter}),
		dataType: "html",
		async:false,
		success: function(msg)
		{
			var msg = ajax_retrieve_messages(msg);
			if(msg[0] == 0)
			{
				send_newsletter_counter++;
				send_newsletter(id);
			}
			else
			{
				send_newsletter_counter = 0;
				$("#sending-completed").fadeIn(500);
			}
		}
	});	
}

function change_shop()
{
	var s = document.getElementById('shop_id').options[document.getElementById('shop_id').selectedIndex].value;
	$(".shop-links-list").hide(); 
	$("#shop-id-"+s).show();
	
	var provs = $("#shop-provs-list-"+s).val();
	provs = provs.split(",");
	var found = false;
	for(var i = 0; i < document.getElementById("provinces_ov").options.length; i++)
	{
		found = false;
		for(var j = 0; j < provs.length; j++)
		{
			if(provs[j] == document.getElementById("provinces_ov").options[i].value)
			{
				found = true;
				break;
			}
		}
		if(found)
			document.getElementById("provinces_ov").options[i].selected = true;
		else
			document.getElementById("provinces_ov").options[i].selected = false;
	}
}

function update_town_list(v)
{
	$("#update-towns-loader").show();
	$("#cap").html("");

	$.ajax({
		url: "index.php",
		global: false,
		type: "POST",
		data: ({'action_type' : 'ajax', 'action' : 'update_town_list', 'id' : v}),
		dataType: "html",
		async:false,
		success: function(msg)
		{
			$("#update-towns-loader").hide();
			var msg = ajax_retrieve_messages(msg);
			$("#cap").html(msg[0]);
		}
	});		
}

$(document).ready(function() {
	$(".fb_iframe").fancybox({
		'width'				: '75%',
		'height'			: '75%',
		'autoScale'			: false,
		'transitionIn'		: 'none',
		'transitionOut'		: 'none',
		'type'				: 'iframe'
	});
	
	$(".app_gal a").fancybox({
		'transitionIn'	: 'none',
		'transitionOut'	: 'none'	
	});
});

function input_focus(id)
{
	$("#l"+id).addClass('lcurrent');
}

function input_blur(id)
{
	$("#l"+id).removeClass('lcurrent');
}

function sendContact()
{
	// check for email
	var email = $("#email").val();
	var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
	if(!filter.test(email))	
	{
		//$("#email-error").slideDown(500);
		$("#email").focus();
		return false;
	}
	else
		$("#email-error").slideUp(500);
	
	// check for message
	var msg = $("#message").val();
	if(msg.length == 0)
	{
		//$("#message-error").slideDown(500);
		$("#message").focus();
		return false;
	}
	else
		$("#message-error").slideUp(500);
		
	// check for captcha
	var captcha = $("#captcha").val();
	if(captcha != captcha_c)
	{
		$("#captcha-error").slideDown(500);
		$("#captcha").focus();
		return false;
	}
	else
		$("#captcha-error").slideUp(500);	
	
	var data = $("#contact_form > form").serialize();

	$.ajax({
		type: "POST",
		url: "index.php",
		data: data,
		cache: false,
		success: function(msg){}
	});
	
	$("#contact_form").fadeOut(1000, function() {
		$("#message_sent").slideDown(500);
	});
	
	
	return false;
}

var captcha_a = Math.ceil(Math.random() * 10);
var captcha_b = Math.ceil(Math.random() * 10);       
var captcha_c = captcha_a + captcha_b;
function generate_captcha(id)
{
	var id = (id) ? id : 'lcaptcha';
	$("#"+id).html(captcha_a + " + " + captcha_b + " = ");
}

