﻿var panelHeight = 300;
var panelWidth = 198;

var canvasMargin = 30;
var leftPanelWidth = 300;
var rightPanelWidth = 300;

var leftPanelArray = new Array();
var rightPanelArray = new Array();
var centerPanelArray = new Array(); 

var headerHeight = 0;

var xmlUrl = '';
var sessionPrid = '';

var soxApp;
var soxCanvas;
var bgEl;

var relatedItem = "";
var relatebox = document.getElementById("relateditems");

function init(xmlUrlIn, sessionPridIn) {  
    
    xmlUrl = xmlUrlIn;
    
    sessionPrid = sessionPridIn;
    
    bgEl = document.getElementById('bgimage');
     
    xWidth(bgEl, xClientWidth()+20);
    
    if (xHeight(bgEl) < xClientHeight()) {
        xWidth(bgEl, null);
        xHeight(bgEl,xClientHeight()+20);
    }
    
    xShow(bgEl);
    
    buildGui();
      
    if (sessionPrid == '') {
        showLogin();
    } else {
        xShow(document.getElementById('soxcanvas'));
    }
   
}


function init_standard(xmlUrlIn, sessionPridIn, titleText, incomingType, incomingGuid) { 

    if (titleText == null) {
        titleText = "";
    }  
   
    xmlUrl = xmlUrlIn;
    
    sessionPrid = sessionPridIn;
    
    /*    
    bgEl = document.getElementById('bgimage');
     
    xWidth(bgEl, xClientWidth()+20);
    
    if (xHeight(bgEl) < xClientHeight()) {
        xWidth(bgEl, null);
        xHeight(bgEl,xClientHeight()+20);
    }
    
    xShow(bgEl);
    */
    
    buildGui();  
    
    xShow(document.getElementById('soxcanvas'));  
    
    if (incomingGuid != '') {
        if (incomingType == "post") {
            soxView('post.aspx', incomingGuid, 'Post');
        }        
        if (incomingType == "education") {
            soxView('education.aspx', incomingGuid, 'Resource');
        }
		if (incomingType == "discussion") {
            soxView('forum.aspx', incomingGuid, 'Thread');
        }
        if (incomingType == "event") {
            soxView('event.aspx', incomingGuid, 'Event');
        }
        if (incomingType == "initiative") {
            soxView('initiative.aspx', incomingGuid, 'Initiative');
        }
        if (incomingType == "career") {
            soxView('career.aspx', incomingGuid, 'Career');
        }        
    } else if (sessionPrid == '') {
        if (getCookie("visited") == "") {
            //showLogin(titleText);            
        }
    } 
    
    //xEnableDrag("relatebox");
    //document.getElementById("hideShow").innerHTML = "show"
    xTop('relatebox', xPageY('soxcanvas'));
    xLeft('relatebox', xPageX('soxcanvas') + 350);
    xHeight('relateditems', 100);   
   
}

function relateMover(evt) {
    
    var e = new xEvent(evt);  
    xLeft(document.getElementById('mousetracker'), e.pageX+1); 
    xTop(document.getElementById('mousetracker'), e.pageY+1); 
    
    
    
}

function killMover(evt) {
    var e = new xEvent(evt);  
    xRemoveEventListener(document, 'mousemove', relateMover);
    xRemoveEventListener(document, 'mousedown', killMover, true);
    xHide(document.getElementById('mousetracker'));
   
    if(e.target.id == "relatebox" || e.target.id == "relateditems") {
         
          var guidA = relatedItem;
          var xmlBody = "<request><get><relatename>";
          xmlBody += guidA;
          xmlBody += "</relatename></get></request>";
          parent.ajaxReq(xmlBody);
          
         
          
    }else if (e.target.id.indexOf('relate_') >= 0) {
        var guidA = relatedItem;
        var guidB = e.target.id.split("_")[1];
        var xmlBody = "";
        xmlBody += "<request>";
        xmlBody += "<event><relatecontent>";
        xmlBody += "<sox_guida><![CDATA["+guidA+"]]></sox_guida>";
        xmlBody += "<sox_guidb><![CDATA["+guidB+"]]></sox_guidb>";       
        xmlBody += "</relatecontent></event>";
        xmlBody += "</request>";
        parent.ajaxReq(xmlBody);
    }
    
  
    relatedItem = "";
}

function shareContent(obj, type){
    var xmlBody = "<request><event>";
    
    if (obj.name == "sox_content_sharing"){
        if (obj.checked){
            xmlBody += "<sharecontent><contentguid checked=\"1\" type=\""  + type + "\">" + obj.value + "</contentguid>";
          
        }
        else
        {
            xmlBody += "<sharecontent><contentguid checked=\"0\"  type=\"" + type + "\">" + obj.value + "</contentguid>";
            
        }
                
        
        xmlBody += "</sharecontent></event></request>";
        
        ajaxReq(xmlBody);
        
    }else if(obj.name == "sox_content_force"){
         if (obj.checked){
            xmlBody += "<forcesharecontent checked=\"1\">";
        }
        else
        {
            xmlBody += "<forcesharecontent checked=\"0\">";
            
        }
                
        xmlBody += "<contentguid>" + obj.value + "</contentguid>";
        xmlBody += "</forcesharecontent></event></request>";
        
        ajaxReq(xmlBody);
    }
   
}

// CONTENT MODERATION

function reportContent(contentGuid, userGuid, comment, reportType){
     var xmlBody = "<request><event><reportcontent><contentguid>" + contentGuid + "</contentguid><reportedby>" + userGuid + "</reportedby><commentbody><![CDATA[" + comment.value + "]]></commentbody>";
     
     for(var i = 0;i < reportType.length;i++){
        if (reportType[i].checked == true){
            xmlBody += "<reporttype><![CDATA[" + reportType[i].value + "]]></reporttype>";
        }
     }
     
    xmlBody += "</reportcontent></event></request>";
    ajaxReq(xmlBody);
}
// COMMENT FUNCTIONS
function saveComment(obj, guid, contentGuid, commentGuid){
    var xmlBody = "<request><event><savecomment><comment><contentguid>" + contentGuid + "</contentguid><authorguid>" + guid + "</authorguid><commentbody><![CDATA[" + obj.value + "]]></commentbody>";
    
    if (commentGuid != "")
        xmlBody += "<commentguid>" + commentGuid + "</commentguid>";
        
    xmlBody += "</comment></savecomment></event></request>";   
    //alert(xmlBody);
    ajaxReq(xmlBody);
    
}

