jQuery(document).ready(function(){
    ;//
});
var ar_ajx_sep = '|::|';
function ar_show_ratings(){
    jQuery.ajax({
       type: "GET",
       url: ar_ajx_url,
       data: 'ar_ajx_action=show_ratings&article_id='+ar_article_id,
       success: function(msg){
            spl = msg.split(ar_ajx_sep);
            jQuery('#ar-ratings-big').html(spl[0]);
            jQuery('#ar-ratings-small').html(spl[1]);
            if(jQuery('.rating_image_active_up').length){
                jQuery('.rating_image_active_up').one("click", function(){ar_rate_article(1)});
                jQuery('.rating_image_active_down').one("click", function(){ar_rate_article(0)});
                //preload images
                var ar_dis_up = new Image(30,30);
                ar_dis_up.src = jQuery('.rating_image_active_up').attr('src').replace('.gif','_disabled.gif')
                var ar_dis_down = new Image(30,30);
                ar_dis_down.src = jQuery('.rating_image_active_down').attr('src').replace('.gif','_disabled.gif')        
            }
            switch(spl[2]){
                case '1':                    
                    ar_custom_comment_form(spl[3],spl[4], spl[5])
                    jQuery('#commentform').before('<p>You are logged in as: '+spl[3]+' (<a href="#logout" rel="nofollow">Logout</a>).</p>');  
                    jQuery('a[href="#logout"]').click(mybna_logout);
                    break;
                case '2':
                    break;
                default:
                    jQuery('#commentform').before('<p id="mybna_notloggedin">You are not logged in. <a href="http://my.bootsnall.com/login?redirect_to='+spl[3]+'" rel="nofollow">Login</a> | <a href="#register" rel="nofollow">Register</a></p><div id="mybna-register-box"></div>');  
                    jQuery('a[href="#register"]').click(show_mybna_register_box);
                    jQuery('#commentform').html('<input type="hidden" name="comment_post_ID"" value="'+jQuery('#comment_post_ID').val()+'" id="comment_post_ID" />'
                        + '<input type="hidden" name="comment_parent"" value="'+jQuery('#comment_parent').val()+'" id="comment_parent" />');
            }
       }
     });    
}

function ar_rate_article(vote){
    jQuery.ajax({
       type: "POST",
       url: ar_ajx_url,
       data: "ar_ajx_action=save_vote&article_id="+ar_article_id+'&vote='+vote,
       success: function(msg){
            if(msg=='-1'){ 
                current_rating = parseInt(jQuery('.ar_rate_'+vote+' .rate_number').html());
                jQuery('.ar_rate_'+vote+' .rate_number').html(current_rating+1);    
                jQuery('.ar_rate_small_'+vote).html(current_rating+1);    
            }            
            jQuery('.rating_image_active_up, .rating_image_active_down').each(function(){
                jQuery(this).attr('src', jQuery(this).attr('src').replace('.gif','_disabled.gif'));
                jQuery(this).unbind("click");
            })
       }
     });    
}

function ar_custom_comment_form(author, email, url){
    jQuery('#commentform').html('<input style="display:none" type="hidden" name="author" id="author" value="'+author+'"/>' 
    + '<input style="display:none" type="hidden" name="email" id="email" value="'+email+'"/>'
    + '<input style="display:none" type="hidden" name="url" id="url" value="'+url+'"/>'
    + '<textarea name="comment" id="comment" cols="40" rows="4"></textarea>'
    + '<input type="hidden" name="cmnonce"" value="" id="cmnonce" />'
    + '<input type="hidden" name="comment_post_ID"" value="'+jQuery('#comment_post_ID').val()+'" id="comment_post_ID" />'
    + '<input type="hidden" name="comment_parent"" value="'+jQuery('#comment_parent').val()+'" id="comment_parent" />'
    + '<br /><input type="submit" name="Submit" value="Submit comment">');
}

