/*
 * AJAX
 * Copyright(c) 2008, Impulsis Media Solutions
 * info@impulsis.com
 *
 */
	var content;
	var replaceContainer;
	var collapseButton;
	var expandButton;
	var invokerGlobal;
	var wide;
	var langRequest;
	var spinner;
	var ajax_response;

	Ext.onReady(function(){
		replaceContainer = new Ext.Element.get('replaceContainer');
		spinner = new Ext.Element.get('spinner');
		initVariables();
	});


	function initVariables(){
 		content = new Ext.Element.get('contentContainer');
 		wide = '';

 		collapseButton = new Ext.Element.get('collapsebutton');
		collapseButton.on('click', function(){
			if (content.dom.className.indexOf('wide') != -1){
				wide = 'wide ';
			}
			else wide = 'narrow ';
			content.slideOut('r',{easing: 'easeOut',duration: 1});
			t = setTimeout("slideOutEnd('collapsed',0.5)", 1100);
		});

		expandButton = new Ext.Element.get('expandbutton');
		expandButton.on('click', function(){
			content.dom.className = wide+'expanded';
			content.slideIn('r',{easing: 'easeOut', duration: 1});
		});
 	}


 	function getContent(invoker){
		if (invoker.parentNode.parentNode.id == 'langmenu'){
			var temp = Ext.DomQuery.select('li.act',invoker.parentNode.parentNode)[0];
			temp.className = '';
			invoker.parentNode.className = 'act';
			langRequest = 1;
		}

		if (content.isVisible()){

			content.slideOut('r',{
				easing: 'easeOut',
				duration: 1
			});
			invokerGlobal = invoker;
			t = setTimeout("ajaxProcessor(invokerGlobal)",1000);
	    }
		else ajaxProcessor(invoker);
	}

	function ajaxProcessor(invoker){
		spinner.setVisible(1);
		Ext.Ajax.request({
		   url: invoker.href,
		   success: function(response){
				collapseButton.removeAllListeners();
				expandButton.removeAllListeners();
				collapseButton.remove();
				expandButton.remove();
				content.remove();
				preloadImages(response.responseText);
				
		   		replaceContainer.update(response.responseText.substring(response.responseText.indexOf('<ul id="mainNavi">'),response.responseText.indexOf('<!-- Ajax part end  -->')));
				getResponseTitle(response.responseText);

		   		initVariables();
				spinner.setVisible(0);

		   		if (!langRequest){
			   		content.slideIn('r',{easing: 'easeOut', duration: 1});
			   	}
			   	else langRequest = 0;
		   },
		   failure: function(){
		   		spinner.setVisible(0);
		   }
		});
	}

	function slideOutEnd(className,duration){
		content.dom.className = className;
		content.dom.style.left = '';
		content.setVisible(true);
	}

	function slideInEnd(className,duration){
		content.dom.className = className;
		content.slideIn('r',{easing: 'easeOut', duration: duration});
	}

	function postForm(invoker){
			var contactForm = new Ext.Element.get(invoker);
		content.slideOut('r',{
			easing: 'easeOut',
			duration: 1
		});
		invokerGlobal = invoker;

		t = setTimeout("ajaxSubmitForm(invokerGlobal)",1000);
    }

	function ajaxSubmitForm(invoker){
		spinner.setVisible(1);
		var contactForm = new Ext.Element.get(invoker);
		Ext.Ajax.request({
		   url: contactForm.dom.action,
		   method: 'POST',
		   form: 'formular',
		   success: function(response){
				collapseButton.removeAllListeners();
				expandButton.removeAllListeners();
				collapseButton.remove();
				expandButton.remove();
				content.remove();
				preloadImages(response.responseText);
				
				replaceContainer.update(response.responseText.substring(response.responseText.indexOf('<ul id="mainNavi">'),response.responseText.indexOf('<!-- Ajax part end  -->')));
		   		//replaceContainer.update(response.responseText);
				
				initVariables();
				spinner.setVisible(0);

		   		if (!langRequest){
			   		content.slideIn('r',{easing: 'easeOut', stopFx: true, duration: 1});
			   	}
			   	else langRequest = 0;
		   },
		   failure: function(){
		   		spinner.setVisible(0);
		   }
		});
	}

	function contentFadeIn(response){
		collapseButton.removeAllListeners();
		expandButton.removeAllListeners();
		collapseButton.remove();
		expandButton.remove();
		content.remove();
		replaceContainer.update(response);
		initVariables();
	}

	function getContent_noSlide(invoker){
		spinner.setVisible(1);
		content.child(".content").update('');
		Ext.Ajax.request({
		   url: invoker.href,
		   success: function(response){
				//ajax_response = response.responseText;
				ajax_response = response.responseText.substring(response.responseText.indexOf('<ul id="mainNavi">'),response.responseText.indexOf('<!-- Ajax part end  -->'));

				getResponseTitle(response.responseText);
				preloadImages(response.responseText);
				contentFadeIn(ajax_response);

				spinner.setVisible(0);
		   },
		   failure: function(){
		   		spinner.setVisible(0);
		   }
		});
	}

	function getResponseTitle(resp){
		var start = resp.indexOf("<title>");
		if (start != -1){
			start += 7;
			document.title = resp.substring(start,resp.indexOf("</title>",start));
			return true;
		}
		return false;
	}
	
	function preloadImages(response){
		var imagesBegin = response.indexOf("if (version == \"n3\") {");
		if (imagesBegin != -1)
			eval(response.substring(imagesBegin,response.indexOf("</script>",imagesBegin)));
	}