$(function() {
    /** add comment */
    $('#b_add_com').click(function()
    {
        var er = '';

        var lgn = $('#lgn').val();

        if (!lgn)
        {
            if (jQuery.trim($('#clogin').val()) == '')
            {
                er += 'Please specify login<br />';
            }
            if (jQuery.trim($('#cpass').val()) == '')
            {
                er += 'Please specify password<br />';
            }
        }

        if (jQuery.trim($('#story').val()) == '')
        {
            er += 'Please specify message<br />';
        }

        if (!$('#rt_1').is(":checked") && !$('#rt_2').is(":checked"))
        {
            er += 'Please select rate';
        }
        else
        {
            var rate = $('#rt_1').is(":checked") ? 1 : 0;
        }

        $('#addok').html('');
        if (!er)
        {
            $('#er').html('');
            $.ajax({
                type: "POST",
                dataType: "json",
                data: "act=ajax_add_com&id=" + $('#id').val() + "&clogin=" + $('#clogin').val() + "&cpass=" + $('#cpass').val() + "&story=" + $('#story').val()+"&rate=" + rate,
                url: "/index.php",
                success: function (data)
                {
                    if (data.q == 'err')
                    {
                        var er = '';
                        for (var i in data.errs)
                        {
                            er += data.errs[i] + '<br />';
                        }
                        $('#er').html(er);
                    }
                    else if (data.q == 'ok')
                    {
                        $('#clogin').val('');
                        $('#cpass').val('');
                        $('#story').val('');
                        $('#addok').html('<br />Comment added. After checking the moderator will be published.');
                    }
                }
            });
        }
        else
        {
            $('#er').html(er);
            return false;
        }
    });

    /** preview comment */
    $('#b_preview').click(function()
    {

    });

    /** clear comment form */
    $('#b_clear').click(function() {
        $('#clogin, #cpass, #story').val('');
    });


    $('#do_vote').click(function()
    {
        var rt = 0;
        $('.rating').each(function() {
           if ($(this).is(':checked'))
           {
               rt = $(this).val();
           }
        });
        if (!rt)
        {
            alert('Please select Your score!');
        }
        else
        {
            $.ajax({
                type: "POST",
                dataType: "json",
                data: "act=ajax_vote&id=" + $('#id').val()+'&rt='+rt,
                url: "/index.php",
                success: function (data)
                {
                    if (data.q == 'err')
                    {
                        
                    }
                    else if (data.q == 'ok')
                    {
                        $('#do_vote').hide();
                        $('#cur_rating').html( data.rt );

                        $('.rate-form fieldset').each(function()
                        {
                            var $fieldset = $(this)
                            var $links = $fieldset.find('a');
                            $links.unbind('hover');
                            $links.unbind('click');
                            $links.bind('click', function() {
                                return false;
                            });
                            $links.bind('hover', function() {
                                return false;
                            });
                        });
                    }
                }
            });
        }
    });

});


function isValidEmail(email) {
    validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
    if (email.search(validRegExp) == -1)
    {
        return false;
    }
    return true;
}



function GetSimilarAsk()
{
    $.ajax({
                type: "POST",
                dataType: "json",
                data: "str="+$('#title').val()+"&type=base&mod=answers&act=similar",
                url: "/index.php",
                success: function (data)
                {
                    if (data.q == 'ok')
                    {
                        if (data.data != undefined && data.data != '')
                        {
                            $("#similar").html( data.data );
                        }
                    }
                }
            });
}


