$(document).ready(function() {

    $('.error').hide();

    $("#inp-to").placeholder();
    
    truncateLongNames('#contacts ul li a.buddy');

    updateHistory();
    
    // Account details
    
    if ($(".p-account .details").length) {
        
        $(".items .open form").fadeIn();
        
        $(".p-account .details .item h2 a").click(function(event){
            $(".p-account .details .open").removeClass("open");
            $(this).parents(".item").addClass("open");
            $(".details .item form").hide();
            $(this).parent().next().fadeIn();
            event.preventDefault();
        });
    }
    
    
    $('#inp-to, #ratescheck input, input#callbackNumber').each(function() {
       addPlusSign(this);
    }).trigger('keyup');

    $("#vm-shout").click(function(event) {
       $('#vmsemailtext').hide();
    });
    $("#vm-sms").click(function(event) {
       $('#vmsemailtext').hide();
    });
    $("#vm-email").click(function(event) {
       $('#vmsemailtext').toggle();
       $(this).toggleClass("active");
    });


$('#forgotpassword').submit(function(e){
      e.preventDefault();
      var msisdn=$('#callbackNumber').val();
      var action=$('input:[name="transport"]:checked').val();
      if( msisdn == null ){
          $('#errormsg').html("Please, type in phonenumber");
          $('#errorText').show();
      }else{
        var fpquery='msisdn=' + msisdn + "&transport="+ action;
                
        $.getJSON("lostpass?"+fpquery, function(data) {
          var status, msisdn, transport, reason;
          $.each(data, function(eIdx, entry){
                if( eIdx == 'status' ) {
                   status=entry;
                }
                if( eIdx == 'msisdn' ) {
                   msisdn=entry;
                }
                if( eIdx == 'transport' ) {
                   transport=entry;
                }
                if( eIdx == 'reason' ) {
                   reason=entry;
                }
          });
          if( status == 'Sent') {
            $('#standardForm').hide();
            var rsText = "Password has been sent using " + transport + ".";
            if( transport == 'shout'){
                $("#shouttext").hide();
            }
            $('#resulttext').html(rsText);
            $('#fpResult').show();
            
          }else{
              $('#errormsg').html("Password not sent to " + msisdn + ". Reason : " + reason);
              $('#errorText').show();
            
          }
        });
      }
    });

    $('#shoutlink').click(function(event){
      event.preventDefault();
      $('#fpResult').hide();
      var rdbtn = $('#standardForm input[name=transport]').val("shout");
      rdbtn.attr("checked","checked");
      $('#standardForm').show();
    });

    $("a.paymentprovider").click(function(event){
        var action = $(this).siblings('.content').toggle();

    });

    $("#borgun_amount").change(function () {
        
        
          var str = "";
          $("#borgun_amount option:selected").each(function () {
               str += $(this).val() + " ";
              var $creditamount=$(this).val();
              var $taxamount = $creditamount*0.255;
              var $totalamount = $taxamount*1+$creditamount*1;
              $("#taxamount").val($taxamount);
              $("#totalamount").val($totalamount);
          });
          
        }).change();

    $("#paypal_amount").change(function () {


          var str = "";
          $("#paypal_amount option:selected").each(function () {
               str += $(this).val() + " ";
              var $creditamount=$(this).val();
              var $user = $("#pp_custom").val();
              if( $creditamount == 2 ){
                  $("#pp_hosted_button_id").val("VGW287G2UWAX6");
                  $("#pp_item_name").val("Add 2000 credits ( 1.03 cost ) for Amivox account: " + $user);
              }else{
                  $("#pp_hosted_button_id").val("6SWG2W4SCS2UJ");
                  $("#pp_item_name").val("Add 1000 credits ( 0.79 cost ) for Amivox account: " + $user);
              }
          });

        }).change();

    $('#cbnumber_change').colorbox();
     
   
});