function removeComment(commentGuid, contentGuid){
    var xmlBody = "<request><event><deletecomment><comment><commentguid>" + commentGuid + "</commentguid><contentguid>" + contentGuid + "</contentguid></comment></deletecomment></event></request>";
    //alert(xmlBody);
    ajaxReq(xmlBody);
}

function replyComment(commentGuid){
   
    var xmlBody = "<request><event><replycomment><comment><commentguid>" + commentGuid + "</commentguid><contentguid>" + contentGuid + "</contentguid></comment></replycomment></event></request>";
    //alert(xmlBody);
    ajaxReq(xmlBody);

}

function getReplies(commentGuid){
    var modalIframeDoc = document.getElementById('soxiframe_modal');
    var replyLink = modalIframeDoc.contentWindow.document.getElementById("replies_" + commentGuid);
   
    if (modalIframeDoc.contentWindow.document.getElementById("relpycontainer_" + commentGuid) != null){
        var replyDiv = modalIframeDoc.contentWindow.document.getElementById("reply_" + commentGuid);
        var replyCont = modalIframeDoc.contentWindow.document.getElementById("relpycontainer_" + commentGuid);
         
        if (replyCont.hasChildNodes())
        {            
            while (replyCont.childNodes.length >= 1)
            {
                replyCont.removeChild(replyCont.firstChild);       
            } 
        }
        replyDiv.removeChild(replyCont);
        replyLink.innerHTML = "view replies";  
    
    }else{    
        var xmlBody = "<request><get><comments>" + commentGuid + "</comments></get></request>";
       
        ajaxReq(xmlBody, "soxiframe_modal");
        replyLink.innerHTML = "hide replies"; 
        
    }
}

function reportComment(reportComment, reportedBy, contentGuid, commentGuid, authorGuid, reportType){
     var xmlBody = "<request><event><reportcomment>";
     xmlBody += "<contentguid>" + contentGuid + "</contentguid>";
     xmlBody += "<commentguid>" + commentGuid + "</commentguid>";
     for(var i = 0;i < reportType.length;i++){
        if (reportType[i].checked == true){
            xmlBody += "<reporttype>" + reportType[i].value + "</reporttype>";
        }
     }
     
     xmlBody += "<reportcommentbody><![CDATA[" + reportComment.value + "]]></reportcommentbody>";
     xmlBody += "<authorguid>" + authorGuid + "</authorguid>";
     xmlBody += "<reportedby>" + reportedBy + "</reportedby>";
     xmlBody += "</reportcomment></event></request>";
     
     ajaxReq(xmlBody);

}
// RATING FUNCTIONS
function saveRating(value, guid, contentguid){  
    var xmlBody = "<request><event><saverating><rating><contentguid>" + contentguid + "</contentguid><authorguid>" + guid + "</authorguid><ratingbody>" + value + "</ratingbody></rating></saverating></event></request>";
    ajaxReq(xmlBody);
}


function toggleRelateBox(){
   
    if (document.getElementById("hideShow").innerHTML == "show"){
        document.getElementById("hideShow").innerHTML = "hide"
        //xTop('relatebox', 100);
        //xLeft('relatebox', 100);
        xShow('relatebox');
        xShow('relateditems');
        xHeight('relateditems', 100);
    }else{
        document.getElementById("hideShow").innerHTML = "show"
        xTop('relatebox', xPageY('soxcanvas'));
        xLeft('relatebox', xPageX('soxcanvas') + 350);
        xHide('relatebox');
        xHide('relateditems');
        xHeight('relateditems', 35);
    
    }
}
function relateContent(itemGuid) {
    //xShow('relatebox');
    //xShow('relateditems');
    //alert(itemGuid + ' ' + relatedItem);
    if (relatedItem == "") {
        relatedItem = itemGuid;
        xShow(document.getElementById('mousetracker'));
        xAddEventListener(document, 'mousemove', relateMover);  
        xAddEventListener(document, 'mousedown', killMover, true);        
    }
}

function removeContent(obj){
     var relatebox = document.getElementById("relateditems");
     var childNodes = relatebox.childNodes;
     var x = "";   
      
     for (var i=0;i<childNodes.length;i++){
     
        if(childNodes[i].nodeName == "DIV"){
          
            if(childNodes[i].id.split("_")[1] == obj){
               relatebox.removeChild(childNodes[i]);
            }
            
           
        }
     }

}

function showLogin(titleText) {
    if (titleText == null) {
        titleText = "";
    }
    
    
     document.getElementById('soxpaneltitle_modal').innerHTML = titleText;
     document.getElementById('soxiframe_modal').src = "soxapps/login.aspx";
     
     //resizePanel('modal', (xClientWidth()/2) - 350, (xClientHeight()/2) - 275, 700, 550);     
     //xHeight(document.getElementById('soxiframe_modal'), xHeight(document.getElementById('soxpanelborder_modal'))); 
     
     sizeModal();
     
     xAddEventListener(window, 'scroll', sizeModal);
     
     xShow(document.getElementById('soxpanel_modal'));
}

function showRegister(url) {
     resizePanel('modal', canvasMargin*2, canvasMargin*2, xClientWidth()-canvasMargin*4, xClientHeight()-canvasMargin*4);
     document.getElementById('soxpaneltitle_modal').innerHTML = 'Register';
     document.getElementById('soxiframe_modal').src = url;
     xShow(document.getElementById('soxpanel_modal'));
     xHeight(document.getElementById('soxiframe_modal'), xHeight(document.getElementById('soxpanelborder_modal'))); 
}

