var App = function(config)
{
	Ext.apply(this, config);
	this.initApp();
	this.init();	
};

App.prototype =
{
	mainMenuEl: "menu",
	
	animSlogan: true,
	
	searchUrl: "",
	
	init: function()
		{
			this.initMainMenu();
			this.initAnim();
			this.initSearchBar();
			
			Ext.select("a[rel*=external]").set({"target":"_blank"});
		},
	
	initApp: Ext.emptyFn,
				
	initMainMenu: function()
		{
			var sfEls = document.getElementById(this.mainMenuEl).getElementsByTagName("LI");
			for (var i=0; i<sfEls.length; i++) {
				sfEls[i].onmouseover=function() {
					this.className+=" over";
				}
				sfEls[i].onmouseout=function() {
					this.className=this.className.replace(new RegExp(" over\\b"), "");
				}
			}
		},
	
	initAnim: function()
		{
			if (!Ext.isIE6)
			{
				/**
				 * Initialize splashIcons
				 */
				var splashIcons = Ext.get("splash-icons-wrap");
				splashIcons.on(
					{
						"mouseover":
						{
							fn: function()
								{
									splashIcons.setBounds(Ext.get("container").getX() + (693), 122, 275, 198, true);
								}
						},
						"mouseout":
						{
							fn: function()
								{
									splashIcons.setBounds(Ext.get("container").getX() + 918, 122, 50, 198, true);
								}
						}
					}
				);
				
				/**
				 * Animate Slogan
				 */
				if (this.animSlogan)
				{
					var slogan = Ext.get("slogan");
					slogan.hide();
					
					setTimeout(function()
						{
							slogan.syncFx().slideIn('tl',
								{
									easing: 'bounceOut',
									duration: .8
								}
							).fadeIn(
								{
									endOpacity: 1,
									easing: 'easeOut',
									duration: 1.1
								}
							).sequenceFx();
						},
						1000
					);
				}
				
				/**
				 * Animate splash
				 */				
				var splBgs = ["splashCar.jpg", "splashWheel.jpg", "splashNav1.jpg", "splashGolf.jpg", "splashTraffic.jpg", "splashPorche.jpg"];
				var curSplBg = Math.ceil(splBgs.length*Math.random());
				var imgs = new Array();
				var i = 0;
				for (i; i<splBgs.length;i++)
				{
					var img = new Image();
					img.src = "http://www.autorevista.nl/system/application/assets/images/" + splBgs[i];
					imgs[i] = img;
				}
			
				var task = {
					run: function()
					{
						var splEl = Ext.get("splash");
						
						var newSpl = curSplBg + 1;
						
						if (newSpl > splBgs.length - 1) newSpl = 0;
						curSplBg = newSpl;
						
						splEl.fadeOut(
							{
								easing: 'easeBothStrong',
								duration: 2,
								useDisplay: true,
								callback: function()
									{
										splEl.setStyle("background-image", "url(" + imgs[newSpl].src + ")");
										
										splEl.fadeIn(
											{
												easing: 'easeBothStrong',
												duration: 1,
												useDisplay: true
											}
										);
										//splEl.show();
									}
							}
						);
						
					},
					interval: 10000
				}
				Ext.TaskMgr.start(task);
				
			}
		},
	
	initSearchBar: function()
		{
			var btn = Ext.get("search-bar-btn");
			var form = Ext.get("search-bar-form");
			
			//var inputEl = Ext.get("search-bar-textbox");
			form.on("submit", this.onSearchClick, this);
			btn.on("click", this.onSearchClick, this);
		},	
	
	onSearchClick: function(e)
		{
			var form = Ext.get("search-bar-form");		
			var value = form.dom.elements.keyword.value;

			if (value.length > 0)
			{
				form.dom.submit();
				pageTracker._trackPageview("/search/" + value);
			}
			else
			{
				e.preventDefault();	
			}
			
		}
}
