var g_poller = null;
var g_dot_dot_dot = null;
var expire_timer = null;
var g_login = null;

function set_customize_login(login)
{
    alert(login);
    g_login=login;
}

function r_init(type, selected_cc)
{
    if (g_login)
    {
        alert(g_login);
    }
    
    r_hide_all();

    if (g_poller) {
      g_poller.stop();
    }
    if (expire_timer) {
      expire_timer.stop();
    }
    g_poller = new PollerInterface({version: SIMPLE_DIALIN,
                                    start_url: '/audio/start_dialin?type=user_name&cc=' + selected_cc,
                                    startFunction: (function(phone, code, expire) {r_start(phone, code, expire)}),
                                    completeFunction: (function(success) {r_complete(success)}),
                                    errorFunction: (function() {r_error()}),
                                    statusElement: 'r_messages'
                                 });
    $("div#r_prompt").css({display:"none"});
    $("div#r_work").css({display:""});
    $("div#r_init").css({display:""});
}

function r_hide_all()
{
  $("div[@id=r_prompt]").css({display:"none"});
  $("div[@id=r_work]").css({display:"none"});
  $("div[@id=r_init]").css({display:"none"});
  $("div[@id=r_callnow]").css({display:"none"});
  $("div[@id=r_expired]").css({display:"none"});
  $("div[@id=r_success]").css({display:"none"});
  $("div[@id=r_fail]").css({display:"none"});
  $("div[@id=r_error]").css({display:"none"});
  $("div[@id=r_messages]").css({display:"none"});
}

function r_start(phone, code, expireseconds)
{
    r_hide_all();	

    $('#r_phone').html(phone + " ");
    $('#r_code').html(code);

    expiration_date = new Date();
    expiration_date.setTime(expiration_date.getTime() + (expireseconds*1000));

    $("div[@id=r_work]").css({display:"block"});
    $("div[@id=r_callnow]").css({display:"block"});
    $("div[@id=r_messages]").css({display:"block"});

    expire_timer = new CountDown(expiration_date,
                                "r_expire_time",
                                r_is_terminated,
                                r_on_timer_done);

    if (g_dot_dot_dot)
    {
      g_dot_dot_dot.stop();
    }  
    g_dot_dot_dot = new DotDotDot("r_dotdot");
}

function r_update_country(cc)
{
    r_init('intro',cc.options[cc.selectedIndex].value);
}

function r_is_terminated()
{
    return g_poller.is_terminated();
}

function r_on_timer_done()
{
    r_hide_all();

    if(g_poller){
	  g_poller.stop();
    }

    $("div[@id=r_prompt]").css({display:"block"});
    $("div[@id=r_work]").css({display:"none"});
    $("div[@id=r_expired]").css({display:"block"});
}

function r_complete(success)
{
    r_hide_all();

    $("div[@id=r_prompt]").css({display:"block"});

    if(success){
        $("div[@id=r_success]").css({display:"block"});
        updateVoicePlayer();
    }else{
        $("div[@id=r_messages]").css({display:"block"});
    }
}

  
function r_error()
{
    r_hide_all();

    $("div[@id=r_prompt]").css({display:"block"});
    $("div[@id=r_error]").css({display:"block"});
    $("div[@id=r_messages]").css({display:"block"});
}


function changeAutoPlay()
{
    var ch = document['ap_form']['autoplay'].checked;

    new Ajax.Updater("ap_msg",
                     "/user/edit_autoplay_via_ajax?ap="+ch,
                     {
                       asynchronous:true,
                       evalScripts:true,
                       onComplete:(function(request){ap_done(request)}).bind(this)
                     });
}

function ap_done(rq)
{
    var result = rq.getResponseHeader("process-status");
    switch (parseInt(result))
    {
        case 1: alert("Autoplay has been turned on"); break;
        case 2: alert("Autoplay has been turned off"); break;
    }
}

function changePrivacy()
{
    var ch = document['priv_form']['priv'].checked;
    new Ajax.Updater("priv_msg",
                     "/account/set_privacy?priv="+ch,
                     {
                       asynchronous:true,
                       evalScripts:true,
                       onComplete:(function(request){priv_done(request)}).bind(this)
                     });
}

function priv_done(rq)
{
    var result = rq.getResponseHeader("process-status");
    switch (parseInt(result))
    {
        case 1: alert("Privacy has been turned on"); break;
        case 2: alert("Privacy has been turned off"); break;
    }
}

function set_city_region()
{
    usercc = document.getElementById('user_cc');
    
    if (usercc.options[usercc.selectedIndex].value == 'US')
    {
        showHide('city_state_zip', 'city_region');
    }
    else
    {
        showHide('city_region', 'city_state_zip');
    }
}

function showError(errorText)
{
    errorDiv = document.getElementById('photo_upload_error');
    if (errorText.length > 0)
    {
        errorDiv.style.display = 'block';
        errorDiv.innerHTML = " " + errorText;
    }
}
function hideError()
{
    errorDiv = document.getElementById('photo_upload_error');
    errorDiv.innerHTML = "";
}

