//inicializacia stranky

$(document).ready(function(){
    $('.simpleMenu li:first-child').addClass('first');
    $('.oddMenu li:even').addClass('even');
	
    //stromove menu
    $('.simpleTreeMenu li:first-child').addClass('first');
    
//    $.each($('.simpleTreeMenu > ul > li'), function(k,v) {
//        $(v).addClass('level1');
//    });
//    $.each($('.simpleTreeMenu > ul > li > ul > li'), function(k,v) {
//        $(v).addClass('level2');
//    });
//    $.each($('.simpleTreeMenu > ul > li > ul > li > ul > li'), function(k,v) {
//        $(v).addClass('level3');
//    });
    $('.simpleTreeMenu').find('a + ul').prev().click(function(){   

        $(this).siblings('ul').slideDown();
        
        var additional = $(this).parent().siblings();
        
        $('ul:visible', additional).slideUp();

//        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;
}

