var global_form_opened = 0;
var global_next_initial_left = 0;
var global_prev_initial_left = 0;
var global_modified_any_field = 0;
var global_animation_in_progress = 0;
var global_pause_time = 3500;
var global_timer;

function slideshow (add_value)
{
	global_timer = clearTimeout(global_timer);
	if (global_animation_in_progress == 0)
	{
		global_animation_in_progress = 1;
		var max = parseInt($('#backgrounds img').length);
		var next = 0;
		$slide = $('ul.js_slide');
		current = parseInt($('#next').attr('rel'));
		$slide.find('.slide_' + current).css('z-index','2');
		if (add_value == 1)
		{
			if (current < max)
			{
				next = current + add_value;
			}	
			else
			{
				next = add_value;
			}
		}
		else
		{
			if (current > 1)
			{
				next = current + add_value;
			}	
			else
			{
				next = max;
			}
		}
		$('#next, #prev').attr('rel', next);
		
		//if (!$.browser.msie && !$.browser.version.substr(0,1)<7)
		//{	
			$("#outer_wrapper").css("background-image", "none");
		//}
		$slide.find('.slide_' + next).css('z-index','1').show();
		$slide.find('.slide_' + current).fadeOut(300, function () 
		{	
			imgSrc =  $('#backgrounds').find("img[alt='" + next + "']").attr('src');	
			//if (!$.browser.msie && !$.browser.version.substr(0,1)<7)
			//{
				$("#outer_wrapper").css("background-image", "url('" + imgSrc + "')");					
			//}
			global_animation_in_progress = 0;
		});	
		set_banner_timeout();
	}
}

function track_input_changes ()
{
	$('.js_sliding_form > div > form > input').bind('change', function() 
	{
		global_modified_any_field = 1;
	});
}

function show_form()
{	
	$('fieldset.more').fadeOut('fast', function() 
	{			
		$('.js_sliding_form').find('form').animate({"height": 300}, "fast", function() 
		{
			global_form_opened = 1;
			
			$('input').change(function () 
			{
				if ($(this).hasClass('error'))
				{
					$(this).removeClass('error');
				}	
				$(this).addClass('modified');
				$('html').unbind('click');
				$('js_sliding_form').unbind('click');
			});
			
			$('textarea').change(function () 
			{
				if ($(this).hasClass('error'))
				{
					$(this).removeClass('error');
				}
				$(this).addClass('modified');
				$('html').unbind('click');
				$('js_sliding_form').unbind('click');
			});
			
			$('html').bind('click', function () 
			{
				if (global_form_opened == 1)
				{
					//alert('check if any field has been modified; if no, hide the form, else leave it opened');
					$('.js_sliding_form').find('form').animate({"height": 178}, "fast");
					global_form_opened = 0;
					$('fieldset.more').fadeIn('fast');
				}
			});
			
			$('.js_sliding_form').click(function(event){
				event.stopPropagation();
			});
			
			
			
		});		
	});
}

function sliding_form()
{
	$('fieldset.more').show();
	$('fieldset.more a').bind('click', function() 
	{
		show_form(); 
		return false;
	});
	$("select#source").selectbox();
	$("select#about").selectbox().bind('click', function () 
	{
		$(this).find('.item-0').hide();
	});
	
	$('input').labelify({ text: "label" });
	//if (!$.browser.msie && !$.browser.version.substr(0,1)<7)
	//{
		$('textarea').labelify({ text: "label" });
	//}
	$('label').hide();
	
	$('.js_sliding_form').find('form').css('height', 178);
	
	$('.js_sliding_form').bind('click', function () 
	{
		if(global_form_opened == 0)
		{
			show_form();
		}
	});
	
	$('.js_sliding_form input').bind('focus', function () 
	{
		if(global_form_opened == 0)
		{
			show_form();
		}
	});
		
	$('input.button').bind("click", function(e)
	{
		e.preventDefault();
		if(validate_form() == 1)
		{
			
			$('#information_form').submit();
		}
	});
	
}

function validate_form()
{
	var form_is_valid = 1;
	var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;	

	$('.required').each(function() 
	{
		field_value = $(this).val();
		label_value = $(this).parent().find('label').text();
		if (field_value == label_value)
		{
			$(this).addClass('error');
			form_is_valid = 0;
		}
		if ($(this).hasClass('email') && !emailReg.test(field_value))
		{
			$(this).addClass('error');
			form_is_valid = 0;	
		}		
	});	
	
	$('select.obligatory').each(function () 
	{
		if ($(this).val() == 0)
		{
			$(this).parent('.jquery-selectbox').addClass('jquery-selectbox-error');
			form_is_valid = 0;
		}
	});
	
	return form_is_valid;
}

function position_buttons()
{
	
	
	window_width = $(window).width();
	if (window_width >= 1152 && window_width <= 1400)
	{
		width_dif = (window_width - 960) / 2 + 475;
		$('#next').css('margin-left', (width_dif - $('#next').width()) + 'px');
		$('#prev').css('margin-left', -width_dif + 'px');
	}
	else
	if (window_width >= 1400)
	{
		$('#next').css('margin-left', (700 - $('#next').width()) + 'px');
		$('#prev').css('margin-left', '-700px');
	}
	else
	{
		$('#next').css('margin-left', global_next_initial_left);
		$('#prev').css('margin-left', global_prev_initial_left);
	}
}

function set_banner_timeout()
{
	return global_timer = setTimeout('slideshow (1)', global_pause_time);
}

$(document).ready(function () 
{	
	$('a[rel="external"]').attr('target','_blank');

	Cufon.replace('h1');
	Cufon.replace('h2');
	Cufon.replace('h3');
	
	Cufon.replace('#header p');
	Cufon.replace('#menu .left_col li a', {hover: true });
	//Cufon.replace('.box_list li a', {hover: true });
	Cufon.replace('.box_list li a', {
		hover: true,
		textShadow: '1px 1px rgba(0,0,0,.12)'
	}); 
	Cufon.replace('.mod_title h4');
	Cufon.replace('.banner_button span');
	
	if ($('#outer_wrapper').hasClass('js_slideshow'))
	{
		/*	
		if ($.browser.msie && $.browser.version.substr(0,1)<7)
		{
			$("#outer_wrapper").css("background-image", "none");					
		}
		*/
		$('#next, #prev').show();

		$('#next').click(function() 
		{
			slideshow(1);		
			return false;
		});
		$('#prev').click(function() 
		{
			slideshow(-1);		
			return false;
		});
		
		set_banner_timeout();	
		
		$('#banner').mouseover(function () 
		{
			global_timer = clearTimeout(global_timer);
		});
		$('#banner').mouseout(function () 
		{
			set_banner_timeout();	
		});
	}
	
	if ($('#outer_wrapper').hasClass('js_form'))
	{
		sliding_form();
		global_next_initial_left = parseInt($('#next').css('margin-left'));
		global_prev_initial_left = parseInt($('#prev').css('margin-left'));
		position_buttons();
		$(window).resize(function() 
		{
			position_buttons();
		});

	}
});
