$(document).ready(function() {
    $('.feedbackCommentTitle > a').click(function() {
        commentToId = $(this).attr('id').substring(13);
        $('#commentTo' + commentToId).toggle('slow');
        return false;
    });
    
    $('#submitRegister').click(function() {        
        validateData('register');
    });
    
    $('#myAccount').click(function() {
        personal_page();
        return false;        
    });
})

function getCookie(name)
{
        var prefix = name + '=';
        var cookieStartIndex = document.cookie.indexOf(prefix);
        if (cookieStartIndex == -1)
                return null;
        var cookieEndIndex = document.cookie.indexOf(';', cookieStartIndex + prefix.length);
        if (cookieEndIndex == -1)
                cookieEndIndex = document.cookie.length;
        return unescape(document.cookie.substring(cookieStartIndex + prefix.length, cookieEndIndex));
}

function setCookie(name, value, expires, path, domain, secure)
{
        document.cookie = name + '=' + escape (value) +
                (expires ? '; expires=' + expires : '') +
                (path ? '; path=' + path : '') +
                (domain ? '; domain=' + domain : '') +
                (secure ? '; secure' : '');
}


function setCookieRemote()
{
    $.get('/api/js/services/access', function(data) {
        /*console.log(data); */
    });
}


/**
* Производит валидацию данных
* @param string token тип запроса
*
*/
function validateData(token)
{
    switch(token) {
        case 'register':
            var requirements = {
                'r_email' : REGEX_EMAIL,
                'r_password' : /./,
                'r_password2' : /./,
                'r_lastName' : /[А-Яа-яA-Za-z]{2}/,
                'r_firstName' : /[А-Яа-яA-Za-z]{2}/,
                'r_mnogoRu' : /(^$)|(^\d{8}$)/,
                'r_captcha' : /[0-9a-z]{5}/
            };

            if ($('#password').val() != $('#passwordRepeat').val()) {
                alert ('Введенные пароли не совпадают');
                $('#passwordRepeat').focus();
                return;
            }

            var data = {
                'lastName': $('#lastName').val(),
                'firstName': $('#firstName').val(),
                'middleName': $('#middleName').val(),           
                'email': $('#login').val(),
                'subscribeNews': $('#subscribeNews').val(),
                'sex': $('input[name="sex"]:checked').val() ? $('input[name="sex"]:checked').val() : 9, 
                'phone': $('#phone').val(),
                'password': $('#password').val(),
                'captcha': $('#captcha').val()
            }
            data.action = token;                        
            break;
        default:
            break;    
    }

    apiRequest (token, token+'_callback', data);    
    
    return false;
}

function apiRequest(token, callback, params)
{
    $.ajax({
        url: appConfig.apiURL + token + '/json',
        type: 'POST',
        dataType: 'json',
        data: params,
                
        success: function(data, message, xhr) {
            if (data.customerServiceCode != 0) {
                alert(data.customerServiceCode + ' ' + data.customerServiceErr);            
            } else {
                alert('OK');
                $(location).attr('href', '/');
            } 
        },
        
        error: function(xhr, message, exception) {
            alert('error');
            alert(xhr.status + '  ' + xhr.statusText);
        }
    });        
}

function register_callback(data)
{
    alert(data);
}

function ajax_error(xhr, message, exception)
{
    alert(message);
}

/**
* Тянем разметку нужные фрэймов
*   @param Массив имён фрэймов
*/
function getFrames(frames)
{
    $.ajax({
        url: '/' + getLang() + '/frames/getFrames',
        type: 'POST',
        data: { 'frames':frames },
        dataType: 'html',
        context: $('div#popups'),
        success: function(framesMarkup) {
            $(this).append(framesMarkup);
            if (window['getFramesCallback']) { window['getFramesCallback']() };
        },
        error: function(xhr, text) {
            alert(text);
            console.log(xhr);
        }
    });
}


function getLang()
{
    return (/\/en\//).test(window.location.pathname + '') ? 'en' : 'ru';
}

