var ajax = '/ajax.php';

$(document).ready(function() {
    if(!$('div.important').length) {
        $('div#content h2').after('<div class="important"><p></p></div>');
        $('div.important').hide();
    }
    $('#passwords').hide();
        
    var div = $('div.important');
    
    $.getJSON(ajax + '?cmd=japtcha', function(data) {
        $('<input type="hidden" name="japtcha_key" value="'+ data.key +
          '" />').appendTo('form#create');
        $('<input type="hidden" name="japtcha_response" value="' +
          eval(data.chal) + '" />').appendTo('form#create');
    });
    
    $('input#slug').blur(function() {
        if(!valid_slug($(this).val())) {
            show_error('p', div, lang.error_slug);
        } else {
            $.get(ajax, {cmd:'slug',value:$(this).val()}, function(data) {
                if(!parseInt(data))
                    show_error('p', div, lang.error_slug_exists)
            });           
        }
    });
    
    $('input#slug').change(function() {     
        $('ul#create-topic span.url').text('http://www.speeka.net/' + $(this).val());
    });

    $('input#title').blur(function() {
        var val = create_slug($(this).val());
        $.get(ajax, {cmd:'slug',value:val}, function(data) {
            if(parseInt(data)) {
                $('input#slug').val(val).change();    
            }
        });          
    });
    
    $(':radio').change(function() {
       if($(this).val() != 'open')
           $('#passwords').show();
        else
            $('#passwords').hide();
    });
    
    $('form#create').submit(function() {
        if($.trim($('input#title').val()) == '') {
            show_error('p', div, lang.error_title);
            return false;
        }
        
        if(!valid_slug($('input#slug').val())) {
            show_error('p', div, lang.error_slug);
            return false;
        }
        
        if($('form#create :radio:checked').val() != 'open') {
            var pwd1 = $('input#pwd1').val();
            var pwd2 = $('input#pwd2').val();
            
            if(!check_passwords(pwd1, pwd2)) {
                show_error('p', div, lang.error_password)
                return false;
            }
            
        }        
        return true;
    });
    
    // ie fix
    $('#menu li').mouseover(function() {
        if($('ul', this).length)
            $('ul', this).css('display', 'block');
    });
    
    $('#menu li').mouseout(function() {
       if($('ul', this).length)
            $('ul', this).css('display', 'none'); 
    });
    
    
    // lang choosing
    $('#menu li ul a').click(function() {
       var expire = new Date();
       expire.setDate(expire.getDate() + 30);
       document.cookie = 'lang=' + $('img', this).attr('alt') +  '; expires='
        + expire.toUTCString() + '; path=/';
       window.location.reload();
       
       return false;
    }); 
});

function show_error(element, div, text)
{
    $(element, div).text(text);
    $(div).show();
}

function create_slug(input)
{   
    var result = input.replace(/[ ]/g,'-').toLowerCase();
    return result.replace(/[^a-z0-9-\/_]/g,'');
}

function valid_slug(slug)
{
    var pattern = /^[a-z0-9-\/_]+$/
    if (pattern.test(slug))
        return true;
    else
        return false;
    
}

function check_passwords(a, b)
{
    a = $.trim(a);
    b = $.trim(b);
    
    if((a != '') && (a.length > 5) && (a == b))
        return true;
    else
        return false;
}

