var ProfileAction;
var FriendAction;
var CommentAction;
var FriendNameAjax;

function profileResponse() {	

//CLASS DECLARATION
        FriendNameAjax = new AjaxClass(null, 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var SearchAjaxName = new AjaxClass('friendsname', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var SearchAjaxEmail = new AjaxClass('friendsemail', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var SearchFriendName = new AjaxClass('frmajaxfriendname', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
    
        //Profile Sidebar
        ProfileAction = new AjaxClass(null, 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //Paginate Links
        var ProfilePaginate = new AjaxClass('profilePaginateLinks', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //Find Friends
        var FindFriendsSurname = new AjaxClass('findfriendsname','profile.php', '~#~', 'profileloading',null,null,'ajx');
        var FindFriendsEmail = new AjaxClass('findfriendsemail','profile.php', '~#~', 'profileloading',null,null,'ajx');
        //Friend Action Ajax
        FriendAction = new AjaxClass(null,'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //Comment Action Ajax
        CommentAction = new AjaxClass(null,'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //Account Settings Ajax
        var settingsLinksAjax = new AjaxClass('settingstabs', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var settingsAjax = new AjaxClass('accountdefaultsettings', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var saveDetails = new AjaxClass('savedetails', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var saveEmail = new AjaxClass('saveemail', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var savePassword = new AjaxClass('savepassword', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var saveNotifications = new AjaxClass('savenotifications', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var savePreferenceMessage = new AjaxClass('savepreferencemessage', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        var saveFacebookSettings = new AjaxClass('savefacebooksettings', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //var saveGameMessages = new AjaxClass('savegmsettings', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //Club Details
        var ClubDetails = new AjaxClass('clubdetailslinks', 'profile.php', '~#~', 'profileloading',null,null,'ajx');
        //ManagerHistory
        var ManagerHistory = new AjaxClass('manhisttabs', 'profile.php', '~#~', 'profileloading',null,null,'ajx');

//RESPONDERS DECLARATION
        //profile basic responders
        var basicProfileResponders = [];
        basicProfileResponders['profilecontent'] = function (response)
        {
              if (response != '')
              {
                     var profilecontentdiv = document.getElementById('profilecontent');
                     if (profilecontentdiv)
                     {
                            profilecontentdiv.innerHTML = response;
//                            if (window.FB !== undefined)
//                            {
//                                    FB.XFBML.Host.parseDomTree();
//                            }
                     }
              }
        }
        basicProfileResponders['ajaxfriendlist'] = 'ajaxfriendlist';
        basicProfileResponders['messagealert'] = function (response)
        {
              if (response != '')
              {
                    var messagealertdiv = document.getElementById('messagealert');
                    if(messagealertdiv)
                    {
                        var message1 = response.split('##',2);
                        messagealertdiv.innerHTML = message1[0];
                        if(message1.length==2){
                            if(message1[1]==1) {
                                setTimeout("clearDiv('messagealert')",3000); 
                            }
                         }
                    }
              }
        }
        basicProfileResponders['sessionexpire'] = function (response) {
            //if (response == 1) {
            //    window.location.href="/profile.php"; 
            //}
        }
        
        var FriendNameResponders = [];
        FriendNameResponders['ajaxfriendlist'] = 'ajaxfriendlist';
        FriendNameResponders['sessionexpire'] = function (response) {
            if (response == 1) {
                window.location.href="/profile.php"; 
            }
        }
        
        //Friend Action responders
        var FriendActionResponders = function (responseData) {
            var fid = responseData['friendid'];
            var message = responseData['messagealert'];
            var sessionexpire = responseData['sessionexpire'];
            var profilecontent = responseData['profilecontent'];

            if (sessionexpire ==1) {
                window.location.href="/profile.php"; 
            }
            
            var message1 = message.split('##',2);
            
            var profilecontentdiv = document.getElementById('profilecontent');
            if (profilecontentdiv && profilecontent)
            {
                    profilecontentdiv.innerHTML = profilecontent;
            }
            
            //remove the friend from list
            var frienddiv = document.getElementById('suggestfriend_'+fid);
            if (frienddiv) {
                toggleElemVisibility('suggestfriend_'+fid);
            }

            //alert message specific location
            var friendmessage = document.getElementById('msgcontainer_'+fid);
            var standardalert = document.getElementById('messagealert');
            if (friendmessage){
                if (friendmessage.style.display == "none")
                    toggleElemVisibility('msgcontainer_'+fid);
            }
            else {
                if (standardalert)
                {
                    if (standardalert.style.display == "none")
                        toggleElemVisibility('messagealert');
                }
            }
            if (friendmessage)
            {
                friendmessage.cells[0].innerHTML = message1[0];
                if(message1.length==2){
                    if(message1[1]==1) {
                        setTimeout("toggleElemVisibility('msgcontainer_"+fid+"')", 5000);
                    }
                }
            }
            //alert message standard location
            else {
                if (standardalert)
                {
                    standardalert.innerHTML = message1[0];
                    if(message1.length==2){
                        if(message1[1]==1) {
                            setTimeout("toggleElemVisibility('messagealert')", 5000);
                        }
                    }
                }
            }
        }
        //Comment Action responders
        var CommentActionResponders = function (responseData) {
            //location of comment
            var profcmid = responseData['cmid'];
            //comment to be removed, if applicable
            var message = responseData['messagealert'];
            var sessionexpire = responseData['sessionexpire'];
            var profilecontent = responseData['profilecontent'];

            if (sessionexpire == 1) {
                window.location.href="/profile.php"; 
            }
            
            var message1 = message.split('##',2);

            var profilecontentdiv = document.getElementById('profilecontent');
            if (profilecontentdiv && profilecontent)
            {
                    profilecontentdiv.innerHTML = profilecontent;
            }
            
            //alert message specific location
            var newalert = document.getElementById('comment_'+profcmid);
            var standardalert = document.getElementById('messagealert');
            if (newalert){
                //Make parent row visible to display alert
                    var commentmessage = document.getElementById('msgcontainer_'+profcmid);
                    if (commentmessage){
                        toggleElemVisibility('msgcontainer_'+profcmid);
                    }
            }
            else
            {
                    if (standardalert.style.display == "none")
                          toggleElemVisibility('messagealert');
            }
            
            if (newalert)
            {
                    commentmessage.cells[0].innerHTML = message1[0];
                    if(message1.length==2){
                        if(message1[1]==1) {
                            setTimeout("toggleElemVisibility('msgcontainer_"+profcmid+"')", 5000);
                            //setTimeout("toggleElemVisibility('cmtcontainer_"+profcmid+"')",3000);
                            toggleElemVisibility('cmtcontainer_'+profcmid);
                            toggleElemVisibility('cmtcontainer2_'+profcmid);
                        }
                    }
            }
            else {
                if (standardalert)
                {
                    standardalert.innerHTML = message1[0];
                    if(message1.length==2){
                        if(message1[1]==1) {
                            setTimeout("toggleElemVisibility('messagealert')", 5000);
                            //setTimeout("toggleElemVisibility('cmtcontainer_"+profcmid+"')",3000);
                            toggleElemVisibility('cmtcontainer_'+profcmid);
                            toggleElemVisibility('cmtcontainer2_'+profcmid);
                        }
                    }
                }
            }
        }

        //accountsettings responders
	var settingsResponders = [];
	settingsResponders['astabcontent'] = 'astabcontent';
        settingsResponders['toptabsdiv'] = function (response) {
            var Tabs = document.getElementById('toptabsdiv');
            Tabs.innerHTML = response;
            var Messagealert = document.getElementById('messagealert');
            Messagealert.innerHTML = '';
        }
        settingsResponders['messagealert'] = 'messagealert';
        settingsResponders['profileleftmenu'] = 'profileleftmenu';
        settingsResponders['sessionexpire'] = function (response) {
            if (response == 1) {
                window.location.href="/profile.php"; 
            }
        }
        
        var settingsResponders2 = function(responseData)
        {
                var messagealert = '';
                var messagealertdiv = '';
            
                var message = responseData['messagealert'];
                var detailsmessage = responseData['detailsmessagealert'];
                var emailmessage = responseData['emailmessagealert'];
                var passwordmessage = responseData['passwordmessagealert'];
                var detailsbox = responseData['detailsbox'];
                var accountsettings = responseData['changesettings'];
                var sessionexpire = responseData['sessionexpire'];

                if (sessionexpire == 1) {
                    window.location.href="/profile.php"; 
                }
                
                if (message)
                {
                        messagealert = message;
                        messagealertdiv = document.getElementById('messagealert');
                }
                else { if (detailsmessage)
                        {
                              messagealert = detailsmessage;
                              messagealertdiv = document.getElementById('detailsmessagealert');
                              if (!messagealertdiv)
                                  messagealertdiv = document.getElementById('messagealert');
                        }
                else { if (emailmessage)
                        {
                              messagealert = emailmessage;
                              messagealertdiv = document.getElementById('emailmessagealert');
                              if (!messagealertdiv)
                                  messagealertdiv = document.getElementById('messagealert');
                        }
                else { if (passwordmessage)
                        {
                              messagealert = passwordmessage;
                              messagealertdiv = document.getElementById('passwordmessagealert');
                              if (!messagealertdiv)
                                  messagealertdiv = document.getElementById('messagealert');
                        }
                }
                }
                }

                var detailsboxdiv = document.getElementById('box_ppersonal');
                var accountsettingsdiv = document.getElementById('changesettings');
                
                if(detailsbox) {
                       if (detailsboxdiv) {
                            detailsboxdiv.innerHTML=detailsbox;
                       }
                }
                
                if (accountsettings) {
                      if (accountsettingsdiv) {
                            accountsettingsdiv.innerHTML=accountsettings;
                      }
                }
                
                if (messagealert && messagealertdiv)
                {

                      var message1 = messagealert.split('##',2);
                      messagealertdiv.innerHTML = message1[0];
                      if(message1.length==2){
                              if(message1[1]==1) {
                                  var divname = messagealertdiv.id;
                                  setTimeout("clearDiv('"+divname+"')",3000);
                              }
                      }
                }
        }

//SET RESPONDERS
        FriendNameAjax.setResponders(FriendNameResponders);
        
        SearchAjaxName.setResponders(basicProfileResponders);
        SearchAjaxName.init();
        SearchAjaxEmail.setResponders(basicProfileResponders);
        SearchAjaxEmail.init();
        SearchFriendName.setResponders(basicProfileResponders);
        SearchFriendName.init();

        //Sidebar
        ProfileAction.setResponders(basicProfileResponders);
        //PaginateLinks
        ProfilePaginate.setResponders(basicProfileResponders);
        ProfilePaginate.init();
        //Find Friends
        FindFriendsSurname.setResponders(basicProfileResponders);
        FindFriendsSurname.init();
        FindFriendsEmail.setResponders(basicProfileResponders);
        FindFriendsEmail.init();
        //Friend Actions
        FriendAction.addCleverResponder(FriendActionResponders);
        CommentAction.addCleverResponder(CommentActionResponders);
        //Account Settings
	settingsLinksAjax.setResponders(settingsResponders);
	settingsLinksAjax.init();
        settingsAjax.addCleverResponder(settingsResponders2);
        settingsAjax.init();
        saveDetails.addCleverResponder(settingsResponders2);
        saveDetails.init();
        saveEmail.addCleverResponder(settingsResponders2);
        saveEmail.init();
        savePassword.addCleverResponder(settingsResponders2);
        savePassword.init();
        saveNotifications.addCleverResponder(settingsResponders2);
        saveNotifications.init();
        savePreferenceMessage.addCleverResponder(settingsResponders2);
        savePreferenceMessage.init();
        saveFacebookSettings.addCleverResponder(settingsResponders2);
        saveFacebookSettings.init();
        //saveGameMessages.addCleverResponder(settingsResponders2);
        //saveGameMessages.init();
        //Club Details
        ClubDetails.setResponders(basicProfileResponders);
        ClubDetails.init();
        //ManagerHistory
        ManagerHistory.setResponders(basicProfileResponders);
        ManagerHistory.init();
}
addLoadEvent(profileResponse);
    
function loadAjaxPage(customerid, action, exquery)
{
        var theAction;
        var theCustomerID;
        
        if (action) theAction='action='+action;
        else theAction = '';
        if (customerid) theCustomerID='cid='+customerid;
        else theCustomerID = '';
        if(!exquery) exquery='';
        
        return ProfileAction.fire(theAction+'&'+theCustomerID+'&'+exquery);
}

function accountSaveDetails()
{
        return ProfileAction.fire('action=detailssave');
}

function doFriendAction(customerid, friendid, action, exquery)
{
        var theCustomerID;
        var theAction;
        var theFriendID;
        
        if (customerid) theCustomerID='cid='+customerid;
        else theCustomerID = '';
        if (action) theAction='action='+action;
        else theAction = '';
        if (friendid) theFriendID='fid='+friendid;
        else theFriendID = '';
        if(!exquery) exquery='';
        
        return FriendAction.fire(theCustomerID+'&'+theAction+'&'+theFriendID+'&'+exquery);
//        if (window.FB !== undefined)
//        {
//            FB.XFBML.Host.parseDomTree();
//        }
}

function doCommentAction(commentid, customerid, action, exquery)
{
        var theCommentID;
        var theAction;
        var theCustomerID;
        
        if (commentid) theCommentID='cmid='+commentid;
        else theCommentID = '';
        if (action) theAction='action='+action;
        else theAction = '';
        if (customerid) theCustomerID='cid='+customerid;
        else theCustomerID = '';
        if(!exquery) exquery='';
        
        return CommentAction.fire(theCustomerID+'&'+theCommentID+'&'+theAction+'&'+exquery);
}
    
function clearDiv(Div)
{
	var divElem = document.getElementById(Div);
	
	if(divElem) {
		divElem.innerHTML = "";
	} 
}
function fillDiv(Div, Content)
{
	var divElem = document.getElementById(Div);
	
	if(divElem) {
		divElem.innerHTML = Content;
	} 
}

function stopUpload(result)
{
      alert(result);
}

function sendajaxfriendname(customerid)
{
      var customerID = customerid;
      var searchField = document.getElementById('ajaxfriendname');
      
      var searchFieldValue = searchField.value;
    
      if (customerid!=null)
          customerID = 'cid='+customerid;
      
      if (searchFieldValue!=null)
          searchFieldValue = 'ajaxfriendname='+searchFieldValue;
      
      return FriendNameAjax.fire('action=ajaxfriend'+'&'+customerID+'&'+searchFieldValue);
}