// <reference path="jquery-1.4.1-vsdoc.js" />

$('document').ready(function () {
    if($('.inSms').length>0)
        GetInSms();
});

/*
>  &Aring;= Å
>  &aring;= å
>  &Auml; = Ä
>  &auml; = ä
>  &Ouml; = Ö
>  &ouml; = ö

*/
var minTkn;
var maxContact
var datePicker;
var isOkToHide = true;
var selectedContacts = new Array();
var sortBy;
var sortReverse;
var timerIntervall;
function Contact(n, l, f, c,i,g)
{
    this.number=n;
    this.lastname=l;
    this.firstname=f;
    this.company = c;
    this.groups = g;
    this.id = i;
}
function PassEvent(o,c)
{
    this.contact=c;
    this.obj=o;
    this.obj2;
}

function Error(res)
{
    if (res && res.value && res.value.exception) {
        document.getElementById('errorOuterDiv').style.display = 'block';
        document.getElementById('errorDiv').innerHTML = res.value.exception;
    }
    
}
//The sort depth cant be more then 10, this will prevent stack overflow
var sortCounter = 0;
         
function sortByCompany(c1, c2) 
{
    sortCounter++;
    var x = c1.company.toLowerCase();
    var y = c2.company.toLowerCase();
    
    if((x < y))
        return -1;
    else if(x > y)
        return 1
    else if(sortCounter>10)
        return 0;
    else
    {
        var retValue = sortByLastName(c1, c2);
        if(retValue==0)
            return sortByFirstName(c1, c2); 
        else
            return retValue;
    }
}
function sortByLastName(c1, c2) 
{
    sortCounter++;
    var x = c1.lastname.toLowerCase();
    var y = c2.lastname.toLowerCase();
    
    if(x < y)
        return -1;
    else if(x > y)
        return 1;
    else if(sortCounter>10)
        return 0;
    else
    {
        var retValue = sortByFirstName(c1, c2);
        if(retValue==0)
            return sortByCompany(c1, c2); 
        else
            return retValue;    
    }    
}
function sortByFirstName(c1, c2) 
{
    sortCounter++;
    var x = c1.firstname.toLowerCase();
    var y = c2.firstname.toLowerCase();
    
    if(x < y)
        return -1;
    else if(x > y)
        return 1;
    else if(sortCounter>10)
        return 0;        
    else
    {
        var retValue = sortByCompany(c1, c2);
        if(retValue==0)
            return sortByLastName(c1, c2); 
        else
            return retValue;    
    }    
}
function sortByNumber(c1, c2) 
{
    var x = parseInt(c1.number);
    var y = parseInt(c2.number);

    if (isNaN(x) || isNaN(y))
        return 0;

    return x - y;
}

function sortArray(column, reverse)
{
    sortCounter=0;
    if(column=='company')
        contacts.sort(sortByCompany);
    else if(column=='firstname')
        contacts.sort(sortByFirstName);
    else if(column=='lastname')
        contacts.sort(sortByLastName);
    else if (column == 'number')
        contacts.sort(sortByNumber);
        
    if(reverse)
        contacts.reverse();
        
    addContactsToContactList();
}
function sort()
{
    sortArray(sortBy, sortReverse);
}
function setSort(obj) {
var sb = obj[obj.selectedIndex].value;

    if(sb==sortBy)
        sortReverse=!sortReverse;
    else
    {
        sortReverse=false;
        sortBy=sb;
    }
    sort();

    Ip1SMS.Pages.Units.Contacts.SaveSort(sortBy, sortReverse, $("#searchContactsBox").val(), setSort_CallBack);  
}

function setSort_CallBack(res)
{
    Error(res);
}

/*Adds functon to send from comma (,) sepererad string*/
function addCommaFunctions(text, suggestionDiv)
{
    var cA = document.createElement("a");
    cA.className="team";

    var passEvent = new PassEvent(suggestionDiv,null);
    passEvent.obj2=text;

    YAHOO.util.Event.addListener(cA, "click", addCommaToSendList, passEvent);
    
    var cDiv = document.createElement("div");
    cDiv.innerHTML ='Lista';
    
    var  cDiv2  = document.createElement('div');
    cDiv2.innerHTML='Skicka till alla i listan';
    
    cA.appendChild (cDiv);
    cA.appendChild (cDiv2);
    
    suggestionDiv.appendChild(cA);
}

function addCommaToSendList(e, passEvent)
{
 //addToSendList   
 var ns = passEvent.obj2.split(',');
 for(var i=0;i<ns.length;i++)
 {
    addToSendList(null,new PassEvent(null, new Contact(ns[i],'',ns[i],'')));   
 }
 closeSuggestionDivEvent(null,passEvent);
}

/*Adds function to handel new number or send to number*/
function addNoContactFunctions(number,suggestionDiv)
{
    var infoDiv= document.createElement("div");
    infoDiv.innerHTML ='Nummret finns inte, vill du:';
    
    
    
    /*Save*/
    var saveA = document.createElement("a");
    saveA.className="new";
    YAHOO.util.Event.addListener(saveA, "click", showCreateNewMode, new PassEvent(suggestionDiv, new Contact(number, '', '', '')));
    YAHOO.util.Event.addListener(saveA, "click", addToSendList, new PassEvent(suggestionDiv, new Contact(number, '', number, '')));
    
    var saveDiv = document.createElement("div");
    saveDiv.className="new";
    saveDiv.innerHTML ='Spara';
    
    var  saveDiv2  = document.createElement('div');
    saveDiv2.innerHTML='Spara nummret som en ny kontakt';
    
    saveA.appendChild (saveDiv);
    saveA.appendChild (saveDiv2);
    
    
    /*Send*/
    var sendA = document.createElement("a");
    sendA.className='sms';
    YAHOO.util.Event.addListener(sendA, "click", addToSendList, new PassEvent(suggestionDiv, new Contact(number, '', number, '')));
    

    var sendDiv = document.createElement("div");
    sendDiv.className="new";
    sendDiv.innerHTML ='Skicka';
    
    var  sendDiv2  = document.createElement('div');
    sendDiv2.innerHTML='Skicka utan att spara nummret';
    
    sendA.appendChild (sendDiv);
    sendA.appendChild (sendDiv2);
    
    
    
    suggestionDiv.appendChild(infoDiv);
    suggestionDiv.appendChild(saveA);
    suggestionDiv.appendChild(sendA);
}