function ShowLogin()
{
    var txt = '<strong class="header-uppercased" style="margin:0px;padding:0px;">Sign In:</strong><div style="color:red;padding-top:10px;display:none;" id="signin_err">Error login or password</div><form class="basic-form comment-form" style="margin-top:0px;padding-top:0px;"><p class="signin"><fieldset>\n\
							<label>Login</label>\n\
							<input type="text" id="login" name="login" class="text-input" />\n\
							<label>Password</label>\n\
							<input type="password" id="pass" name="pass" class="text-input" />\n\
						</p></fieldset>\n\
               </form>';
    var sts = {
        state0: {
            html:txt,
            buttons: { Cancel: 'Cancel', Next: 'Submit' },
            focus: 1,
            submit:function(v, m, f)
            {

                if (!v)
                {
                    return true;
                }
                else if ('Cancel'==v)
                {
                    $.prompt.close();
                }
                else
                {
                    $.ajax({
                        type:     'POST',
                        dataType: 'json',
                        data:     "login=" + $('#login').val() + "&pass=" + $('#pass').val(),
                        url:      '/?act=login',
                        success: function (data)
                        {
                            if (data.q == 'ok')
                            {
                                //$.prompt.goToState('state1');
                                document.location = cur_url;
                            }
                            else
                            {
                                $('#signin_err').show();
                            }
                        }
                    });
                }
                return false;
            }
        }/*,
        state1: {
            html:'',
            buttons: { Back: -1, Exit: 0 },
            focus: 1,
            submit:function(v, m, f)
            {
                if (v == 0) $.prompt.close()
                else if (v = -1)
                    $.prompt.goToState('state0');
                return false;
            }
        }
        */
    };
    $.prompt(sts);
}


function ShowSignUp()
{
    var txt = '<strong class="header-uppercased" style="margin:0px;padding:0px;">Sign Up:</strong><div style="color:red;padding-top:10px;display:none;" id="signin_err">Error login or password</div><form class="basic-form comment-form" style="margin-top:0px;padding-top:0px;"><p class="signin"><fieldset>\n\
                            <label>Firstname</label>\n\
							<input type="text" id="firstname" name="firstname" class="text-input" />\n\
                            <label>Lastname</label>\n\
							<input type="text" id="lastname" name="lastname" class="text-input" />\n\
                            <label>Email</label>\n\
							<input type="text" id="email" name="email" class="text-input" />\n\
                            <label>Login</label>\n\
							<input type="text" id="login" name="login" class="text-input" />\n\
                            <label>Password</label>\n\
							<input type="password" id="pass" name="pass" class="text-input" />\n\
						    <label>Repeat password</label>\n\
		                 	<input type="password" id="pass2" name="pass2" class="text-input" />\n\
                            </p></fieldset>\n\
               </form>';
    var sts = {
        state0: {
            html:txt,
            buttons: { Cancel: 'Cancel', Next: 'Submit' },
            focus: 1,
            submit:function(v, m, f)
            {

                if (!v)
                {
                    return true;
                }
                else if ('Cancel'==v)
                {
                    $.prompt.close();
                }
                else
                {
                    $.ajax({
                        type:     'POST',
                        dataType: 'json',
                        data:     {
                            "firstname" : $('#firstname').val(),
                            "lastname"  : $('#lastname').val(),
                            "login"     : $('#login').val(),
                            "email"     : $('#email').val(),
                            "pass"      : $('#pass').val(),
                            "pass2"     : $('#pass2').val()
                        },
                        url:      '/?act=reg',
                        success: function (data)
                        {
                            if (data.q == 'ok')
                            {
                                $.prompt.goToState('state1');
                            }
                            else
                            {
                                $('#login, #pass, #pass2, #email, #firstname, #lastname').css('border', '1px solid #E7E7E7');
                                for (var i in data.errs)
                                {
                                    $('#'+i).css('border', '1px solid red');
                                    if (i=='pass')
                                    {
                                        $('#pass2').css('border', '1px solid red');
                                    }
                                }
                                //$('#signin_err').show();
                            }
                        }
                    });
                }
                return false;
            }
        },
        state1: {
            html:'Регистрация выполнена. На ваш e-mail отправлено письмо с подтверждением.',
            buttons: { Exit: 'Ok' },
            focus: 1,
            submit:function(v, m, f)
            {
                if (v == 'Ok')
                    $.prompt.close()
                
                return false;
            }
        }

    };
    $.prompt(sts);
}