function login(email, password) {
    var xmlBody = "";
    xmlBody += "<request>";
    xmlBody += "<event><login><email>"+email+"</email><password>"+password+"</password></login></event>";
    xmlBody += "</request>";
    ajaxReq(xmlBody);
}

function joinGroup() {
    var xmlBody = "";
    xmlBody += "<request>";
    xmlBody += "<event><joingroup/></event>";
    xmlBody += "</request>";
    ajaxReq(xmlBody);
    xHide(document.getElementById('joingroupbutton'));
}

function loginNewMember() {
    var xmlBody = "";
    xmlBody += "<request>";
    xmlBody += "<event><login/></event>";
    xmlBody += "</request>";
    ajaxReq(xmlBody);
}

function ajaxResponse(ajaxObject) {
    //alert(ajaxObject.responseText);
    var returnList = ajaxObject.responseXML.getElementsByTagName('return')[0].childNodes;
	
    for (var x = 0; x < returnList.length; x++) {
        var returnItem = returnList[x];
        
        if (returnItem.nodeName == 'login') {
            var newPridNode = returnItem.getElementsByTagName('prid')[0];
            var newPrid = '';
            if (newPridNode.childNodes.length > 0) {
                newPrid = newPridNode.firstChild.nodeValue
            }    
            //alert('prid ' + newPrid);              
            if (newPrid != null && newPrid != "") { 
                hidePanel('modal');                                                
                //xHide(document.getElementById('soxpanel_modal'));
                window.top.document.location.href = document.location.href;
                //xShow(document.getElementById('soxcanvas'));
                
            } else {
                alert('Log In Failed. Please check your Email and Password and try again.');
                document.getElementById('soxiframe_modal').src = "soxapps/login.aspx";
            }
        }
        
        if (returnItem.nodeName == 'post') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your story has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><latest viewall="'+document.getElementById('latest_viewall').value+'" keywords="'+document.getElementById('latest_keywordsdata').value+'" categories="'+document.getElementById('latest_selectedcategories').value+'" sortby="'+document.getElementById('latest_sortby').value+'"/></get></request>', 'latest');
                panelReq('<request><get><media viewall="'+document.getElementById('media_viewall').value+'" keywords="'+document.getElementById('media_keywordsdata').value+'" categories="'+document.getElementById('media_selectedcategories').value+'" sortby="'+document.getElementById('media_sortby').value+'"/></get></request>', 'media');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your post has been saved.');
                hidePanel('modal');
                //panelReq('<request><get><latest sortby="sox_post_date DESC"/></get></request>', 'latest');
                //panelReq('<request><get><media sortby="sox_post_date DESC"/></get></request>', 'media');
                panelReq('<request><get><latest viewall="'+document.getElementById('latest_viewall').value+'" keywords="'+document.getElementById('latest_keywordsdata').value+'" categories="'+document.getElementById('latest_selectedcategories').value+'" sortby="'+document.getElementById('latest_sortby').value+'"/></get></request>', 'latest');
                panelReq('<request><get><media viewall="'+document.getElementById('media_viewall').value+'" keywords="'+document.getElementById('media_keywordsdata').value+'" categories="'+document.getElementById('media_selectedcategories').value+'" sortby="'+document.getElementById('media_sortby').value+'"/></get></request>', 'media');
            } else {
                alert('There was a problem saving your post. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'feed') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your feed has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><latest viewall="'+document.getElementById('latest_viewall').value+'" keywords="'+document.getElementById('latest_keywordsdata').value+'" categories="'+document.getElementById('latest_selectedcategories').value+'" sortby="'+document.getElementById('latest_sortby').value+'"/></get></request>', 'latest');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your feed has been saved.');
                hidePanel('modal');
                panelReq('<request><get><latest viewall="'+document.getElementById('latest_viewall').value+'" keywords="'+document.getElementById('latest_keywordsdata').value+'" categories="'+document.getElementById('latest_selectedcategories').value+'" sortby="'+document.getElementById('latest_sortby').value+'"/></get></request>', 'latest');
            } else {
                alert('There was a problem saving your feed. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }        
        
        
        if (returnItem.nodeName == 'event') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your event has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><events sortby="sox_event_startdatetime ASC"/></get></request>', 'events');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your event has been saved.');
                hidePanel('modal');
                panelReq('<request><get><events sortby="sox_event_startdatetime ASC"/></get></request>', 'events');
            } else {
                alert('There was a problem saving your event. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'career') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your career has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><careers sortby="sox_career_date ASC"/></get></request>', 'careers');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your career has been saved.');
                hidePanel('modal');
                panelReq('<request><get><careers sortby="sox_career_date ASC"/></get></request>', 'careers');
            } else {
                alert('There was a problem saving your career. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
		if (returnItem.nodeName == 'forum') {			
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your thread has been deleted.');
                hidePanel('modal');				
                panelReq('<request><get><forums viewall="'+document.getElementById('forums_viewall').value+'" sortby="sox_forum_date DESC"/></get></request>', 'forums');								
				panelReq('<request><get><latest viewall="'+document.getElementById('latest_viewall').value+'" keywords="'+document.getElementById('latest_keywordsdata').value+'" categories="'+document.getElementById('latest_selectedcategories').value+'" sortby="'+document.getElementById('latest_sortby').value+'"/></get></request>', 'latest');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your thread has been saved.');					
                soxView('forum.aspx',returnItem.getAttribute('guid'),'Discussion');
                panelReq('<request><get><forums viewall="'+document.getElementById('forums_viewall').value+'" sortby="sox_forum_date DESC"/></get></request>', 'forums');				
				panelReq('<request><get><latest viewall="'+document.getElementById('latest_viewall').value+'" keywords="'+document.getElementById('latest_keywordsdata').value+'" categories="'+document.getElementById('latest_selectedcategories').value+'" sortby="'+document.getElementById('latest_sortby').value+'"/></get></request>', 'latest');
            } else {
                alert('There was a problem deleting your resource. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
		
		if (returnItem.nodeName == 'forumpost') {			
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('The post has been deleted.');
                soxView('forum.aspx',returnItem.getAttribute('guid'),'Discussion');
                panelReq('<request><get><forums viewall="'+document.getElementById('forums_viewall').value+'" sortby="sox_forum_date DESC"/></get></request>', 'forums');								
            } else if (returnItem.getAttribute('updated') != null && returnItem.getAttribute('updated') != "") {
                alert('The post has been updated.');					
                soxView('forum.aspx',returnItem.getAttribute('guid'),'Discussion');
                panelReq('<request><get><forums viewall="'+document.getElementById('forums_viewall').value+'" sortby="sox_forum_date DESC"/></get></request>', 'forums');				
			} else if (returnItem.getAttribute('added') != null && returnItem.getAttribute('added') != "") {
                alert('Your post has been saved.');					
                soxView('forum.aspx',returnItem.getAttribute('guid'),'Discussion');				
                panelReq('<request><get><forums viewall="'+document.getElementById('forums_viewall').value+'" sortby="sox_forum_date DESC"/></get></request>', 'forums');								
            } else {
                alert('There was a problem deleting your resource. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
		
        if (returnItem.nodeName == 'education') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your resource has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><education sortby="sox_education_date DESC"/></get></request>', 'education');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your resource has been saved.');
                hidePanel('modal');
                panelReq('<request><get><education sortby="sox_education_date DESC"/></get></request>', 'education');
            } else {
                alert('There was a problem saving your resource. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'initiative') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your initiative has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><initiatives sortby="sox_initiative_date DESC"/></get></request>', 'initiatives');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your initiative has been saved.');
                hidePanel('modal');
                panelReq('<request><get><initiatives sortby="sox_initiative_date DESC"/></get></request>', 'initiatives');
            } else {
                alert('There was a problem saving your initiative. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'related') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your relationship has been deleted.');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your relationship has been saved.');
            } else {
                alert('There was a problem saving your relationship.');
            }
            xRemoveEventListener(document, 'mousemove', relateMover);
            xRemoveEventListener(document, 'mousedown', killMover, true);
            xHide(document.getElementById('mousetracker'));
        }
        
         if (returnItem.nodeName == 'milestone') {            
            
            var modalIframeDoc = document.getElementById('soxiframe_modal').contentWindow;
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your milestone has been deleted.');
                //hidePanel('modal');
                //panelReq('<request><get><initiatives sortby="sox_initiative_date DESC"/></get></request>', 'initiatives');
                modalIframeDoc.xHide("loading");
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your milestone has been saved.');
                //hidePanel('modal');
                //panelReq('<request><get><initiatives sortby="sox_initiative_date DESC"/></get></request>', 'initiatives');
                modalIframeDoc.xHide("loading");
            } else {
                alert('There was a problem saving your milestone. ' + returnItem.getAttribute('guid'));
                modalIframeDoc.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'contact') {
            if (returnItem.getAttribute('removed') != null && returnItem.getAttribute('removed') != "") {
                alert('Your contact has been removed.');
                hidePanel('modal');                
            } else if (returnItem.getAttribute('added') != null && returnItem.getAttribute('added') != "") {
                alert('Your contact has been saved.');
                hidePanel('modal');                
            } else {
                alert('There was a problem saving your contact.');
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'group') {
            if (returnItem.getAttribute('deleted') != null && returnItem.getAttribute('deleted') != "") {
                alert('Your group has been deleted.');
                hidePanel('modal');
                panelReq('<request><get><groups sortby="sox_group_date DESC"/></get></request>', 'groups');
            } else if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your group has been saved.');
                hidePanel('modal');
                panelReq('<request><get><groups sortby="sox_group_date DESC"/></get></request>', 'groups');
            } else {
                alert('There was a problem saving the group. ' + returnItem.getAttribute('guid'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'groupjoined') {
            if (returnItem.getAttribute('guid') != null && returnItem.getAttribute('guid') != "") {
                alert('Your group request has been sent. Membership is pending approval by the group administrator.');
                //hidePanel('modal');
                //panelReq('<request><get><groups sortby="sox_group_date DESC"/></get></request>', 'groups');
            } else {
                alert('There was a problem joining the group. ' + returnItem.getAttribute('guid'));
                //document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
        if (returnItem.nodeName == 'groupmember') {
            if (returnItem.getAttribute('removed') != null && returnItem.getAttribute('removed') != "") {
                alert('The member has been removed.');
                hidePanel('modal');
                panelReq('<request><get><members/></get></request>', 'members');
            } else {
                alert('There was a removing the member. ' + returnItem.getAttribute('removed'));
                document.getElementById('soxiframe_modal').document.xHide("loading");
            }
        }
        
         if (returnItem.nodeName == 'memberpermissions') {

         }
         
         if (returnItem.nodeName == 'memberprofile'){
           
         }
         
         if (returnItem.nodeName == 'memberlist'){
        
            var memberList = document.getElementById("searchresults");
            var members = returnItem.getElementsByTagName('member');
            memberList.innerHTML =  "";
             
            for (var i=0;i<members.length;i++){
                memberList.innerHTML += "<div style=\"width:99%;padding:5px 2px 2px 2px;font-size:11px;border-bottom:1px solid #D6DFE7;\" onmouseover=\"this.style.cursor='pointer';\" onmouseout=\"this.style.cursor='default';\" onclick=\"javascriptid=\"div_" +  members[i].getElementsByTagName('prid')[0].firstChild.nodeValue + "\"><img src=\"soxrepo/profiles/thumb_" +  members[i].getElementsByTagName('image')[0].firstChild.nodeValue + "\" align=\"left\" hspace=5/>" + members[i].getElementsByTagName('firstname')[0].firstChild.nodeValue + " " + members[i].getElementsByTagName('lastname')[0].firstChild.nodeValue + "</div>";
            }
            
         }
       
         if (returnItem.nodeName == 'sendinvite') {
            alert('Your invitation has been sent.');
            hidePanel('modal');
            
         }
         
        
        
        if (returnItem.nodeName == 'member'){
               
                var modalIframeDoc = document.getElementById('soxiframe_modal').contentWindow;
                modalIframeDoc.xHide("loading");
            }
            
        if (returnItem.nodeName == 'relatename') {
           
            var relatebox = document.getElementById("relateditems");
            relatebox.innerHTML += "<div id=\"relatebox_" + returnItem.getAttribute('guid') + "\">" + returnItem.firstChild.nodeValue + " - <a href=\"javascript:;\" onclick=\"relateContent('" + returnItem.getAttribute('guid') + "');\">relate</a> | <a href=\"javascript:;\" onclick=\"removeContent('" + returnItem.getAttribute('guid') + "');\">remove</a></div>";

        }
        
        if (returnItem.nodeName == 'savedcomment') {
            var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your comment has been saved.');
        }
        
        if (returnItem.nodeName == 'groupmeta') {
            var modalIframeDoc = document.getElementById('soxiframe_modal');
           modalIframeDoc.src = modalIframeDoc.src;
            alert('Your group meta field has been saved.');
        }
        
        if (returnItem.nodeName == 'averagerating') {
            var modalIframeDoc = document.getElementById('soxiframe_modal');
            var ratingDiv = modalIframeDoc.contentWindow.document.getElementById("soxrating");            
            var averageRating = returnItem.firstChild.nodeValue.split("/")[0];
            var myRating = returnItem.firstChild.nodeValue.split("/")[1];
            alert('Your rating has been applied');
            for (var r = 0; r < ratingDiv.childNodes.length; r++) {
                var rItem = ratingDiv.childNodes[r];                
                if (averageRating > r) {
                    rItem.src = rItem.src.replace('_off.','_on.');
                }                
                if (myRating == r+1) {
                    rItem.src = rItem.src.replace('star_','starme_');
                }
            }           
        }
        
        if (returnItem.nodeName == 'deletecontent') {
            
            var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your content has been removed from this page.');
           
        }
        
        if (returnItem.nodeName == 'adddeletecontent') {            
            var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your content has been added back to this page.');          
        }
        
        if (returnItem.nodeName == 'addcontent1') {            
            var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your content has been added to your group.');
           
        }
        
        if (returnItem.nodeName == 'removecontent') {
            
           var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your content has been removed from your group.');
           
        }
        
        if (returnItem.nodeName == 'deletecomment') {
            
            var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your comment has been removed.');
           
        }
        
        if (returnItem.nodeName == 'reportcomment') {
            
           var modalIframeDoc = document.getElementById('soxiframe_modal');
            modalIframeDoc.src = modalIframeDoc.src;
            alert('Your report has been saved.');
           
        }
        
        if (returnItem.nodeName == 'reportcontent') {
          
            alert('Your report has been saved.');
           
        }
        
       

    }    
}

function buildGui() {
    
    var allNodes = document.getElementsByTagName('div');
    var panelLeftCount = 0;
    var panelRightCount = 0;
    var panelCenterCount = 0;      
    
    headerHeight = xHeight(document.getElementById('soxheader'))-45;
    
    for (var i = 0; i < allNodes.length; i++) {
        var currentNode = allNodes[i];
        if (currentNode.className == 'soxpanel_left') {
           var panelName = currentNode.id.split("_")[1];            
           panelLeftCount++;
           initPanel(panelName);
           leftPanelArray[leftPanelArray.length] = panelName;
        }
        if (currentNode.className == 'soxpanel_right') {
           var panelName = currentNode.id.split("_")[1]; 
           panelRightCount++;
           initPanel(panelName);
           rightPanelArray[rightPanelArray.length] = panelName;
        }
        if (currentNode.className == 'soxpanel_center') {
           var panelName = currentNode.id.split("_")[1]; 
           panelCenterCount++;
           initPanel(panelName);
           centerPanelArray[centerPanelArray.length] = panelName;    
        }
    }
    
    /** Initialization code.  * If you use your own event management code, change it as required. */
    //if (window.addEventListener)        /** DOMMouseScroll is for mozilla. */        
    //    window.addEventListener('DOMMouseScroll', wheel, false);    
    /** IE/Opera. */
    ///window.onmousewheel = document.onmousewheel = wheel;        
    
    soxApp = document.getElementById('soxapp');
    soxCanvas = document.getElementById('soxcanvas');

}



function ajaxReq(xmlIn, callingIframe) {
     
	var objHTTP, strResult;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
	{
		objHTTP = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) // if IE
	{ 
		try 
		{
			objHTTP = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
			    alert('Could not initiate request.');
			}
		}
	}
    
	objHTTP.open("POST", xmlUrl+"&rnd=" + Math.random()*4, true);
	objHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");	
 
    if (callingIframe != null) {
    
    	objHTTP.onreadystatechange = function() 
	    {
		    if (objHTTP.readyState == 4)
		    {
			               
                            document.getElementById(callingIframe).contentWindow.ajaxResponse(objHTTP);
                           
		    }
	    };
    
    } else {
    
	    objHTTP.onreadystatechange = function() 
	    {
		    if (objHTTP.readyState == 4)
		    {
                            
			    ajaxResponse(objHTTP);
		    }
	    };
	    
	}
    
	objHTTP.send("<?xml version='1.0' encoding='UTF-8'?>"+xmlIn);
}

function panelReq(xmlIn, panelId) {	
	var objHTTP, strResult;
	if (window.XMLHttpRequest) // if Mozilla, Safari etc
	{
		objHTTP = new XMLHttpRequest();
	} 
	else if (window.ActiveXObject) // if IE
	{ 
		try 
		{
			objHTTP = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
			}
		}
	}	
	objHTTP.open("POST", xmlUrl + "&display=1&rnd=" + Math.random()*4, true);
	objHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded");	
	
	objHTTP.onreadystatechange = function() 
	{
		if (objHTTP.readyState == 4)
		{	
			eval('procReq_'+panelId+'(objHTTP.responseText)');
		}
	};

	objHTTP.send("<?xml version='1.0' encoding='UTF-8'?>"+xmlIn);
}

function initPanel(panelName) {

}

function hidePanel(panelName) {
    var soxpanel = document.getElementById('soxpanel_' + panelName); 
    var lightbox = document.getElementById('lightbox');    
    if (panelName == 'modal') {
        xRemoveEventListener(window, 'scroll', sizeModal);
        xHide(lightbox);
        document.getElementsByTagName('body')[0].style.overflow = 'auto';
    }       
    document.getElementById('soxiframe_'+panelName).src = "soxapps/loading.html";     
    xHide(soxpanel);
}

function resizePanel(panelName, pXLoc, pYLoc, pWidth, pHeight) {
    var lightbox = document.getElementById('lightbox');
    var soxpanel = document.getElementById('soxpanel_' + panelName);        
    var soxpanelbar = document.getElementById('soxpanelbar_' + panelName);
    var soxpanelbarleft = document.getElementById('soxpanelbarleft_' + panelName);
    var soxpanelbarright = document.getElementById('soxpanelbarright_' + panelName);
    var soxpanelbarrightclose = document.getElementById('soxpanelbarrightclose_' + panelName);
    var soxpanelutil = document.getElementById('soxpanelutil_' + panelName);                
    var soxpanelborder = document.getElementById('soxpanelborder_' + panelName);                
    var soxpanelfooter = document.getElementById('soxpanelfooter_' + panelName);  
    var soxcontainer = document.getElementById('soxcontainer_' + panelName); 
    var soxpanelfooterleft = document.getElementById('soxpanelfooterleft_' + panelName);
    var soxpanelfooterright = document.getElementById('soxpanelfooterright_' + panelName);
    var soxpanelfootershadowimage = document.getElementById('soxpanelfootershadowimage_' + panelName);
    
    if (panelName == 'modal') {
        xWidth(lightbox,xClientWidth());
        xHeight(lightbox,xClientHeight());
        xShow(lightbox);
        document.getElementsByTagName('body')[0].style.overflow = 'hidden';
   }
   
    xWidth(soxpanel,pWidth);
    xHeight(soxpanel,pHeight);
    
    xLeft(soxpanel,pXLoc);
    xTop(soxpanel,pYLoc);                
              
    xWidth(soxpanelbarleft,pWidth-xWidth(soxpanelbarright));
    xLeft(soxpanelbarright,pWidth-xWidth(soxpanelbarright));
    
    xLeft(soxpanelbarrightclose,pWidth-xWidth(soxpanelbarrightclose));
    
    //xTop(soxpanelutil,xHeight(soxpanelbar)-1);
    //xWidth(soxpanelutil,pWidth);
    
    xTop(soxpanelborder,xHeight(soxpanelbar)+xHeight(soxpanelutil)-1);
    xWidth(soxpanelborder,pWidth);
    xHeight(soxpanelborder,pHeight-xHeight(soxpanelbar)-xHeight(soxpanelutil)-xHeight(soxpanelfooter)+1);     
                  
    xTop(soxpanelfooter,pHeight-xHeight(soxpanelfooter)-1);
    xWidth(soxpanelfooterleft,pWidth-xWidth(soxpanelfooterright));
    xLeft(soxpanelfooterright,pWidth-xWidth(soxpanelfooterright));
    
    xTop(soxcontainer,xTop(soxpanelborder));
    xWidth(soxcontainer,pWidth);    
    xClip(soxcontainer,0,pWidth,pHeight-xHeight(soxpanelbar)-xHeight(soxpanelutil)-xHeight(soxpanelfooter),0);
    
    xWidth(soxpanelfootershadowimage,pWidth);      
    
}    

function resizePanel_standard(panelName, pXLoc, pYLoc, pWidth, pHeight) {
    var lightbox = document.getElementById('lightbox');
    var soxpanel = document.getElementById('soxpanel_' + panelName);        
    var soxpanelbar = document.getElementById('soxpanelbar_' + panelName);
    var soxpanelbarleft = document.getElementById('soxpanelbarleft_' + panelName);
    var soxpanelbarright = document.getElementById('soxpanelbarright_' + panelName);
    var soxpanelbarrightclose = document.getElementById('soxpanelbarrightclose_' + panelName);
    var soxpanelutil = document.getElementById('soxpanelutil_' + panelName);                
    var soxpanelborder = document.getElementById('soxpanelborder_' + panelName);                
    var soxpanelfooter = document.getElementById('soxpanelfooter_' + panelName);  
    var soxcontainer = document.getElementById('soxcontainer_' + panelName); 
    var soxpanelfooterleft = document.getElementById('soxpanelfooterleft_' + panelName);
    var soxpanelfooterright = document.getElementById('soxpanelfooterright_' + panelName);
    //var soxpanelfootershadowimage = document.getElementById('soxpanelfootershadowimage_' + panelName);
    
    if (panelName == 'modal') {
        xWidth(lightbox,xClientWidth());
        xHeight(lightbox,xClientHeight());
        xShow(lightbox);
        document.getElementsByTagName('body')[0].style.overflow = 'hidden';
   }
   
    xWidth(soxpanel,pWidth);
    xHeight(soxpanel,pHeight);
    
    xLeft(soxpanel,pXLoc);
    xTop(soxpanel,pYLoc);                
              
    xWidth(soxpanelbarleft,pWidth-xWidth(soxpanelbarright));
    xLeft(soxpanelbarright,pWidth-xWidth(soxpanelbarright));    
    
    //xLeft(soxpanelbarrightclose,pWidth-xWidth(soxpanelbarrightclose));
    //xTop(soxpanelbarrightclose,pYLoc); 
    
    xTop(soxpanelutil,xHeight(soxpanelbar)-1);
    xWidth(soxpanelutil,pWidth-24);
    
    xTop(soxpanelborder,xHeight(soxpanelbar)+xHeight(soxpanelutil)-1);
    xWidth(soxpanelborder,pWidth);
    xHeight(soxpanelborder,pHeight-xHeight(soxpanelbar)-xHeight(soxpanelutil)-xHeight(soxpanelfooter)+1);
                 
    xLeft(soxpanelfooter,-10);   
    xTop(soxpanelfooter,pHeight-xHeight(soxpanelfooter));
    xWidth(soxpanelfooterleft,pWidth-xWidth(soxpanelfooterright)+25);
    xLeft(soxpanelfooterright,pWidth-xWidth(soxpanelfooterright));
    
    xTop(soxcontainer,xTop(soxpanelborder));
    xWidth(soxcontainer,pWidth-4);    
    xClip(soxcontainer,0,pWidth,pHeight-xHeight(soxpanelbar)-xHeight(soxpanelutil)-xHeight(soxpanelfooter),0);
    
    //xWidth(soxpanelfootershadowimage,pWidth); 
        
}    

function resizeApp() { 
     
    xWidth(bgEl, xClientWidth()+20);
    
    if (xHeight(bgEl) < xClientHeight()) {
        xWidth(bgEl, null);
        xHeight(bgEl,xClientHeight()+20);
    }
    
    xWidth(soxApp,xClientWidth()); 
    xHeight(soxApp,xClientHeight());    

    var canvasHeight = xClientHeight()-(canvasMargin*2)-headerHeight;
    var centerWidth = xClientWidth()-(canvasMargin*2)-leftPanelWidth-rightPanelWidth-30;
    var lPanelSize = (canvasHeight / leftPanelArray.length);
    var rPanelSize = (canvasHeight / rightPanelArray.length);
    var cPanelSize = (canvasHeight / centerPanelArray.length);
    
    for (var p = 0; p < leftPanelArray.length; p++) {
         resizePanel(leftPanelArray[p], canvasMargin, canvasMargin+headerHeight+(p*lPanelSize)+20, leftPanelWidth, lPanelSize-30);
    }
    
    for (var p = 0; p < rightPanelArray.length; p++) {             
         resizePanel(rightPanelArray[p], xClientWidth()-canvasMargin-rightPanelWidth, canvasMargin+headerHeight+(p*rPanelSize)+20, rightPanelWidth, rPanelSize-30);
    }
    
    for (var p = 0; p < centerPanelArray.length; p++) {         
         resizePanel(centerPanelArray[p], canvasMargin+leftPanelWidth+15, canvasMargin+headerHeight+(p*cPanelSize)+20, centerWidth, cPanelSize-30);
    }

}

function resizeApp_standard() { 

    return true;
     
    xWidth(bgEl, xClientWidth()+20);
    
    if (xHeight(bgEl) < xClientHeight()) {
        xWidth(bgEl, null);
        xHeight(bgEl,xClientHeight()+20);
    }
   
   //xTop(soxApp,canvasMargin); 
    //xLeft(soxApp,canvasMargin); 
    xWidth(soxApp,xClientWidth()); 
    xHeight(soxApp,xClientHeight());   

    var canvasHeight = xClientHeight()-(canvasMargin*2)-headerHeight;
    var centerWidth = xClientWidth()-(canvasMargin*2)-rightPanelWidth-60;
    var lPanelSize = (canvasHeight / leftPanelArray.length);
    var rPanelSize = (canvasHeight / rightPanelArray.length);
    var cPanelSize = (canvasHeight / centerPanelArray.length);
     
    return true;
    
    for (var p = 0; p < leftPanelArray.length; p++) {
         resizePanel_standard(leftPanelArray[p], canvasMargin, canvasMargin+headerHeight+(p*lPanelSize)+20, leftPanelWidth, lPanelSize-30);
    }
    
    for (var p = 0; p < rightPanelArray.length; p++) {                
        resizePanel_standard(rightPanelArray[p], xClientWidth()-canvasMargin-rightPanelWidth-45, headerHeight+(p*rPanelSize)+15, rightPanelWidth+15, rPanelSize+50-15);
    }
    
    for (var p = 0; p < centerPanelArray.length; p++) {         
         resizePanel_standard(centerPanelArray[p], canvasMargin-20, headerHeight+(p*cPanelSize)+50, centerWidth+20, cPanelSize-30);
    }
    
        
    var leftEdge = document.getElementById('leftedge');
    var partition = document.getElementById('partition');
    var rightEdge = document.getElementById('rightedge');
    var soxHeader = document.getElementById('soxheader');
    var soxUtil = document.getElementById('soxutil');
    
    xLeft(partition,canvasMargin+centerWidth-13);
    xLeft(rightEdge,xClientWidth()-xWidth(rightEdge)-canvasMargin+10);
    
    xWidth(soxHeader,centerWidth+canvasMargin);
    
    xLeft(soxUtil,canvasMargin+centerWidth+7);    
    xWidth(soxUtil,rightPanelWidth+23);
    xHeight(soxUtil,headerHeight-115);
    
    xHeight(leftEdge,xClientHeight()+100);
    xHeight(partition,xClientHeight()+100);
    xHeight(rightEdge,xClientHeight()+100);

}

function getTarget(x){ 
    x = x || window.event;
    return x.target || x.srcElement;
}

function soxCreate(id) {
    var container = document.getElementById('soxcontainer_modal');
    var iframeChild = document.getElementById('soxiframe_modal');
    container.removeChild(iframeChild);
    
     resizePanel('modal', canvasMargin*2, canvasMargin*2, xClientWidth()-canvasMargin*4, xClientHeight()-canvasMargin*4);
     document.getElementById('soxpaneltitle_modal').innerHTML = button_ClosePanel('modal') + 'Create';
     
     container.appendChild(iframeChild);
     
     iframeChild.src = "soxapps/create.aspx";
     xShow(document.getElementById('soxpanel_modal'));
     xHeight(iframeChild, xHeight(document.getElementById('soxpanelborder_modal')));
}

function sizeModal() {
    var lightbox = document.getElementById('lightbox');
    var container = document.getElementById('soxcontainer_modal');
    var iframeChild = document.getElementById('soxiframe_modal');
    var soxapp = document.getElementById('soxapp');
    
    xTop(lightbox,xScrollTop());
    xWidth(lightbox,xClientWidth());
    xHeight(lightbox,xClientHeight());    
    
    resizePanel('modal', canvasMargin*2, xScrollTop()+canvasMargin*2, xClientWidth()-canvasMargin*4, xClientHeight()-canvasMargin*4);
    xHeight(iframeChild, xHeight(document.getElementById('soxpanelborder_modal')));    
    
}

function showModal(url, text) {
    var container = document.getElementById('soxcontainer_modal');
    var iframeChild = document.getElementById('soxiframe_modal');
    var lightbox = document.getElementById('lightbox');
   
    var modalTitle = text;
    if (modalTitle == null) {
        modalTitle = '';
    }
    
    container.removeChild(iframeChild);
    
    document.getElementById('soxpaneltitle_modal').innerHTML = button_ClosePanel('modal') + modalTitle;
     
    container.appendChild(iframeChild);
     
    document.getElementById('soxiframe_modal').src = "soxapps/loading.html";    
    
    iframeChild.src = url;   
    
    sizeModal();
    
    xShow(document.getElementById('soxpanel_modal'));
    
    xAddEventListener(window, 'scroll', sizeModal);
    
}


function soxView(app, guid, text) {
    var container = document.getElementById('soxcontainer_modal');
    var iframeChild = document.getElementById('soxiframe_modal');
    
    var modalTitle = text;
    if (modalTitle == null) {
        modalTitle = 'Viewer';
    }
    container.removeChild(iframeChild);
    
     //resizePanel('modal', canvasMargin*2, canvasMargin*2, xClientWidth()-canvasMargin*4, xClientHeight()-canvasMargin*4);
     document.getElementById('soxpaneltitle_modal').innerHTML = button_ClosePanel('modal') + modalTitle;
     
     container.appendChild(iframeChild);
     
     document.getElementById('soxiframe_modal').src = "soxapps/loading.html";
     xShow(document.getElementById('soxpanel_modal'));
    
     iframeChild.src = "soxapps/"+app+"?mode=view&guid="+guid+"&rnd=" + Math.random()*4;
     //alert("soxapps/"+app+"?mode=view&guid="+guid);
     //xHeight(iframeChild, xHeight(document.getElementById('soxpanelborder_modal')));
     
     
     sizeModal();
     
     xAddEventListener(window, 'scroll', sizeModal);

}

function soxEdit(app, guid, modalTitle) {
    var container = document.getElementById('soxcontainer_modal');
    var iframeChild = document.getElementById('soxiframe_modal');
    container.removeChild(iframeChild);
    
     //resizePanel('modal', canvasMargin*2, canvasMargin*2, xClientWidth()-canvasMargin*4, xClientHeight()-canvasMargin*4);
     document.getElementById('soxpaneltitle_modal').innerHTML = button_ClosePanel('modal') + modalTitle;
     
     container.appendChild(iframeChild);
     
     document.getElementById('soxiframe_modal').src = "soxapps/loading.html";
     xShow(document.getElementById('soxpanel_modal'));
    
     iframeChild.src = "soxapps/"+app+"?mode=edit&guid="+guid+"&rnd=" + Math.random()*4;
     //xHeight(iframeChild, xHeight(document.getElementById('soxpanelborder_modal')));
     
     sizeModal();
     
     xAddEventListener(window, 'scroll', sizeModal);
}

function soxMode(app, guid, modalTitle, mode) {
    var container = document.getElementById('soxcontainer_modal');
    var iframeChild = document.getElementById('soxiframe_modal');
    container.removeChild(iframeChild);
    
     resizePanel('modal', canvasMargin*2, canvasMargin*2, xClientWidth()-canvasMargin*4, xClientHeight()-canvasMargin*4);
     document.getElementById('soxpaneltitle_modal').innerHTML = button_ClosePanel('modal') + modalTitle;
     
     container.appendChild(iframeChild);
     
     document.getElementById('soxiframe_modal').src = "soxapps/loading.html";
     xShow(document.getElementById('soxpanel_modal'));
    
     iframeChild.src = "soxapps/"+app+"?mode="+mode+"&guid="+guid+"&rnd=" + Math.random()*4;
     xHeight(iframeChild, xHeight(document.getElementById('soxpanelborder_modal')));
}

function button_ClosePanel(panelName) {
    return '';//'<div style="cursor: pointer; float: right; font-weight: bold; font-size:14px;" onclick="hidePanel(\''+panelName+'\')">X</div>';
}

function togglePanel(panelName, forceOpen) {
    
    if (document.getElementById(panelName).style.display == "none" || forceOpen) {
        document.getElementById(panelName).style.display = "";        
        if (document.getElementById(panelName + '_toggle')) {
            document.getElementById(panelName + '_toggle').src = document.getElementById(panelName + '_toggle').src.replace("_up","_down");
        }
   
    } else {
        document.getElementById(panelName).style.display = "none";
        if (document.getElementById(panelName + '_toggle')) {
            document.getElementById(panelName + '_toggle').src = document.getElementById(panelName + '_toggle').src.replace("_down","_up");
        }
    }

    //resizeApp_standard();
}


function setCookie(c_name,value,expiredays) {
    var exdate = new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie = c_name + "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!= -1) { 
            c_start = c_start + c_name.length + 1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length; {
                return unescape(document.cookie.substring(c_start,c_end));
            }
        } 
    }
    return "";
}

// PEOPLE SEARCH FUNCTIONS
function getMembers(obj, group){
    
    if (obj.value != ""){
        xShow('searchresults');
        xTop('searchresults', 95);
        xLeft('searchresults', 450);
        ajaxReq("<request><get><groupmembers sortby=\"last_name DESC\" text=\"" + obj.value + "\">" + group + "</groupmembers></get></request>");        
        
    }else{
         xHide('searchresults');
    }
}

function searchMembers(searchText){
    xHide('searchresults');
    showModal("soxapps/searchmembers.aspx?searchtext=" + searchText, "Search Members")

}



