//inicializacia stranky

$(document).ready(function(){
	$('.simpleMenu li:first-child').addClass('first');
	$('.oddMenu li:even').addClass('even');
	
	//stromove menu
	$('.simpleTreeMenu li:first-child').addClass('first');
	$('.simpleTreeMenu').find('a + ul').prev().click(function(){
		var visib=$(this).next().is(':visible');
		$(this).next().slideToggle('slow');
		var link=$(this).attr('href');
		
		if (link.length>3 && !visib) $('.middlecolumn').load(link+'/ajax');
		return false;
	});
	
	//fancy box
	$("a.simpleFancy").fancybox({
		'zoomOpacity': true,
		'overlayShow': false,
		'zoomSpeedIn': 500,
		'zoomSpeedOut': 500
	});

	
	//uprava produktovej tabulky
	$('.produkty tr td:first-child').css('border-left','none');
	
	$('.wsgallery').WShopGallery();
	
	$('#srchtext').focus(function(){
		if($(this).val().indexOf('...')>-1) $(this).val('');
	}).focus(function(){
		this.select();
	}).keyup(function(){
		var inptext=$(this).val();
		$.getJSON('/search/ajax', { srchtext:inptext }, function(data){
			showAjaxSearch(data);
		});
	}).blur(function(){
		if ($('#srchajaxbox').is(':visible')) $('#srchajaxbox').fadeOut("slow");
	}).attr('autocomplete','off');
	
	//init AJAX send forms
	$('form.ajax').find(':submit, input[type=image]').click(function(){WGuiPostForm(this);}).end()
		.filter(':not([target])').submit(function(){return false;});
	
	//taby
	$('.WGTabs').tabs();
});

function showAjaxSearch(data) {
	var dbox=$('#srchajaxbox');
	if (dbox.length==0) { var dbox=$('<div id="srchajaxbox"></div>'); $('body').append(dbox);} else { dbox.html(''); }

	var inh='<ul>';

	$.each(data, function(i, item){	
		inh=inh+'<li><a href="'+item.url+'">'+item.name+'</a></li>';
	});
	inh=inh+'</ul>';
	
	dbox.html(inh);
	var osinput=$('#srchtext').offset();
	
	dbox.css({top:(osinput.top+$('#srchtext').height()+4)+"px"
		,left:osinput.left+"px"
	});
	dbox.fadeIn("slow");
}


function WGuiPostForm(obj) {
	if (typeof(tinyMCE)!=='undefined') {	//ulozime editory
		tinyMCE.triggerSave();
	}

	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);
		if ($(form).attr('method').toLowerCase()=='get') $.get(url, data, function (data) {$(args.ajaxTarget).html(data);});
			else $.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>');	//display none ???

		$('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
				alert(iframecont);
				$(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;
}
