/*
 * 
 * Common functions
 */
function validateEmail(email)
{
	var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+[a-zA-Z0-9]{2,4}$/;
	return regex.test(email);
	//return email.match(regex)	?	true	:	false;
}

function validateUsername(username) 
{
	var regex = /^([a-zA-Z])+([a-zA-Z0-9_\-\.])+$/; 
    return regex.test(username);
}

function validatePassword(password)
{
	var regex = /^([a-zA-Z0-9_\-*&%$#@!])+$/; 
    return regex.test(password);
}

function removeMessage(div)
{
	$('#' + div).slideUp();
}

function displayHelpPopup(div)
{
	$('#' + div).css('display', 'block');
}

function hideHelpPopup(div)
{
	$('#' + div).css('display', 'none');
}

/* Form terms fancybox window */
jQuery(document).ready(function(){	
	if(typeof jQuery.fancybox == 'function') { 
		$("a.fancybox").fancybox( {
			'transitionIn' : 'elastic',
			' transitionOut' : 'elastic',
			'overlayOpacity' : 0.5,
			'overlayColor' : '#003467'
		});
	}
});

function sendLostPassword()
{
	var email = $('#email').val();
	if (email.length == 0 || !validateEmail(email)) {
		$('#email').addClass('js_error');
		return false;
	}
	
	var ajax_options = {
		beforeSend: function()
		{
			$('#forget_password_throbber').html('<img src="/ifc/ajax-loader.gif" alt="Loading" />');
			$('#forget_password_button').attr('disabled', 'disabled');
		},
		complete: function()
		{
			$('#forget_password_throbber').html('');
			$('#forget_password_button').attr('disabled', '');
		},
		error: function(XMLHttpRequest, textStatus, errorThrown)
		{
			alert('There was an error durring request. Please try again later!');
		},
		success: function(html, textStatus)
		{
			$('#forget_password_box').css('display', 'none');
			$('#response_container').removeClass('display-none');
			$('#response_container').html(html);
			return false;
		},
		timeout: '100000',
		type: 'POST',
		dataType: 'HTML',
		data: 'ajax=1&email=' + email,
		url: '/lostpassword/send/'
	};
	$.ajax(ajax_options);
	return false;
}

function closeFancybox()
{
	$.fancybox.close();
}

function sendTellFriend()
{
	var email			= $('#tf_email').val();
	var friend_email	= $('#tf_friend_email').val();
	var subject			= $('#tf_subject').val();
	var comment			= $('#tf_comment').val();
	var errors = new Array;
	
	if (!validateEmail(email)) {
		errors[errors.length] = 'Your email is not in valid format';
	}
	if (!validateEmail(friend_email)) {
		errors[errors.length] = 'Your friend email is not in valid format';
	}
	if (subject.length < 1) {
		errors[errors.length] = 'Please enter subject';
	}
	if (comment.length < 10) {
		errors[errors.length] = 'Please enter message';
	}
	if (errors.length == 0) {
		var ajax_options = {
				beforeSend: function()
				{
					$.fancybox.showActivity();
					$('#tf_button').attr('disabled', 'disabled');
				},
				complete: function()
				{
					$.fancybox.close();
					$('#tf_button').attr('disabled', '');
				},
				error: function(XMLHttpRequest, textStatus, errorThrown)
				{
					$.fancybox.close();
					alert('There was an error durring request. Please try again later!');
				},
				success: function(xml, textStatus)
				{
					var code = $(xml).find('code').text()
					var message = $(xml).find('message').text(); 
					alert(message);
					return false;
				},
				timeout: '100000',
				type: 'POST',
				dataType: 'XML',
				data: 	'ajax=1' + 
						'&email=' + email +
						'&friend_email=' + friend_email +
						'&subject=' + subject +
						'&comment=' + comment,
				url: '/campaign/tellfriend/'
		};
		$.ajax(ajax_options);
		return false;
	}
	var for_displaying = '';
	for (var i = 0; i < errors.length; i++)
	{
		for_displaying += errors[i] + "\n";
	}
	alert(for_displaying);
	return false;	
}

function newsletterFocused()
{
	if ($('#newsletter-email').val() === newsletter_inputbox_text) {
		var email = $('#newsletter-email').val('');
	}
}

function newsletterFocusOut()
{
	if ($('#newsletter-email').val().length == 0) {
		var email = $('#newsletter-email').val(newsletter_inputbox_text);
	}
}
function newsletterSubscribe()
{
	var email = $('#newsletter-email').val();
	if (email.length == 0 || email == newsletter_inputbox_text) {
		$('#newsletter-box li').text(newsletter_error_empty);
		$('#newsletter-box ul').fadeIn().delay(3000).fadeOut('slow');
	}
	else if (!validateEmail(email)) {
		$('#newsletter-box ul li').text(newsletter_error_format);
		$('#newsletter-box ul').fadeIn().delay(3000).fadeOut('slow');
	} else {
		var ajax_options = {
				beforeSend: function()
				{
					$('#newsletter-button').attr('disabled', 'disabled');
					$('#newsletter-throbber').css('display', 'inline');
				},
				complete: function()
				{
					$('#newsletter-button').attr('disabled', '');
					$('#newsletter-throbber').css('display', 'none');
				},
				error: function(XMLHttpRequest, textStatus, errorThrown)
				{
					alert('There was an error durring request. Please try again later!');
				},
				success: function(xml, textStatus)
				{
					var code = $(xml).find('code').text()
					var message = $(xml).find('message').text(); 
					$('#newsletter-box ul li').text('Hvala sto ste se prijavili!');
					$('#newsletter-box ul').fadeIn();
					timerID = setTimeout("removeNewsletterBox()", 5000);
					setCookie('newsletter_subscription', 'yes', 365);
					return false;
				},
				timeout: '100000',
				type: 'POST',
				dataType: 'XML',
				data: 	'ajax=1' + 
						'&email=' + email,
				url: '/newsletter/subscribe/'
		};
		$.ajax(ajax_options);
		return false;
	}
	return false;
}

function removeNewsletterBox()
{
	$('#newsletter-box').slideUp();
	clearTimeout(timerID);
}

function setCookie(c_name, value, expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toUTCString());
}

function submitCountryDistributorsSearch()
{
	$('#distributorsForm').submit();
}
