function str_repeat(str, repeat) {

  var output = '';

  for (var i = 0; i < repeat; i++) {

    output += str;

  }

  return output;

}

var MAX_DEPTH = 10;

function print_r(obj, indent, depth) {

  var ws = '    ';

  var output = '';

  indent = (!indent) ? 0 : indent;

  depth = (!depth) ? 0 : depth;

  if (depth > MAX_DEPTH) {

    return str_repeat(ws, indent) + '*Maximum Depth Reached*\n';

  }

  if (typeof(obj) == "object") {

    output += (indent == 0) ? typeof(obj) + '\n(\n' : '';

    indent++;

    var child = '';

    for (var key in obj) {

      try {

        child = obj[key];

      }

      catch (e) {

        child = '*Unable To Evaluate*';

      }

      output += str_repeat(ws, indent) + '['+key+'] => ';

      if (typeof(child) == "object") {

        indent++;

        output += typeof(child) + '\n';

        output += str_repeat(ws, indent) + '(\n';

        output += print_r(child, indent, depth+1);

        output += str_repeat(ws, indent) + ')\n';

        indent--;

      }

      else {

        output += child + '\n';

      }

    }

    indent--;

    output += (indent == 0) ? ')\n' : '';

    return output;

  }

  else {

    return str_repeat(ws, indent) + obj + '\n';

  }

}


// пагинатор
//передвигаем ползунок
function mv(d)
{
    //d - направление движения
    cur = parseInt($(v1).attr('innerHTML'));
    // считаем ускорение
    m = 0;

    //проверки в зависимости от направляения
    if (d == 1)
    {
        if (cur + 12 > maxPage) return;
        if (cur + m >= maxPage) m = 0;
    }
    else if (cur <= 1) return;
    else if ((cur - m) <= 1) m = 0;
    if (d == 1)
        $(moveBack).css('visibility', 'visible');
    else
        $(moveForw).css('visibility', 'visible');
    cur += d * (m + 1);
    // перебираем все элементы пагинатора и меняем их
    for (i = 0; i < 12; i += 1)
    {
        obj = $('#v'+(i+1)).attr('innerHTML', cur + i ).attr('href',urlB + (cur + i) +  urlA)
        if (cur + i == act)
            $(obj).addClass('act')
        else
            $(obj).removeClass('act')
        if (cur + i == 1)// тоесть у нас нарисовался первый элемент - убираем в начало
        {
            rmv()
            $(moveBack).css('visibility', 'hidden');
        }
        else if (cur + i == maxPage)
        {
            rmv()
            $(moveForw).css('visibility', 'hidden');
        }
    }
    iter += 1;
    tid = window.setTimeout('mv('+d+')', 100);
    return false;
}
//убираем счетчик
function rmv()
{
    iter = 0;
    if (tid)
        window.clearTimeout(tid);
}
// пагинатор /
// функция для возврата загруженных флеш плееров в картинки
function hideSWF(flag)
{
    if (flag)
    {
        $('div.player').each(
            function(i)
            {
                divId = $(this).attr('id');
                anekId = divId.replace('divanek', '');
                html = '<a href="javascript:loadSWF('+anekId+');" id="anek'+anekId+'"><img src="/images/player.gif" alt="." /></a>';
                $(this).attr('innerHTML', html);
            });

        $('#player_play').hide();
    }
    else
    {
        $('#player_play').show();
    }
}

// функция проверки ввода номера, является ли символ цифрой
function CheckNumericKeyInfo($char, $mozChar)
{
    if($mozChar != null)
    { // Look for a Mozilla-compatible browser
        if(($mozChar >= 48 && $mozChar <= 57) || $mozChar == 0 || $char == 8 || $mozChar == 13)
             { $RetVal = true;  }
        else { $RetVal = false; }
	}
	else
	{ // Must be an IE-compatible Browser
	     if(($char >= 48 && $char <= 57) || $char == 13)
	          { $RetVal = true;  }
         else { $RetVal = false; }
	}
    return $RetVal;
}

// из той же оперы, только проверяем длину
function checkCNum(cid)
{
    var numChars = document.getElementById('num_input_'+cid).value.length;
    var disValue = (numChars>=8 && numChars<=13) ? false : true;
    document.getElementById('button_'+cid).disabled = disValue;
}

