$(document).ready(init);

function init()
{
	$(document).pngFix();
	$('form.search input.query').bind('focus',function(event) { textSet(event,'search engine','clear'); });
	$('form.search input.query').bind('blur',function(event) { textSet(event,'search engine','set'); });
	$('#why_study_select').bind('change',why_study);
	
	$('#school_map div.pt').bind('mouseenter',map_point);
	//$('#school_map div.pt').hover(map_point);
	$('#school_legend a').bind('mouseenter',map_legend);
	
	for(var a in dynamicPages)
		bindDynamicPages(a,dynamicPages[a]);
		
	for(var a in ajaxPages)
		bindAjaxPages(a,ajaxPages[a]);
		
	for(var a in menus)
		enableMenus(a,menus[a]);
		
	if($('body').attr('class') == 'print')
		window.print();
	
	var h = $(document).height();
	$('#popup_bg').height(h)
	
	bindDynamic();
	
	$('div.forms input.submit').attr('value','');
}

function bindDynamic()
{
	
	$('#popup_close').unbind('click');
	$('#popup_close').bind('click',function(e) { e.preventDefault(); $('#popup_set').css('display','none'); });
	$('a.gallery_link').unbind('click');
	$('a.gallery_link').bind('click',galleryOpen);
}

function galleryOpen(e)
{
	e.preventDefault();
	$e = $(e.target);
	if($e.attr('class').split(' ')[0] != 'more')
		$e = $e.parent();
		
	id = $e.attr('href').split('/');
	id = id[id.length-1];
	id = id.split('.');
	id = id[0];
	send(popupLoop,'multimedia&what=gallery&img='+id,{});
}

function courseSubmit(e)
{
	e.preventDefault();
	$e = $(e.target);
	where = $e.attr('id').split('_')[1];
	send(popupLoop,'courses&what=info&page='+where,{});
}

function popupLoop(msg,data)
{
	//alert(1);
	$('#popup_set').css('display','block');
	data = data.split('$$');
	$('#popup').css('width',data[0]+'px');
	$('#popup_data').html(data[1]);
	bindDynamic();
	var h = $(document).height();
	$('#popup_bg').height(h)
}

function enableMenus(name,popups)
{
	for(pos in popups)
		eval('$(\'#link_'+name+'_'+pos+'\').bind(\'mouseenter\',function(e) { showSubMenu(\''+popups[pos]+'\'); })');
	for(var a=1;a<=menusLen[name];a++)
		if(menus[name][a] == null)
			eval('$(\'#link_'+name+'_'+a+'\').bind(\'mouseenter\',function(e) { hideSubMenu(); })');
			
}

function showMapBubble(no)
{
	for(var a=1;a<10;a++)
		$('#school_legend a.map_'+a).attr('class','map_'+a);
	$('#school_legend a.map_'+no).attr('class','map_'+no+' active');
	
	$b = $('#map_bubble');
	$b.attr('class','bubble');
	
	data = $('#bubble_proto').html();
	data = data.replace('#name',mapBubble[no]['name']);
	data = data.replace('#id',mapBubble[no]['id']);
	data = data.replace('#addr1',mapBubble[no]['addr1']);
	data = data.replace('#addr2',mapBubble[no]['addr2']);
	data = data.replace('#addr3',mapBubble[no]['addr3']);
	data = data.replace('#addr4',mapBubble[no]['addr4']);
	data = data.replace('#www',mapBubble[no]['www']);
	data = data.replace('#mail',mapBubble[no]['mail']);
	data = data.replace('#www',mapBubble[no]['www']);
	data = data.replace('#mail',mapBubble[no]['mail']);
	data = data.replace('#more_link',mapBubble[no]['link']);
	data = data.replace('#google_link',mapBubble[no]['google']);
	
	var y = mapBubble[no]['y'] - 9;
	var x = mapBubble[no]['x'] + 30;
	
	$b.html(data);
	
	if(y > 230)
	{
		$t = $('#map_bubble div.arrow');
		var pos = $b.height()-12;
		y -= $b.height()-22;
		$t.css('top',pos+'px');
	}
	else
		$('#map_bubble div.arrow').css('top','12px');
	
	$b.css('left',x+'px');
	$b.css('top',y+'px');
}

function map_point(e)
{
	$e = $(e.target);
	var cls = $e.attr('class');
	var no = cls.split(' ');
	no=no[0].split('_');
	no=no[1];
	showMapBubble(no);
}

function map_legend(e)
{
	$e = $(e.target);
	var cls = $e.attr('class');
	var no = cls.split(' ');
	if(no[1] == 'active')
		return;
	no=no[0].split('_');
	no=no[1];
	showMapBubble(no);
}

function why_study(e)
{
	var pos = $('#why_study_select').val();
	$('#why_study_text').html($('#why_study_part_'+pos).html());
}

function faq(e)
{
	var pos = e;
	$('#faq').html($('#faq_'+pos).html());
}

function hideSubMenu()
{
	$('#sub_menu').html('');
}

function showSubMenu(menu)
{
	$('#sub_menu').html($('#'+menu).html());
}

function bindDynamicPages(id,pages)
{
	for(var a=0;a<pages;a++)
		$('#textLink_'+id+'_'+a).bind('click', function(e) { txtSwitch(e); });
}

function bindAjaxPages(id,pages)
{
	for(var a=0;a<pages[0];a++)
	{
		var t = '$(\'#textLink_'+id+'_'+a+'\').bind(\'click\',function(e) { e.preventDefault(); ';
		t = t+'send(ajaxSwitch,\''+pages[1]+'&page='+a+'\',{textGet: 1}); })';
		eval(t);
	}
}

//jako pierwszy argument przyjmuje id w ktore ma wsadzic txt
function ajaxSwitch(msg,data)
{
	data = data.split('##');
	$('#'+data[0]).html(data[1]);
}


function txtSwitch(e)
{
	e.preventDefault();
	var id = e.target.id.substr(9);
	var pos = id.split('_')[0];
	var linkNo = id.split('_')[1];
	linkNo++;
	
	$e = $(e.target);
	$e.parent().find('a.naviLink').each(function(){
		$n = $(this);
		cls = $n.attr('class').split(' ');
		$n.attr('class',cls[0]+" "+cls[1]);
	});
	
	$e.attr('class','naviLink page_'+linkNo+' active'+linkNo);
	$('#textHolder_'+pos).html($('#textPart_'+id).html());
	bindDynamic();
}

function textSet(event,def,mode)
{
	var $target = $(event.target);
	
	if(mode == 'clear')
	{
		if($target.val() == def)
			$target.val('');
	}
	else
	{
		if($target.val() == '')
			$target.val(def);
	}
	
}

function reciver(loop,data)
{
	var res = data.split('##');
	if(res.length != 2)
	{
		alert('error: '+data);
		return;
	}
	loop(res[0],res[1]);
}

function send(loop,mod,data)
{
	$.post('index.php?r=ajax&m='+mod,data,function(out) { reciver(loop,out); });
}
