// sample **********************************
var p = 0;
var per;
var invEmail = '';
var invUser = '';
var res = '';
var resTemp = '';
var resEmail = '';
var resName = '';

function sendSelected()
{
    res = '';
    if ($("#manual")[0].className == "on")
    {
        cl = new gcList();
        res = $("#manualText").val().replace(/;/g,",").replace(/ /g,",");
        if (res == '')
        {
            cl.addItem("Please select at least one email");
            glAlert('Error!', 'Please enter the following item(s): <br/>' + cl.getList() + '');

            return;
        }

        var newRes = res.split(",");
        resEmail = '';
        resName = '';
        var errorText = '';
        cl = new gcList();
        for (var i = 0; i < newRes.length; i++)
        {
            if (!glEmailCheck(newRes[i]))
                cl.addItem("Not a valid email: " + newRes[i] );
            if ((newRes[i]) == selfEmail)
                cl.addItem("You can't invite yourself. Please correct the email below:" + newRes[i]);

            invEmail = newRes[i];
            invUser = invEmail.substring(0, invEmail.indexOf('@'));
            if (resEmail != '') resEmail += ",";
            if (resName != '') resName += ",";

            resEmail += $.trim(newRes[i]);
            resName += $.trim(invUser);
        }
        if (cl.count)
        {
            glAlert('Error!', 'Please enter the following item(s): <br/>' + cl.getList());
            return;
        }

        sendMail(resEmail, resName);
        return;
    }

    var resEmail = '';
    var resName = '';

    var contactsNum = $("#dataTable table>tbody>tr").length;
    for (var i = 0; i < contactsNum+1 ; i++)
    {
        if ($("#invitees>tbody>tr>td.on:eq(" + i + ")").length == 1)
        {
            if (resEmail != "") resEmail += ",";
            if (resName != "") resName += ",";

            invEmail = $("#invitees>tbody>tr>td.on a:eq(" + i + ")").html();
            invUser = $("#invitees>tbody>tr>td.on [wefi='lname']:eq(" + i + ")").html();
            if (invUser.length <= 2)
            {
                invUser = invEmail.substring(0, invEmail.indexOf('@'));
            }

            resEmail += $.trim(invEmail);
            resName += $.trim(invUser);
        }
    }

    if (resEmail)
        sendMail(resEmail, resName);
    else
    {
        errorText = "<li>Please select at least one contact</li>";
        glAlert('Error!', 'Please enter the following item(s): ' + stringRepeat('&nbsp;', 20) + '<br/><ul>' + errorText + '</ul>');
    }
}


function sendMail(resEmail, resName)
{
    resEmail = resEmail.replace(/ /g,"");
    var postData = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wef="http://wefi.com/services/wefiServices"><soapenv:Header/><soapenv:Body><wef:inviteFriendsRequest><wef:CNUID>'+gUser.data.cnu+'</wef:CNUID><wef:invitationType>eFriendship</wef:invitationType><wef:nameList>'+resName+'</wef:nameList><wef:emailsList>'+resEmail+'</wef:emailsList></wef:inviteFriendsRequest></soapenv:Body></soapenv:Envelope>';
    $.glPostSoapRequest("",postData,function(res){
       var resInv = res.childNodes;
        $("#Friendships li").remove();
        $("#Invitation li").remove();
       for(var i=0;i<resInv.length;i++)
       {
           var e = resInv[i];
           var eMail = e.text?e.text:e.textContent;
           var type = e.localName?e.localName:e.nodeName.split(":")[1];
           if(type=="friendships")
           {
               $("#Friendships").append("<li>"+eMail+"</li>")
           }
           else
           {
               $("#Invitation").append("<li>"+eMail+"</li>")
           }
//           $("#dataTableSent").append("<div>"+eMail+"</div>");
//           $("#dataTableSent").append("<div>"+(type=="friendships"?"Friendship":"invitation")+"</div>");

       }
        $("#dataTableSent").show();
        $("#confirmation").show();
        $("#FriendshipsDiv").show();
        $("#InvitationDiv").show();
        $("#invitations").hide();
        
        glCloseWaitAlert();
       // inv_add_sent();

    })
    //$.post("/invite/invitewsdl.php", { emails: resEmail, names:resName, CnuId: invCNU },
//    function(data) {
//      if(data.indexOf(resEmail)==-1){
//
//          glAlert("Sorry.. The server is busy, please try again later");
//          return false                                          Download path upgrade
//      }
//        glCloseWaitAlert();
//        $("#dataTableSent").html(data);
//        inv_add_sent();
//    });
}