/*Adds a group to suggestionDiv*/
function addGroup(group,suggestionDiv)
{
   var itemA = document.createElement("a");
   itemA.className="group";
   
   YAHOO.util.Event.addListener(itemA, "click", addToSendList, new PassEvent(suggestionDiv, new Contact('[G]'+group, '', group, '')));

   var nameDiv = document.createElement("div");
   nameDiv.innerHTML =group;
   
   var numberDiv = document.createElement("div");
   numberDiv.innerHTML='Grupp';

   itemA.appendChild (nameDiv);
   itemA.appendChild (numberDiv);

    
   suggestionDiv.appendChild (itemA);
}
/*Adds a contact to suggestionDiv*/
function addContact(contact,suggestionDiv,isGroup)
{
   var itemA = document.createElement("a");
   itemA.className="user";
   
   var passEvent = new PassEvent(suggestionDiv, contact);
   
   if(isGroup)
    YAHOO.util.Event.addListener(itemA, "click", AddContactToGroup, passEvent);
   else
    YAHOO.util.Event.addListener(itemA, "click", addToSendList, passEvent);

   
   var nameDiv = document.createElement("div");
   nameDiv.innerHTML =contact.company+" "+contact.lastname+" "+contact.firstname;
   
   var numberDiv = document.createElement("div");
   numberDiv.innerHTML=contact. number;

   itemA.appendChild (nameDiv);
   itemA.appendChild (numberDiv);
    
   suggestionDiv.appendChild (itemA);
}
/*Adds a contact to send list*/
function addToSendList(e, passEvent)
{
    var isOkToAdd=true;
    sendlist = document.getElementById('sendList');
    
    for(var i=0;i<sendlist.length;i++)
    {
        if( sendlist[i].value==passEvent.contact.number)
        {
            isOkToAdd=false;
            break;
        }
    }
    //isOkToAdd
    if(true || isOkToAdd)
    {
        sendlist[sendlist.length] = new Option(passEvent.contact.company + " " + passEvent.contact.lastname + " " + passEvent.contact.firstname, passEvent.contact.number);
    }
    if(passEvent && passEvent.obj)
        closeSuggestionDiv(passEvent.obj);
    
    
}
/*Finds all contact that match a string, and place thos contacts in the suggestionDiv*/
function findContact(text, suggestionDivID, isGroup)
{
    var suggestionDiv = document.getElementById(suggestionDivID);
    
    if(text=='')
    {
        suggestionDiv.style.display='none';
    }
    else if(text.indexOf(',')>0 && text.search('[a-zA-Z]')==-1)
    {
        suggestionDiv.innerHTML ='';
        suggestionDiv.style.display='block';
        
        addCommaFunctions(text,suggestionDiv);
    }
    else if(text.length> minTkn || contacts.length> maxContact)
    {
        suggestionDiv.innerHTML ='';
        suggestionDiv.style.display='block';
        
        //If the user has done a search on 07 it will always be a null result sins this is converted to 46, so we fix this for the user
        //But do this only if that is the first letters
        if(text.length>1 && text.startsWith('07'))
            text='46'+text.substring(1);
        
        for(i=0;i<contacts.length ;i++)
        {
            var searchText = contacts[i].company+" "+contacts[i].lastname+" "+contacts[i].firstname+" "+contacts[i].number
            if(searchText.toLowerCase().indexOf(text.toLowerCase())>=0)
                addContact(contacts[i],suggestionDiv,isGroup);
        }
        //If this is not the group search div, then we add some more functions
        if(!isGroup)
        {
            for(i=0;i<groups.length;i++)
            {
                if(groups[i].toLowerCase().indexOf(text.toLowerCase())>=0)
                    addGroup(groups[i],suggestionDiv);
            }
            
              //no groups or contacts was found, if the entred text is a number add some functions to send to this number or storit
             if(suggestionDiv.innerHTML =='' && text.search('[a-zA-Z]')==-1)
                 addNoContactFunctions(text,suggestionDiv);
            
            
            
            
        }
    }
    
    if(suggestionDiv.innerHTML =='')
    {
        var noA = document.createElement("a");
        noA.className="nohitt";


        YAHOO.util.Event.addListener(noA, "click", closeSuggestionDivEvent, new PassEvent(suggestionDiv,null));
        
        var noDiv = document.createElement("div");
        noDiv.innerHTML ='Ingen tr&auml;ff';
        
        var  noDiv2  = document.createElement('div');
        noDiv2.innerHTML='Ingen kontakt eller grupp hittades';
        
        noA.appendChild (noDiv);
        noA.appendChild (noDiv2);
        
        suggestionDiv.appendChild(noA);
    }   
}
function closeSuggestionDivEvent(e, passEvent)
{
    closeSuggestionDiv(passEvent.obj);
}
/*Removes all contact from suggestionDiv and hide it*/
function closeSuggestionDiv(suggestionDiv)
{
 
    suggestionDiv.innerHTML ='';
    suggestionDiv.style.display='none';
    
    var searchBox = document.getElementById('searchBox');
    searchBox.value='';
    searchBox.focus();
    
    var groupMenuButton = document.getElementById('menuButton');
    groupMenuButton.className="";
    
}
/*Remove selected item from sendlist*/
function removeFromSendList(select)
{
    if (select.length > 0 && select.selectedIndex>=0)
    {
        
        select[select.selectedIndex]=null;
    }
}

var searchContactTimeOut;
function searchContacts(txt) {

        
    

    if (txt.length == 0) {
        $("#contactsDIV").empty();
        $("#contactTemplate").tmpl(contacts).appendTo("#contactsDIV");
    }
    else if (txt.length > minTkn) {
        $("#contactsDIV").empty();
        var sContacts = [];
        //If the user has done a search on 07 it will always be a null result sins this is converted to 46, so we fix this for the user
        //But do this only if that is the first letters
        if (txt.length > 1 && txt.startsWith('07'))
            txt = '46' + text.substring(1);

        for (i = 0; i < contacts.length; i++) {
            var searchText = contacts[i].company + " " + contacts[i].lastname + " " + contacts[i].firstname + " " + contacts[i].number
            if (searchText.toLowerCase().indexOf(txt.toLowerCase()) >= 0)
                sContacts[sContacts.length] = contacts[i];
        }

        $("#contactTemplate").tmpl(sContacts).appendTo("#contactsDIV");
    }

    $("#contactsDIV").children().bind("click", function () {
        for (var i = 0; i < contacts.length; i++) {
            if (($(this).attr("ID")) == "c" + contacts[i].number) {
                showEditMode(null, { contact: contacts[i] });
                break;
            }
        }

    });

    if (searchContactTimeOut)
        window.clearTimeout(searchContactTimeOut);

    searchContactTimeOut = window.setTimeout("Ip1SMS.Pages.Units.Contacts.SaveSort(null, null, '" + txt + "', " + setSort_CallBack + "); abcScroll();", 1000);
}


