var ajaxcnt = 0;
var menuRevert = 0;

function loadingDiv() {
	return '<p style=\"margin-top:15px;text-align:center;\">Trwa ładowanie...<br /><img src=\"/images/spinner.gif\" /></p>';
}

var myGlobalHandlers = {
		onCreate: function(){
			//alert('begin: ' + this);
			Element.show('loading_main');
		},

		onComplete: function() {
			if(Ajax.activeRequestCount == 0){
				//alert('end: ' + this);
				Element.hide('loading_main');
			}
		}
	};

Ajax.Responders.register(myGlobalHandlers);


function update(url,targetobj) {

	$(targetobj).innerHTML = loadingDiv();

	var resp = function(originalRequest) {
		initLightBox();
	}
	
	var pars = '';
	var args = {method:'post',parameters: pars, evalScripts: true, onComplete: resp};

	var myAjax = new Ajax.Updater(targetobj,url,args);
}

function getActiveElement(menuid) {
	var zak = $(menuid).getElementsByClassName('act');
	return zak[0];
}

function przygotujMenu(menuid,clickfn,silent) {

	//var zak = document.getElementsByClassName('act',menuid);
	var zak = $(menuid).getElementsByClassName('act');
	zak[0].onclick = generateMenuOnclick(menuid,clickfn);

	//for fuckin' mozilla
	if (!silent) {
		if (menuid == 'zakladki') {
			pobierzStrone(getActiveElement(menuid));
		}
		if (menuid == 'submenu') {
			zaladujPodstrone(getActiveElement(menuid));
		}
		if (menuid == 'submenu_c') {
			zaladujPodstroneC(getActiveElement(menuid));
		}
		if (menuid == 'submenu_r') {
			zaladujPodstroneR(getActiveElement(menuid));
		}
		if (menuid == 'submenu_p') {
			zaladujPodstroneP(getActiveElement(menuid));
		}
	}
	
	//this could work with IE
	//eval(clickfn + '(getActiveElement(' + menuid + '))');
	
	//var zak = document.getElementsByClassName('nact',menuid);
	var zak = $(menuid).getElementsByClassName('nact');
	var zaklen = zak.length;

	for (var i=0; i<zaklen; i++) {
		zak[i].onclick = generateMenuOnclick(menuid,clickfn);
	}

}

function przygotujMenuLocal(menuid,clickfn) {
	
	//var zak = document.getElementsByClassName('act',menuid);
	var zak = $(menuid).getElementsByClassName('act');
	zak[0].onclick = generateMenuOnclick(menuid,clickfn);
	
	//var zak = document.getElementsByClassName('nact',menuid);
	var zak = $(menuid).getElementsByClassName('nact');
	var zaklen = zak.length;	

	for (var i=0; i<zaklen; i++) {
		zak[i].onclick = generateMenuOnclick(menuid,clickfn);
	}

}

function generateResponseFn(menuid,menuobj,clickfn) {

	var fn = function(originalRequest) {
		$(menuid).innerHTML = originalRequest.responseText;
		if(menuobj&&clickfn) { przygotujMenu(menuobj,clickfn); }
	}

	return fn;
}

function generateMenuOnclick(menuid,updateFunction) {
	var fn = function() {
		eval(updateFunction + "(this)");
		przelaczZakladke(this,menuid);
		//document.location.href = document.location.href + '#' + menuid;
		return false;
	}

	return fn;
}

function przelaczZakladke(zakid,el) {
	
	var zak = $(el).getElementsByClassName('act');
	if(zak[0]) { zak[0].className = 'nact'; }
	zakid.className = 'act';
	
}

function przelaczZakladkeS(zakid,el) {
	
	var sel = '#'+el+' .zak';
	var zak = $$(sel);
	var len = zak.length;
	for(var i = 0; i < len; i++) {
		zak[i].removeClassName('act');		
	}
	zakid.addClassName('act');
	
}

function hideMenus() {
	var menus = $$('div.subMenu');
	var cnt = menus.length;
	for(var i = 0; i < cnt; i++) {
		Element.hide(menus[i]);
	}
}

function revertMenu() {	
	if(menuRevert != 0) {
		Element.show('sub'+menuRevert);
	}
}

function hoverIn(id) {
	hideMenus();
	if($('zak'+id).className != 'act') {
		$('zak'+id).className='hover';
	}
}

function hoverOut(id) {
	if($('zak'+id).className != 'act') {
		$('zak'+id).className='nact';
	}
	revertMenu();
}

function showSub(id) {
	if(menuRevert != id) { hideMenus(); }
	if($('zak'+id).className != 'act') {
		$('zak'+id).className='hover';
		Element.show('sub'+id);
	}
}

function hideSub(id) {
	if($('zak'+id).className != 'act') {
		$('zak'+id).className='nact';
	}
	if(menuRevert != id) {
		Element.hide('sub'+id);
	}
	revertMenu();
}

Tabs = new Object;

Tabs.load = function(el) {
	przelaczZakladke(el,'tabs');
	var href = el.attributes.href.value + '/ajax/true';
	update(href,'tabs_content');	
}

Tabs.hv = function(e) { if(e.className != 'act') { e.className = 'hover'; } }
Tabs.hvOut = function(e) { if(e.className != 'act') { e.className = 'nact'; } }

Gielda = new Object;

Gielda.dodajOgloszenie = function(id) {
	if(validate($(id))) {
	
		var resp = function(req) {
			//alert(req.responseText);
			switch(id) {
				case 'szukamPracy': Tabs.load($('SZzak1')); break;
				case 'damPrace': Tabs.load($('SZzak2')); break;
			}
		}
	
		var values = Form.serialize(id);
		var pars = values;
		var args = {method:'post',parameters: pars, evalScripts: true, onComplete: resp};
		var url = '/2008/admin/investor_front/dodajOgloszenie';
	
		var myAjax = new Ajax.Request(url,args);
		
		Element.hide('dam_prace');
		Element.hide('szukam_pracy');
		Element.show('ogloszenie_loading');
		
	}
}

Gielda.kontakt = function(id) {
	var formid = 'ogloszenieKontakt'+id;
	if(validate($(formid))) {
		var resp = function(req) {
			$('ogloszenieKontaktOuter'+id).innerHTML = 'Wiadomośc została wysłana.';		
		}
	
		var values = Form.serialize(formid);
		var pars = values;
		var args = {method:'post',parameters: pars, evalScripts: true, onComplete: resp};
		var url = '/2008/admin/investor_front/gieldaKontakt';
	
		var myAjax = new Ajax.Request(url,args);
		$('ogloszenieKontaktOuter'+id).innerHTML = 'Trwa wysyłanie wiadomości...';		
	}
}