
	var ppl;
	
//	function pulsatePageLoader() {
//		queue = Effect.Queues.get('pageloader');
//		queue.each(function(e) { e.cancel() });
//		new Effect.Pulsate('pageLoader', {duration: 1, from: 0.2, pulses: 1, queue: {scope: 'pageloader'}});
//	}
	
	function pageLoader(turnon) {
		if (turnon) {
			$('pageLoader').style.display = 'block';
//			new Effect.Pulsate('pageLoader', {duration: 1, from: 0.2, pulses: 1, queue: {scope: 'pageloader'}});
//			ppl = setInterval ("pulsatePageLoader()", 1000);
		} else {
//			clearInterval(ppl);
			$('pageLoader').style.display = 'none';
		}
	}


	var actualLoaded = 0;
	var flashPanak;

	function resetAjaxControl() {
	  var anchors = $$('a.ajax');
  	for (var i = 0; i < anchors.length; i++) {
  			// if there is @ in href don't add onclick
  			if (anchors[i].href.indexOf('@') == -1)
	      	anchors[i].onclick = function() {
	      		this.blur();
	      		pageLoader(1);
						resetEffects();
						moveMenu();
						refreshText(this.id);
						return false;
					}
    }
    refreshFormEvents(); // we need this here because of ajax :) 
  }

	function resetEffects() {
		var queue = Effect.Queues.get('ajaxreload');
		queue.each(function(e) { e.cancel() });
	}

	function moveMenu() {
		if (parseFloat($('menu').getStyle('top') || 0) > 0) {
			new Effect.Move('menu', {x: 0, y: -200, mode: 'relative'});
			new Effect.Fade('homeImages', {duration: 0.5});
		}
	}
	
	function refreshText(linkid) {
			new Effect.Fade('ajaxWrapper', {duration: 0.1, queue: {scope: 'ajaxreload'},
				afterFinish: function (obj) {
					new Effect.Appear('ajaxWrapper', {duration: 2.0, queue: {scope: 'ajaxreload'}})
				}
			});
			new Effect.Fade('submenuWrapper', {duration: 0.1, queue: {scope: 'ajaxreload'},
				afterFinish: function (obj) {
					new Effect.Appear('submenuWrapper', {duration: 2.0, queue: {scope: 'ajaxreload'}})
				}
			});
			new Effect.Fade('imagesWrapper', {duration: 0.1, queue: {scope: 'ajaxreload'},
				afterFinish: function (obj) {
					new Effect.Appear('imagesWrapper', {duration: 2.0, queue: {scope: 'ajaxreload'}})
				}
			});
			
			var link = $(linkid).href;
			link = link+ ((link.indexOf('?') == -1) ? '?' : '&') +'ajax=1';
			new Ajax.Request(link, {
			  method: 'get',
			  onCreate: function() {
			  	$('ajaxWrapper').update('');
			  	$('submenuWrapper').update('');
			  	$('imagesWrapper').update('');
			  	$('homeImagesWrapper').update('');
			  },
			  onSuccess: function(transport) {
			  	// main text
			  	var mainStart = transport.responseText.indexOf('<main>');
			  	var mainEnd = transport.responseText.indexOf('</main>');
			  	if (mainStart != -1 && mainEnd != -1) {
			  		$('ajaxWrapper').update(transport.responseText.slice(mainStart, mainEnd).replace(/<main>/i, ''));
			  	}
			  	// submenu
			  	var submenuStart = transport.responseText.indexOf('<submenu>');
			  	var submenuEnd = transport.responseText.indexOf('</submenu>');
			  	if (submenuStart != -1 && submenuEnd != -1) {
			  		$('submenuWrapper').update(transport.responseText.slice(submenuStart, submenuEnd).replace(/<submenu>/i, ''));
			  	}
			  	// images
			  	var imgsStart = transport.responseText.indexOf('<images>');
			  	var imgsEnd = transport.responseText.indexOf('</images>');
			  	if (imgsStart != -1 && imgsEnd != -1) {
			  		$('imagesWrapper').update(transport.responseText.slice(imgsStart, imgsEnd).replace(/<images>/i, ''));
			  	}
			  	// green class
			  	var greenStart = transport.responseText.indexOf('<green>');
			  	var greenEnd = transport.responseText.indexOf('</green>');
			  	if (greenStart != -1 && greenEnd != -1) {
			  		var greenClass = transport.responseText.slice(greenStart, greenEnd).replace(/<green>/i, '');
			  		document.getElementById('leftCol').className = greenClass;
						document.getElementById('leftMenu').className = greenClass;
						document.getElementById('middleCol').className = greenClass;
			  	}
			  	resetAjaxControl();
			  },
			  onComplete: function(transport) {
			  	pageLoader(0);
			  	refreshTestHandle(link); // we need this here because of ajax :)
			  }
			});
	}

	onload = function() {
	  var anchors = $$('a.ajax');
  	for (var i = 0; i < anchors.length; i++) {
      // if there is @ in href don't add onclick
  		if (anchors[i].href.indexOf('@') == -1)
				anchors[i].onclick = function() {
      		this.blur();
      		pageLoader(1);
      		resetEffects();
					moveMenu();
					refreshText(this.id);
					return false;
				}
    }

		var isIE = navigator.appName.indexOf("Microsoft") != -1;
    flashPanak = (isIE) ? window['flashpanak'] : document['flashpanak'];
	}

	function menuBlink(index) {
		if (index == 'jobs') {
			new Effect.Pulsate('jobsbubble', {duration: 1, from: 0.2, pulses: 4});
		} else {
			var li = $('menu').childElements();
			new Effect.Pulsate(li[index].firstDescendant().id, {duration: 1, from: 0.2, pulses: 4});
		}
	}
	
	function changeImages(base_url, effect) {
		var text = $('ajaxWrapper').innerHTML;
		text = text.slice(text.indexOf('<!--id:'));
		var id = parseInt(text.slice(text.indexOf(':'), text.indexOf('-->')).replace(/:/, ''));
		if (effect == 'fade') {
			new Effect.Fade('imagesWrapper', {duration: 0.1,
				afterFinish: function (obj) {
					new Effect.Appear('imagesWrapper', {duration: 2.0})
				}
			});
		}
		new Ajax.Request(location.protocol +'//'+ location.hostname + base_url +'image-changer?ajaximgid='+ id, {
		  method: 'get',
		  onCreate: function() {
		  	$('imagesWrapper').update('');
		  },
		  onSuccess: function(transport) {
		  	$('imagesWrapper').update(transport.responseText);
		  }
		});
	}

	document.onclick = function() {
		if (typeof(flashPanak) != "undefined")
    	flashPanak.setST();
	}

	function sentBantipForm() {
		if (typeof(flashPanak) != "undefined")
			flashPanak.playSent();
	}