/*Adds all contacts to contactlist*/
function addContactsToContactList() {

    searchContacts($("#searchContactsBox").val());
  //  $("#contactsDIV").empty();
  //  $("#contactTemplate").tmpl(contacts).appendTo("#contactsDIV");
/*
    if(document.getElementById('contactsDIV'))
    {
        document.getElementById('contactsDIV').innerHTML='';
        for(i=0;i<contacts.length ;i++)
        {
            if(contacts[i].number)
                addContactToList(contacts[i]);
        }
    }
    */
}
/*Adds a contact to contactlist*/
function addContactToList(contact)
{
   var contactList = document.getElementById('contactsDIV');

   var itemA = document.createElement("a");
   itemA.className="contactItemDiv";
   YAHOO.util.Event.addListener(itemA, "click", showEditMode,new PassEvent(itemA, contact)); 
   
   var nameDiv = document.createElement("div");
   nameDiv.innerHTML ="<div class='contactItem'>"+  contact.company+"&nbsp;</div><div class='contactItem'>"+contact.lastname+"&nbsp;</div><div class='contactItem'>"+contact.firstname+"&nbsp;</div><div class='clear'></div>";
   var numberDiv = document.createElement("div");
   numberDiv.innerHTML = "<div style='margin-top:3px;'>"+ contact.number +"</div>";


   itemA.appendChild(nameDiv);
   itemA.appendChild(numberDiv);

    
   contactList.appendChild (itemA);
 }

/*Hide all tabbs and show edit*/
function setActive(id)
{
    if(id=='tabInnummer')
        isOkToHide =true;
    else
        hideNewSms();
    

   var topTab = document.getElementById('topTabb');
   
   for(var i=0; i<topTab.childNodes.length;i++)
   {
        if(topTab.childNodes[i].id==id)
           topTab.childNodes[i].className='selected'; 
        else
           topTab.childNodes[i].className=''; 
   }
}
function showContactMode(reLoadContancts)
{   
   setActive('tabContacts');
   document.getElementById('conatactContainerDiv').style.display='block';
   document.getElementById('editContactDiv').style.display='none';  
   document.getElementById('editGroups').style.display='none';
   document.getElementById('handelInSmsDiv').style.display = 'none';
   if(reLoadContancts)
    addContactsToContactList();
}
function showEditMode(e, passEvent)
{
   setActive('');
   document.getElementById('conatactContainerDiv').style.display='none';
   document.getElementById('editContactDiv').style.display='block';  
   document.getElementById('deleteContact').style.display='block'; 
   document.getElementById('saveButtonMore').style.display='none';  
   document.getElementById('editGroups').style.display='none';
   document.getElementById('handelInSmsDiv').style.display='none';   
   document.getElementById('inGroups').disabled=false;  
  
   fillEditMode(passEvent.contact);
}
function showCreateNewMode()
{
   setActive('tabNewContact');
   document.getElementById('conatactContainerDiv').style.display='none';
   document.getElementById('editContactDiv').style.display='block';  
   document.getElementById('saveButtonMore').style.display='block';  
   document.getElementById('deleteContact').style.display='none'; 
   document.getElementById('editGroups').style.display='none';
   document.getElementById('handelInSmsDiv').style.display='none';   
   document.getElementById('inGroups').disabled=true;  
   
   var c;
    if(arguments.length>0)
        c= arguments[1].contact;
    else
        c= new Contact('','','','');
        
    contacts[contacts.length]=c; 
   
   fillEditMode(c);
}
function showGroupMode()
{
   setActive('tabGroups');
   document.getElementById('conatactContainerDiv').style.display='none';
   document.getElementById('editContactDiv').style.display='none';  
   document.getElementById('editGroups').style.display='block';  
   document.getElementById('handelInSmsDiv').style.display='none';   
   fillGroupMode(); 
}
function showGroupInnummer()
{
   setActive('tabInnummer');
   document.getElementById('conatactContainerDiv').style.display='none';
   document.getElementById('editContactDiv').style.display='none';  
   document.getElementById('editGroups').style.display='none';  
   document.getElementById('handelInSmsDiv').style.display='block';  
   
}
/*Fills edit mode with a contact*/
function fillEditMode(contact)
{
    var company = document.getElementById('companyBox');
    var firstname = document.getElementById('firstNameBox');
    var lastname = document.getElementById('lastNameBox');
    var number = document.getElementById('numberBox');
    var button = document.getElementById('saveButton');
    var inGroups = document.getElementById('inGroups');
    var deleteButton = document.getElementById('deleteContact');
    var saveMore = document.getElementById('saveButtonMore');
    
    
    YAHOO.util.Event.removeListener(button, "click"); 
    YAHOO.util.Event.removeListener(inGroups, "click");
    YAHOO.util.Event.removeListener(deleteButton, "click"); 
    YAHOO.util.Event.removeListener(saveMore, "click"); 
    
    YAHOO.util.Event.addListener(button, "click", saveContact,new PassEvent(button, contact));
    YAHOO.util.Event.addListener(saveMore, "click", saveContact,new PassEvent(saveMore, contact));
    
    YAHOO.util.Event.addListener(deleteButton, "click", deleteContact,contact);
    YAHOO.util.Event.addListener(inGroups, "click", deleteGroupNumber, new PassEvent(inGroups, contact));
    
    company.value= contact.company;   
    firstname.value= contact.firstname;
    lastname.value= contact.lastname;
    number.value= contact.number;
    

    Ip1SMS.Pages.Units.Contacts.GetGroups(contact.number,fillGruopBoxes);    
}