function inv_AddcardS(id, per)
{
    var AlreadyFriendsTemp = '';
    var FriendshipsTemp = '';
    var InvitationsTemp = '';

    if ($("#dataTableSent>table>tbody>tr:eq(" + id + ")>td").html() == 'Invitations')
    {
       $("#InvitationDiv").show();
         InvitationsTemp = '';
        InvitationsTemp = $("#dataTableSent>table>tbody>tr:eq(" + id + ")>td:eq(1)").html();
        $("#InvitationTemp *[wefi='Invitation']").html(InvitationsTemp);
        $("#Invitation").append($("#InvitationTemp").html());
    }


    if ($("#dataTableSent>table>tbody>tr:eq(" + id + ")>td").html() == 'Friendships')
    {
        $("#FriendshipsDiv").show();
        FriendshipsTemp="";
        FriendshipsTemp = $("#dataTableSent>table>tbody>tr:eq(" + id + ")>td:eq(1)").html();
        $("#FriendshipsTemp *[wefi='Friendships']").html(FriendshipsTemp);
        $("#Friendships").append($("#FriendshipsTemp").html());
    }

    if ($("#dataTableSent>table>tbody>tr:eq(" + id + ")>td").html() == 'AlreadyFriends')
    {
        $("#AlreadyFriendsDiv").show();
         AlreadyFriendsTemp = '';
        AlreadyFriendsTemp = $("#dataTableSent>table>tbody>tr:eq(" + id + ")>td:eq(1)").html();
        $("#FriendshipsTemp *[wefi='AlreadyFriends']").html(AlreadyFriendsTemp);
        $("#AlreadyFriends").append($("#AlreadyFriendsTemp").html());
    }

    return;

    var emailContact = ($("#dataTable>table>tbody>tr:eq(" + id + ")>td:eq(1)").html());

    $("#showMail").html(emailContact);

    if (usernameContact == "")
    {
        usernameContact = emailContact.substring(0, emailContact.indexOf('@'))
        // usernameContact = "N/U"
    }

    if (usernameContact.indexOf('@') != -1)
    {
        usernameContact = emailContact.substring(0, emailContact.indexOf('@'))
        // usernameContact = "N/U"
    }

    inv_SetMessageLable(per);
    // CreateCard(i, emailContact, usernameContact,"" , emailContact)
    CreateCard(id, "/global/images/wefi_default_avatar30x30.jpg", "", usernameContact, emailContact)
}

function inv_add_sent()
{
    p = 0;
    var contactsNumSent = $("#dataTable>table>tbody>tr").length;

    res = '';
    if ($("#manual")[0].className == "on")
    {
        res = $("#manualText").val().replace(/;/g,",").replace(/ /g,",");
        var newRes = res.split(",");
        contactsNumSent=newRes.length;
    }

    $("#Invitation").html("");
    $("#AlreadyFriends").html("");
    $("#Friendships").html("");
    $("#InvitationDiv").hide();
    $("#FriendshipsDiv").hide();
    $("#AlreadyFriendsDiv").hide();

    // hide all
    invUnSelectAll();
    $("#invitations").hide();
    $("#confirmation").show();

    var t = 0;
    for (var i = 0; i < contactsNumSent+1; i++)
    {
        per = parseInt(i / (contactsNumSent / 100), 10) + "%";
        setTimeout("inv_AddcardS(" + i + ",'" + per + "')", t);
        t += 200;
    }
}

function inv_add(data)
{
    p = 0;
    //alert("now read table");
    var contactsNum = $("#dataTable>table>tbody>tr").length;
    if (contactsNum < 1)
    {
        $("#wait").hide(400);
        if(data!="")
        $("#msg").html(data);
        $("#msg").show();
        $('#credentials').show(400);
        $("#disableTabs").hide();

        return;
    }

    var t = 0;
    for (var i = 1; i < contactsNum; i++)
    {
        per = parseInt(i / (contactsNum / 100), 10) + "%";
        setTimeout("inv_Addcard(" + i + ",'" + per + "')", t);
        t += 200;
    }

    setTimeout("inv_HideMessage()", t);
    setTimeout("invInitTable()", t);
}

function inv_HideMessage()
{
    $("#wait").hide(400);
}

function inv_ShowMessage()
{
    inv_SetMessageLable();
    $("#wait").show(400);
}

function inv_SetMessageLable(per)
{
    var s = "please wait while your contacts are being loaded..."
    if (per != null)
        s += per;
    $("#wait>div").html(s);
}