function autocompleteSelected(li) {
	
	if( li == null ) return alert("No match!");

	// if coming from an AJAX call, let's use the CityId as the value
	if( !!li.extra ) var sValue = li.extra[0];

	// otherwise, let's just display the value in the text box
	else var sValue = li.selectValue;

    getemail(sValue);
    
    if ($("#page.wi-sms").length) {
        reply(1, sValue);
    }
    
    if ($("#page.wi-phone").length) {
        $(".keypad .call").addClass("ready");
    }
    
    
    
    
    
}

function getemail(value)
{
    $('#inp-email').val('');
    var historyquery = 'web?a=getemail&data=json&selected='+ value;
    $.getJSON(historyquery, function(data) {
        var email = data.response.rosterItem.email;

        $('#inp-email').val(email);
    });
}

function truncateLongNames(selector) {
    $(selector).each(function() {
        var parent = $(this);
        var span = $(this).children('span');
        var text = span.text();
        var original = span.text();

        var add = false;
        while (span.width() + 10 > parent.width()) {
            text = text.substring(0, text.length - 1);
            span.text(text);
            add = true;
        }

        if (add) {
            span.text(text + '...');
            parent.attr('title', original);
        }
    })
}

function addPlusSign(input) {
    $(input).keyup(function() {
        var val = $(this).val();
        $('.output').text(val);

        if (!isNaN(val) && val.length > 4 && val.indexOf('+') == -1) {
            $(this).val('+' + val);
        }
        else if (isNaN(val) && val.indexOf('+') != -1) {
            $(this).val(val.substring(1));
        }
    });
}

function sms(buddymsisdn) {
    hideFlash();
    $('.error').hide();
    //var buddymsisdn = $("#bnumber").val();
    if (!buddymsisdn) {
        buddymsisdn = $('#inp-to').val();
        if (buddymsisdn.indexOf('(') != -1) {
            buddymsisdn = buddymsisdn.substring(buddymsisdn.indexOf('(') + 1, buddymsisdn.indexOf(')'));
        }
    }
    if (buddymsisdn == "") {
          $("label#buddy_sms_error").show();
          $("input#buddy_sms").focus();
          return false;
    }
    var message = $("#inp-smsmsg").val();

    var smsquery = 'a=sms&data=json&bnumber='+ buddymsisdn + '&message=' + escape(message);

    $.post("web", smsquery, function(data, textStatus) {
        if(textStatus=='success')
        {
            var responseinfo = data.response.info;

            if(responseinfo.length>3)
            {
               showMessage('<h2>Failed</h2><p>Insufficient balance!</p>');
            }
            else
            {
              showMessage('<h2>Message sent!</h2>');
              updateHistory();
            }
           
        }
        else
        {
           showMessage('<p>Could not sent message</p>');
        }
        
    }, "json");


    $("#inp-smsmsg").val('');
    $("#button_sms").removeClass("enabled").addClass("disable");

    updatefifolist();
}

function updateKeypad(num) {
    var numfield = $("#widgets .toolbar #inp-to");
    var number = numfield.attr("value");
    var numReg = /^\d+$/;
    if( numReg.test(number))
        numfield.attr("value", number + num);
    else
        numfield.attr("value", num);
}

