$(document).ready(function () {
    if ($("ul.tree").length > 0) {
       $("ul.tree").checkTree({
       onCheck: rewriteurl,
       onUnCheck: rewriteurl
     });
     //unchekelni mindent, hogy ne rontsa el!
        $("input[name^='rss']").attr('checked', false);
        $("input[name^='cat_']").attr('checked', false);  
    }
    $("a[rel^='toggle']").click(function (e){
        e.preventDefault();
        e.stopPropagation();
       $("#"+$(this).attr("rel").slice(7)).slideToggle("slow");
    });
	
	if($('a#rssurl').length > 0)
		rssurl = $('a#rssurl').text();
});

function rewriteurl(){

var prod = new Array();
var cat = new Array();
    $.each($("input[name='rsscategories[]']:checked"), function () {
        var allsubprod=$("input[name='cat_"+$(this).val()+"[]']");
        var checkedsubprod=$("input[name='cat_"+$(this).val()+"[]']:checked");
        if(allsubprod.length==checkedsubprod.length){
            cat.push($(this).val());
        } else{
            $.each(checkedsubprod, function () {
                prod.push($(this).val());
            });
        }
    });


    


var filter= new Array();  
if(cat.length>0) filter.push('cat:'+cat.join(','));
if(prod.length>0) filter.push('prod:'+prod.join(','));

$("#rssurl").attr('href',rssurl+'/'+base64Encode(filter.join('|'))).text(rssurl+'/'+base64Encode(filter.join('|')));
}


function base64Encode(c) { 
    var a = new Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "+", "/"), g = "", b, d, e, i, h, j, f = 0, k = c.length;
    do { 
        b = c.charCodeAt(f++);
        d = c.charCodeAt(f++);
        e = c.charCodeAt(f++);
        i = b >> 2;
        b = (b & 3) << 4 | d >> 4;
        h = (d & 15) << 2 | e >> 6;
        j = e & 63; g += a[i] + a[b];
        g += isNaN(d) ? "==" : isNaN(e) ? a[h] + "=" : a[h] + a[j]; 
        } while(f < k); 
        return g;
}