function inv_Addcard(id, per)
{
    var usernameContact = ($("#dataTable>table>tbody>tr:eq(" + id + ")>td:eq(1)").html());
    var emailContact = ($("#dataTable>table>tbody>tr:eq(" + id + ")>td:eq(0)").html());

    $("#showMail").html(emailContact);

    if (usernameContact == '')
    {
        usernameContact = emailContact.substring(0, emailContact.indexOf('@'));
    }

    if (usernameContact.indexOf('@') != -1)
    {
        usernameContact = emailContact.substring(0, emailContact.indexOf('@'))
    }

    inv_SetMessageLable(per);
    CreateCard(id, "/global/images/wefi_default_avatar30x30.jpg", "", usernameContact, emailContact);
}

function call_buildData()
{
    var errorText = '';
    var username = $("#username").val();
    var password = $("#passwordw").val();

    if (username == '')
        errorText = "<li>Please type a username</li>";

    if (password == '')
        errorText += "<li>Please type a password</li>";

    if (username.indexOf("@") != -1)
    {
        username = username.substring(0, username.indexOf('@'));
    }

    if (errorText != '')
    {
        glAlert('Error!', 'Please enter the following item(s): ' + stringRepeat('&nbsp;', 20) + '<br/><ul>' + errorText + '</ul>');
        return;
    }

    $("#disableTabs").show();
    $("#friends_list").hide();
    $("#send_invitations").hide();
    $("#msg").hide();
    $('#credentials').hide(400);
    $("#pagingContent").html($("#contentTemp").html());
    $("#pagingContent>table").attr("id", "invitees");

    $("#msg").hide(400);
    inv_ShowMessage();
    var emailAccount = $("#emailAccount").html();
    emailAccount = emailAccount.toLowerCase();
    var msgR = $.post("/invite/import/" , { username:username, password:password, req:emailAccount }, buildData);
}

function buildData(data)
{
    $("#dataTable").html(data);
    inv_add(data);
}

//**********************************

function invUnSelectAll()
{
    $('#emails li').removeClass('on');
}

function goSel(c)
{
    $('#confirmation').hide();
    $("#invitations").show();
    $("#username").val("");
    $("#passwordw").val("");
    invUnSelectAll();
    $("#" + c + "").addClass("on")
    $("#emailAccount").html(c);
    $("#friends_list").hide();
    $("#send_invitations").hide();
    $("#pagingContent").html($("#contentTemp").html());
    $("#pagingContent>table").attr("id", "invitees");
    document.forms[0].reset();
    $("#msg").hide();

    if (c == 'manual')
    {
        $('#credentials').hide();
        $("#invitations").show();
        $('#friends_manual').show();
        $("#send_invitations").show();

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

function checkAll(c)
{
    if (c)
    {
        $("#invitees >tbody>tr>td").addClass('on');
        //    make all cards checked
    }
    else
    {
        $("#invitees >tbody>tr>td").removeClass('on');
        //   make all cards UNchecked
    }
}


function CreateCard(cardID, avatar, fname, lname, email)
{
    while (p > 2)
    {
        // if p equal the number of the cards in the row then add tr tag to break the line
        p = 0;
        $("#invitees tr:last").after("<tr></tr>");
    }

    p++;

    $("#invTemplateCard *[wefi='cardID']").attr('id', cardID);
    //  Add values to the template before the clone!
    $("#invTemplateCard *[wefi='avatar']").attr('src', avatar);
    //
    $("#invTemplateCard *[wefi='fname']").html(fname);
    //
    $("#invTemplateCard *[wefi='lname']").html(lname);
    //
    $("#invTemplateCard *[wefi='email']").html(email);
    //
    //$("#invTemplateCard *[wefi='email']").attr('href', 'mailto:' + email);
    //
    $("#pagingContent>table tbody tr:last").append($("#invTemplateCard").html());
    //  clone the cards from the template
}

function invInitTable()
{
    var mod = $("#invitees tbody tr:last td").length;
    //  check number fo missing td in the last row //
    mod = 5 - mod;

    for (var i = 0; i < mod; i++)
    {
        $("#pagingContent>table tbody tr:last").append($("<td style='background:none;hover:none;cursor:default'>&nbsp;</td>"));
        // insert missing td to tr tag
    }

    $("#showMail").html("");
    $("#friends_list").show(400);
    $("#send_invitations").show(400);

    $("#invitees").tableFilter();
   // $('#credentials').show(400);
    document.forms[0].reset();
    $("#disableTabs").hide();
}


goSel('manual');