function show_mybna_register_box(){    
    jQuery("#mybna-register-box").load(ar_ajx_url,{ar_ajx_action:'load_tpl',tpl:'mybna_register'}, function(){
        jQuery('a[href="#register"]').hide();
        jQuery("#mybna-register-box").slideDown();            
        jQuery("#mybna_cancel_reg").click(function(){jQuery("#mybna-register-box").slideUp();jQuery('a[href="#register"]').show();});
        jQuery("#mybna-register-box form").submit(mybna_submit_registration);
    });    
}

function mybna_submit_registration(){
    form_err = false;
    jQuery("#mybna_submit_reg").attr('disabled','disabled');
    jQuery('.frm_error').hide();
    jQuery("#mybna-register-box form input[type='text']").each(function(){
        if(jQuery(this).hasClass('required') && !jQuery(this).val()){
            jQuery(this).parent().append('<span class="frm_error">required field!</span>');
            form_err = true;
        }
    });
    if(!form_err){
        if(jQuery("#mybna-register-box form input[name='mybna_password']").val() != jQuery("#mybna-register-box form input[name='mybna_password2']").val()){
            jQuery("#mybna-register-box form").prepend('<span class="frm_error">Passwords don\'t match</span>');
            form_err = true;
        }else if(jQuery("#mybna-register-box form input[name='mybna_password']").val().length < 6){
            jQuery("#mybna-register-box form").prepend('<span class="frm_error">Password must be at least 6 characters long</span>');
            form_err = true;
        }
    }
    if(!form_err && !echeck(jQuery("#mybna-register-box form input[name='mybna_email']").val())){
        jQuery("#mybna-register-box form").prepend('<span class="frm_error">Invalid email address</span>');
    }
    
    if(!form_err){
        jQuery.ajax({
           type: "POST",
           url: ar_ajx_url,
           data: "ar_ajx_action=mybna_registration&"+jQuery("#mybna-register-box form").serialize(),
           success: function(msg){
                spl = msg.split('|');
                if(spl[0]==0){
                    jQuery("#mybna-register-box form").prepend('<span class="frm_error">'+spl[1]+'</span>');
                }else{
                    ar_custom_comment_form(jQuery("#mybna-register-box form input[name='mybna_username']").val(), jQuery("#mybna-register-box form input[name='mybna_email']").val(),'');
                    jQuery('#cmnonce').val(spl[2]);
                    jQuery("#mybna-register-box").html('<span class="frm_success">'+spl[1]+'</span>');                    
                }
                jQuery("#mybna_submit_reg").removeAttr('disabled');
           }
         });    
    }    
    if(form_err){
        jQuery("#mybna_submit_reg").removeAttr('disabled');
    }    
    return false;
}

function mybna_logout(){
    jQuery(this).removeAttr('href').html('logging out...').css('color','#999').css('text-decoration','none');
    jQuery.ajax({
        type: "POST",
        url: ar_ajx_url,
        data: "ar_ajx_action=mybna_logout",
        success: function(msg){            
            location.href = location.href.replace('#logout','');
        }
    });    
}

var bugchars = '!#$^&*()+|}{[]?><~%:;/,=`"\'';
function CharsInBag(s)
{   var i;
var lchar="";
    // Search through string's characters one by one.
    // If character is not in bag.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if(i>0)lchar=s.charAt(i-1)
        if (bugchars.indexOf(c) != -1 || (lchar=="." && c==".")) return false;
    }
    return true;
}
function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is not a number.
        var c = s.charAt(i);
        if ((c >= "0") && (c <= "9") && (c != ".")) return false;
    }
    // All characters are numbers.
    return true;
}

function echeck(str) {
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    var lastdot=str.lastIndexOf(dot)
    if (str.indexOf(at)==-1){
       return false;
    }
    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
       return false;

    }
    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr || str.substring(lastdot+1)==""){
        return false;
    }
     
     if (str.indexOf(at,(lat+1))!=-1){
        return false;
     }

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        return false;
     }

     if (str.indexOf(dot,(lat+2))==-1){
        return false;
     }
    
     if (str.indexOf(" ")!=-1){
        return false;
     }
    if(CharsInBag(str)==false){
        return false;
     }
     var arrEmail=str.split("@")
     var ldot=arrEmail[1].indexOf(".")
     if(isInteger(arrEmail[1].substring(ldot+1))==false){
        return false;
     }
      return true                    
}