function call(buddymsisdn) {



   hideFlash();
    if (!buddymsisdn) {
        buddymsisdn = $('#inp-to').val();
        if (buddymsisdn.indexOf('(') != -1) {
            buddymsisdn = buddymsisdn.substring(buddymsisdn.indexOf('(') + 1, buddymsisdn.indexOf(')'));
        }
    }

    $('#actiondone').hide();
    $("body").removeClass("allcontacts");
    $("#page").attr("class","");
    $("#page").addClass("wi-phone");


    var historyquery = 'web?a=getnick&data=json&bnumber='+ buddymsisdn;
    $.getJSON(historyquery, function(data) {
        $('#inp-to').val(data.response.buddynick+'('+buddymsisdn+')');
    });
    
    
    $('#bnumber').val(buddymsisdn);

    var bnumber = buddymsisdn;
    if (bnumber == "") {
          $("label#bnumber_call_error").show();
          $("input#call_bnumber").focus();
          return false;
    }
    
    var anumber = $("#inp-from").val();

    if (anumber == "") {
          $("label#anumber_call_error").show();
          return false;
    }

    var dataString = 'a=call&rt=json&bnumber='+ bnumber + '&anumber=' + anumber;

    

    $.post("web", dataString, function(data, textStatus) {
        if (data.redirect) {
            // data.redirect contains the string URL to redirect to
            window.location.href = data.redirect;
            window.location.reload();
        }
        else if(textStatus=='success')
        {
            var responseinfo = data.response.info;

            if(responseinfo.length>3)
            {
               showMessage('<h2>Could not make call!</h2><p>You dont have sufficient credit</p>', 'error');
            }
            else
            {
                 showMessage("<h2>Call has been initiated</h2>");
                 updateHistory();
                 
            }

        }
        else
        {
           showMessage('Could not make call', 'error');
        }

    }, "json");

    updatefifolist();
}

function showMessage(message, type) {
    type = typeof(type) != 'undefined' ? type : "message";
    if (!$(".amimsg").length) {
        $("<div />").addClass("amimsg").hide().appendTo("body");
    } 
    $(".amimsg").attr("class","").addClass("amimsg").addClass(type).html(message).fadeIn().delay(4000).fadeOut();
}

function callInitiated(message) {
    var info = $('#infocost span.callInfo');
    if (message != null) {
        var text = info.text();

        var rel = info.attr('rel)');
        if (rel == null) {
            info.attr('rel', text);
        }
        info.html(message);
    }
    else {
        var text = info.attr('rel');
        if (text) {
            info.html(text);
        }

        $('#infocost').each(function() {
           $(this).children('span.callInfo').fadeOut(function() {
              $(this).siblings('span.callInitiated').fadeIn().delay(10000).fadeOut(function() {
                $(this).siblings('span.callInfo').fadeIn();
              });
           });
        });
    }

}

function smsInitiated(message) {
    var info = $('#wi-sms .messages span.smsInitiated');
    if (message != null) {
        var text = info.text();

        var rel = info.attr('rel')
        if (rel == null) {
            info.attr('rel', text);
        }
        info.html(message);
    }
    else {
        var text = info.attr('rel');
        if (text) {
            info.html(text);
        }
    }
    info.html(message).fadeIn().delay(5000).fadeOut();
}

function vmInitiated(message) {

    var info = $('#wi-vm .list span.vmInitiated');
    if (message != null) {
        var text = info.text();

        var rel = info.attr('rel')
        if (rel == null) {
            info.attr('rel', text);
        }
        info.html(message);
    }
    info.html(message).fadeIn().delay(5000).fadeOut();
}

function noCredits()
{
    $('#message').html('<h1>Please topup:</h1> <p>Note that your balance is less than 1.00 EUR. You may run into problems using the service so please consider to topup using <a href="web/buy.jsp">buy credits</a></p>');
}

function editbuddy(id) {
    
    $("#editcontact").show();

    var historyquery = 'userinfo?buddy='+ id;

    $('#editcontactnumber').val(id);
    $('#editcontactnick').val(id);
    $('#editemail').val('');

    $.getJSON(historyquery, function(data) {
        $.each(data, function(entryIndex, entry){

        

        if (entry['nick']) {
            $('#editcontactnumber').val(entry['msisdn']);
            $('#editcontactnick').val(entry['nick']);
            $('#editemail').val(entry['email']);
        }
        else {
            $('#editcontactnumber').val(id);
        }
        });
    });
}

function addbuddy() {
    $("#editcontact").show();
}

function updatecontact() {
    var dataString = 'a=updatecontact&rt=json&mobile='+ $('#editcontactnumber').val() + '&nick=' + $('#editcontactnick').val()+ '&email=' + $('#editemail').val()+ '&presence=' + $('#presence').val();

    $.ajax({
       type: "POST",
       url: "web",
       data: dataString,
       success: function() {
            $("#editcontact").hide();
        }
    });
}