function fillGruopBoxes(res)
{
    Error(res);
    var groups = document.getElementById('groups');
    var inGroups = document.getElementById('inGroups');
    
    while(inGroups.options.length>0)
    {
        inGroups.options[0]=null;
    }
    while(groups.options.length>0)
    {
        groups.options[0]=null;
    }
    
    groups.options[0]=new Option('','');
    for(var i=0; i<res.value.withOut.length;i++)
    {
        groups.options[groups.options.length]=new Option(res.value.withOut[i].GroupName,res.value.withOut[i].GroupName);
    }
    groups.options[0].selected = true;
    
    for(var i=0; i<res.value.withIn.length;i++)
    {
        inGroups.options[inGroups.options.length]=new Option(res.value.withIn[i].GroupName,res.value.withIn[i].GroupName);
    }
}
function saveContact(e, passEvent)
{
    var company = document.getElementById('companyBox');
    var firstname = document.getElementById('firstNameBox');
    var lastname = document.getElementById('lastNameBox');
    var number = document.getElementById('numberBox');
    var groups = document.getElementById('groups');
    
    var selectedGroup='';
    
    if(groups.selectedIndex>0)
        selectedGroup= groups[groups.selectedIndex].value
    
    passEvent.contact.company = company.value;
    passEvent.contact.firstname =firstname.value;
    passEvent.contact.lastname=lastname.value;
    passEvent.contact.number=number.value;
    if (!passEvent.contact.id)
        passEvent.contact.id = passEvent.contact.number;
    
    if(passEvent.obj.value!='Spara')
        Ip1SMS.Pages.Units.Contacts.SaveContact(passEvent.contact.id,company.value, firstname.value, lastname.value, number.value, selectedGroup, saveContactMore_callback);
    else
        Ip1SMS.Pages.Units.Contacts.SaveContact(passEvent.contact.id, company.value, firstname.value, lastname.value, number.value, selectedGroup, saveContact_callback);
    
}
function saveContact_callback(res) {
    if (res.value.exception)
        alert("Angivet nummer finns redan");
    else {

        for (var i = 0; i < contacts.length; i++) {
            if (contacts[i].id == res.value.number) {
                contacts[i].id = res.value.newNumber;
                contacts[i].groups = [];
                for (var y = 0; y < res.value.withIn.length; y++) {
                    contacts[i].groups[y] = res.value.withIn[y].GroupName;
                }

                break;
            }
        }

        sort();
        showContactMode(true);
    }
}
function saveContactMore_callback(res)
{
    Error(res);
 
     for(var i=0;i<contacts.length;i++)
     {
         if (contacts[i].number == res.value.number) {
             contacts[i].number = res.value.newNumber;
             break;
         }
     }
    sort(); 
   var c = new Contact('','','','');
   contacts[contacts.length]=c; 
   fillEditMode(c);
}


function deleteContact(e, contact)
{
    var id = contact.id;

    for (var i = 0; i < contacts.length; i++) {
        if (contacts[i].id == id) {
            contacts.splice(i, 1);
            break;
        }
    }

    Ip1SMS.Pages.Units.Contacts.DeleteContact(id, deleteContact_callback);
}
function deleteContact_callback(res)
{
    Error(res);   
    showContactMode(true);
}
function deleteGroupNumber(e, pasEvent)
{
    if(pasEvent.obj.selectedIndex>-1)
    {
        var value = pasEvent.obj[pasEvent.obj.selectedIndex].value;
        pasEvent.obj[pasEvent.obj.selectedIndex]=null;
        Ip1SMS.Pages.Units.Contacts.DeleteNumberFromGroup(value,pasEvent.contact.number,deleteGroupNumber_callback);        
    }

    
}
function deleteGroupNumber_callback(res)
{
    Error(res);   
    Ip1SMS.Pages.Units.Contacts.GetGroups(res.value.number,fillGruopBoxes);
}



/*Group Mode*/
function fillGroupMode()
{
    var group =document.getElementById('contactsInGroup');
    
    while(group.options.length>0)
    {
        group.options[0]=null;
    }
    
    Ip1SMS.Pages.Units.Group.GetGroups(FillGroupDropDown_CallBack);
    
}


function FillGroupDropDown_CallBack(res)
{
    Error(res);
    var addGroupContact =document.getElementById('addGroupContact');
    var contactsInGroup =document.getElementById('contactsInGroup');
    var delateButtonGrupp =document.getElementById('delateButtonGrupp');
    document.getElementById('selGroup').style.display='block';
    
    addGroupContact.disabled = true
    contactsInGroup.disabled = true;
    delateButtonGrupp.disabled = true;
    
    
    
    var group =document.getElementById('contactsInGroup');
    while(group.options.length>0)
    {
        group.options[0]=null;
    }
    
    var groupsDropDown = document.getElementById('groupsDropDown');   
    while(groupsDropDown.options.length>0)
    {
        groupsDropDown.options[0]=null;
    }
    
    groupsDropDown.options[0]=new Option('Grupper','');
    for(i=0; i<res.value.groups.length;i++)
    {
        groupsDropDown.options[i+1]=new Option(res.value.groups[i].GroupName,res.value.groups[i].GroupName);
    }
}
function AddContactArrayToGroup(names, numbers)
{
    var group =document.getElementById('groupsDropDown');
    Ip1SMS.Pages.Units.Group.AddArrayToGroup(group[group.selectedIndex].value,names,numbers , AddContactToGroup_CallBack);    
}
function AddContactToGroup(e, passEvent)
{
    var group =document.getElementById('groupsDropDown');
    var searchBox = document.getElementById('addGroupContact');
    
    passEvent.obj.innerHTML ='';
    passEvent.obj.style.display='none';
    
    searchBox.value='';
    searchBox.focus();
    Ip1SMS.Pages.Units.Group.AddGroup(group[group.selectedIndex].value, (passEvent.contact.lastname ? passEvent.contact.lastname : '') + (passEvent.contact.firstname ? ' ' + passEvent.contact.firstname : ''), passEvent.contact.number, AddContactToGroup_CallBack);    
    
}
function AddContactToGroup_CallBack(res)
{
    Error(res);
    var group =document.getElementById('groupsDropDown');
    FillContactListForGroup(group[group.selectedIndex].value);
}
function FillContactListForGroup(group)
{
    var addGroupContact =document.getElementById('addGroupContact');
    var contactsInGroup =document.getElementById('contactsInGroup');
    var delateButtonGrupp =document.getElementById('delateButtonGrupp');
    document.getElementById('selGroup').style.display=(group=='')?'block':'none'; 
    addGroupContact.disabled = (group=='');
    contactsInGroup.disabled = (group=='');
    delateButtonGrupp.disabled = (group=='');


    Ip1SMS.Pages.Units.Group.GetContactsForGroup(group,FillContactListForGroup_CallBack);
}
function FillContactListForGroup_CallBack(res)
{
    Error(res);
    var group =document.getElementById('contactsInGroup');
    
    while(group.options.length>0)
    {
        group.options[0]=null;
    }
    
    for(i=0; i<res.value.groups.length;i++)
    {
        group.options[i]=new Option(res.value.groups[i].Name,res.value.groups[i].Number);
    }    
}

