$(document).ready(function(){
	initContent(false);
	$(document).ajaxComplete(function(ev, req, settings){
		initContent(true);
	});
});

function initContent(ajax) {
	$(".colorbox-gal").colorbox({maxHeight:"95%", slideshow:true, slideshowAuto:true, slideshowSpeed: 3500});
	$(".colorbox-iframe").colorbox({width:"90%", height:"90%", iframe:true});
	$(".colorbox-video").colorbox({width:650, height:550, iframe:true});
	
	$('form.ajax').find(':submit').unbind().click(function(){WGuiPostForm(this);}).end()
		.filter(':not([target])').submit(function(){return false;});
		
	if (!ajax) {
		$('.baner1').load('/baners/getbaner/1');
		$('.baner4').load('/baners/getbaner/4');
		$('.baner5').load('/baners/getbaner/5');
		
		//topmenu
		topmenu.init();
		$('#gtranslatebutton').click(function(){
			$('#google_translate_element').fadeIn();
			return false;
		});

		var gtranstime=0;
		$('#google_translate_element').mouseleave(function(){
			var $this=$(this);
			clearTimeout(gtranstime);
			gtranstime = setTimeout(function(){
				$this.fadeOut();
			},5000);
		}).mousemove(function(){
			clearTimeout(gtranstime);
		});
	}
}

topmenu={
	showmenu:null,
	slidingtimer:0,
	init:function(){
		$('#maincatmenu li').hover(function(){
			clearTimeout(topmenu.slidingtimer);
			$(this).addClass('hover');
			var lid=$(this);
			var act=$('#subcats ul:visible');
			if (act.attr('id')==lid.attr('rel')) return;
			act.hide();
			$('#subcats ul:animated').stop(true, true).hide();
			$('#'+lid.attr('rel')).slideDown('medium');
		}, function(){
			$(this).removeClass('hover');
			topmenu.slidingtimer=setTimeout(topmenu.hideAll,400);
		});
		
		$('#subcats ul').hover(function(){
			clearTimeout(topmenu.slidingtimer);
		}, function(){
			topmenu.slidingtimer=setTimeout(topmenu.hideAll,400);
		});
	},
	hideAll:function(){
		var act=$('#maincatmenu li.active').attr('rel');
		$('#subcats ul:visible:not(#'+act+')').hide();
		
		$('#'+act+':hidden').slideDown('medium');
	}
}

/* AJAXove citanie obsahu */
function loadContent(tobj, opt) {	//this obj, options
	if (opt.url=='') return;
	
	tobj.load(opt.url);
}

/* Portlety */
function initPortlets() {
	$('.WGPortlets:not(.ui-widget)').sortable({
		connectWith: [ '.WGPortlets' ],
		items: '> .WGPortlet',
		handle: '.WGPortlet-header',
		distance: 2,
		tolerance: 'pointer',
		opacity: 0.75,
		update:function(event, ui) {
			var sstring={};
			$('.WGPortlets').each(function(i) {
				var pstring='';
				$(this).find('.WGPortlet').each(function(a){
					pstring=pstring+this.id+',';
				});
				
				sstring['order['+this.id+']']=pstring.substr(0,pstring.length-1);
			});

			$.post('/uzivatel/saveportlets', sstring);
		}
	});

	$(".WGPortlet .WGPortlet-header .right-corner").after('<span class="WGRollup"></span>').parent().find(".WGRollup")
			.click(function() {
				var prt=$(this).parents(".WGPortlet");
				var prtc=prt.find(".WGPortlet-content").slideToggle('slow', function() {
					var sstring={};
					$('.WGPortlets').each(function(i) {
						var pstring='';
						$(this).find('.WGPortlet').each(function(a){
							pstring=pstring+this.id+':'+($(this).find('.WGPortlet-content').is(':visible') ? '1':'0')+',';
						});
						
						sstring['visibility['+this.id+']']=pstring.substr(0,pstring.length-1);
					});
					
					$.post('/uzivatel/saveportlets', sstring);
				});
			});
}

/* Farby */
function toggleColors() {
	if ($.cookie('backcolor')=='light') $.cookie('backcolor', 'dark', {path:'/', expires:300});
		else $.cookie('backcolor', 'light', {path:'/', expires:300});
		
	$('.chcolor').toggleClass('whiteback');
//	window.location.reload(true);
}

function insertSmile(num) {
	tag = '*'+num+'#';
	var my_field = document.getElementById('comment');

	if (document.selection) {
		my_field.focus();
		sel = window.document.selection.createRange();
		sel.text = tag;
		my_field.focus();
	} else if (my_field.selectionStart || my_field.selectionStart == '0') {
		var startPos = my_field.selectionStart;
		var endPos = my_field.selectionEnd;
		var cursorPos = endPos;
		my_field.value = my_field.value.substring(0, startPos)+tag+my_field.value.substring(endPos, my_field.value.length);
		cursorPos += tag.length;
		my_field.focus();
		my_field.selectionStart = cursorPos;
		my_field.selectionEnd = cursorPos;
	} else {
		my_field.value += tag;
		my_field.focus();
	}
}