$("#historyList .paging a.next").click(function(event) {
    var next = parseInt($("#historyList .paging").attr("rel")) + 1;
    updateHistory(next);
    event.preventDefault();
});

$("#historyList .paging a.prev").click(function(event) {
    var next = parseInt($("#historyList .paging").attr("rel")) - 1;
    if (next >= 0)
        updateHistory(next);
    event.preventDefault();
});

function updateHistory(page) {
    
    var page = typeof(page) != 'undefined' ? page : 0;
    $("#historyList .paging").attr("rel", page);
    
    if (page > 1) {
        $("#historyList .paging a.prev").removeClass("disable");
    } else {
        $("#historyList .paging a.prev").addClass("disable");
    }
    
    $("#historyList .paging a.next").removeClass("disable");
    
    $(".noresults").remove();
    $('#history ul.tabs li.history').addClass('selected');
    $('#history ul.tabs li.usage').removeClass('selected');
    $('#usageList').removeClass('visible').hide();
    $('#historyList .paging').hide();
    $('#historyList table tbody').empty().hide();
    $('#historyList').addClass('visible').show();

    var historyquery = "/mc/userinfo?a=history&pagesize=10&page=" + page;
    
    $.getJSON(historyquery, function(data) {
        if (data.list.length) {
            var html = '';
            $.each(data.list, function(entryIndex, entry) {
                html += '<tr>';
                html += '<td class="inout in"><img src="images/amivox/' + entry['actiontype'] + '" /></td>';
                html += '<td class="type call">' + entry['action'] + '</td>';
                html += '<td class="contact"><a href="javascript:updateHistory(' + entry['msisdn'] + ')" title="' + entry['nick'] + '">' + entry['nick'] + '</a></td>';
                html += '<td class="content"><span title="' + entry['msgText'] + '">' + entry['msgText'] + '</span></td>';
                html += '<td class="timeHidden">' + entry['recdate'] + '</td>';
                html += '<td class="time">' + entry['dateformatted'] + '</td>';
                //html += '<td class="status"></td>';
                html += '<td class="action"><a href="javascript:reply(' + entry['actionid'] + ',' + entry['msisdn'] + ',' + entry['msgid'] + ')">Reply</a></td>';

                html += '</tr>';
            });
            $('#historyList table tbody').append(html);
            $('#historyList table tbody').fadeIn();
            $('#historyList .paging').show();
        } else {
            $("<div />").addClass("noresults").text("No more results found").insertBefore("#historyList .paging");
            $("#historyList .paging a.next").addClass("disable");
            $('#historyList .paging').show();
        }
   });
}

$("#usageList .paging a.next").click(function(event) {
    var next = parseInt($("#usageList .paging").attr("rel")) + 1;
    updateUsage(next);
    event.preventDefault();
});

$("#usageList .paging a.prev").click(function(event) {
    var next = parseInt($("#usageList .paging").attr("rel")) - 1;
    if (next >= 0)
        updateUsage(next);
    event.preventDefault();
});