function ShowProfile(firstname, lastname, email, login, avatar)
{
    var txt = '<strong class="header-uppercased" style="margin:0px;padding:0px;">Edit profile:</strong><div style="color:red;padding-top:10px;display:none;" id="signin_err">Error login or password</div><form class="basic-form comment-form" style="margin-top:0px;padding-top:0px;"><p class="signin"><fieldset>\n\
                            <label>Firstname</label>\n\
							<input type="text" value="'+firstname+'" id="firstname" name="firstname" class="text-input" /><div id="e_firstname" style="color:red;"></div>\n\
                            <label>Lastname</label>\n\
							<input type="text" value="'+lastname+'" id="lastname" name="lastname" class="text-input" /><div id="e_lastname" style="color:red;"></div>\n\
                            <label>Email</label>\n\
							<input type="text" value="'+email+'" id="email" name="email" class="text-input" /><div id="e_email" style="color:red;"></div>\n\
                            <label>Login</label>\n\
							<input type="text" value="'+login+'" id="login" name="login" class="text-input" /><div id="e_login" style="color:red;"></div>\n\
                            <label>Avatar</label>\n\
		                 	<input type="file" id="file" name="file" />\n\
                            </p></fieldset>\n\
               </form>';
    var sts = {
        state0: {
            html:txt,
            buttons: { Cancel: 'Cancel', Next: 'Submit' },
            focus: 1,
            submit:function(v, m, f)
            {

                if (!v)
                {
                    return true;
                }
                else if ('Cancel'==v)
                {
                    $.prompt.close();
                }
                else
                {

                    $.ajax({
                        type:     'POST',
                        dataType: 'json',
                        data:     {
                            "firstname" : $('#firstname').val(),
                            "lastname"  : $('#lastname').val(),
                            "login"     : $('#login').val(),
                            "email"     : $('#email').val(),
                            "pass"      : $('#pass').val(),
                            "pass2"     : $('#pass2').val()
                        },
                        url:      '/?act=changeprofile',
                        success: function (data)
                        {
                            if (data.q == 'ok')
                            {

                                ajaxFileUpload();

                                //setTimeout('document.location = \'/\';', 1000);
                                //$.prompt.goToState('state1');
                            }
                            else
                            {
                                $('#login, #pass, #pass2, #email, #firstname, #lastname').css('border', '1px solid #E7E7E7');
                                $('#e_login, #e_pass, #e_pass2, #e_email, #e_firstname, #e_lastname').html('');
                                for (var i in data.errs)
                                {
                                    $('#'+i).css('border', '1px solid red');
                                    if (i=='pass')
                                    {
                                        $('#pass2').css('border', '1px solid red');
                                    }

                                    $('#e_'+i).html(data.errs[i]);
                                }
                                //$('#signin_err').show();
                            }
                        }
                    });
                }
                return false;
            }
        },
        state1: {
            html:'Профайл изменен.',
            buttons: { Exit: 'Ok' },
            focus: 1,
            submit:function(v, m, f)
            {
                if (v == 'Ok')
                    $.prompt.close()

                return false;
            }
        }

    };
    $.prompt(sts);
}


function ajaxFileUpload()
{
    //starting setting some animation when the ajax starts and completes
    $("#loading").ajaxStart(function()
    {
        $(this).show();
    }).ajaxComplete(function()
    {
        $(this).hide();
    });

    $.ajaxFileUpload(
    {
        url:'/?act=uploadimg',
        secureuri:false,
        fileElementId:'file',
        dataType: 'json',
        success: function (data, status)
        {
            setTimeout('document.location = \'/\';', 1000);
            $.prompt.goToState('state1');
        },
        error: function (data, status, e)
        {
            alert(e);
        }
    });
    return false;
}


