$(document).ready(function(){
    
    AbsAuth = new _AbsAuthTop('.h_user_bar',inText=true);
    AbsAuthOnPage = new _AbsAuthOnPage('.on_page_login_wrap');
    errorChecker();
    
    
    
    
    $('.top_menu li').hover(
        function(){
            $(this).addClass('li-hover');
        },
        function(){
            $(this).removeClass('li-hover');
        }
    );
    
    if( $('.slides').length ){
        // slideshow with play/pause
        var slideShow = $('.playPauseExample').slideShow({
            interval: 8
        });
        // now add logic to play/pause button
        $('.playPauseExample a.togglePlayback, .playPauseExample a.page').click(function() {
            if (slideShow.isPlaying()) {
                $('.playPauseExample a.togglePlayback').html('Play');
            } else {
                $('.playPauseExample a.togglePlayback').html('Stop');
            }
            slideShow.togglePlayback();
            return false;
        });

        var w = 30+$('.slideShow .navigation li').length*16;
        $('.slideShow .navigation').width(w);
    }
    
    $('.p_user_type').val(7);
    
    $('.p_user_type').change(function(){
        //alert();
        if( $(this).val() == 8 ){
            if( !$('.soglashenie').html() ){
                $.post('/sell_gold',{
                        act:  'soglashenie'
                    },function(data){
                        $('.soglashenie').html(data);
                    }
                );
            }
            $('.soglashenie').show();
            $('.soglashenie_note').show();
        } else {
            $('.soglashenie').hide(); 
            $('.soglashenie_note').hide();
        }
    });
    
    if( $('.p_user_type').val() == 8 ){
        $('.p_user_type').change();
    }

//    $('.top_toggle_link').click(function(){
//        if( $('.top_bar:hidden').length){
//            $('.top_bar').show();
//            $('body').css('background-position','50% 25px');
//            $('#wrap').css('background-position','50% 25px');
//            $('.gold_form_short').css('top','155px');
//            $('.links_3').css('top','363px');
//            $(this).html('Скрыть');
//        } else {
//            $('.top_bar').hide();
//            $('body').css('background-position','50% 0');
//            $('#wrap').css('background-position','50% 0');
//            $('.gold_form_short').css('top','130px');
//            $('.links_3').css('top','338px');
//            $(this).html('Вход');
//        }
//        return false;
//    });

//    if(AUTH_USER){
//        $('.top_toggle_link').hide();
//        $('.top_bar').show();
//        $('.gold_form_short').css('top','155px');
//        $('.links_3').css('top','363px');
//        $('body').css('background-position','50% 25px');
//        $('#wrap').css('background-position','50% 25px');
//    }

    $('.confirm').click(function(e){
        var cur = $(this).attr('currency_id');
        $.post('/sell_gold',{
                act:  'get_perc_txt',
                currency:   cur
            },function(data){
                if(data){
                    var cont =
                        '<div class="absPopupNM">'+
                            '<div class="in">'+
                                data+
                            '</div>'+
                        '</div>';

                    AbsPopupWindow = new _AbsPopupWindow({
                        width: 		350,
                        left: e.pageX - 320,
                        top: e.pageY + 15 - $(document).scrollTop(),
                        id: 		12345,
                        content: 	cont,
                        header:		'Прямая оплата без комиссии',
                        reloadContent : true,
                        resetPosition: true
                    });
                }
            }
        );
            return false;
    });

    FBForm = new _FBForm();

    

    $('.toggle_link').click(function(){
		var toggle_class = $(this).attr('toggle_class');
		$('.'+toggle_class).toggle();
		return false;
	});

    $('.buy_short').click(function(){
        var selected = $('.gold_form_short .location_select').val();
        Set_Cookie('cloc',selected,10000,'/');
        return true;
        //document.location.href = '/';
    });

    $('.popupLink').click(function(){
        var popup_id = $(this).attr('popup_id');
        if( $('div.'+popup_id+':visible').length ){
            $('div.'+popup_id).hide(400);
        } else {
            $('.popup').hide();
            $('div.'+popup_id).show(400);
        }
        return false;
    });


    $('.popup_close').click(function(){
        $(this).parents('.popup').hide();
        return false;
    });
	
//	$('.addbm').click(function(){
//		if (document.all) window.external.addFavorite('http://www.night-money.ru/', 'Night Money - WOW голд - быстрая доставка и низкие цены');
//        //addBookmark('Night Money - WOW голд - быстрая доставка и низкие цены','http://www.night-money.ru/');
//        return false;
//    });
	
    $('.gold_form_short .location_select').change(function(){
        //var price = $('.location_select option:selected').attr('price');
        //$('.loc_price').html(price);
    });
    $('.gold_form_short .location_select').change();

    $('.gold_sell_form').goldSellForm();
    $('.key_s_item').keySellForm();


	var f=addBookmarkObj.addTextLink;
	f('bm2');

});
/*
function addBookmark() {
if (document.all) window.external.addFavorite('http://www.night-money.ru/', 'Night Money - WOW голд - быстрая доставка и низкие цены');
}
*/
function addBookmark(title,url){
	
	title = 'Night Money - WOW голд - быстрая доставка и низкие цены';
	url = 'http://www.night-money.ru/';
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}