function updateUsage(page) {
    
    var page = typeof(page) != 'undefined' ? page : 0;
    $("#usageList .paging").attr("rel", page);
    
    if (page > 1) {
        $("#usageList .paging a.prev").removeClass("disable");
    } else {
        $("#usageList .paging a.prev").addClass("disable");
    }
    
    $("#usageList .paging a.next").removeClass("disable");
    
    $(".noresults").remove();
    $('#history ul.tabs li.usage').addClass('selected');
    $('#history ul.tabs li.history').removeClass('selected');

    $('#historyList').removeClass('visible').hide();
    $('#usageList .loader').show();
    $('#usageList .paging').hide();
    $('#usageList table tbody').empty().hide();
    $('#usageList').addClass('visible').show();

    var historyquery = "/mc/userinfo?a=usage&pagesize=10&page=" + page;
  
    $.getJSON(historyquery, function(data) {
        if (data.list.length) {
            var html = '';
            $.each(data.list, function(entryIndex, entry) {
                html += '<tr class="' + entry['action'] + '">';
                html += '<td class="type">' + entry['action'] + '</td>';
                html += '<td class="from"><span>' + entry['from'] + '</span></td>';
                html += '<td class="to"><span>' + entry['to'] + '</span></td>';
                html += '<td class="timeHidden">' + entry['recdate'] + '</td>';
                html += '<td class="time">' + entry['dateformatted'] + '</td>';
                html += '<td class="cost">' + entry['costDetail'] + '</td>';
                html += '<td class="detail">' + entry['detail'] + '</td>';
                html += '</tr>';
            });
            $('#usageList table tbody').append(html);
            $('#usageList table tbody').fadeIn();
            $('#usageList .paging').show();
        } else {
            $("<div />").addClass("noresults").text("No more results found").insertBefore("#usageList .paging");
            $("#usageList .paging a.next").addClass("disable");
            $('#usageList .paging').show();
        }

   });
}

function updatefifolist()
{
    var historyquery = 'web?a=fifo&data=json';

    $.getJSON(historyquery, function(data) {
        var html = '';
        if (data.response.history.length > 0) {
            $.each(data.response.history, function(entryIndex, entry) {
                html += ' <li class="online contactitem"><a class="buddy" href="javascript:editbuddy(' + entry['msisdn'] + ')" >';
                html += '<span>' + entry['nick'] + '</span></a>';
                html += '<ul class="actions"><li class="call">';
                html +='<a href="javascript:call(' + entry['msisdn'] + ')">Call</a></li><li class="more">';
                html +='<a href="/web?a=home" rel="' + entry['msisdn'] + '">More</a></li>';
                html += '</ul></li>';
            });
        }
        
        $('#fifolist .contactitem').remove();
        $(html).insertAfter('#fifolist .me');

   });


}

function showAllBuddies() {
    hideFlash();
    var historyquery = 'userinfo?sortorder=nick&buddy=%';
    $.getJSON(historyquery, function(data) {
    $('#buddylist').empty();
        var html = '<ul class="list">';
        var arrayHtml = '<li class="0"><a class="selected" href="#">All</a></li>';
        var alphabet = new Array();

        $.each(data, function(entryIndex, entry) {
           var nick = entry['nick'].substring(0, 1).toUpperCase();
           if ($.inArray(nick, alphabet) == -1) {
               arrayHtml += '<li class="' + nick + '"><a href="#">' + nick + '</a></li>';
               alphabet.push(nick);
           }
           html += '<li class="item online ' + nick + '">';
           html += '<h3><a  href="javascript:editbuddy(' + entry['msisdn'] +')"><span>' + entry['nick'] + '</span></a></h3>';
           html += '<ul class="meta">';
           if (entry['image']) {
               html += '<li class="thumb"><img src="http://m.amivox.com/podcasts/resizeImg.php?size=46&img=http://m.amivox.com/userservice/getpic?image=' + entry['image'] + '" alt="' + entry['nick'] + '" /></li>';
           }
           else {
               html += '<li class="thumb"><img src="images/amivox/amiprofile2.png" alt="' + entry['nick'] + '" /></li>';
           }
           html += '<li class="number"><span class="in">' + entry['msisdn'] + '</span></li>';
           if (entry['email']) {
               html += '<li class="email"><span class="in">' + entry['email'] + '</span></li>';
           }
           else
           {
              html += '<li class="email"><span class="in"></span></li>';
           }
           
           html += '</ul>';
           html += '<ul class="actions">';
           html += '<li class="more"><a rel="' + entry['msisdn'] + '" href="javascript:buddymenu('+'"edit"'+')"><span>More</span></a></li>';
           html += '<li class="call"><a href="javascript:call(' + entry['msisdn'] + ')"><span>Call</span></a></li>';
           html += '</ul>';
           html += '</li>';
           

        });
        html += '</ul>'
        $('#buddylist').append(html);
        $("#buddylist .item:nth-child(4n)").addClass("end");
        initContactPopup('#buddylist ul.actions li.more a');
        $('#alphabet').empty().append(arrayHtml);
        alphabetActions();
        truncateLongNames('#allcontacts ul li.item h3 a');
   });
}