// из той же оперы, только проверяем длину
function checkCNumCommon(cid)
{
    var numChars = document.getElementById('common_send_num').value.length;
    var disValue = (numChars>=8 && numChars<=13) ? false : true;
    document.getElementById('submit_form_btn').disabled = disValue;
}


// всё что нужно для window.tpl
var regionsData = [];
regionsData['AZ'] = ['8553', '', 'Азербайджан', '<strong>Azercell</strong> 3 азерб. манат<br><strong>Nar Mobile</strong> 2,15 азерб. манат<br><strong>Bakcell</strong> 2,50 азерб. манат<br>', '994'];
regionsData['AM'] = ['9785', '', 'Армения', '<strong>Vivacell - MTS</strong> 833,33 арм. драм <br><strong>Beeline</strong> 833,33 арм. драм<br>4', '374'];
regionsData['BY'] = ['5555', '', 'Беларусь', '<strong>velcom</strong> 9900 бел.рублей<br><strong>life:)</strong> 9900 бел.рублей<br><strong>DIALLOG</strong> 8100 бел.рублей<br><strong>МТС</strong> 9900 бел.рублей<br>4', '375'];
regionsData['GE'] = ['9877', '', 'Грузия', '<strong>Magticom</strong> 4,66 груз. лари<br><strong>Geocell</strong> 4,66 груз. лари<br><strong>Beeline</strong> 4,66 груз. лари<br>', '995'];
regionsData['KZ'] = ['9195', '', 'Казахстан', '<strong>Beeline</strong> 400,89 каз.тенге<br><strong>Neo Telecom</strong> 400,89 каз.тенге<br><strong>K-Cell</strong> 400,89 каз.тенге<br>', '7'];
regionsData['KG'] = ['5580', '', 'Кыргыстан', '<strong>Bitel</strong> $1,00<br>', '996'];
regionsData['TJ'] = ['1045', '', 'Таджикистан', '<strong>MLT</strong> $0,85<br><strong>Babilon</strong> $0,85<br><strong>TK  Mobile</strong> $1,01<br>', '992'];
regionsData['UZ'] = ['1315', '', 'Узбекистан', '<strong>Beeline Uzbekistan</strong> $3,00<br/><strong>MTS</strong> $3,00<br/><strong>Perfectum Mobile</strong> $3,00<br/><strong>Ucell</strong> $3,00<br/>', '998'];
regionsData['RU'] = ['1051', '', 'Россия', '<strong>МТС</strong> - 84,32р.<br>(Стоимость доступа к услугам контент-провайдера устанавливается Вашим оператором. Подробную информацию можно узнать на сайте <a href="http://www.mts.ru" target="_blank">www.mts.ru</a> или обратившись в контактный центр по телефону 8 800 333 0890 (0890 для абонентов МТС))<br /><strong>Мегафон</strong> - 82,60р.<br /><strong>Билайн</strong> - 85,00р.<br /><strong>TELE2</strong> - 82,60р.<br />Остальные - 83,20р.', '7'];
regionsData['UA'] = ['5280', '', 'Украина', '«Стоимость СМС-сообщения на номер 5280 для абонентов всех GSM операторов Украины – 30 грн. (Тариф в гривнах с учетом НДС. Дополнительно удерживается сбор в Пенсионный фонд в размере 7,5 % от стоимости услуги без учета НДС)»', '380'];
regionsData['IL'] = ['5445', '15', 'Израиль', '<strong>Pelephone</strong> 12,99 шекель<br><strong>Orange</strong> 12,99 шекель<br><strong>Cellcom</strong> 12,99 шекель<br>', '972'];
regionsData['EE'] = ['15151', 'inf ', 'Эстония', '<strong>EMT</strong> 21,19 эст.крона (1,35€)<br><strong>Elisa</strong> 21,19 эст.крона (1,35€)<br><strong>TELE2</strong> 21,19 эст.крона (1,35€)<br>', '372'];
regionsData['LT'] = ['1378', 'nfo 0', 'Литва', '<strong>BITE</strong> 4,24 лит<br><strong>Omnitel</strong> 4,20 лит<br><strong>TELE2</strong> 4,20 лит<br>', '370'];
regionsData['LV'] = ['1863', 'inf 10', 'Латвия', '<strong>BITE GSM</strong> 1,54 лат<br><strong>TELE2</strong> 1,50 лат<br><strong>LMT</strong> 1,50 лат<br>', '371'];