function _FBForm() {

	var obj = this;
    var category_id;

	var init = function(){

	}

    this.checkForm = function(){
        var error = false;
        var name = trim( $('.fb_form .name').val() );
        if(!name){
            error = true;
            $('.fb_form .name_error').show();
        } else {
            $('.fb_form .name_error').hide();
        }
        var email = trim( $('.fb_form .email').val() );
        if(!email){
            error = true;
            $('.fb_form .email_empty_error').show();
            $('.fb_form .email_validation_error').hide();
        } else {
            if(!emailValidate(email)){
                error = true;
                $('.fb_form .email_empty_error').hide();
                $('.fb_form .email_validation_error').show();
            } else {
                $('.fb_form .email_empty_error').hide();
                $('.fb_form .email_validation_error').hide();
            }
        }
        var text = trim( $('.fb_form .text').val() );
        if(!text){
            error = true;
            $('.fb_form .text_error').show();
        } else {
            $('.fb_form .text_error').hide();
        }
        var captcha = trim( $('.fb_form .captcha').val() );
        if(!captcha){
            error = true;
            $('.fb_form .captcha_error_empty').show();
            $('.fb_form .captcha_error').hide();
        } else {
            $('.fb_form .captcha_error_empty').hide();
            $('.fb_form .captcha_error').hide();
        }
        if(!error){
            return true;
        }
        return false;
    }

    this.success = function(){
        $('.fb_form').hide();
        $('.form_success').show();
        setTimeout(function(){
            document.location.href = document.location.href;
        },1500);
    }

    this.error = function(err){
        $('.fb_form #captcha_img').attr('src', '/captcha/default?rand='+getrandom(1,100000));
		$('.fb_form .captcha').val('');
        $('.fb_form .captcha_error').show();
    }
}