function alphabetActions() {
    $('#alphabet').each(function() {
        var alphabet = $(this);
        var width = alphabet.width();
        var left = (724 - width) / 2;
        alphabet.css('left', left + 'px');

        $('li', alphabet).each(function() {
            var li = $(this);
            var letter = li.attr('class');
            var a = li.children('a');

            a.click(function() {
                $('#alphabet li a.selected').removeClass('selected');

                var link = $(this);
                $('#buddylist ul li.item').show();
                if (letter != '0') {
                    $('#buddylist ul li.item:not(.' + letter + ')').hide();
                }
                link.addClass('selected');
            });
        });
    });
}

function buddymenu(action) {
    hideFlash();
    var bnumber = $("a.activeBuddy").attr("rel");

    var historyquery = 'web?a=getnick&data=json&bnumber='+ bnumber;
    $.getJSON(historyquery, function(data) {
        $('#inp-to').val(data.response.buddynick+'('+bnumber+')');
    });
    $('#bnumber').val(bnumber);
    getemail(bnumber);
    if(action=='history') {
        $("body").removeClass("allcontacts");
        updateHistory(bnumber);
    }
    else if(action=='call') {
        $("body").removeClass("allcontacts");
        $("#page").attr("class","");
        $("#page").addClass("wi-phone");
    }
    else if(action=='sms') {
        $("body").removeClass("allcontacts");
        $("#page").attr("class","");
        $("#page").addClass("wi-sms");
        
        
        var query2 = 'web?a=history&data=json&mt=1&count=0&msisdn='+bnumber;
        $.getJSON(query2, function(data) {
            $('#sms-scroller').empty();
            var html ='';
            $.each(data.response.history, function(entryIndex, entry) {
                html += '<div class="item">';
                html += '<div class="meta">';
                html += '<span class="name">' + entry['nick'] + '</span>';
                html += '<span class="time"> ' + entry['dateformatted'] + '</span>';
                html += '</div>';
                html += '<p>' + entry['msgText'] + '</p>';
                html += '</div>';

            });
            $('#sms-scroller').append(html);
       });
    }
    else if(action=='vm') {
        $("body").removeClass("allcontacts");
        $("#page").attr("class","");
        $("#page").addClass("wi-vm");
        
    }
    else if(action=='im') {
        $("body").removeClass("allcontacts");
        $("#page").attr("class","");
        $("#page").addClass("wi-im");
    }
    else if(action=='edit') {
        editbuddy(bnumber);
    }
}