function changeRegion(region, num_id)
{
    $('#n_span1').html( regionsData[region][0] );
    if(num_id != undefined)
    {
        $('#n2_span_' + num_id).html( regionsData[region][0] );
        $('#prefix2_span_' + num_id).html( regionsData[region][1] );
    }
    $('#n_span2').html( regionsData[region][0] );
    $('.reg_numb').html( regionsData[region][0] );
    $('#n_span3').html( regionsData[region][0] );
    $('#n_span4').html( regionsData[region][0] );
    $('#region1').html( regionsData[region][2] );
    $('#region2').html( regionsData[region][2] );
    $('#region3').html( regionsData[region][2] );
    $('#region4').html( regionsData[region][2] );
    $('#prefix_span').html( regionsData[region][1] );
    $('#prefix_span2').html( regionsData[region][1] );
    $('#prefix_span3').html( regionsData[region][1] );
    $('#prefix_span4').html( regionsData[region][1] );
    $('#prices_text').html( regionsData[region][3] );
    if (region == 'RU')
    {
        $('#NDS').html('Цены указаны с учетом НДС.(Доступно для всех Операторов связи РФ, за исключением Мотив и Акос) ');
    }
    else
    {
        $('#NDS').html('Цены указаны без НДС.');
        if (region == 'UA')
        {
            $('#NDS').html('');
        }
    }
    //$('#cost_span1').html( regionsData[region][3] );
    //$('#cost_span2').html( regionsData[region][3] );
    //$('#cost_span3').html( regionsData[region][3] );
    //$('#cost_span4').html( regionsData[region][3] );

    if($('#common_send_num') != undefined && $('#common_send_num') != null)
    {
        if($('#common_send_num').val().length <= 3)
        {
            $('#common_send_num').val(regionsData[region][4]);
        }
    }

    if(num_id != undefined && document.getElementById('num_input_' + num_id) && $('#num_input_' + num_id) != null)
    {
        if($('#num_input_' + num_id).val().length <= 3)
        {
            $('#num_input_' + num_id).val(regionsData[region][4]);
        }
    }

    toggleRegion('#sel_region1','#cur_region1');
    toggleRegion('#sel_region2','#cur_region2');
    toggleRegion('#sel_region3','#cur_region3');
    toggleRegion('#sel_region4','#cur_region4');
    return false;
}

function toggleRegion(cur, sel)
{
    if ($(cur).css('display')=='block')
    {
        $(cur).css('display','none');
    }
    $(sel).animate({opacity:'toggle'},'normal',function(){$(cur).css('display','none'); $(sel).css('display','block');});

    if ($(sel).css('display')=='none' || $(sel).css('display')=='')
    {
        $(sel).css('display','block');
    }
    return false;
}

function toggleBlocker_List(flag, cid)
{
    if (flag == 0)
    {
        $('div.anekpodads').each(
        function(i)
        {
            $(this).show();
        });

        cid = $('#cid_active').val();

        if ($('#code_span').html() != 'Ошибка')
        {
            $('#n2_span_'   +cid).html( $('#n_span'     ).html() );
            $('#code2_span_'+cid).html( $('#prefix_span').html() + $('#code_span'  ).html() );
            $('#num2_span_' +cid).html( $('#num_span').html() );
            $('#cost2_span_'   +cid).html( $('#cost_span').html() );

            $('#send1_'+cid).hide();
            $('#send2_'+cid).show();
        }

        $('#blocker').hide();
        $('#send').hide();
        $('#win').hide();
    }
    else
    {
        hideSWF(1);

        $('#cid_active').val( cid );

        $('#name_span').html( $('#cname' + cid).html() );
        $('#num_span' ).html( '+' + $('#num_input_'+cid).val() );

        $.post('/showcode/', { id: cid, phone: $('#num_input_'+cid).val(), rand: Math.random() }, function(data) {
            if (data)
            {
                if (data.substr(0, 3) == 'err')
                {
                    data = 'Ошибка';
                    $('#will_send').hide();
                }
                $('#code_span').html( data );
                $('#will_send').show();

                $('#blocker').show();
                $('#win').show();
            }
        }
        );
    }
}