// основная форма покупки золота
(function($) {

    var el;
    var debug = false;
    var current_date = new Date();
    var locPrice = 0;
    var price = 0;
    var byPayTypeK = 0;
    var byPayRate = false;
    var currency_v = 'руб.';
    var oldBuySum = 0;
    var currentAmount =0;
    var sum_1;
    var sum_2;
    var current_sum_field = 1;
    var user_name;
    var email = '';
    var location;
    var currency;
    var give_type;
    var id = 0;
    var byGiveTypeRate = 0;
    var byPayTypeCurrency = false;
    var byPayTypeCurrency_prev = false;
    var byPayTypeRate = 0;
    var discount =0;

    var authUserEmail = false;
    var authUserVip = false;
    
    var discountSum = 0;
    var discountByVip = 0;
    var discountByKey = 0;
    var discountByOld = 0;
    var discountByCurrent = 0;
    var robo_percent = '';
    var currencyName = '';
    var robo_percent_txt = '';
    // если флаг sum_not_cange включен, перерасчет сумм не производим
    var sum_not_cange = false;

    var submit_event = false;
    
    var sum_currency_without_robo_percent;
    var sum_gold_without_robo_percent;

    var defaults = {
        color           :   'red'
    };
    var options;
 
    var methods = {
        init:function(params) {
            options = $.extend({}, defaults, params);

            return this.each(function(){
               el = $(this);

               id = $(el).find('.id').val();
               if(id != 0){
                    sum_not_cange = true;
               }
               nameEvent();
               // установка выбранной на главной странице локации
               setSelectedLocation();
               // установка начальных сумм
               setSums();
               // событие изменение локации
               locChangeEvent();
               // событие изменение вида платежа
               payTypeChangeEvent();
               // событие изменение вида получения
               giveTypeChangeEvent();
               // событие изменение email
               if(typeof(Profile_Email) !== 'undefined'){
                   authUserEmail = Profile_Email;
                   $(this).find('.email').val(Profile_Email);
               }
               if(typeof(Profile_VIP) !== 'undefined'){
                   if(Profile_VIP){
                       authUserVip = true;
                       $(this).find('.email').attr('disabled','disabled');
                       $(this).find('.email_exists_note').show();
                       $(this).find('.email_note').hide();
                       $(this).find('.vip_note').hide();
                       $(this).find('.vip_exists_note').show();
                   }
                   if(Profile_Discount){
                      discountByVip = Profile_Discount;
                      discountSum = Profile_Discount;
                      $(this).find('.c_sk').html(discountSum);
                      //alert('stop');
                   }
               }
               emailEvent();

               popupWPerc();
               
               amountEvent($(this));

               if(debug)console.log('location_select change()');
               $(this).find('.location_select').change();
               
               if(debug)console.log('pay_type change()');
               $(this).find('.pay_type').change();

               if(debug)console.log('email keyup()');
               $(this).find('.email').keyup();

               if(debug)console.log('give_type change()');
               $(this).find('.give_type').change();

               if(debug)console.log('sum_2 keyup()');
               $(this).find('.sum_2').keyup();

               if(debug)console.log('sum_1 keyup()');
               $(this).find('.sum_1').keyup();

               $(this).find('.checkSk').click(function() {
                    $(el).find('.c_sk').html('-');
                    setTimeout(function(){emailChange();},1000);
                    return false;
               });

               submitEvent();

            });
        },
        color:function(color) {
            $(this).css('color', color);
        }
    };

    /*
     * установка выбранной на главной странице локации
     * после перехода на страницу gold_sell
     */
    function setSelectedLocation() {
       var selected = Get_Cookie('cloc');
       if(selected){
           if(debug)console.warn('setSelectedLocation: '+selected);
           $(el).find('.location_select').val(selected);
       }
       Set_Cookie('cloc','',10000000,'/');
    }

    /*
     * Устанавливает значения переменных sum_1 и sum_2 
     * при редактировании заказа или новом заказе, если значения пустые - устанавливает 0
     */
    function setSums() {
       var s1 = trim( $(el).find('.sum_1').val() );
       var s2 = trim( $(el).find('.sum_2').val() );
       sum_1 = (s1)?parseFloat(s1):0;
       sum_2 = (s2)?parseInt(s2):0;
       if(debug)console.warn('setSums() sum_1: '+sum_1+' sum_2: '+sum_2);
    }

    /**
     * событие изменение локации
     */
    function locChangeEvent() {
        $(el).find('.location_select').change(function(){
            if(debug)console.info('priceRecount start from locChangeEvent()');
            priceRecount();
        });
    }

    /**
     * событие изменение типа платежа
     */
    function payTypeChangeEvent() {
        
        $(el).find('.pay_type').change(function(){
            currency_v = $(el).find('.pay_type option:selected').attr('v');
            byPayTypeCurrency = $(el).find('.pay_type option:selected').attr('currency');
            byPayTypeRate = $(el).find('.pay_type option:selected').attr('rate');
            currency = $(el).find('.pay_type option:selected').val();
            robo_percent = $(el).find('.pay_type option:selected').attr('robo_percent');
            robo_percent_txt = $(el).find('.pay_type option:selected').attr('perc_txt');
            currencyName = $(el).find('.pay_type option:selected').html();
            if(byPayTypeCurrency){
                current_sum_field = 2;
            } else {
                if(byPayTypeCurrency_prev){
                    current_sum_field = 2;
                } else {
                    current_sum_field = 1;
                }
            }
            if(debug)console.info('priceRecount start from payTypeChangeEvent()');
            priceRecount();
        });
    }

    /**
     * событие изменение способа получения
     */
    function giveTypeChangeEvent() {
        $(el).find('.give_type').change(function(){
            priceRecount();
        });
    }
    
    function nameEvent() {
        $(el).find('.user_name').keyup(function() {
            $('.user_name_error').hide();
        });
        $(el).find('.user_name').change(function() {
            $('.user_name_error').hide();
        });
        $(el).find('.user_name').focus(function() {
            $('.user_name_error').hide();
        });
    }

    /**
     * событие изменение email
     */
    function emailEvent() {
        $(el).find('.email').keyup(function() {
            //if(debug)console.warn('emailEvent()');
            //current_sum_field = 1;
            emailChange();
        });
        $(el).find('.email').change(function() {
            //if(debug)console.warn('emailEvent()');
            //current_sum_field = 1;
            emailChange();
        });
        $(el).find('.email').focus(function() {
            //if(debug)console.warn('emailEvent()');
            //current_sum_field = 1;
            emailChange();
        });
    }

    function emailChange() {
        $('.error email_error').hide();
        oldBuySum = 0;
        $(el).find('.email_format_error').hide();
        $(el).find('.email_error').hide();
        //if(debug)console.warn('emailChange()');
        var err = false;
        var obj = $(el).find('.email');
        email = trim(obj.val()) ;
        if(email){
            if(Validator.email(email)){
                 $(el).find('.email_format_error').hide();
                 $(el).find('.email_error').hide();
                 if(debug)console.warn('emailChange() email: '+email);
                getOldBuySum(email);
                return;
            } else {
                err = true;
                if(submit_event){
                    $(el).find('.email_error').hide();
                    $(el).find('.email_format_error').show();
                }
                if(debug)console.warn('emailChange() WRONG email');
            }
        } else {
            err = true;
            if(submit_event){
                $(el).find('.email_error').show();
                $(el).find('.email_format_error').hide();
            }
            if(debug)console.warn('emailChange() EMPTY email');
        }
        if(err){
            priceRecount();
        }
    }

    function popupWPerc() {
        $(el).find('.n_pay_r').click(function(e){
            if( $(this).hasClass('confirm') ){
                var cur = $(this).attr('currency_id');
            } else {
                var cur = currency;
            }
            $.post('/sell_gold',{
                    act:  'get_perc_txt',
                    currency:   cur
                },function(data){
                    if(data){
                        var cont =
                            '<div class="absPopupNM">'+
                                '<div class="in">'+
                                    data+
                                '</div>'+
                            '</div>';

                        AbsPopupWindow = new _AbsPopupWindow({
                            width: 		350,
                            left: e.pageX - 320,
                            top: e.pageY + 15 - $(document).scrollTop(),
                            id: 		12345,
                            content: 	cont,
                            header:		'Прямая оплата без комиссии',
                            reloadContent : true,
                            resetPosition: true
                        });
                    }
                }
            );
                return false;
        });



    }

    function getOldBuySum(email) {
        $.post('/sell_gold',{
                act:  'get_old_buy_sum',
                email:   email
            },function(data){
                if(data){
                    oldBuySum = data;
                } else {
                    oldBuySum = 0;
                }
                if(debug)console.info('priceRecount start from getOldBuySum(email)');
                priceRecount();
            }
        );
    }


    function amountEvent() {
        $(el).find('.sum_1').keyup(function() {
            //console.info('keyup sum_1');
            current_sum_field = 1;
            amountChange();
        });
        $(el).find('.sum_2').keyup(function() {
            //console.info('keyup sum_2');
            current_sum_field = 2;
            amountChange();
            sum_not_cange = false;
        });

        $(el).find('.sum_1').change(function() {
            current_sum_field = 1;
            amountChange();
        });
        $(el).find('.sum_2').change(function() {
            current_sum_field = 2;
            amountChange();
        });

        $(el).find('.sum_1').focus(function() {
            current_sum_field = 1;
            amountChange();
        });
        $(el).find('.sum_2').focus(function() {
            current_sum_field = 2;
            amountChange();
        });
    }

    function amountChange() {
        
        if(debug)console.warn('_______amountChange()________');
        $('.sum_error').hide();
        if(debug)console.info('priceRecount start from amountChange() ');
        priceRecount();
    }

    function priceRecount() {
        
        
        if(debug)console.log(' ');
        if(debug)console.warn('===!!!!!!!!== priceRecount() ===!!!!!!!!!!===');
        //if(debug)console.warn('***************** START PREPARE ******************');

        if(!byPayTypeRate) byPayTypeRate = 0;

        var s1 = trim( $(el).find('.sum_1').val() );
        var s2 = trim( $(el).find('.sum_2').val() );

        sum_1 = (s1)?parseFloat(s1):0;
        sum_2 = (s2)?parseInt(s2):0;

        if(debug)console.log('B!SUMS --- sum_1: '+sum_1+' sum_2: '+sum_2);
        /////////////
        locPrice = $(el).find('.location_select option:selected').attr('price');
        location = $(el).find('.location_select option:selected').val();
        //if(debug)console.log('B!LOCA --- locPrice: '+locPrice+' location: '+location);
        /////////////
        give_type = $(el).find('.give_type option:selected').val();
        byGiveTypeRate = $(el).find('.give_type option:selected').attr('add');
        if(!byGiveTypeRate){
            byGiveTypeRate = 0;
        }
        //if(debug)console.log('B!GIVE --- give_type: '+give_type+' byGiveTypeRate: '+byGiveTypeRate);
        /////////////
        
        //if(debug)console.log('B!PTYPE --- currency_v: '+currency_v+' byPayTypeCurrency: '+byPayTypeCurrency+' byPayTypeRate: '+byPayTypeRate+' currency: '+currency);

        //if(debug)console.log('E!FILD --- current_sum_field: '+current_sum_field);
        //if(debug)console.log('E!OLDS --- oldBuySum: '+oldBuySum);
        //if(debug)console.log('E!_VIP --- isVIP: '+authUserVip);

        //if(debug)console.warn('***************** END PREPARE ******************');
        //if(debug)console.warn('***************** START COUNT ******************');

        // коэфиициенты для дефолтной стоимости локации
        var k_locPrice = parseFloat(locPrice);
        var k_locPrice_1 = 1000/parseFloat(locPrice); // деньги -> голд
        var k_locPrice_2 = parseFloat(locPrice)/1000; // голд -> деньги
        
        // коэфиициенты для способа получения !!! предполагается положительный !!!
        var k_byGiveTypeRate = 100-parseFloat(byGiveTypeRate);
        var k_byGiveTypeRate_1 = (100-parseFloat(byGiveTypeRate))/100; // деньги -> голд - уменьшение голда
        var k_byGiveTypeRate_2 = 1/k_byGiveTypeRate_1; // голд -> деньги - увеличение денег
        
        // коэфиициенты для валют
        var bpt = (byPayTypeCurrency)?byPayTypeCurrency:1;
        var k_byPayTypeCurrency_1 = bpt; // деньги -> голд - делим на курс
        var k_byPayTypeCurrency_2 = 1/bpt; // голд -> деньги - умножаем на курс
        
        // коэфиициенты для процента робокассы минус наша уступка (корректировка)
        var perc = parseFloat(robo_percent) + parseFloat(byPayTypeRate);
        var k_perc_1 = 1; // деньги -> голд - уменьшение голда
        var k_perc_2 = 1; // голд -> деньги - увеличение денег
        if(perc > 0){
            var k_perc = 100-parseFloat(perc);
            var k_perc_1 = k_perc/100; // деньги -> голд - уменьшение голда
            var k_perc_2 = 1/k_perc_1; // голд -> деньги - увеличение денег
        }
        
        // коэфиициенты для процента робокассы минус наша уступка (корректировка)
        //var perc = parseFloat(robo_percent) + parseFloat(byPayTypeRate);
        var k_perc_robo_1 = 1; // деньги -> голд - уменьшение голда
        var k_perc_robo_2 = 1; // голд -> деньги - увеличение денег
        if(parseFloat(robo_percent) != 0){
            var k_perc_robo = 100-parseFloat(robo_percent);
            var k_perc_robo_1 = k_perc_robo/100; // деньги -> голд - уменьшение голда
            var k_perc_robo_2 = 1/k_perc_robo_1; // голд -> деньги - увеличение денег
        }
        
        var k_rate_1 = 1; // деньги -> голд - уменьшение голда
        var k_rate_2 = 1; // голд -> деньги - увеличение денег
        if(parseFloat(byPayTypeRate) != 0){
            var k_rate = 100-parseFloat(byPayTypeRate);
            var k_rate_1 = k_rate/100; // деньги -> голд - уменьшение голда
            var k_rate_2 = 1/k_rate_1; // голд -> деньги - увеличение денег
        }
        
        //console.warn(k_perc_robo_1+' - '+k_perc_robo_2+' - '+k_rate_1+' - '+k_rate_2);
        
        if(current_sum_field == 1){
            if(debug)console.warn('***************** РАСЧЕТ по количеству денег ******************');
            
            //sum_2 = sum_1*k_locPrice_1*k_byGiveTypeRate_1*k_byPayTypeCurrency_1;
            //sum_2 = sum_1*1000/k_locPrice;
            //sum_1 = sum_2/1000*k_locPrice;
            
            //sum_2 = sum_1*1000/k_locPrice*k_byGiveTypeRate/100;
            //sum_1 = sum_2/k_byGiveTypeRate*100/1000*k_locPrice;
            
            //sum_2 = sum_1*1000/k_locPrice*k_byGiveTypeRate/100*bpt;
            //sum_1 = sum_2/k_byGiveTypeRate*100/1000*k_locPrice/bpt;

            //var str_percent = '+ комиссия ROBO '+robo_percent+'% = '+number_format( (sum_1*(parseFloat(robo_percent)+100)/100),form_at )+' '+currency_v;
            sum_2 = sum_1*k_locPrice_1*k_byGiveTypeRate_1*k_byPayTypeCurrency_1;
            
            var sk = getSk(sum_2);
            var k_sk = 100/(100-parseFloat(sk));

            sum_2 = sum_2*k_sk*k_perc_robo_1*k_rate_1;
            
//            var k_sk = bpt; // деньги -> голд - деньги -> голд - увеличение голда
//            var k_byPayTypeCurrency_2 = 1/bpt; // голд -> деньги - уменьшение денег
            
            ////////////
            if(!sum_2){
                var sum_2_str = '';
            }else {
                var sum_2_str = number_format(sum_2,0);
            }
            $(el).find('.sum_2').val(sum_2_str);
            if(!sum_1){
                $(el).find('.sum_1').val('');
            }
        }
        
        if(current_sum_field == 2){
            if(debug)console.warn('***************** РАСЧЕТ по голде ******************');
            
            //sum_2 = sum_1*1000/k_locPrice;
            //sum_1 = sum_2/1000*k_locPrice;
            
            //sum_2 = sum_1*1000/k_locPrice*k_byGiveTypeRate/100;
            //sum_1 = sum_2/k_byGiveTypeRate*100/1000*k_locPrice;
            
            //sum_2 = sum_1*1000/k_locPrice*k_byGiveTypeRate/100*bpt;
            //sum_1 = sum_2/k_byGiveTypeRate*100/1000*k_locPrice/bpt;
            
            sum_1 = sum_2*k_locPrice_2*k_byGiveTypeRate_2*k_byPayTypeCurrency_2;
            
            var sk = getSk(sum_2);
            var k_sk = 1/(100/(100-parseFloat(sk)));
            
            sum_1 = sum_1*k_sk*k_perc_robo_2*k_rate_2;
            
            ////////////
            if(!sum_1){
                var sum_1_str = '';
            } else {
                if(byPayTypeCurrency){
                    var sum_1_str = number_format(sum_1,2);
                }else {
                    var sum_1_str = number_format(sum_1,0);
                }
            }
            $(el).find('.sum_1').val(sum_1_str);
            if(!sum_2){
                $(el).find('.sum_2').val('');
            }
        }


        var sk_text_2 = '&nbsp';
        var per_1k_2 = '&nbsp';
        // loc prise visual
        if(!sum_1 && !sum_2){
            //console.log('-----------------!sum_1 && !sum_2')
            //if(debug)console.log('-----------------!sum_1 && !sum_2');
            var test_sum_2 = 1000;
            //var test_sum_1 =  test_sum_2*((100-sk)/100)/bpt*100/(100-parseFloat(byGiveTypeRate))/1000*parseFloat(locPrice);
            var test_sum_1 = test_sum_2*k_locPrice_2*k_byGiveTypeRate_2*k_byPayTypeCurrency_2*k_perc_robo_2*k_rate_2;
            var price1000 = number_format( test_sum_1 , 2 );
            //if(debug)console.log('-----------------price1000 = '+price1000);
            var str_percent = '';
            //$(el).find('.n_pay_r_div').hide();
            $(el).find('.sk_2').hide();
            $(el).find('.per_1_k_2').hide();
        } else {
            $(el).find('.sk_2').show();
            $(el).find('.per_1_k_2').show();
            var price1000 = number_format(sum_1/(sum_2/1000),2);
            sk_text_2 = 'Ваша скидка: '+sk+'%';
            per_1k_2 = 'Цена за 1К: '+price1000+' '+currency_v;
            /*
            if(robo_percent > 0){
                if(byPayTypeCurrency){
                    var form_at = 2;
                } else {
                    var form_at = 0;
                }
                var str_percent = '+ Включает комиссия ROBOKASA '+robo_percent+'% = '+number_format( (sum_1*(parseFloat(robo_percent)+100)/100),form_at )+' '+currency_v;
                if(robo_percent_txt){
                    $(el).find('.n_pay_r_div').show();
                } else {
                    $(el).find('.n_pay_r_div').hide();
                }
            } else {
               var str_percent = '';
               $(el).find('.n_pay_r_div').hide();
            }
            */
        }
        
        // высчитываем сколько получаем мы - вычитаем процент робокассы
        // робокасса наценивает сверх нашей суммы
        sum_currency_without_robo_percent = sum_1/(100+parseFloat(robo_percent))*100;
        $(el).find('.sk_2').html(sk_text_2);
        $(el).find('.per_1_k_2').html(per_1k_2);
        $(el).find('.loc_price').html(price1000);
        $(el).find('.loc_v').html(currency_v);
        $(el).find('.c_sk').html(sk);
        $(el).find('.sum_w_perc').html(str_percent);

        

        if(debug)console.log('END!SUMS --- sum_1: '+sum_1+' sum_2: '+sum_2);
        if(debug)console.warn('****************** END COUNT *******************');

        if(debug)console.warn('==END==!!!!!= priceRecount() ====!!!!!!!!!!!!===');
        byPayTypeCurrency_prev = byPayTypeCurrency;


    }

    /**
     * Получение текущей скидки. Передаем сумму
     */
    function getSk(sum_2) {
		if(debug)console.log('getSk = '+sum_2);
        var sk = 0;
        if(!authUserVip){
            var sumOldAndCurrent = parseFloat(sum_2)+parseFloat(oldBuySum);
            $.each( $(document).find('.sk_tb tr'), function(i,item){
                if(sumOldAndCurrent >= parseInt($(item).find('.from').html()) ){
                    if(debug)console.log(i);
					if(debug)console.log(parseInt($(item).find('.from').html()));
                    sk = $(item).find('.sk_id').val();
					if(debug)console.log(sk);
                }
            });
        }
        if(debug)console.log('sumOldAndCurrent = '+sumOldAndCurrent);
        if(debug)console.log('oldBuySum = '+oldBuySum);
        if(debug)console.log('discountSum = '+discountSum);
        discountSum = parseFloat(discountByVip) + parseFloat(discountByKey) + parseFloat(sk);
        discount = discountSum;
        return discountSum;
    }

    /**
     * Получение текущей скидки. Передаем сумму
     */
    function getSk4(/*sum*/) {
        
        var sk = 0;
        if(!authUserVip){
            var sumCurrent = (!trim($(el).find('.sum_2').val()))?0:parseInt( $(el).find('.sum_2').val() );
            if(debug)console.info('------- getSk() sumCurrent = '+sumCurrent);
            var sumOldAndCurrent = sumCurrent+oldBuySum;
            $.each( $(document).find('.sk_tb tr'), function(i,item){
                if(sumOldAndCurrent >= parseInt($(item).find('.from').html()) ){
                    //console.log(i);
                    sk = $(item).find('.sk_id').val();
                }
            });
            if(debug)console.info('------- getSk() sk = '+sk);
        }
        

        discountSum = parseInt(discountByVip) + parseInt(discountByKey) + parseInt(sk);
        if(debug)console.info('------- getSk() discountSum = '+discountSum);
        $(el).find('.c_sk').html(discountSum);
        return discountSum;
    }

    function submitEvent() {
        $(el).find('.gold_buy_button_1').click(function() {
            priceRecount();
            var error = false;
            // проверяем выбран ли сервер
            // -- не требуется, нулевого поля в селекте нет
            // проверяем имя персонажа
            user_name = trim( $(el).find('.user_name').val() );
            if(!user_name){
               error = true;
               $(el).find('.user_name_error').show();
            } else {
               $(el).find('.user_name_error').hide();
            }

            if(!sum_1 || !sum_2){
               error = true;
               $(el).find('.sum_error').show();
            } else {
               $(el).find('.sum_error').hide();
            }


            if(!email){
               error = true;
               $(el).find('.email_error').show();
            } else {
                $(el).find('.email_error').hide();
                if(Validator.email(email)){
                    $(el).find('.email_format_error').hide();
                } else {
                    error = true;
                    $(el).find('.email_format_error').show();
                }
            }

            if(!error){
               if(sum_2 < 3000){
                   alert('Минимальная сумма заказа 3000 голд');
                   return false;
               }
               $.post('/sell_gold',{
               //$.post('/fg',{
                        act:  'save_order',
                        location:   location,
                        user_name: user_name,
                        currency: currency,
                        sum_1: sum_currency_without_robo_percent,
                        discount: discount,
                        sum_2: sum_2,
                        full_sum: sum_1,
                        email: email,
                        subscribe: $(el).find('.subscribe').val(),
                        messenger: $(el).find('.messenger').val(),
                        give_type: give_type,
                        comment: $(el).find('.comment').val(),
                        id: id
                    },function(data){
                        document.location.href = '/sell_gold/confirm/'+data+'/'
                        //priceRecount();
                    }
                );
            }

            return false;
        });
    }

    $.fn.goldSellForm = function(method){

        // немного магии
        if ( methods[method] ) {
            // если запрашиваемый метод существует, мы его вызываем
            // все параметры, кроме имени метода прийдут в метод
            // this так же перекочует в метод
            return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
        } else if ( typeof method === 'object' || ! method ) {
            // если первым параметром идет объект, либо совсем пусто
            // выполняем метод init
            return methods.init.apply( this, arguments );
        } else {
            // если ничего не получилось
            $.error( 'Метод "' +  method + '" не найден в плагине jQuery.mySimplePlugin' );
        }
    };
})(jQuery);






