function WGuiPostForm(obj) {
	if (arguments.length==2) args=arguments[1]; else args={};

	if (args.formName==null) {	//get form object
		var jqform = $(obj).parents('form');
		var form = jqform.get(0);
		args.formName=jqform.attr('id');
	} else var form = $('#'+args.formName).get(0);
	
	if (args.ajaxTarget==null) {	//get nearest ajax target
		args.ajaxTarget = $(form).parents().filter(function(index){ return $(this).hasClass('ui-tabs-panel') || $(this).hasClass('ajax') || $(this).hasClass('ui-dialog-content');}).get(0);
	} else args.ajaxTarget = $('#'+args.ajaxTarget).get(0);
	

	var url=form.action;
	var data=WGuiFormToObject(args.formName);
	
	var frmtarget=$(form).attr('target');

	if (frmtarget=='' || frmtarget==null) {	//ak neposielame subor, cez "ajax"
		var url=form.action;
		var data=WGuiFormToObject(args.formName);
		$.post(url, data, function (data) {$(args.ajaxTarget).html(data);});
	} else {	//ak posielame so suborom cez ajax, tak trochu cheat-ujeme ;-)
		//vytvorime si iframe
		$(form).after('<iframe width="0" height="0" frameborder="0" name="'+frmtarget+'"></iframe>');

		$('html').mousemove(function(e){
			var iframecont = $('iframe[name='+frmtarget+']').contents().find('body').html();
			$('iframe[name='+frmtarget+']').contents().find('body').html('');
		
			if(iframecont != '' && iframecont!=null){	//ak mame nieco z iframu, tak to hodime do ajaxTargetu
				$(args.ajaxTarget).html(iframecont);
			}
		});
	}
}

//formularove funkcie
function WGuiFormToObject(name) {
	var frm=document.forms[name];
	var jsonobj={}
	for(i=0;i<frm.length;i++) {
		switch(frm[i].nodeName.toLowerCase()) {
			case 'textarea':
				jsonobj[frm[i].name]=frm[i].value;
			break;
			case 'select':
				jsonobj[frm[i].name]=frm[i].value;
			break;
			case 'input':
				switch(frm[i].type.toLowerCase()) {
					case 'text':
					case 'password':
					case 'hidden':
						jsonobj[frm[i].name]=frm[i].value;
					break;
					case 'radio':
						if (frm[i].checked==true) {
							jsonobj[frm[i].name]=frm[i].value;
						}
					break;
					case 'checkbox':
						if (frm[i].checked==true) {
							jsonobj[frm[i].name]=frm[i].value;
						} else {
							jsonobj[frm[i].name]='';
						}
					break;
				}
			break;
		}
	}
	return jsonobj;
}

function topLogin(frm) {
	$.post('/uzivatel/login', $(frm).find('input').serialize(), function(data) {
		if (data.error) {
			alert(data.error);
			return;
		}
		if (data.reload) window.location.reload(true);
	},'json');
}

function topLogout() {
	$.post('/uzivatel/logout', {'toplogin':1}, function(data){window.location.href='/';}, 'json');
}

function FBLogin() {
	$.getJSON('/uzivatel/facebook', function(data) {
		if (data.redirect) window.location.href=data.redirect;
		if (data.reload) window.location.reload(true);
		else window.location.href='/uzivatel/facebook';
		
	});
}

function topRegister(frm) {
	$.post('/uzivatel/registracia', $(frm).parents('form').find('input').serialize(), function(data) {
		if (data.error) {
			alert(data.error);
			return;
		}
		if (data.ok) {
			$(frm).parents('form').find('input:not(:hidden,:checkbox)').val('').end().find('input:checkbox').attr('checked','');
			alert(data.ok);
			if (data.close) $('.logslider').slideUp();
		}
	},'json');
}

function bookmarkto(sname) {
	var siteprefix='http://www.facebook.com/share.php?u=';
	var width=600, height=400;
	switch(sname) {
		case 'twitter':
			siteprefix='http://twitthis.com/twit?url=';
			width=600; height=610;
		break;
	}
	var wparams='width='+width+',height='+height+',left='+parseInt((screen.availWidth/2) - (width/2))+',top='+parseInt((screen.availHeight/2) - (height/2));
	window.open(siteprefix+encodeURIComponent(window.location.href),'social', wparams);
}

function showmailform() {
	$('.sendmail').slideToggle('medium');
}

function sendmail(frm){
	$.post('/spravodajstvo/sendmail', $(frm).find('input,textarea').serialize(), function(data) {
		if (data.error) {
			alert(data.error);
			return;
		}

		alert('Správa bola odoslaná.');
		$('.sendmail').slideUp().find(':input').val('');
	},'json');
}


