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

function initContent(ajax) {
	$(".colorbox-gal").colorbox({maxHeight:"95%", slideshow:true, slideshowAuto:false});
	$(".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');
}

/* 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.href="/";	//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');
}