function reply(action, msisdn,messageid) {
    hideFlash();
    $('#inp-to').val(msisdn);
    
    if (!msisdn)
        msisdn = $('#inp-to').val();
    
    if (msisdn) {
        if (msisdn.indexOf('(') != -1) {
            msisdn = msisdn.substring(msisdn.indexOf('(') + 1, msisdn.indexOf(')'));
        }
    }
    var historyquery = 'web?a=getnick&data=json&bnumber='+ msisdn;
    $.getJSON(historyquery, function(data) {
        var val = '';
        if (data.response.buddynick) {
            val = data.response.buddynick + '(+' + msisdn + ')';
        }
        else {
            val = '+' + msisdn;
        }
        $('#inp-to').val(val);
    });
    $('#bnumber').val('+' + msisdn);

   var historyquery = 'web?a=history&data=json&mt=1&count=0&msisdn='+msisdn+'&mt='+action;
   if(action=='1')
   {
        $("#page").attr("class","");
        $("#page").addClass("wi-sms");

      $.getJSON(historyquery, function(data) {
            $('#sms-scroller').empty();
            var html ='';

            $.each(data.response.history, function(entryIndex, entry) {
                html += '<div class="item"  id="' + entry['msgid'] + '">';
                html += '<div class="meta">';
                html += '<span class="name" >' + entry['nick'] + '</span>';
                html += '<span class="time"> ' + entry['dateformatted'] + '</span>';
                html += '</div>';
                html += '<p>' + entry['msgText'] + '</p>';
                html += '</div>';

            });

            $('#sms-scroller').append(html);

            if (messageid) {
                $('#' + messageid).addClass("highlight")
                $('#sms-scroller').scrollTo('#' + messageid);
            } else {
                $('#sms-scroller').scrollTo("max");
            }

            $('#sms-scrollbar').trigger('slide');
       });
   }
   else if(action=='4')
   {
        $("#page").attr("class","");
        $("#page").addClass("wi-im");
   }
   else if(action=='7')
   {
        $("#page").attr("class","");
        $("#page").addClass("wi-vm");
        getemail(msisdn);

   }
   else if(action=='6')
   {
       
        $("#page").attr("class","");
        $("#page").addClass("wi-phone");
   }


}


function getScrollHeight(container, scroller) {
    var height_cont = $(container).height();
    var height_scro = $(scroller).height();
    if (height_cont > height_scro)
        return 0;
    else
        return height_scro - height_cont;
}



$(function() {

    // Toggle widgets
    
    var wiid = $("#page").attr("class");

    $("#header .tabs li a").click(function(event){
        
        hideFlash();
        wiid = $(this).attr("href").replace("#","");
        $("#page").attr("class","");
        $("#page").addClass(wiid);
        $("body").removeClass("allcontacts");
        
        event.preventDefault();
    });
    
    $("#inp-to").keyup(function(event){
        
        wiid = $("#page").attr("class");
        
        if (wiid == "phone") {
            if ($("#inp-to").val().length < 7) {
                $(".keypad .call").removeClass("ready");
            } else {
                $(".keypad .call").addClass("ready");
            }
        }
        
    });
    
    // Key pad
    
    $("#wi-phone .keypad li a.num").click(function(event){
        updateKeypad($(this).text());
        event.preventDefault();
    });
    
    $("#wi-phone .keypad li.del a").click(function(event){
        var numfield = $("#widgets .toolbar #inp-to");
        var number = numfield.attr("value");
        numfield.attr("value", number.substr(0,number.length-1));
        event.preventDefault();
    });

    //help
    $("#helplinks p a").click(function(event){
        var helpId = $(event.target).attr('id');
        $("#h"+helpId).toggle('fast');
    });
    $(".helpitem").click(function(event){
        var helpId = $(event.target).attr('id');
        $("#"+helpId).toggle();
    });

    //sms scrollbars

    //send sms begin
	$("#button_sms").click(function() {
	    sms();
    	});

	//send sms ends

    //make call begin
	$("#button_call").click(function(event) {
            
            call();
            event.preventDefault();
        });
	//make call ends

    //autocomplete in buddynickname
    $("#inp-to").autocomplete("web", {
			onItemSelect:autocompleteSelected,
                        delay:100,
                        minChars:2,
			matchContains: "word",
                        autoFill: false
		}
     );

    //autocomplete in buddynickname
    $("#btinp-to").autocomplete("web", {
			onItemSelect:autocompleteSelected,
                        delay:100,
                        minChars:2,
			matchContains: "word",
                        autoFill: false
		}
     );

    // Toggle search
    $("#page .search .srch a").click(function(event){
        $("#searchbar").toggle();
        $("#searchbar a").trigger('click');
        event.preventDefault();
    });

    // Popups

    $(".popup h3 a").click(function(event){
        $(this).parents().filter(".popup").hide();
        event.preventDefault();
    });
    
    // Contacts
    
    $("#allcontacts li.item:nth-child(4n)").addClass("end");
    
    $("#contacts p.actions a").click(function(event){
        $("body").addClass("allcontacts");
        event.preventDefault();
        showAllBuddies();
    });
    
    $("#backtodash").click(function(event){
        $("body").removeClass("allcontacts");
        event.preventDefault();
    });
    
    $("#changecurrency").hoverIntent(function(){

        var itempos = $(this).offset();
        $("#ratesmore").show();
        $("#ratesmore").css({"left":itempos.left-89,"top":itempos.top-46});
    }, function(event){
        
    });
    
    $("#ratesmore li").click(function(){
        var curr= $(this).find("span").text();

        $("#changecurrency").html($(this).text());
   //     alert("Currency: " + curr.valueOf());
        $("#ratescheck").append("<input type='hidden' name='currency' value='" + curr.valueOf() + "'/>");
        $("#ratescheck").submit();
    });
    
    $("#ratesmore").bind("mouseleave", function(){
        $(this).hide();
    });

    initContactPopup('#contacts .actions .more a');

    $("#contactmore").bind("mouseleave", function(){
        $(this).hide();
    });

    $("#inp-smsmsg").bind("keyup", function(){
        var to = $('#inp-to').val();
        var message = $(this).val();
        var isNumber = !isNaN(to);
        var isBuddy = to.indexOf('(') != -1 && to.indexOf(')') != -1;
        if(to.length>0 && message.length > 0 && (isNumber || isBuddy)) {
            $("#button_sms").removeClass("disable").addClass("enabled");
        }
        else {
            $("#button_sms").removeClass("enabled").addClass("disable");
        }
    });

    $('#inp-to').bind('keyup', function() {
       $('#inp-smsmsg').trigger('keyup');
    });
});

