var emailExists = true
var sLastEmailCheck = null
$(document).ready(function(){


    var oSlider = $('#slider').bxSlider({
        mode: 'horizontal',
        pager: false,
        displaySlideQty: 3,
        moveSlideQty: 1,
        auto: false,
        controls: false
    });

    $('#go-prev').click(function() {
            oSlider.goToPreviousSlide();
            return false;
    });

    $('#go-next').click(function() {
            oSlider.goToNextSlide();
            return false;
    });



    $('#registrationFromFB').bind('click', function() {
        try{
            FB.login(function(response) {
                if (response.session) {
                    top.location.href = '/private/register/'
                }
            }, {perms: 'user_about_me,user_birthday,email'})
        }catch( oError ){
            return false
        }finally{
            return false
        }
    })

    $('#registrationFromFBAdmin').bind('click', function() {
        try{
            FB.login(function(response) {
                if (response.session) {
                    top.location.href = '/private/register/'
                }
            }, {perms: 'user_about_me,user_birthday,email, manage_pages'})
        }catch( oError ){
            return false
        }finally{
            return false
        }
    })

    $('a[action=setPosition]').bind('click', function() {
        try{
            $('#position').val( $(this).html() )
        }catch(oError){
            alert( oError )
        }finally{
            return false
        }
    })

    $('#vacant').submit(function() {
        return oService.checkForm( $(this) )
    })
    $('#loginForm').submit(function() {
        return oService.checkForm( $(this) )
    })
    $('#recoverForm').submit(function() {
        //lockButton( true )
        if ( emailExists ){
            return true
        }else{
            oService.message('Электронного адреса не существует', 'red')
            return false
        }

        return oService.checkForm( $(this) )
    })


    $('#register').submit(function() {
        try{
            //alert(1)

            lockButton( true )
            if ( oService.checkForm( $(this) ) && oService.validateDate( $('#born_day').val(), $('#born_mnt').val(), $('#born_year').val() ) ){
                $('#usr_born_dat').val( $('#born_year').val() + '.' + $('#born_mnt').val()  + '.' + $('#born_day').val()  )
                if ( !emailExists ){
                    return true
                }else{
                    oService.message('Электронный адрес уже зарегистрирован', 'red')
                    return false
                }
            }

            return false
        }catch( oError ){
            alert(  oError )
            return false
        }finally{
            lockButton( false )
        }
    })

    function lockButton( bValue ){
        var oButton = $('#registerButton')
        if ( bValue ){
            oButton.attr('src', '/images/wait.png')
            _lockLoadImage = true
        }else{
            oButton.attr('src', '/images/reg.png')
            _lockLoadImage = false
        }
    }
    function checkEmail( oElement ){
        //alert(1)
        $('#recoverFormPassword').hide( )
        $('#recoverFormActivate').hide(  )
        if (oService.emailCheck( oElement.val() )){
            //alert(1)
            lockButton( true )
            oService.remote('remoteCheckEmail', { 'email' : oElement.val() }, afterCheckEmail, { 'email' : oElement.val(), 'recover' : oElement.attr('function') == 'recover' } )
        }
    }
    if ( $('#firstFocus').length ){
        $('#firstFocus').focus( )
    }
    var oEmail = $('#usr_email')


    if (oEmail.length > 0){
        oEmail.bind('blur', function() {
            checkEmail( $(this) )
            //alert( $(this).val() )
        })

        if (oEmail.val( ) != ''){
            checkEmail( oEmail )
        }
    }

    $('a[action=reActivate]').bind('click', function() {
        //var oHash = $('#hash')
        try{
            if ( sLastEmailCheck ){
                lockButton( true )
                oService.remote('remoteReActivate', { 'email' : sLastEmailCheck }, afterReActivate, { } )
            }
        }catch( oError ){
            alert( oError )
        }finally{
            return false
        }
    })

    function afterReActivate( oReturnData, oParam ){
        lockButton( false )
        if (oReturnData.result.error){
            oService.message(oReturnData.result.error, 'red')
        }else{
            oService.message(oReturnData.result.message, 'yellow')
        }
    }

    function afterCheckEmail( oReturnData, oParam ){
        //alert(1)
        //alert(oParam.recover)
        if (oParam.recover){

            if (!oReturnData.result.emailExists ){
                emailExists = false
                oService.message('Электронный адреса не существует', 'red')
            }
        }else{
            if ( oReturnData.result.needActivate ){
                $('#recoverFormActivate').fadeIn(  )
                sLastEmailCheck = oParam['email']
                emailExists = true
            }else if (oReturnData.result.emailExists  ){
                //alert(1)
                $('#recoverFormPassword').fadeIn( 'slow' )
                //alert(1)
                sLastEmailCheck = oParam.email
                emailExists = true
            }else{
                sLastEmailCheck = null
                emailExists = false
            }
        }
        //alert(1)
        lockButton( false )
    }
    //Фавориты
    $('div[action=user_favorite]').each(function(index) {
        var oParam = {maxvalue:5, increment:.5, ufv_type : $(this).attr('ufv_type'), ufv_src : $(this).attr('ufv_src') }
        if ($(this).attr('ufv_rating') != ''){
            oParam.ufv_rating = $(this).attr('ufv_rating')
        }
        $(this).rating('/set_user_favorite/', oParam)
    })
    $('a[action=deleteFavorite]').bind('click', function() {
        try{

            jQuery.post('/delete_user_favorite/', {
                  "ufv_src" : $(this).attr('ufv_src')
                , "ufv_type" : $(this).attr('ufv_type')
            });
            //var sId = 'favorite_' + $(this).attr('ufv_type') + ':' + $(this).attr('ufv_src')
            var sId = 'favorite_' + $(this).attr('ufv_type') + $(this).attr('ufv_src')
            //alert( document.getElementById( sId ))
            //alert( sId )
            $('#' + sId).fadeOut('slow')
        }catch( oError ){
            alert( oError )
        }finally{
            return false
        }
    });




});