function toggleBlocker_Item(flag, cid)
{
    if (flag == 0)
    {
        hideSWF(0);

        $('#button_' + cid).attr('disabled', '');
        cid = $('#cid_active').val();

        if ($('#code_span').html() != 'Ошибка')
        {
            $('#n2_span_'   +cid).html( $('#n_span'     ).html() );
            $('#prefix2_span_'+cid).html( $('#prefix_span').html());
            $('#code2_span_'+cid).html( $('#code_span'  ).html() );
            $('#num2_span_' +cid).html( $('#num_span').html() );
            //$('#cost2_span_'   +cid).html( $('#cost_span').html() );

            $('#will_send2').show();

            $('#item_send').remove();
            $('#item_sent').show();
        }

        $('#blocker').hide();
        $('#win').hide();
    }
    else
    {
        hideSWF(1);

        $('#button_' + cid).attr('disabled', 'disabled');
        $('#cid_active').val( cid );

        $('#name_span').html( $('#cname' + cid).html() );
        $('#num_span' ).html( '+' + $('#num_input_'+cid).val() );

        $.post('/showcode/', { id: cid, phone: $('#num_input_'+cid).val(), rand: Math.random() }, function(data) {
            if (data)
            {
                if (data.substr(0, 3) == 'err')
                {
                    data = 'Ошибка';
                    $('#will_send' ).hide();
                }
                else
                {
                    $('#will_send' ).show();
                }
                $('#code_span').html( data );

                $('#blocker').show();
                $('#win').show();
            }
        }
        );
    }
}

function showSend(cid)
{
    $('div.senddiv1').slideUp();
    $('div.senddiv2').slideUp();
    $('div.send').removeClass('send_act');

    if ( $('#opened').val() != cid )
    {
        $('#sendm_'+cid).addClass('send_act');
        $('#num_input_'+cid).val('7');
        $('#send1_'+cid).slideDown();

        $('#opened').val(cid);
    }
    else
    {
        $('#opened').val('');
    }
}


// попап
function showWin(theURL)
{
    var winName = '';
    var width = 600;
	var height = 400;
    var features = 'width=' + width + ', height=' + height + ', titlebar=no, resizable=no, status=no, scrollbars=yes';

	SendWin=window.open(theURL,winName,features);
	SendWin.focus();
	return false;
}


// ссылка другу:
function sendFriendLink(oForm)
{
    pemail = oForm.email.value;
    if(!pemail)
    {
        $('#emresponse').html('<small>Вы не ввели адрес!</small>');
        return false;
    }
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if(!pemail.match(re))
    {
        $('#emresponse').html('<small>Вы ввели некорректный адрес!</small>');
        return false;
    }
    ptxt = oForm.email_text.value;
    var pcap = oForm.captcha_code.value;

    $.post(
        '/ajax/captchacheck/',
        {
            captcha_code: pcap
        },
        onCapSuccess
    );
}
function onCapSuccess(data)
{
    if(data=='err')
    {
        $('#capresponse').html('<small>Вы неправильно ввели код!</small>');
        $('#capimg').attr('src', '/captcha.php?' + Math.random());
        $('#captcha_code').val('');
        return false;
    }
    else
    {
        $.post(
            '/ajax/send/',
            {
                email: pemail,
                txt: ptxt
            },
            function (data) { document.getElementById('win_link').style.display='none'; hideSWF(0); }
        );
    }
}

function move_box()
{
    var offset = 400;
    var win = document.getElementById('win');
    var send = document.getElementById('send');
    win.style.top = (document.documentElement.scrollTop + offset) + 'px';
    send.style.top = (document.documentElement.scrollTop + offset) + 'px';
}

function anecVote(cid, vote)
{
    $.get('/ajax/vote/', { cid: cid, vote: vote, rand: Math.random() },
        function(data)
        {
            if (data)
            {
                var rating = document.getElementById('anecRating'+cid);
                rating.innerHTML = data;
            }
        }
    );
    $('#vote_dlg_' + cid).hide();
    $('#rate_msg_' + cid).show();
}

function showBlog($id)
{
    $(".win").hide();
    $("#win_blog"+$id).show();
}
