  
  /*
  
  Event.observe(window, 'load', init, false);
  function init(){
    $('greeting-submit').style.display = 'none';
    Event.observe('greeting-name', 'keyup', grpJoin, false);
  }
  */
  


  function castPollVote()
  {
    var args = $('form_poll_answers').serialize();
    
    
    
    //console.log(args);
    
    
    
    new Ajax.Request(
      '/gather/grp_xhr_wlc_poll_voter.php',
      {
        method: 'get',
        parameters: args,
        onComplete: function (xhr) 
        {
          ////console.log(xhr.responseText);
        
          $('wrap_poll_container').update(xhr.responseText);
        
        }
      }
    );
  }


  function setPostHistory(post_id)  
  {
    
    var params = 'post_id='+post_id;
    
    
    new Ajax.Request('grp_xhr_history_read.php', {
      method: 'post',
      postBody: params,
      onComplete: function (xhr) {
      
        if ( xhr.responseText == 'ok' ) {
          $('read_'+post_id).src = '/gather/img/_icon_topic_read.gif';
          
          if ( $('sticky_read_'+post_id).src != '' )  {
            $('sticky_read_'+post_id).src = '/gather/img/_icon_sticky_read.gif';
          }
        }
      
      
      }
    
    
    });
  
  
  }

function foo() {
   var selObj = window.getSelection(); 
   alert(selObj);
   var selRange = selObj.getRangeAt(0);
   // do stuff with the range
}

  function bbcode(tag)
  {
  
    if (document.getSelection) {
      var str = document.getSelection();
      
      
    
    } else if (document.selection && document.selection.createRange) {
      var range = document.selection.createRange();
      var str = range.text;
    
    
    } else {
      var str = "Sorry, this is not possible with your browser.";
    }
    
    alert(str);
    
    /*
  return; 
    //this for IE
    var selectedStr = document.selection.createRange().text;
    if (selectedStr != "")
    {
      var NT = "[" + tag + "]" + selectedStr + "[/" + tag + "]";
      document.selection.createRange().text = NT;
    }
    else
    {
      var selectedStr = window.getSelection;

      var NT = "[" + tag + "]" + selectedStr + "[/" + tag + "]";
      window.getSelection = NT;

    }
    
    */
  }









  
  function runModalDialog(this_grp_id, this_user_id)
  {
    var elem    = drawModalDialog(this_grp_id, this_user_id);
    var xhrUrl  = '/gather/grp_xhr_candidates_modal.php';
    var params  = 'grp_id='+this_grp_id+'&can_user_id='+this_user_id;
    
    
    /* Will be AJAX Server Content */
    //$(elem).innerHTML = 'testing modal dialog innerHTML element ';
    
    new Ajax.Updater(elem, xhrUrl, { 
                                      method: 'get', 
                                      parameters: params
                                   } );
  
  
  }
  
  function locationSwitch()
  {
    //location.href=location.href;  
  }
  
  function castBallot(grp_id, user_id)
  {
  
    $('voteBtn').hide();//=true;
    
    
    var xhrUrl  = '/gather/grp_xhr_candidates_voter.php';
    var params  = 'grp_id='+grp_id+'&can_user_id='+user_id;
    
    
    /* Will be AJAX Server Content */
    //$(elem).innerHTML = 'testing modal dialog innerHTML element ';
    
    new Ajax.Updater('bottomMsg', xhrUrl, { 
                                      method: 'get', 
                                      parameters: params, 
                                      onComplete: function() {
                                        setTimeout('locationSwitch()', 2000);
                                      
                                      }
                                   } );
  }
  
  function createButtonMsg(this_grp_id, this_user_id, this_div_id)
  {
    var xhrUrl  = '/gather/grp_xhr_candidates_modal.php';
    var params  = 'grp_id='+this_grp_id+'&can_user_id='+this_user_id+'&btn_bool=true';
    
    new Ajax.Updater(this_div_id, xhrUrl, { 
                                      method: 'get', 
                                      parameters: params
                                   } );
  
  }
  
  function drawModalDialog(draw_grp_id, draw_user_id)
  {
      var body = document.getElementsByTagName('body')[0];
      var offs = document.viewport.getScrollOffsets();
      
      body.style.margin = '0';
      body.appendChild(Builder.node('div', {id:'overlayBackId', className:'overlayBack'  }));
      

      $('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';
    
      body.appendChild(Builder.node('div', {id:'overlayForeId', className:'overlayFore'  }));

      var fore        = $('overlayForeId');
          fore.appendChild(Builder.node('div', {id:'overlayForeHeader', className:'overlayForeHeader'  }));
      
      var foreHeader  = $('overlayForeHeader');
          foreHeader.appendChild(Builder.node('a', { id: 'overlayClose', href: 'javascript:;', className: 'option_x_16', onclick: 'closeModalDialog();' }, ' '));
      
      var clickAction = "castBallot('"+draw_grp_id+"', '"+draw_user_id+"');";
      
      fore.appendChild(Builder.node('div', { id: 'overlayForeIdInner', className:'overlayForeInner'  }));
      fore.appendChild(Builder.node('div', { id: 'bottomMsg',          className:'overlayForeFooter'  } ));
      
      //<input type=button value="VOTE FOR THIS MEMBER!" style="margin-top:20px" onclick="alert('Cast your ballot for <?php echo $userArr['username']. ' ['. $userArr['user_id']. ']' ?>')">
      
      
      createButtonMsg(draw_grp_id, draw_user_id, 'bottomMsg');
      
      
      var xPos  = document.viewport.getWidth()/4;
      var yPos  = document.viewport.getHeight()/4;
      $('overlayForeId').style.left   = xPos+'px';
      $('overlayForeId').style.top    = (offs.top + yPos)+'px';
      
      
      
      return 'overlayForeIdInner';
  }

  function closeModalDialog()
  {
      
      
      $('overlayBackId').remove();
      $('overlayForeId').remove();
      
  }

  
  function getThreads()
  {
    //alert($F('showThreads'));
    
    
    //location.href="?fuse=group_msg&gid="+$F('grp_id')+"&posts="+$F('showThreads');    
    location.href="?gid="+$F('grp_id')+"&posts="+$F('showThreads');   
  }
  

  function grpXHR() {
    var tag     = 1;
    var url     = '/gather/grp_xhr_server.php';
    var gId     = 'grp_id'     + current_id;
    var tId     = 'targetDiv'  + current_id;
    var jId     = 'joinBtnVal' + current_id;
    var taken   = 'spotTaken' + current_id;
    var avail   = 'spotAvail' + current_id;
    var tknInt  = $(taken).innerHTML;
    //var avlInt  = $(avail).innerHTML;
    
    var pars    = 'fuse='+$F('fuseAction')+'&grpId='+$F(gId)+'&userId='+$F('user_id')+'&featId='+current_id+'&tag='+tag;
    var target  = $F(tId);
    
    
    //debug!
    //alert(current_id +' '+ pars +' - target:'+ tId);
    
    var myAjax  = new Ajax.Updater(target, url, { method: 'get',  parameters: pars});
    
    if( myAjax )  {
      //this needs to support mulitple groups.
      
      
      $(jId).innerHTML            = '<small><strong>You are a member</strong></small>';
      $(taken).innerHTML            = parseInt(tknInt)+1;
      //$(avail).innerHTML            = parseInt(avlInt)-1;
      //alert($(avail).innerHTML);
      
      //var highLight = new Effect.Highlight(target);
      //var closeUp   = new Effect.Appear(target, {delay: 15, duration:0.25});
      var closeUp   = $(target).show();
      
    }
    
  }


  function grpJoinGroup(user_id, grp_id, grp_policy, in_page) 
  {
    var arg_serialized    = 'user_id='+user_id+'&grp_id='+grp_id+'&grp_policy='+grp_policy+'&tag='+5;
    
    new Ajax.Request(
      '/gather/grp_xhr_join_group.php', 
      { 
        method: 'get',  
        parameters: arg_serialized,
        onComplete: function(xhr) {
          
          if ( $('innerShadowBox') ) $('innerShadowBox').style.textAlign = 'left';
          
          if ( xhr.responseText == 'success' ) {
            location.href=location.href;
          }
          else {
            if ( xhr.responseText == 'pending' ) {
              $('wrap_join_response').update('This group is Private and requires approval for new members');  
            }
          }
        }
      }
    );
  }


  function grpBoxXHR(grp_id, user_id) {
    var tag     = 5;
    var url     = '/gather/grp_xhr_server.php';
    var tknInt  = $('spotTaken').innerHTML;
    //var avlInt  = $('spotAvail').innerHTML;
    
    
    
    var pars    = 'fuse='+$F('fuseAction')+'&grpId='+grp_id+'&userId='+user_id+'&tag='+5;
    var target  = 'joinBox';
    
    
    var grppol  = $('grp_policy'+grp_id).value;
    
    var myAjax  = new Ajax.Updater(target, url, { method: 'get',  parameters: pars});
    
    if( myAjax )  {
      //this needs to support mulitple groups.
      
      if ( grppol < 2) {
        $('joinBtn').innerHTML              = '<small><strong>You are a member</strong></small>';
        $('spotTaken').innerHTML            = parseInt(tknInt)+1;
      }
      else  {
        $('joinBtn').innerHTML              = '<small><strong>Membership Pending Approval</strong></small>';
      }
      var closeUp   = new Effect.Appear(target, {delay: 15, duration:0.25});
    }
  }

  function grpAltXHR(cId) {
    var tag     = 2;
    var url     = '/gather/grp_xhr_server.php';
    var gId     = 'grp_id'     + cId;
    var tId     = 'joinTab' + cId;
    var jId     = 'joinBtnVal' + cId;
    var yBt     = 'yellowBtnId'+ cId;
    
    
    var pars    = 'fuse='+$F('fuseAction')+'&grpId='+$F(gId)+'&userId='+$F('user_id')+'&featId='+cId+'&tag='+tag;
    var target  = $(tId);
    
    
    
    
    //debug!
    //alert(cId +' '+ pars +' - target:'+ tId);
    
    
    
    $(yBt).style.display='none';
    $(tId).style.width='600px';
    
    var myAjax  = new Ajax.Updater(target, url, { method: 'get',  parameters: pars});
    
    if( myAjax )  {
      
      //var highLight = new Effect.Highlight(target);
      
      //window.location.href='';      
      
    }
    
    
  }


  function joinThisWLC(this_grp_id) 
  {
    var arg_serialized  = 'grp_id=' + this_grp_id;
        
    
    
    new Ajax.Request(
      '/gather/grp_xhr_wlc_join.php', 
      {
        method: 'get',
        parameters: arg_serialized,
        onComplete: function (xhr)
        {
          if (xhr.responseText == 'success' ) {
            
            
            location.href=location.href + '?new=true';
            
            
            return 1;
            $('wrap_join_challenge').hide();
            
            
            $('wrap_form_table').show();
            $('error_milestones').show();
            $('tip_milestone').show();
            $('tip_challenge').show();
            
            Effect.Pulsate('tip_milestone');            
            Effect.Pulsate('tip_challenge');            
            
            
            
            /*
            alert(xhr.responseText);
            location.href=location.href;
            */
          }
        }
      }
    );
  
  
  
  }

  function wlcXHR(grp_id, user_id)  {
    var tag     = 3;
    var url     = '/gather/grp_xhr_server.php'; 
    var target  = 'joinBox'+grp_id;
  
  
    var pars    = 'fuse=group_join&grpId='+grp_id+'&userId='+user_id+'&featId='+grp_id+'&tag='+tag;
    
    //alert(pars);
    
    var myAjax  = new Ajax.Updater(target, url, { method: 'get',  parameters: pars});
  }


  function pinkSlip(grp_id, user_id, target)
  {
    var url     = '/gather/grp_xhr_misc.php'; 
    
  
  
    var pars    = 'slip=true&user_id='+user_id+'&grpId='+grp_id+'&target='+target;
    
    //alert(pars);
    
    if ( confirm('Are you sure you want to send a pink slip to this user? This will remove them from the group.') )
    {
      new Ajax.Updater(
        target, 
        url, 
        { 
          method: 'get',  
          parameters: pars, 
          onComplete: function () {
            getGroupMembers(grp_id, 'wrap_member_list');
          }
        }
      );
    }
  }


  function getGroupMembers(grp_id, target_div)  
  {
    
    var url     = '/gather/grp_xhr_misc.php'; 
    var pars    = 'grpId='+grp_id+'&target='+target_div;
    
    
    //alert(pars);
    
    new Ajax.Request(
      url, 
      { 
        method: 'get',  
        parameters: pars, 
        onComplete: function (xhr) 
        {
          //alert(xhr.responseText);
          $(target_div).update(xhr.responseText);
          
          getTotalNumberOfMembers(this_grp_id);
        
        }
      }
    );
  }

  function getTotalNumberOfMembers(this_grp_id)
  {
    var args = 'grp_id='+$('this_grp_id').value;
    new Ajax.Request(
      '/gather/grp_xhr_number_members.php',
      {
        method: 'get',
        parameters: args,
        onComplete: function (xhr) 
        { 
          $('span_member_int').update(xhr.responseText + ' members');
        }
      }
    );
  }
  


  function removeUserFromGroup(grp_id, user_id)
  {
    var url     = '/gather/grp_xhr_misc.php'; 
    
  
  
    var pars    = 'slip=true&user_id='+user_id+'&grpId='+grp_id+'&target=wrap_member_list';
    
    //alert(pars);
    
    if ( confirm('Are you sure you want to send a pink slip to this user? This will remove them from the group.') )
    {
      new Ajax.Updater(
        'wrap_member_list', 
        url, 
        { 
          method: 'get',  
          parameters: pars,
          onComplete: function () 
          {
            updatePending(grp_id, user_id, 'show');
          }
        }
      );
    }
  }


  function grpFindMembersXHR(grp_id, user_id, target) 
  {
    
    var url     = '/gather/grp_xhr_findmembers.php';  
    var pars    = 'grp_id='+grp_id+'&user_id='+user_id+'&target='+target;
    var myAjax  = new Ajax.Updater(target, url, { method: 'get',  parameters: pars});
  }

  function closeFlyOuts()
  {
    var flyouts = $A($$('.fly_out'));

    flyouts.each(function (flyout) {
      $(flyout.id).hide();    
    });
  }
  
  function grpPageXHR(grp_id, target) 
  {
    closeFlyOuts();
    
    $('GrpDetails').toggle();
    
    var url     = '/gather/grp_xhr_misc.php'; 
    var pars    = 'grpId='+grp_id+'&target='+target;
    
    //alert(pars);
    
    var myAjax  = new Ajax.Updater(target, url, { method: 'get',  parameters: pars});
  }


  function viewMilestonesForm(this_grp_id)
  {
    closeFlyOuts();
    
    $('wrap_milestone_form').toggle();  
  
  }
  
  
  
  
  var msg1  = 'Personal Milestones are goals that you set for yourself for this Challenge. What would YOU like to achieve in this 8-week challenge?';
  var msg2  = 'Milestone Rewards are the reward that you promise to give yourself for completing each of your milestone goals. Mini-goals and rewarding yourself are excellent keys to weight loss!';
  
  
  var msg_loc_motto = 'Motto tip';
  var msg_loc_city  = 'City tip';
  var msg_loc_state = 'State tip';
  var msg_loc_zip   = 'Zip tip';
  
  Event.observe(window, 'load', function () {

    var messages = $A($$('.mo'));

    for(var i = 0; i < messages.length; i++) {
      
      var tmp_id  = messages[i].id;
      
      $(tmp_id).observe('mouseover', function (event) {     
        var ee = event.element();
        $('mile_message').hide();
        if ( ee.id == 'mile_text_desc_mo' )     $('mile_message').innerHTML = msg1;
        if ( ee.id == 'mile_text_reward_mo' )   $('mile_message').innerHTML = msg2;
        $('mile_message').show();
      });

      $(tmp_id).observe('mouseout', function (event) {      
        $('mile_message').hide();
      });
    }
    
    
    /*
    var map_hovers  = $A($$('.map_hover'));
    
    map_hovers.each( function (map_hover) {
      
      var map_hover_id  = map_hover.id;
      
      $(map_hover_id).observe('mouseover', function () {
        var msg_show_var  = map_hover_id.replace('msg_', 'msg_loc_');
        //$('loc_message').update(msg_show_var).show();
      }); 
      $(map_hover_id).observe('mouseout', function () {
        //$('loc_message').update('').hide();
      }); 
      
    });
    */
  });


  function editLocationMotto()
  {
    //$('btnEdit').hide();
    //$('btnSave').show();
    
    $('loc_mode').value = 'edit';
    
    
    //$('loc_postal').setAttribute('type', 'text');
    //$('loc_postal').setAttribute('type', 'text');
    //$('loc_motto').setAttribute('type', 'text');
  }

  function saveLocationMotto()
  {
    var arg_serialized    = $('wlc_locations').serialize();   
  
    //alert(arg_serialized);
    //return;
    
    
    new Ajax.Request('/gather/grp_xhr_wlc_locations.php', {
      method: 'post',
      postBody: arg_serialized,
      onComplete: function (xhr) {
        
        
        //alert(xhr.responseText);
        //return;
        
        if ( xhr.responseText != 'void' ) 
        {
          var JSON = xhr.responseText.evalJSON();
        
          $('loc_id').value= JSON.loc_id;


          if ( $('iframe_map') )
            $('iframe_map').src = '/gather/wlc_map_concept.php';
          
          
          $('tip_challenge').hide();
        }
        else {
          
          alert("Please check your city and postal code spelling");
        
        }
      }   
    });
  }
  
  function saveMilestone()
  {
    var mile_id     = $('mile_id').value;
    var argSerial   = $('mile_form').serialize();
    var body        = document.getElementsByTagName('body')[0];
    
    
    //console.log(argSerial);
    
    //return;
    
    if ( !mile_id ) {
      
      if ( $F('mile_text_desc') == '' || $F('mile_text_reward') == '' ) {
        
        $('mile_error').update('Please Fill Out Both The Milestone Description and Reward Field').show();
      
      }
      else {
      
        if ( $('mile_place_holder') ) $('mile_place_holder').remove();
      
        new Ajax.Request('/gather/grp_xhr_wlc_milestones.php', {
          method: 'post',
          postBody: argSerial,
          onComplete: function (xhr) {
            $('wrap_milestone_list').insert(xhr.responseText, { position: 'after' });
            body.appendChild(Builder.node('div', {className:'mile_saved'  }));
            //$('wrap_milestone_list').insert('<div style="display:block">'+xhr.responseText+'</div>', { position: 'after' });
            
            var args  = 'wlc_id=' + $('this_grp_id').value;
            
            new Ajax.Request(
              '/gather/grp_xhr_number_milestones.php', 
              {
                method: 'get', 
                parameters:  args, 
                onComplete: function (xhr) 
                {
                  if ( xhr.responseText == 8 ) {
                    $('error_milestones').hide();
                    $('wrap_form_table').hide();
                    $('tip_milestone').hide();

                  }
                  else  {
                    $('error_milestones').show();
                    Effect.Pulsate('error_milestones');
                    $('wrap_form_table').show();
                    $('tip_milestone').show();
                  }
                }       
              }     
            );              
          }
        });
        $('mile_id').value          = '';
        $('mile_text_desc').value   = '';
        $('mile_text_reward').value = '';       
      }
    }
    else {


      if ( $F('mile_text_desc') == '' || $F('mile_text_reward') == '' ) {

        $('mile_error').update('Please Fill Out Both The Milestone Description and Reward Field').show();

      }
      else {
    
        var divRemove = 'mile_id_' + mile_id;
        if ( $(divRemove) ) $(divRemove).remove()

        argSerial = argSerial + '&action=update';
        new Ajax.Request('/gather/grp_xhr_wlc_milestones.php', {
          method: 'post',
          postBody: argSerial,
          onComplete: function (xhr) {
            $('wrap_milestone_list').insert(xhr.responseText, { position: 'after' });
            body.appendChild(Builder.node('div', {className:'mile_saved'  })); // add empty div with mile_saved class


            new Ajax.Request(
              '/gather/grp_xhr_number_milestones.php', 
              {
                method: 'get', 
                onComplete: function (xhr) 
                {
                  if ( xhr.responseText == 8 ) {
                    $('error_milestones').hide();
                    $('wrap_form_table').hide();
                    $('tip_milestone').hide();
                  }
                  else {
                    $('error_milestones').show();
                    Effect.Pulsate('error_milestones');
                    
                    $('wrap_form_table').show();
                    $('tip_milestone').show();                    
                  }
                }       
              }     
            );                        
          }

        });   
        $('mile_id').value          = '';
        $('mile_text_desc').value   = '';
        $('mile_text_reward').value = '';     
        
        
      }
    }


    var miledivs = $A($$('.mile_saved'));
    
    //alert(miledivs.length);
    
    if ( miledivs.length >= 8 )
      $('wrap_form_table').show();    
  }


  function setMilestoneDelete(mile_id)
  {
    var argSerial = 'mile_id=' + mile_id + '&action=delete';
    var eleRemove = 'mile_id_' + mile_id;
    
    if ( confirm('Delete This Milestone?') )  {
      new Ajax.Request('/gather/grp_xhr_wlc_milestones.php', {
        method: 'post',
        postBody: argSerial,
        onComplete: function (xhr) {
          if ( xhr.responseText == 'Delete' ) {
            $(eleRemove).remove();
            

            



            new Ajax.Request(
              '/gather/grp_xhr_number_milestones.php', 
              {
                method: 'get', 
                onComplete: function (xhr) 
                {
                
                  if ( xhr.responseText == 8 ) {
                    $('error_milestones').hide();
                    $('wrap_form_table').hide();
                    $('tip_milestone').hide();
                  }
                  else  {
                    $('error_milestones').show();
                    Effect.Pulsate('error_milestones');
                    $('wrap_form_table').show();
                    $('tip_milestone').show();
                  }               
                }       
              }     
            );              
            
            
          }
        }
      });
    } 
  } 

  function getNumberOfMilestones() 
  {
    new Ajax.Request(
      '/gather/grp_xhr_number_milestones.php', 
      {
        method: 'get', 
        onComplete: function (xhr) 
        {
          var return_int  = xhr.responseText;
          return return_int;
        }       
      }     
    );  
  }


  function removeBtnSet()
  {
    //var buttons = $A($$('.btnSet'));
    $A($$('.btnSet')).invoke("remove");
  }
  
  
  
  
  
  
  
  
  
  function setMilestoneComplete(mile_id)
  {
    var argSerial = 'mile_id=' + mile_id + '&action=complete';
    var btnRemove = 'complete_btn_' + mile_id;
    var cmpSwitch = 'complete_id_'  + mile_id;
    //var milestone = parseInt($('mile_accomplished').innerHTML)+1;
    
    //$(cmpSwitch).down('img').src == '/gather/ajax-loader.gif';
    
    
    new Ajax.Request('/gather/grp_xhr_wlc_milestones.php', {
      method: 'post',
      postBody: argSerial,
      onComplete: function (xhr) {
        if ( xhr.responseText == 'Complete' ) {
          //removeBtnSet();
          
          $(btnRemove).remove();
          
          //$(cmpSwitch).update(xhr.responseText + ', <br /> Well done!');
          var delete_btn  = '<span style="float:right;width:16px;margin-left:3px">';
              delete_btn += '<a href="javascript:;" class="tool_delete_16" title="Delete This Milestone" ';
              delete_btn += 'id=delete_btn_' + mile_id + ' '; 
              delete_btn += 'onclick = "setMilestoneDelete(\''+mile_id+'\')">';
              delete_btn += '<img src="/img/_btn_option_trans.png" border=0></a></span>';   

          var edit_btn   = '<span style="float:right;width:16px;margin-left:3px">';
              edit_btn  += '<a href="javascript:;" class="tool_edit_16" title="Edit Milestone" ';
              edit_btn  += 'id=edit_btn_' + mile_id + ' '; 
              edit_btn  += 'onclick = "getMilestoneEdit(\''+mile_id+'\')">';
              edit_btn  += '<img src="/img/_btn_option_trans.png" border=0></a></span>';              
          
          $(cmpSwitch).update('<img src="/img/_btn_option_trans.png" class=checked>' + delete_btn + ' ' + edit_btn);
          $('mile_accomplished').innerHTML = milestone;
        }
      }
    });
  
  }
  
  
  
  function getMilestoneEdit(mile_id)
  {
    var argSerial = 'mile_id=' + mile_id + '&action=edit';
    
    $('wrap_form_table').show();    
    
    new Ajax.Request('/gather/grp_xhr_wlc_milestones.php', {
      method: 'get',
      parameters: argSerial,
      onComplete: function (xhr) {
        var JSON = xhr.responseText.evalJSON();
        $('mile_id').value          = JSON.mile_id;
        $('mile_text_desc').value   = JSON.mile_text_desc;
        $('mile_text_reward').value = JSON.mile_text_reward;
      }
    });
  
    $('mile_id_'+mile_id).remove();//({ 'background' : '#deecf5' });  
    
    
  }
  
  
  
  function setMilestoneEdit(mile_id)
  {
    var argSerial = 'mile_id=' + mile_id + '&action=update';
    var btnRemove = 'complete_btn_' + mile_id;
    var cmpSwitch = 'complete_id_'  + mile_id;
    
    new Ajax.Request('/gather/grp_xhr_wlc_milestones.php', {
      method: 'post',
      postBody: argSerial,
      onComplete: function (xhr) {
        if ( xhr.responseText == 'Update' ) {
          
          
          removeBtnSet();
          
          
          $(cmpSwitch).update(xhr.responseText + '<br /> Saved!');
        }
      }
    });
  
  }



  function grpWLCStats(grp_id, target)
  {
  
    //grp_xhr_misc.php?grpId=00005&target=innerGrpStats
    var url       = '/gather/grp_xhr_misc.php'; 
    var pars      = 'grpId='+grp_id+'&target='+target;
    var deb       = 'debug'+grp_id;
    
    
    var reqPage   = ( $('requestPage').value != '' ) ? $('requestPage').value : '';
    
    
    var targetId  = (reqPage=='') ? target+grp_id : target ;
    
    
    //alert(pars);
    //$(deb).innerHTML=pars;
    
    var myAjax  = new Ajax.Updater(targetId, url, { method: 'get',  parameters: pars});
  
  }


  function grpWLCInnerStats(grp_id, target)
  {
  
    //grp_xhr_misc.php?grpId=00005&target=innerGrpStats
    var url       = '/gather/grp_xhr_barchart.php'; 
    var pars      = 'grpId='+grp_id+'&target='+target;
    var deb       = 'debug'+grp_id;
    
    
    var reqPage   = ( $('requestPage').value != '' ) ? $('requestPage').value : '';
    
    
    var targetId  = target+'_'+grp_id;
    
    //alert(targetId);
    
    //alert(pars);
    //$(deb).innerHTML=pars;
    
    var myAjax  = new Ajax.Updater(targetId, url, { method: 'get',  parameters: pars});
  
  }


  function msgPostXHR(grp_id, user_id, post_id, post_type, post_subj, post_body, targetPrefix, edit_post_id, isSticky)  
  {
    
    var url     = '/gather/grp_xhr_msg.php';  
    
    if(post_type=='TOPIC')  {
      $('postButton').innerHTML='Processing...';
    }
    else  {
      $('replyButton'+post_id).innerHTML='Processing...';
    }
    
    if(targetPrefix=='postNew') {
      var target  = targetPrefix+grp_id;
    }
    else  {
      var target  = targetPrefix+post_id;
    }
    
    
  
    var pars    = 'fuse='+$('fusebox').value+'&grpId='+grp_id+'&userId='+user_id+'&post_id='+post_id+'&post_type='+post_type+'&post_subj='+encodeURIComponent(post_subj)+'&post_body='+encodeURIComponent(post_body)+'&editPostId='+edit_post_id+'&is_stick='+isSticky;
    
    //alert(pars);
    
    var options = {
        method: 'post',
        postBody: pars
    };
    
    
    new Ajax.Updater(
      target, 
      url, 
      options
    );


  }


  function getWeeklyChallenge(chal_id)
  {
    var serverUrl = '/gather/grp_xhr_chal_server.php';  
    var targetDiv = 'wlcWeeklyPost';
    var pars      = 'chal_id='+chal_id;
    
    
    
    //alert(pars);
    //$('wlcPostData').innerHTML=pars;
    
    new Ajax.Updater(targetDiv, 
                     serverUrl, 
                     {  
                      method: 'get', 
                      evalJS: true, 
                      parameters: pars,
                      onComplete : function () {
                        $('wlcWeeklyPost').show();
                      }
                     });
    
    
    
    
  }



  function getPrizePage()
  {
    var serverUrl = '/gather/_inc.prize_copy.inc';  
    var targetDiv = 'wlcWeeklyPost';
    
    
    
    
    //alert(pars);
    //$('wlcPostData').innerHTML=pars;
    
    var myAjax  = new Ajax.Updater(targetDiv, serverUrl, { method: 'get' } );
  
    $('wlcWeeklyPost').toggle();
  
  }



  function LoadMembersBox(grp_id)
  {
      var pars  = 'grp_id='+grp_id;
      var mBox  = 'memberBox'+grp_id;
      //alert('inside'+grp_id);
      new Ajax.Updater(mBox, '/gather/grp_xhr_members.php', { method: 'get',  parameters: pars} );
      
      
  }


  function LoadCandidatesBox(grp_id)
  {
      var pars  = 'grp_id='+grp_id;
      var mBox  = 'candBox'+grp_id;
      
      new Ajax.Updater(mBox, '/gather/grp_xhr_candidates.php', { method: 'get', parameters: pars} );
      
      
  }
  function sortCandidatesBox(grp_id, sort_str)
  {
      var order_str = $F(sort_str);
      
      if ( $(sort_str).value=='ASC' )
      {
        $(sort_str).value = 'DESC'
        order_str         = 'DESC';
        $('sort_icon').setAttribute('src', '/gather/img/_icon_desc.png');

      }
      else
      {
        $(sort_str).value = 'ASC';
        order_str         = 'ASC';
        $('sort_icon').setAttribute('src', '/gather/img/_icon_asc.png');
      }
      
      
      
      var pars  = 'grp_id='+grp_id+'&sort_str='+sort_str+'&order_str='+order_str;
      var mBox  = 'candBox'+grp_id;
      //alert('inside'+grp_id);
      new Ajax.Updater(mBox, '/gather/grp_xhr_candidates.php', { method: 'get', parameters: pars} );
      
      
  }
  
  function showWarning(typeStr)
  {
    var grp_id = $('this_grp_id').value;
    if ( confirm("WARNING: YOU ARE ABOUT TO DELETE THIS GROUP \r\n\r\n Click OK to Confirm and Delete \r\n\r\n Click Cancel to Return to Group.") )
    {
      location.href="/gather/grp_delete.php?grp_id="+grp_id;    
    }
    else {
      $('confirmId').hide();
      $('deleteId').show();
    
    }
    
    
    
  
  }

  function killGroup(this_grp_id)
  {
    
    if ( confirm('WARNING: YOU ARE ABOUT TO SHUT DOWN THIS GROUP: ' + this_grp_id) )
    {
      location.href="/gather/group_shutdown.php?grp_id="+this_grp_id;   
    
    }
    
    
  
  } 

  

  function openAndClose(element_id)
  {
    
    
    var icon      = $(element_id).src;
    
    var icon_reg  = icon.match("max");
    
    
    $(element_id).src   = ( icon_reg == 'max' ) ? '/gather/img/_min_.png' : '/gather/img/_max_.png';
    
    
    
    
    
    
    
  }


  function updateNotificationAdmin(grp_id, type_str, valu_str)
  {
    //alert(type_str +' '+ valu_str +' '+ grp_id);
    
    var params  = 'type_str='+type_str +'&valu_str='+ valu_str +'&grp_id='+ grp_id;
    
    new Ajax.Updater('ntfy', '/gather/grp_xhr_ntfy.php', {method: 'get', parameters: params} );
  
  
  }
  
  function updateNotifications(type_str, valu_str)
  {
    var grp_id  = $F('grp_id');
    
    
    //alert(type_str +' '+ valu_str +' '+ grp_id);
    
    var params  = 'type_str='+type_str +'&valu_str='+ valu_str +'&grp_id='+ grp_id;
    
    new Ajax.Updater('ntfy', '/gather/grp_xhr_ntfy.php', {method: 'get', parameters: params} );
  
  
  }
  
  function leaveGroup(user_id, grp_id)
  {
    //alert(user_id);
      var pars  = 'target=leaveGroup&grpId='+grp_id+'&user_id='+user_id;
      

      
      
      var lvGrp = new Ajax.Request('/gather/grp_xhr_misc.php', {method: 'get', parameters: pars, 
                                                        onSuccess: function() {
                                                          window.location.reload(true);
                                                          }

                                                        
                                                        
                                                        });
      
      
      
      
      
      
  } 
  
  
  function declineInvite(this_invite_id)
  {
    
    var args = 'invite_id=' + this_invite_id;
    
    new Ajax.Request(
      '/gather/grp_xhr_decline_invite.php', 
      {
        method: 'post',
        postBody: args,
        onComplete: function (xhr)
        {
          $('tool_invitations').fire("tool_invitations:clicked");
        }   
      }   
    );
  
  }
  
  function postAdmin(post_id, type_str)
  {
    var grp_seo   = $('grp_seo').value;
    var subjStr   = $('subj_'+post_id).value;
    //var post_key  = $('post_key').value;
    var warnStr   = 'Are you sure you want to ';
    
    var typeStr   = (type_str=='DEL') ? 'DELETE '+post_id+' "'+subjStr+'"?' : ((type_str=='STI') ? 'Make "'+subjStr+'" sticky?' : ((type_str=='UNS') ? 'UNSTICK: ' : 'AFFIX '+post_id+' to '+post_key));
    var urlStr    = '/gather/' + type_str.toLowerCase()+'post.php?post_key='+post_id+'&fix_id='+post_id+'&grp_seo='+grp_seo;
    //var urlStr    = '/gather/' + type_str.toLowerCase()+'post.php?post_key='+post_key+'&fix_id='+post_id;
    
    if ( confirm(warnStr + typeStr +'\n\n"'+ subjStr.strip()+'"') ) 
    {
      location.href=urlStr;
    }
  }



  function checkValid(idStr)
  {
    var errIdStr  = idStr+'_error';
    
    
    if ( $(idStr).value=='' )
    {
      $(errIdStr).className='formError';
      
      $(errIdStr).innerHTML = 'This field is required - You may edit the contents once your new Group is created.';
    }
    else
    {
      $(errIdStr).className='formErrorHide';
    }
  }
  
  function getNewGroupId()
  {
    var return_id = '';
    var transxhr  = new Ajax.Request(
                      '/gather/grp_xhr_newest_group.php',
                      {
                        method: 'get',
                        onComplete: function (xhr) 
                        {
                          $('new_grp_id').value = xhr.responseText;
                        }
                      }         
                    );
    return transxhr;                    
  }
  
  function createGrpXHR()
  {
    var loading     = '<img src="/gather/ajax-loader.gif"><br><br><br><br><br><br></center>'; 
    
    var post_body   = $('create_grp_frm').serialize();
    var errIdStr    = '_error';
    
    var grp_fields  = new Array('grp_title', 'grp_desc', 'grp_zipcode', 'grp_policy');
    var grp_errors  = new Array();
    
    for(i=0; i<grp_fields.length; ++i)
    {
      if($(grp_fields[i]).value=='')
      {
        grp_errors.push(grp_fields[i]);
        
        var fieldStr  = grp_fields[i]+''+errIdStr;
        
        $(fieldStr).update('This field is required').addClassName('formError');
      }
    }
    
    
    if ( grp_errors.length == 0 )
    {
      
      $('createForm').innerHTML = '<center><br><br><br><br><br><br><strong>Saving Your New Group</strong><br><br>' + loading;
      //alert(post_body); return;
      
      new Ajax.Request(
        '/gather/grp_xhr_creator.php', 
        { 
          method: 'post', 
          postBody: post_body, 
          onComplete: function (trans) 
          {
            $('wrap_phase_steps').update('2. Invite friends to your group!');
            $('anchor_create_group').scrollTo();
            
            var temp  = getNewGroupId();
            
            do {
            } while( $('new_grp_id').value < 0 );
            
            var buddy_list  = new Element('div');
            buddy_list.id   = 'wrap_invite_list';
            buddy_list.className = 'invite_buddy_list';
            
            
            var dclear      = new Element('div').addClassName('Clear');

            var cont_div    = new Element('div');
            cont_div.id     = 'GrpNav';
            
            var cont_btn        = new Element('a');
            //cont_btn.href       = "/group/upload/" + $('new_grp_id').value;
            cont_btn.href       = "javascript:;";
            cont_btn.className  = "btn_float_right";
            cont_btn.appendChild(document.createTextNode('Continue'));
            
            cont_div.update(cont_btn);
            
            
            cont_btn.observe('click', sendBuddyInvites);
            
            //alert(buddy_list);
            $('createForm').update(trans.responseText).insert(buddy_list, 'after').insert(dclear, 'after').appendChild(cont_div);
            
          } 
        }
      );
    }
  }


  function arrayifyBuddyList() {
    var serialized  = '';
    $$('.user_btn').each(function (buddy) {
      serialized += buddy.id + '|';
    });
    return serialized.split('|');
  }

  function serializeBuddyList() {
    var serialized  = '';
    $$('.user_btn').each(function (buddy) {
      serialized += 'invite[]='+buddy.id+ '&';
    });
    return serialized;
  }

  
  function sendBuddyInvites()
  { 
    var post_body = 'grp_id=' + $('new_grp_id').value + '&' + serializeBuddyList();
  
    new Ajax.Request(
      '/gather/grp_xhr_invites.php',
      {
        method: 'post',
        postBody: post_body,
        onComplete: function (xhr) 
        {
          $('wrap_invite_list').update(xhr.responseText).highlight();
          
          setTimeout("", 2000);
          
          location.href='/group/upload/'+$('new_grp_id').value;
        }     
      }
    );
  }


  function addBuddyToList(add_grp_id, this_user_id, add_user_id, add_user_name)
  {
    var url     = '/gather/grp_xhr_invites.php';
    var params  = 'grp_id='+add_grp_id+'&user_id='+this_user_id+'&to_user_id='+add_user_id+'&to_user_name='+add_user_name;
    
    var bl_arr  = arrayifyBuddyList();
    
    //alert(params);
    
    var user_btn_text   = add_user_name + ' [x]';
    
    var user_btn        = new Element('a');
    user_btn.id         = "user_" + add_user_id;
    user_btn.href       = "javascript:;";
    user_btn.className  = "user_btn";
    user_btn.appendChild(document.createTextNode(user_btn_text));
                
    if ( bl_arr.indexOf(user_btn.id) == -1 ) {
      $('wrap_invite_list').insert(user_btn, 'after');
    }
    
    
    
    $$('.user_btn').each( function (user_btn) {
      user_btn.observe('click', function () {
        user_btn.remove();
        
        
        
        //if ( bl_arr.indexOf(user_btn.id) )
        
        
      });
    });
  }



  function changePhase()
  {
    $('phaseIndic').className='phasesTwo';
  }




  function highlightOn(elementId)
  {
    //alert(elementId);
    
    $(elementId).style.borderColor='#ffff99';
  }



  function highlightOff(elementId)
  {
    $(elementId).style.borderColor='#ffffff';
  }

  function showUploadFrame(elementId)
  {
    $('uploadFrame').toggle(); 
  }
  
  

  

  function updatePending(this_grp_id, this_user_id, this_type)
  {
    var stStr   = (this_type=='deny') ? 'Denied' : ( (this_type=='show') ? 'Loaded' : 'Approved');

    var grp_id  = (this_grp_id=='') ? $('grp_id').value : this_grp_id;

    var params  = 'grp_id='+grp_id+'&user_id='+this_user_id+'&type='+this_type;

    var xhrUrl  = '/gather/grp_xhr_pending.php';
    var target  = 'pending';
    
    
    new Ajax.Updater(
      'pending', 
      xhrUrl, 
      { 
        method: 'get', 
        parameters: params, 
        onComplete: function() {
          //$('status').update(stStr).highlight();
          showPendingNum(this_grp_id);
          getTotalNumberOfMembers(this_grp_id);
        }
      } 
    );

    
  }

  function showPendingNum(this_grp_id)
  {
    
    var params = "type=over&grp_id="+this_grp_id;
    
    
    new Ajax.Request(
      '/gather/grp_xhr_pending.php', 
      { 
        method: 'get', 
        parameters: params, 
        onComplete: function(xhr) {
          //alert(xhr.responseText);
          
          
          $('pendingNum').update(xhr.responseText).highlight();
          
          getGroupMembers(this_grp_id, 'wrap_member_list');
        }
      } 
    );
  }





  function makeInputBox()
  {
    $('homeUrl').hide();
    $('copyUrl').show();
    $('copyUrl').select();
  }


  function hideInputBox()
  {
    $('homeUrl').show();
    $('copyUrl').hide();
    $('copyUrl').select();
  }




  function grpSMSEntry(this_user_id, this_grp_id)
  {
    var entryStr  = $('wk5word').value;
    var params = "grp_id="+this_grp_id+"&user_id="+this_user_id+"&entry_str="+entryStr;
    
    
    new Ajax.Updater('smsWord', '/gather/grp_xhr_sms.php', { method: 'get', 
                                                                  parameters: params,
                                                                  onLoading: $('smsWord').innerHTML = '<img src=ajax-loader.gif> Processing...'
                                                                  } );
    
    
    
  
  
  }
  

/*
function evntHandle(e) {
  var key;    
  if (window.event) {
    key = window.event.keyCode;
  } else {
    key = e.keyCode; 
  }
  key = String.fromCharCode(key);
  
  alert(key);
  
  //location.href='?fuse=group_find&q='+encodeURIComponent($('q').value);
  
}

  window.onload = function() {
    document.onkeydown = evntHandle;
  }
*/
  function FxBlindUp(targetDivId, goto) {
    
    var curId   = parseInt($('currentId').value);
    var totInt  = parseInt($('joinBoxTotal').value); 
    var joinDiv = 'joinBox'+$F('currentId');
    var covrDiv = 'coverup'+$F('currentId');
    
    
    //alert('join box total: '+totInt);
    //alert('joinDiv: '+joinDiv+' - '+$(joinDiv).style.display);
    
    if(goto=='next' && (curId+1)<totInt)  
      $('currentId').value = curId+1;
    else
      $('currentId').value = curId-1;
      
    
    //Effect.BlindUp(joinDiv, {duration:0.25});
    
    if( $(joinDiv).style.display=='' )  {
      $(joinDiv).style.display='none';
      $(covrDiv).style.display='none';
    }
  }






  function drawModalWelcome()
  {
      var body = document.getElementsByTagName('body')[0];
      var offs = document.viewport.getScrollOffsets();
      
      body.style.margin = '0';
      body.appendChild(Builder.node('div', {id:'overlayBackId', className:'overlayBack'  }));
      

      $('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';
    
      body.appendChild(Builder.node('div', {id:'overlayForeId', className:'overlayFore'  }));

      var fore        = $('overlayForeId');
          fore.appendChild(Builder.node('div', {id:'overlayForeHeader', className:'overlayForeHeader'  }));
      
      var foreHeader  = $('overlayForeHeader');
          foreHeader.appendChild(Builder.node('a', { id: 'overlayClose', href: 'javascript:;', className: 'option_x_16', onclick: 'closeModalDialog();' }, ' '));
      
      var clickAction = "castBallot('"+draw_grp_id+"', '"+draw_user_id+"');";
      
      fore.appendChild(Builder.node('div', { id: 'overlayForeIdInner', className:'overlayForeInner'  }));
      fore.appendChild(Builder.node('div', { id: 'bottomMsg',          className:'overlayForeFooter'  } ));
      
      //<input type=button value="VOTE FOR THIS MEMBER!" style="margin-top:20px" onclick="alert('Cast your ballot for <?php echo $userArr['username']. ' ['. $userArr['user_id']. ']' ?>')">
      
      
      createButtonMsg(draw_grp_id, draw_user_id, 'bottomMsg');
      
      
      var xPos  = document.viewport.getWidth()/4;
      var yPos  = document.viewport.getHeight()/4;
      $('overlayForeId').style.left   = xPos+'px';
      $('overlayForeId').style.top    = (offs.top + yPos)+'px';
      
      
      
      return 'overlayForeIdInner';
  }