$(function()
{
	//------------------------------------------------------------------------------------
	// Utility
	//------------------------------------------------------------------------------------

	function gup( name )
	{
		var value = "";
		name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
		var regexS = "[\\?&]"+name+"=([^&#]*)";
		var regex = new RegExp( regexS );

		var results = regex.exec( window.location.href );
		if (results != null)
		{
			value = results[1];
		}

		return value;
	}

	//------------------------------------------------------------------------------------
	// Behaviour
	//------------------------------------------------------------------------------------

	// Variabled to determine website behaviour
	var currentSlide = 0;
	var currentWhatWeDo = 0;
	var isSlideShow = true;
	
	var isOld = true;

	
	// Obtaining parameters
	
	var argumentSlide = gup("slide");
	if (argumentSlide != "")
	{
		currentSlide = parseInt(argumentSlide);
		if (currentSlide < 0) currentSlide = 0;
		if (currentSlide > 2) currentSlide = 2;
	}
	
	var argumentWhatWeDo = gup("whatwedo");
	if (argumentWhatWeDo != "")
	{
		currentWhatWeDo = parseInt(argumentWhatWeDo);
		if (currentWhatWeDo < 0) currentWhatWeDo = 0;
		if (currentWhatWeDo > 5) currentWhatWeDo = 5;
	}

	var argumentSlideShow = gup("slideshow");
	if (argumentSlideShow != "")
	{
		isSlideShow = ((argumentSlideShow == "1") ? true : false);
	}
	
	// Setting a referrer url to contact form
	var Elem = document.getElementById("referrer_url");
	Elem.value = document.referrer;
	
	//------------------------------------------------------------------------------------
	// Main
	//------------------------------------------------------------------------------------
	
	var logoImages=
	{
		$list:$("#logo-images > ul > li"),
		$ol:$("#logo-images > ol > li"),
		active:true,
		_position:0,
		Frame:
		{
			next:function()
			{
				if (!logoImages.active)
				{
					return false
				}
				
				if(logoImages._position<logoImages.$list.length-1)
				{
					logoImages._position++
				}
				else
				{
					logoImages._position=0
				}
				logoImages.Frame.change()
			}
			,prev:function()
			{
				if(!logoImages.active)
				{
					return false
				}
				if(logoImages._position>0)
				{
					logoImages._position--
				}
				else
				{
					logoImages._position=logoImages.$list.length-1
				}
				logoImages.Frame.change()
			},

			set:function(frame)
			{
				if(!logoImages.active)
				{
					return false
				}
				if(logoImages._position!=frame)
				{
					logoImages._position=frame;
					logoImages.Frame.change()
				}
			},

			change:function()
			{
				var animationTime=1000;
				logoImages.$list.stop(true,true).siblings(".active").removeClass("active",animationTime);
				logoImages.$list.eq(logoImages._position).addClass("active",animationTime);
				logoImages.$ol.eq(logoImages._position).addClass("active").siblings(".active").removeClass("active")
			}
		},

		Autochange:
		{
			delay:7000,_active:true,_intervalId:0,_timeoutId:0,start:function(delay)
			{
				if(!logoImages.Autochange._intervalId)
				{
					delay=delay||logoImages.Autochange.delay;
					logoImages.Autochange._active=true;
					logoImages.Autochange._intervalId=setInterval(logoImages.Frame.next,delay)
				}
			},

			stop:function()
			{
				if(logoImages.Autochange._intervalId)
				{
					logoImages.Autochange._active=false;
					clearInterval(logoImages.Autochange._intervalId);
					logoImages.Autochange._intervalId=0
				}
			},

			countdown:function(delay)
			{
				if(logoImages.Autochange._timeoutId)
				{
					clearTimeout(logoImages.Autochange._timeoutId)
				}
				if(logoImages.Autochange._active)
				{
					return false}delay=delay||logoImages.Autochange.delay*3;
					logoImages.Autochange._timeoutId=setTimeout(function()
					{
						logoImages.Autochange.start()
					}
					,delay)
				}
			}
		};

		// Setting sliding baners current positions
		$("#logo-images ul li:eq(" + currentSlide + ")").addClass("active");
		$("#logo-images ol li:eq(" + currentSlide + ")").addClass("active");
		$("#small-promo ul li:eq(" + currentWhatWeDo +  ")").addClass("active");
		$("#images-small ul li:eq(" + currentWhatWeDo + ")").addClass("active");
		$("#supported-images ul li:eq(" + currentWhatWeDo + ")").addClass("active");
		logoImages._position=currentSlide;

		// If slide show if on...
		if (isSlideShow)
		{
			// ..starting it
			logoImages.Autochange.start();
		}
				
		$("#logo-images > ol > li").each(function(i)
		{
			this.listNumber=i
		}).click(function()	{
				logoImages.Frame.set(this.listNumber);
				logoImages.Autochange.stop();
				logoImages.Autochange.countdown()
			});

		$("#logo-images > .prevFrame").click(function()	{
				logoImages.Frame.prev();
				logoImages.Autochange.stop();
				logoImages.Autochange.countdown()
			});

		$("#logo-images > .nextFrame").click(function()	{
				logoImages.Frame.next();
				logoImages.Autochange.stop();
				logoImages.Autochange.countdown()
			});

		$(".promo").each(function()
		{
			var $promo=$(this);
			var $description=$promo.find(".description:eq(0) ul > li");
			var $images=$promo.find(".images:eq(0) ul > li");
			var $supported=$promo.find(".supported:eq(0) ul > li"); 
			
			$description.each(function(i)
			{
				this.promoListNumber=i
			}).mouseover(function()
			{	
				var i=this.promoListNumber;
				$description.removeClass("active").eq(i).addClass("active");
				$images.hide().eq(i).show();
				$supported.hide().eq(i).show();
			})
		});
				
		
		var $contactUs=$("#contact-us");
		$contactUs.children(".darkness").css({height:$(document).height()});
		$contactUs.find("a.close").add($contactUs.children(".darkness")).click(function()
		{
			$contactUs.fadeOut(500);
			return false});
			var $window=$contactUs.children(".window");
			var contactUs=$("a.contactUs");
			contactUs.css(
			{
				visibility:"visible"
			});
			if(jQuery.support.opacity)
			{
				contactUs.css({opacity:0}).animate({opacity:1},500)
			}contactUs.click(function()
			{	
				$contactUs.fadeIn(500);
				$window.css({top:$(document).scrollTop()+($(window).height()/2-$window.height()/2)});
				return false
			});
			var $completed=$("#contact-us .completed");
			var $colored=$("#contact-us .colored");
			var $contacts=$("#contact-us .contacts");
			$("#contact-us form").submit(function()
			{
				if ($("#contact-us-name").val() == "")
				{
					alert("Please enter your name.");
					return false;
				}
				else if ($("#contact-us-email").val() == "")
				{
					alert("Please enter your email.");
					return false;
				}
				else if ($("#contact-us-request").val() == "")
				{
					alert("Please enter your question, request for development or other information into 'request' field.");
					return false;
				}
				else
				{
					if(this.disabled){return false}$.ajax(
					{
						url:"mail.php",data:$(this).serialize(),type:"POST",dataType:"json",success:function(data)
						{
							if(!data){return false}if(data.complete)
							{
								$completed.show();$colored.hide();
								$contacts.hide();$("a.contactUs:eq(0)").click();
								setTimeout(function()
								{
									$contactUs.find("a.close").click()
								},5000)
							}
						}
					});
					this.disabled=true;return false
				}
			})
		});
		
		$(window).load(function()
		{
			function preloadImage(src)
			{
				var preloadImage=new Image();
				preloadImage.src=src
			}
			$("#logo-images img").each(function()
			{
				var src=this.getAttribute("src");
				preloadImage(src)
			});
			$(".promo .images li img").each(function()
			{
				var src=this.getAttribute("src");
				preloadImage(src)
			});
			setTimeout(function()
			{
				preloadImage("images/submit.png");
				preloadImage("images/contact-us-background.jpg");
				preloadImage("images/close.png")
			},1000)
		});
		