// форма покупки ключей и тайм-карт
(function($) {

    var el;
    var debug = false;
    var current_date = new Date();
    var locPrice = 0;
    var price = 0;
    var byPayTypeK = 0;
    var byPayRate = false;
    var currency_v = 'руб.';
    var oldBuySum = 0;
    var currentAmount =0;
    var sum_1;
    var sum_2;
    var current_sum_field = 1;
    var user_name;
    var email = '';
    var location;
    var currency;
    var give_type;
    var id = 0;
    var byGiveTypeRate = 0;
    var byPayTypeCurrency = false;
    var byPayTypeCurrency_prev = false;
    var byPayTypeRate = 0;

    var authUserEmail = false;
    var authUserVip = false;
    
    var robo_percent = '';
    var currencyName = '';
    var robo_percent_txt = '';
    // если флаг sum_not_cange включен, перерасчет сумм не производим
    var sum_not_cange = false;

    var submit_event = false;

    var defaults = {
        color           :   'red'
    };
    var options;

    var methods = {
        init:function(params) {
            options = $.extend({}, defaults, params);

            return this.each(function(){
               el = $(this);

               id = $(el).find('.id').val();
               if(id != 0){
                    sum_not_cange = true;
               }

               // событие изменение вида платежа
               payTypeChangeEvent();

               // событие изменение email
               if(typeof(Profile_Email) !== 'undefined'){
                   authUserEmail = Profile_Email;
                   $(this).find('.email').val(Profile_Email);
               }
               
               if(debug)console.log('pay_type change()');
               $(this).find('.pay_type').change();

               submitEvent();

            });
        },
        color:function(color) {
            $(this).css('color', color);
        }
    };

    /**
     * событие изменение типа платежа
     */
    function payTypeChangeEvent() {
        $(el).find('.pay_type').change(function(){
            currency_v = $(el).find('.pay_type option:selected').attr('v');
            byPayTypeCurrency = $(el).find('.pay_type option:selected').attr('currency');
            byPayTypeRate = $(el).find('.pay_type option:selected').attr('rate');
            currency = $(el).find('.pay_type option:selected').val();
            robo_percent = $(el).find('.pay_type option:selected').attr('robo_percent');
            robo_percent_txt = $(el).find('.pay_type option:selected').attr('perc_txt');
            currencyName = $(el).find('.pay_type option:selected').html();
            if(byPayTypeCurrency){
                current_sum_field = 2;
            } else {
                if(byPayTypeCurrency_prev){
                    current_sum_field = 2;
                } else {
                    current_sum_field = 1;
                }
            }
            if(debug)console.info('priceRecount start from payTypeChangeEvent()');
            priceRecount();
        });
    }

    function priceRecount() {
        if(debug)console.log(' ');
        if(debug)console.warn('===!!!!!!!!== priceRecount() ===!!!!!!!!!!===');
        if(debug)console.warn('***************** START PREPARE ******************');

        var rur_price = $('.key_price_rur').val();
        if(debug)console.log('byPayTypeRate: '+(parseFloat(byPayTypeRate)+100)/100);
        var price_w_pay_type_rate = rur_price*(parseFloat(byPayTypeRate)+100)/100;
        var price = price_w_pay_type_rate;
        if(debug)console.log('price: '+price);
        
        if(byPayTypeCurrency){
            if(debug)console.log('Имеется валюта, курс: '+byPayTypeCurrency);
            var price = price_w_pay_type_rate/byPayTypeCurrency;
        } 
        
        $(el).find('.key_price_val').html(number_format(price,2));
        $(el).find('.key_price_v').html(currency_v);
        
        if(robo_percent > 0){
            if(debug)console.log('комиссия ROBO: '+robo_percent);
            var str_percent = '+ комиссия ROBOKASSA '+robo_percent+'% = '+number_format( (price*(parseFloat(robo_percent)+100)/100),2 )+' '+currency_v;
            $(el).find('.n_pay_r_div_1').html(str_percent).show();
        } else {
           var str_percent = '';
           $(el).find('.n_pay_r_div_1').html('').hide();
        }

        return;

    }

    function submitEvent() {
        $('.key_s_item .key_buy_button').click(function(){

            if( !$('.key_s_item .key_price_td:visible').length ){
                $('.key_s_item .key_price_td').show();
                $('.key_s_item .key_params_tr').show();
                return false;
            }
            var email = trim( $('.key_s_item .email').val() );
            if(!email){
                $('.key_s_item .email_error').show();
                $('.key_s_item .email_format_error').hide();
                return false;
            } else {
                if(!emailValidate(email)){
                    $('.key_s_item .email_error').hide();
                    $('.key_s_item .email_format_error').show();
                    return false;
                } else {
                    $('.key_s_item .email_error').hide();
                    $('.key_s_item .email_format_error').hide();
                }
            }

            var id = $(this).attr('key_id');
            $.post('/sell_key',{
                    act:  'save_key_order',
                    key:   id,
                    email: email,
                    currency: $('.key_price_div .pay_type').val(),
                    sum_1: $('.key_price_div .key_price_rur').val(),
                    messenger: $('.key_s_item .messenger').val()
                },function(data){
                    if(data != 'error'){
                        document.location.href = '/sell_key/confirm/'+data+'/'
                    }
                }
            );
            return false;
            //document.location.href = '/';
        });
    }

    $.fn.keySellForm = function(method){

        // немного магии
        if ( methods[method] ) {
            // если запрашиваемый метод существует, мы его вызываем
            // все параметры, кроме имени метода прийдут в метод
            // this так же перекочует в метод
            return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));
        } else if ( typeof method === 'object' || ! method ) {
            // если первым параметром идет объект, либо совсем пусто
            // выполняем метод init
            return methods.init.apply( this, arguments );
        } else {
            // если ничего не получилось
            $.error( 'Метод "' +  method + '" не найден в плагине jQuery.mySimplePlugin' );
        }
    };
})(jQuery);