function DeleteContactForGroup()
{
    var group =document.getElementById('groupsDropDown');
    var contacts =document.getElementById('contactsInGroup');
    
    if(contacts[contacts.selectedIndex])
        Ip1SMS.Pages.Units.Group.DeleteContactFromGroup(group[group.selectedIndex].value,contacts[contacts.selectedIndex].value,DeleteContactForGroup_CallBack);
}
function DeleteContactForGroup_CallBack(res)
{
    Error(res);
    var group =document.getElementById('groupsDropDown');
    FillContactListForGroup(group[group.selectedIndex].value);
}

function SaveNewGrupp()
{
    var text = document.getElementById('createNewGroup');
    if(text.value)
        groups[groups.length]=text.value;
    Ip1SMS.Pages.Units.Group.CreateNewGroup(text.value,SaveNewGrupp_CallBack);
    
}
function SaveNewGrupp_CallBack(res)
{
    Error(res);
    var text = document.getElementById('createNewGroup');
    text.value='';
    Ip1SMS.Pages.Units.Group.GetGroups(FillGroupDropDown_CallBack);
}

function DeleteGroup()
{
    var group =document.getElementById('groupsDropDown');
    
    if(group.selectedIndex>0)
        Ip1SMS.Pages.Units.Group.DeleteGroup(group[group.selectedIndex].value,DeleteGroup_CallBack);
}
function DeleteGroup_CallBack(res)
{
    Error(res);
    Ip1SMS.Pages.Units.Group.GetGroups(FillGroupDropDown_CallBack);   
    
}


/*Insms*/
function DeleteSms(id)
{
    var fieldset = document.getElementById('fieldset_'+id);
    if(fieldset)
        fieldset.style.display='none';
    
    
    Ip1SMS.Pages.Units.InNumber.DeleteSms(id,DeleteSms_CallBack);
}
function DeleteSms_CallBack(res)
{
    Error(res);
}

function ToogleSettings(noSettingsID, settingsID)
{
    var settings = document.getElementById(settingsID);
    var noSettings = document.getElementById(noSettingsID);
    
    if(settings.style.display!='none')
    {
        settings.style.display='none';
        noSettings.style.display='block';
    }
    else
    {
        settings.style.display='block';
        noSettings.style.display='none';
    }
}

function setNewSms(count)
{
    var newDiv = document.getElementById('iconNewSms');
    newDiv.style.display='block';
    newDiv.innerHTML=count;
    isOkToHide=false;
}
function hideNewSms()
{
    if(isOkToHide)
    {
        document.getElementById('iconNewSms').style.display='none';
        
        var newSMSIcons = getElementsByName_iefix('div','iconNew');
        
        for(var i=0;i<newSMSIcons;i++)
        {
            newSMSIcons[i].style.display='none';
        }
    }
}