function ShowMoreComments(id, page)
{
    $.ajax({
        type:     'POST',
        dataType: 'json',
        data:     {
            "id" : id,
            "page_com"  : page
        },
        url:      '/?act=ajax_get_comments',
        success: function (data)
        {
            if (data.data)
            {
                $('#coms').html($('#coms').html() + data['data']);

                if (1*data.page_com * data.com_show_cnt < 1*data.coms_cnt)
                {
                    var pg = '<a href="javascript:void(0);" onclick="ShowMoreComments(\''+data.id+'\', \''+(1*data.page_com+1)+'\');">Show more</a>';
                }
                else
                {
                    var pg = '';
                }
                $('#coms_show_more').html( pg );
            }
        }
    });
}


function ShowPage( link, page )
{
    $.ajax({
        type:     'POST',
        dataType: 'json',
        data:     {
            "page" : page,
            "ajax_result" : 1
        },
        url: link,
        success: function (data)
        {
            if (data.q == 'ok')
            {
                $('#ajax_result').html(data.data);
                $('#ajax_pagging').html(data.pagging);
            }
        }
    });
}


/**
 * Получение бонуса для бонус-калькулятора
 */
function GetBonus() 
{
    $.ajax({
            type: "POST",
            dataType: "json",
            data: "act=ajax_get_bonuscalc&gtype=" + $('#gtype').val() + "&gdepo="+$('#gdepo').val(),
            url: "/index.php",
            success: function (data)
            {
                if (data.q == 'ok')
                {
                    if (data.data != '')
                    {
                        var s = '';
                        bonus_data = data.data;
                        for (var i in data.data) 
                        {
                            s += '<tr'+(i==0 ? ' class="active"' : '')+' onmouseover="$(this).parent().find(\'tr\').removeClass(\'active\');$(this).addClass(\'active\');ShowBonusData('+i+');"><td class="name-cell first"><a href="'+data.data[i]['redir']+'">'+data.data[i]['name']+'</a></td><td class="'+(data.data[i]['mark_star']=='1' ? 'best ' : '')+'bonus-cell">$'+(1*$('#gdepo').val()*(1*data.data[i]['percent']/100))+'</td><td><a href="'+data.data[i]['redir']+'">Get Bonus</a></td></tr>';
                        }
                        $('#bonus_calc').html(s);
                        ShowBonusData(0);
                    }
                    else
                    {
                        $('#bonus_calc').html('');
                        $('#sel_bonus').html('');
                    }

                }
            }
    });
}
/**
 * Отображение одного бонуса
 */
function ShowBonusData(num)
{

    if (typeof bonus_data[num] != 'undefined' && $('#sel_bonus').find('.title').text() != bonus_data[num]['name'])
    {
        var s = '<span class="ribbon'+(bonus_data[num]['mark_star']=='1' ? ' best-ribbon' : '')+'">Best</span>' +
                '<a class="logo" href="'+bonus_data[num]['redir']+'">'+(bonus_data[num]['logo'] != '' ? '<img src="'+bonus_data[num]['logo']+'" alt="" />' : (bonus_data[num]['logo1'] != '' ? '<img src="'+bonus_data[num]['logo1']+'" alt="" />' : ''))+'</a>' +
                '<a class="title" href="'+bonus_data[num]['redir']+'">'+bonus_data[num]['name']+'</a>' +
                '<span class="software">'+bonus_data[num]['soft_name']+'</span>' +
                '<p>'+bonus_data[num]['about']+'</p>' +
                '<a class="download-button button" href="'+bonus_data[num]['link_redir']+'">Download</a>' +
                '<a class="get-bonus-button button" href="'+bonus_data[num]['redir']+'">Get Bonus</a>';
        $('#sel_bonus').html(s);
    }
}


//мини-список казино с сортировкой
function GetCasinoSort(soft_id, sort, ds, obj) 
{
    $(obj).parents('.rounded').find('.active').removeClass('active');
    $(obj).addClass('active');
    
    $.ajax({
            type: "POST",
            dataType: "json",
            data: "act=casino_sort_list&soft_id="+soft_id+"&sort="+sort+"&ds="+ds,
            url: "/index.php",
            success: function (data)
            {
                if (data.q == 'ok')
                {
                    if (data.data != '')
                    {
                        $('#soft_'+soft_id).html( data.data );
                    }
                }
            }
    });
}