function initContactPopup(selector) {
    $(selector).hoverIntent(
        function() {
            $("a.activeBuddy").removeClass("activeBuddy");
            $(this).addClass("activeBuddy");

            var itempos = $(this).offset();
            $("#contactmore").show();
            $("#contactmore").css({"left":itempos.left-89,"top":itempos.top-46});
        },
        function(event){}
    );
}




function getCurrentTime()
{

    var currentDate = new Date();
    var day = currentDate.getDate();
    var month = currentDate.getMonth()+1;
    var year = currentDate.getFullYear();
    var hours = currentDate.getHours();
    var minutes = currentDate.getMinutes();

    if (minutes < 10)
        minutes = "0" + minutes;
    return day + "/" + month + "/" + year + " " + hours+":"+minutes;

}

function initTimer()
{
    $("#vm-timer").html('00:00');
    seconds=0;
    minutes=0;
    intervalid = setInterval ( "runtimer()", 1000 );
}

var seconds;
var minutes;
function runtimer(){
    seconds+=1
    var min = Math.floor(seconds/60);
    var sec = seconds % 60;

    min=((min < 10) ? "0" : "") + min;
    sec=((sec < 10) ? "0" : "") + sec;

    $("#vm-timer").empty();
    var clock = min + ":" + sec;
    $("#vm-timer").html(clock);

}

function showFlash() {
    $('#flash').css('top', '204px');
}

function hideFlash() {
    $('#flash').css('top', '-3000px');
}



(function( $ ){
	$.fn.placeHolder = function(options) {
		var eo = this;
		var settings = {
			'text'		  : 'Placeholder',
			'placeholder' : '#999',
			'active' 	  : '#000'
		};
		return this.each(function() {        
			if ( options ) { 
				$.extend( settings, options );
			}			
			eo.val(settings.text);
			eo.css("color", settings.placeholder);
			eo.focus(function() {
				if(eo.val() == settings.text) {
					eo.css("color", settings.active);
					eo.val("");	
				}
			});
			eo.focusout(function() {
				$("#search_box img").css("display","none");
				if(eo.val() == "" || eo.val() == settings.text) {
					eo.val(settings.text);
					eo.css("color", settings.placeholder);
				}
			});
		});				
	
	};
})( jQuery );