function getElementsByName_iefix(tag, name) {
     
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     for(i = 0,iarr = 0; i < elem.length; i++) {
          att = elem[i].getAttribute("name");
          if(att == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

/*Send sms*/
function SendSMS()
{
    

    var sendList = document.getElementById('sendList');
    var prio = document.getElementById('prio').value;
    var message=document.getElementById('message').value;
    var from=document.getElementById('from').value;
    var sendat= document.getElementById('sendat').value;

    if (sendList.options.length > 0) {
        
        document.getElementById('sendSms').style.display = 'block';
        document.getElementById('sendSmsSending').style.display = 'block';
        document.getElementById('sendSmsDone').style.display = 'none';
        document.getElementById('sendSmsCloseDiv').style.display = 'none';    
        
        var to = "";
        for (i = 0; i < sendList.options.length; i++) {
            to += sendList[i].value;
            if (i < sendList.options.length - 1)
                to += '_';
        }

        Ip1SMS.Pages.Units.SendSMS.SendSms(to, from, message, prio, sendat, SendSMS_CallBack);
    }
    else {
        alert("Mobil nummer saknas, var god och skriv in minst ett nummer och Skicka igen.");
    }
}
function SendSMS_CallBack(res) {

    showSmsStatus(res.value.time);

    document.getElementById('sendSmsSending').style.display='none';
    document.getElementById('sendSmsDone').style.display='block';
    document.getElementById('sendSmsCloseDiv').style.display='block';
    document.getElementById('sendat').value='';
    
    var doneQueueDiv = document.getElementById('sendSmsDoneStatusQueue');    
    var doneDiv = document.getElementById('sendSmsDoneStatus');

    if (res.value.name.length > 0) {
        doneDiv.style.display = 'block';
        doneQueueDiv.style.display = 'none';
    }
    else {
        doneQueueDiv.style.display = 'block';
        doneDiv.style.display = 'none';
    }
        
    doneDiv.innerHTML='';    
    for(i=0;i<res.value.name.length;i++)
    {

        var row = document.createElement("div");
        var left = document.createElement("div");
        left.className='left';
        left.innerHTML=res.value.name[i];
        var right = document.createElement("div");
        right.className='right';
        right.innerHTML=res.value.status[i];        
        
        var clear = document.createElement("div");
        clear.className='clear';  
          
        row.appendChild(left);
        row.appendChild(right); 
        row.appendChild(clear);        
        doneDiv.appendChild(row);
    
    }
   
    UppdateCredits();   
}
function CloseSendDialog(val)
{
    if(val)
    {
        document.getElementById('sendat').value='';
        document.getElementById('sendAtDisp').innerHTML= '';    
        
        document.getElementById('message').value='';
        document.getElementById('message').focus();
    }

    var sendList = document.getElementById('sendList');
    while (sendList.options.length > 0)
        sendList[0] = null;
    
    document.getElementById('sendSms').style.display='none';
    
}

function UppdateCredits()
{
    Ip1SMS.Pages.Master.master.Balans(UppdateCredits_CallBack);
}
function UppdateCredits_CallBack(res)
{
    document.getElementById('ctl00_credits').innerHTML=res.value;
}

function selectPrio()
{
    var selectDiv = document.getElementById('selectPrio');
    selectDiv.style.display='block';
}

function setPrio(value)
{
    var prioFlag = document.getElementById('currentPrioFlag');
    var prio = document.getElementById('prio');
    var selectDiv = document.getElementById('selectPrio');

    
    selectDiv.style.display='none';
    prio.value = value;
    
    prioFlag.src='/images/flag_'+value+'.png';
    
    if(value==1)
        prioFlag.title='L&#229;g prio'.replace("&#229;",String.fromCharCode(229));
    else if(value==2)
        prioFlag.title='Normal prio'
    else if(value==3)
        prioFlag.title='H&#246;g prio'.replace("&#246;",String.fromCharCode(246));
}


function countTkn(obj,tknID,smss)
{
    var tkn = obj.value.length;
    var tknSpan = document.getElementById(tknID);
    var smssSpan = document.getElementById(smss);
    
    tknSpan.innerHTML=tkn;
    if(tkn>0)
    {
        smssSpan.innerHTML= parseInt((tkn/160)+1);
    }
    
    else
        smssSpan.innerHTML=1;
}


function setText(obj, txt)
{
     if(obj.value=='')
    {
        obj.value=txt;
        obj.style.color='#B4B4B4';
    }
}
function removeText(obj, txt)
{
    if(obj.value==txt)
    {
        obj.style.color='#000000';
        obj.value='';
    }
}

function openCalander()
{
    document.getElementById('calender').style.display='block';
    if(!datePicker)
    {      
        datePicker = new YAHOO.widget.Calendar("datePicker"); 
        datePicker.render(); 
    }
}
function calenderCencel()
{
    document.getElementById('calender').style.display='none';
    document.getElementById('sendat').value='';
    document.getElementById('sendAtDisp').innerHTML= '';
}
function calenderOk()
{
    var now = new Date();
    
    var hh = document.getElementById('sendAtHour');
    var mm = document.getElementById('sendAtMinute');

    if (datePicker.getSelectedDates().length > 0) {
        var date = datePicker.getSelectedDates()[0];
                
        if (new Date(date.getFullYear(),date.getMonth() , date.getDate(), hh.options[hh.selectedIndex].text, mm.options[mm.selectedIndex].text,0) >= now) {
            document.getElementById('sendAtDisp').innerHTML = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + hh.options[hh.selectedIndex].text + ':' + mm.options[mm.selectedIndex].text;
            document.getElementById('sendat').value = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + hh.options[hh.selectedIndex].text + ':' + mm.options[mm.selectedIndex].text+':00';
            document.getElementById('calender').style.display = 'none';
        }
        else
            document.getElementById('wrongTime').style.display = 'block';

    }
    else {
        document.getElementById('calender').style.display = 'none';
        var min = "";
        var hour = "";
        if (hh.options[hh.selectedIndex].text < now.getHours()) {
            hour = now.getHours();
            min = now.getMinutes();

        }
        else {
            if (hh.options[hh.selectedIndex].text == now.getHours() &&
                mm.options[mm.selectedIndex].text < now.getMinutes())
                min = now.getMinutes();
            else
                min = mm.options[mm.selectedIndex].text;

            hour = hh.options[hh.selectedIndex].text;

        }
        document.getElementById('sendAtDisp').innerHTML = document.getElementById('sendat').value = now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate() + ' ' + hour + ':' + min;
    }
}


function CheckMaxTeken(obj)
{
    if(obj.value.length>=15)
        document.getElementById('sendFromMax').style.display='';
    else
        document.getElementById('sendFromMax').style.display='none';
}

function SetSText(obj)
{
        var stext = obj.options[obj.selectedIndex];
        if(stext.text!='Standard texter')
        {
            var messBox = document.getElementById('message');
             messBox.focus();
             messBox.value= stext.value;
            messBox.style.color='#000000';
           
            obj.selectedIndex=0;
        }
}

/*Multi select*/
function showMultiSelect(isGroup)
{
    document.getElementById('multiSelectTop').style.display = 'block';
    document.getElementById('sendMultiSelectMode').style.display = isGroup?'none':'block';
    document.getElementById('groupMultiSelectMode').style.display = isGroup?'block':'none';
    loadContacts();
}
function closeMultiSelect()
{
    document.getElementById('multiSelectTop').style.display = 'none';
    selectedContacts = new Array();
}
function loadContacts()
{
    var contactList = document.getElementById('multiContacts');
    contactList.innerHTML=''; 
    for(var i=0;i<contacts.length;i++)
    {
        if(contacts[i].number!='')
            addContactToMultiSelect(contacts[i]);
    }
}
function addContactToMultiSelect(contact)
{
   var contactList = document.getElementById('multiContacts');

   var itemA = document.createElement("a");
    for(var i=0;i<selectedContacts.length;i++)
    {
        if(selectedContacts[i]==contact)
        {
            itemA.className='contactItemDiv sel';
            break;
        }
    }
    if(itemA.className=='')
        itemA.className='contactItemDiv';
   
   
   YAHOO.util.Event.addListener(itemA, "click", selectDeselectContact,new PassEvent(itemA, contact)); 
   
   var nameDiv = document.createElement("div");
   nameDiv.innerHTML = "<div class='contactIcon'></div><div class='contactItem'>" + contact.company + "&nbsp;</div><div class='contactItem'>" + contact.firstname + "&nbsp;</div><div class='contactItem'>" + contact.lastname + "&nbsp;</div><div class='clear'></div>";


   itemA.appendChild (nameDiv);

    
   contactList.appendChild (itemA);
}
function selectDeselectContact(e, passEvent)
{
    if(passEvent.obj.className=='contactItemDiv') {
    
        passEvent.obj.className='contactItemDiv sel';
        selectedContacts[selectedContacts.length]=passEvent.contact;
    }
    else
    {
        passEvent.obj.className='contactItemDiv';
        
        for(var i=0;i<selectedContacts.length;i++)
        {
            if(selectedContacts[i]==passEvent.contact)
            {
                selectedContacts[i]=null;
            }
        }
    }
} 

function getSelectedContacts()
{
    var tempArray = new Array();   
    for(var i=0;i<selectedContacts.length;i++)
    {
        if(selectedContacts[i]!=null)
        {
            tempArray[tempArray.length]=selectedContacts[i];
        }
    }
    return tempArray;
}

function fillSendListFromMultiSelect()
{
    var tArray = getSelectedContacts();
    
    for(var i=0;i<tArray.length;i++)
    {
        addToSendList(null,new PassEvent(null,tArray[i]));
    }
    closeMultiSelect();    
}

function fillGroupFromMultiSelect()
{
    var names = new Array();
    var numbers = new Array();
    
    var tArray = getSelectedContacts();
    
    for(var i=0;i<tArray.length;i++)
    {
        names[names.length]=tArray[i].lastname+' '+tArray[i].firstname;
        numbers[numbers.length]=tArray[i].number;
    }
    closeMultiSelect();
    AddContactArrayToGroup(names,numbers);

    
}
function CloseGroupMenu()
{
    document.getElementById('groupMenu').style.display='none';
    var groupMenuButton = document.getElementById('menuButton');
    groupMenuButton.className="";
}

function SelectAll(select) {

    if(select){
        $("#multiContacts").children().addClass('sel');
        for (var i = 0; i < contacts.length; i++)
            selectedContacts[selectedContacts.length] = contacts[i];
    }
    else{
        $("#multiContacts").children().removeClass('sel');
        selectedContacts = new Array();
    }
}

/*Add group to send box*/
function ShowGroupMenu()
{

    var groupMenuButton = document.getElementById('menuButton');
    groupMenuButton.className="menuButtonSelected";
    
    var groupMenu = document.getElementById('groupMenu');
    groupMenu.innerHTML='';
    groupMenu.style.display='block';
    
    var top = document.createElement("div");
    var clear = document.createElement("div");
    clear.style.clear='both';  
      
    var gInfo = document.createElement("div");
    gInfo.innerHTML ='Skicka till grupp';
    gInfo.className='infoGroupMenu';
    
    var close = document.createElement("a");
    close.className='closeGroup';
    close.innerHTML='Avbryt';
    
    YAHOO.util.Event.addListener(close, "click", CloseGroupMenu, null);
    
    
    top.appendChild (gInfo);
    top.appendChild (close);
     top.appendChild (clear);
    
    
    groupMenu.appendChild (top);
    for(var i =0;i<groups.length;i++)
    {
        addMenuGroupItem(groups[i],groupMenu);
    }    
}

/*Adds a group to suggestionDiv*/
function addMenuGroupItem(group,suggestionDiv)
{
    
   var itemA = document.createElement("a");
   itemA.className="group";
  

   var getNamesDiv = document.createElement('div');
   getNamesDiv.innerHTML = 'H&auml;mta namn';
   getNamesDiv.className = 'GetName';
   YAHOO.util.Event.addListener(getNamesDiv, "click", getNamesFromGroup, group);
    
   var nameDiv = document.createElement("div");
   nameDiv.innerHTML = group;
   YAHOO.util.Event.addListener(nameDiv, "click", addToSendList, new PassEvent(suggestionDiv, new Contact('[G]' + group, '', group, '')));

   var clear = document.createElement('div');
   clear.className = "clear";

   itemA.appendChild(nameDiv);
   itemA.appendChild(getNamesDiv);
   itemA.appendChild(clear);
    
   suggestionDiv.appendChild (itemA);
}
function getNamesFromGroup(e,group) {
    Ip1SMS.Pages.Units.Group.GetContactsForGroup(group, getNamesFromGroup_CallBack);
}
function getNamesFromGroup_CallBack(res) {
    Error(res);
    var groupMenu = document.getElementById('groupMenu');

    for (i = 0; i < res.value.groups.length; i++) {
        addToSendList(null, new PassEvent(groupMenu, new Contact(res.value.groups[i].Number, '', res.value.groups[i].Name, '')));
    }
}
 
function DeleteHistoryItem(obj, id)
{
       var row = obj.parentNode.parentNode;
       row.parentNode.removeChild(row);
       Ip1SMS.Pages.History.DeleteById(id,DeleteHistoryItem_CallBack);
}

function DeleteHistoryItem_CallBack(res)
{
    Error(res);
}

function postbackOnEnter(evt, obj) {
    var keyCode = (typeof window.event == 'object') ? window.event.keyCode : evt.keyCode;

    if (keyCode == 13) {
        __doPostBack(obj.id, '');
        return false;
    }
    else {
        return true;
    }
}




var hideCounter=0;
var startFeatchFrom=null;

function hideSmsStatus() {
    hideCounter = 0;
    startFeatchFrom = null;
    $('.smsStatusContent').empty();
    $('.smsStatus').hide();
}
function showSmsStatus(date) {
    $('.smsStatus').show();
    if (!startFeatchFrom) {
        $('.smsStatusContent').empty().append("<li>Laddar ...</li>");
        startFeatchFrom =date;
        featchPandingSMSStatus();
    }
    

}
function featchPandingSMSStatus() 
{
    Ip1SMS.Pages.Units.SMSSendStatus.GetHitstory(startFeatchFrom, featchPandingSMSStatus_callback);
}
function featchPandingSMSStatus_callback(res) {
    var smsContent = $('.smsStatusContent');
    smsContent.empty();
    if (res.value.Items.length > 0) {
        for (var i = 0; i < res.value.Items.length; i++) {
            var row = $('<li class="history-smsStatus" title="' + res.value.Items[i].ErrorMessage + '">' + res.value.Items[i].Title + '</li>');
            $('<span ></span>').addClass("color-"+res.value.Items[i].Status).appendTo(row);
            row.appendTo(smsContent);
        }
    }
    else {
        $('<li>Inga sms v&auml;ntar p&aring; att levereras</li>').appendTo(smsContent);
     }


     if (res.value.FeatchMore)
         hideCounter = 0;
     else
         hideCounter++;

    if (hideCounter > 5)
        hideSmsStatus();
    else
        window.setTimeout('featchPandingSMSStatus();', 2500);
}


function abcShowContacts(txt) {
    var conItems = $("#contactsDIV").children();
    var top = 0;
    var height = 0;
    for (var i = 0; i < conItems.length; i++) {
        var conItem = $(conItems.get(i));
        var con = conItem.tmplItem().data;

        if (getFirstLatter(con) == txt) {
            top = conItem.position().top;
            height = conItem.height();
            break;
        }
    }

    $("#contactsDIV").scrollTop((top - height) + $("#contactsDIV").scrollTop());
}
var abcTimeOut;
function abcScroll() {
    $(".sortAB").children().css("font-weight","normal");
    $(".sortAB").children().css("color","#A5ACB5");
    var conItems = $("#contactsDIV").children()
    for (var i = 0; i < conItems.length; i++) {
        var top = $(conItems.get(i)).position().top;
        var height = $(conItems.get(i)).height();
        if(top>0)
        {
            //  if (top > height / 2 && top < height) {
            $("[l='" + getFirstLatter($(conItems.get(i)).tmplItem().data).toLowerCase() + "']").css("font-weight", "bold").css("color","#000000");
            break;
            
        }
    }
}

function getFirstLatter(con) {
    if (sortBy == "company") {
        if (con.company) {
            return con.company.substring(0, 1);
        }
    }
    else if (sortBy == "firstname") {
        if (con.firstname) {
            return con.firstname.substring(0, 1);
        }
    }
    else if (sortBy == "lastname") {
        if (con.lastname) {
            return con.lastname.substring(0, 1);
        }
    }
    return "";
}
function showLargeMMS(message, file, server, id) {

    var el = $('<div class="topLayer"><div class="show-mms"><img src="/pages/mms/getfile.aspx?s=' + server + '&i=' + id + '&c=IMAGE/JPEG&f=' + file + '&is=400" /><p>' + message + '</p></div></div>');
    el.children(".show-mms").css("left",(window.innerWidth/2)-100);
    el.one("click", function () { $(this).remove(); });
    el.prependTo("body");
    

}
function GetInSms() {
    $('#getSmsProgress').show();
    Ip1SMS.Pages.Units.InNumber2.GetSMS(GetInSms_Callback);
}

function GetInSms_Callback(res) {
    Error(res);

    $('#getSmsProgress').hide();

    if (!res.value)
        return;

    if (res.value.NewSMS>0)
        setNewSms(res.value.NewSMS);


    $(".inSms").empty();

    if (res.value.SMSGroups && res.value.SMSGroups.length > 0) {

        $("#inSmsGroupTemplate").tmpl(res.value.SMSGroups).appendTo(".inSms");

        $('.InSmsCard .mms').each(function (e) {
            var item = $.tmplItem(this).data;
            var el = $(this);

            if (item.MMSText && item.MMSServer) {
                try {
                    var re = $.get('/pages/mms/getfile.aspx?s=' + item.MMSServer + '&i=' + item.ID + '&c=' + item.MMSTextContentType + '&f=' + item.MMSText, null, function (res) {
                        el.replaceWith('<img src="/pages/mms/getfile.aspx?s=' + item.MMSServer + '&i=' + item.ID + '&c=' + item.MMSImageContentType + '&f=' + item.MMSImage + '&is=200" onclick="showLargeMMS(\'' + res + '\',\'' + item.MMSImage + '\',\'' + item.MMSServer + '\',\'' + item.ID + '\');" />' + res);
                    }, 'text');

                } catch (e) { }
            }
            else if (item.MMSImage && item.MMSServer) {
                el.replaceWith('<img src="/pages/mms/getfile.aspx?s=' + item.MMSServer + '&i=' + item.ID + '&c=' + item.MMSImageContentType + '&f=' + item.MMSImage + '&is=200" onclick="showLargeMMS(\'\',\'' + item.MMSImage + '\',\'' + item.MMSServer + '\',\'' + item.ID + '\');" />');
            }
        }, null);

        Ip1SMS.Pages.Units.InNumber2.NewSMSEvents(NewCheck_CallBack);
    }
}

function NewCheck_CallBack(res) {
    var count = res.value;

    if (count == 0)
        window.setTimeout('Ip1SMS.Pages.Units.InNumber2.NewSMSEvents(NewCheck_CallBack)', timerIntervall);
    else
        Ip1SMS.Pages.Units.InNumber2.GetSMS(GetInSms_Callback);
}

function ToggleGroup (id, obj) {
    $(obj).parent().toggleClass('InSmsGroupColl');
    Ip1SMS.Pages.Units.InNumber2.ToogleSMSGroup(id, ToggleGroup_Callback);
}
function ToggleGroup_Callback(res) {
    Error(res);
 }
function DeleteSMS2(id) 
{
    $("#" + id).remove();
    Ip1SMS.Pages.Units.InNumber2.Delete(id, DeleteSMS2_Callback);

}
function DeleteSMS2_Callback(res) {
    Error(res);
}

function SetSettings() {


    Ip1SMS.Pages.Units.InNumber2.SetSettings(document.getElementById('inSmsMode').selectedIndex, document.getElementById('includeOutSms').checked, SetSettings_Callback);
}

function SetSettings_Callback(res) {
    GetInSms();
}

function getBoundle(id,boundleID, img) {
    var boundleRow = $(img).parent().parent();

    var loadRow = $("<tr><td colspan='8' style='text-align:center;'><img src='/images/activity.gif' /></td></tr>").insertAfter(boundleRow);

    Ip1SMS.Pages.History.GetBoundle(boundleID, function (res) {
        loadRow.remove();
        for (var i = 0; i < res.value.length; i++) {
            
            var row = $("#sms__" + res.value[i].ID);
            if (row.length == 0)
                row = $("<tr></tr>").css("background-color", "#F1F1F1").addClass("history-smsStatus").attr("id", "sms__" + res.value[i].ID);
            else
                row.empty();

            $("<td><span class='color-" + res.value[i].StatusCode + "'></span></td>").appendTo(row);
            $('<td><img onclick="DeleteHistoryItem(this,' + res.value[i].ID + ');" title="Ta bort SMS" alt="Ta bort SMS" src="/images/Delete.png"></td>').appendTo(row);
            $("<td></td>").text(res.value[i].To).appendTo(row);
            $("<td></td>").appendTo(row);
            $("<td></td>").appendTo(row);
            $("<td></td>").appendTo(row);
            $("<td></td>").text(res.value[i].Status).appendTo(row);
            $("<td></td>").appendTo(row);

            row.insertAfter(boundleRow);

        }
    });
}


function contactsSelectStop(event, ui) {
    var sel = $(".ui-selected");
    if (sel.length > 0) {
        $("#conSettings").hide();
        $(".multi-select").show();
    }
    else {
        $("#conSettings").show();
        $(".multi-select").hide();
    }
}

function sendToSelected() {
    $(".ui-selected").each(function (i, e) {     
        addToSendList(null, new PassEvent(null, $(this).tmplItem().data));
    });
}
function addSelectedToGroup() {
    var group = $("#multi-group :selected").val();


    if(group)
    {
        var name = [];
        var number =[];
        $(".ui-selected").each(function (i, e) {
            var item = $(this).tmplItem().data;
            name.push(item.firstname + ' ' + item.lastname);
            number.push(item.number);

            item.groups.push(group);
        });

        Ip1SMS.Pages.Units.Group.AddArrayToGroup(group, name, number, multiSelect_Callback);
    }

}

function deleteSelectedFromGroup() {
    var group = $("#multi-group :selected").val();
    if (group) {
        var number = [];
        $(".ui-selected").each(function (i, e) {
            var item = $(this).tmplItem().data;
            number.push(item.number);

            var index = item.groups.indexOf(group);
            if (index > -1) {
                item.groups.splice(index, 1);

            }



        });

        Ip1SMS.Pages.Units.Group.DeleteContactsFromGroup(group, number, multiSelect_Callback);
    }
}


function multiSelect_Callback(res) {
    Error(res);
    searchContacts($("#searchContactsBox").val());
}


function loadGroupsForMultiSelect_Callback(res) {
    var group = $("#multi-group").empty();

    $.each(res.value.groups, function (i, e) {
        $("<option></option>").text(e.GroupName).attr("value", e.GroupName).appendTo(group);
    });
}