function number_format( number, decimals, dec_point, thousands_sep ) {	// Format a number with grouped thousands
	//
	// +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
	// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +	 bugfix by: Michael White (http://crestidg.com)

	var i, j, kw, kd, km;

	// input sanitation & defaults
	if( isNaN(decimals = Math.abs(decimals)) ){
		decimals = 2;
	}
	if( dec_point == undefined ){
		dec_point = ".";
	}
	if( thousands_sep == undefined ){
		thousands_sep = "";
	}

	i = parseInt(number = (+number || 0).toFixed(decimals)) + "";

	if( (j = i.length) > 3 ){
		j = j % 3;
	} else{
		j = 0;
	}

	km = (j ? i.substr(0, j) + thousands_sep : "");
	kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
	//kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).slice(2) : "");
	kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");


	return km + kw + kd;
}


// Bookmark this page
// copyright 12th February 2005, 21st June 2006
// Stephen Chapman, http://javascript.about.com
// Updated for Opera 9
// You have permission to copy and use this javascript provided that
// the copyright notice is included with the script

var chr = 'CTRL-D';
var agt=navigator.userAgent.toLowerCase();
if(agt.substr(agt.indexOf('opera')+6,1) < 9) chr = 'CTRL-T';
if (window.external) {
    var href= "javascript:window.external.AddFavorite('http://www.night-money.ru','Night Money - магазин игровой валюты')";
    $('.favorite').attr(href)
} else {}


function getSelectedText() {
    if (window.getSelection) {
        return window.getSelection();
    }
    else if (document.selection) {
        return document.selection.createRange().text;
    }
    return '';
}


function errorChecker(){
    
    $('#bug_window').bind('mouseover', function( event ) {
        $(this).stop(true, false).animate({
            right: '0'
        });
        return false;
    }).bind('mouseout', function( event ) {
        $(this).stop(true, false).animate({
            right: '-112'
        });
        return false;
    }).bind('click', function ( event ) {
         bugWin();
    }); 

	$(document).keypress(
		function(e) {

			//если посетитель нажал Ctrl + Enter…
			if (e.which == 13 && e.ctrlKey || e.which==10){
              //…ищем выделенный текст… 
			  bugWin();
			}
		}
	);
}

var bugWin = function(){
    var selectedText = document.getSelection ? document.getSelection() : document.selection.createRange().text;
    var cont = 
        'Нажмите <b>Отправить</b>, чтобы отправить сообщение об ошибке или нажмите <b>Отмена</b>, чтобы закрыть окно.<br>'+
        '<div class="report_error" style="padding:2px 0; color:red; font-size:11px; display:none;">Empty error text</div>'+
        '<br>'+
        '<p><textarea style="width:98%; height:200px; padding:0px;" id="errorChecker_form">'+selectedText+'</textarea></p>';
    $( "#dialog" ).html(cont); 

    //alert(selectedText);
    $( "#dialog" ).dialog({
        width:500,
        buttons: {
            "Отправить": function() {
                var text = trim( $('#errorChecker_form').val() );
                if(!text){
                    $('.report_error').show();
                    return;
                }
                $('.report_error').hide();
                $.post('/component/error_report', {
                        act : 'error_reporting',
                        text: $('#errorChecker_form').val(),
                        url: document.location.href
                    }, function(data){
                        $( "#dialog" ).html('<br><br>Спасибо за то, что Вы с нами!<br><br><br>');
                        setTimeout(function(){$( "#dialog" ).dialog( "close" );},2000);
                    }
                );
            },
            "Отмена": function() {
                $( this ).dialog( "close" );
            }
        }
    });
}
