var Groups = {
    showLogin : function() {
      document.getElementById('groups_login_container').style.display="block"
    },
    hideLogin : function() {
      document.getElementById('groups_login_container').style.display="none"
    },
    login : function() {
      var password = document.getElementById('group_login_password').value
       var email = document.getElementById('group_login_email').value
      xmlhttp=GetXmlHttpObject();

      var url="http://db.cm-db.com/ajax/group_login.php";
      url=url+"?sid="+Math.random();
      url=url+"&email="+email;
      url=url+"&password="+password;
      xmlhttp.onreadystatechange=loginStateChanged;
      xmlhttp.open("GET",url,true);
      xmlhttp.send(null);
    },
    logout : function() {
      eraseCookie('cmdb_group')
      window.location.reload()
      
    },
    showPref : function() {
      document.getElementById('groups_pref_container').style.display="block"
      return false;
    },
    showPrefEdit : function(member_id) {
      xmlhttp=GetXmlHttpObject();

      var url="http://db.cm-db.com/ajax/group_pref_edit.php";
      url=url+"?sid="+Math.random();
      url=url+"&member_id="+member_id;
      xmlhttp.onreadystatechange=showPrefEditStateChanged;
      xmlhttp.open("GET",url,true);
      xmlhttp.send(null);
      document.getElementById('groups_pref_container').style.display="block"
      return false;
    },
    savePref : function() {
      var first_name = document.getElementById('group_first_name').value
      var last_name = document.getElementById('group_last_name').value
      var proceed = 1
      if (first_name.length<1) {
        alert('Please enter your first name.')
        document.getElementById('group_first_name').focus()
        proceed = 0
        return false
      }
      
      if (last_name.length<1) {
        alert('Please enter your last name.')
        document.getElementById('group_last_name').focus()
        proceed = 0
        return false
      }
      
      if (proceed == 1) {
        var color_pref = document.getElementById('group_color_pref').value
        var group_member_id = document.getElementById('group_new_user_id').value
        xmlhttp=GetXmlHttpObject();

        var url="http://db.cm-db.com/ajax/group_save_pref.php";
        url=url+"?sid="+Math.random();
        url=url+"&first_name="+first_name;
        url=url+"&last_name="+last_name;
        url=url+"&color_pref="+escape(color_pref);
        url=url+"&group_member_id="+group_member_id;
        xmlhttp.onreadystatechange=savePrefStateChanged;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
      } else {
        return false
      }
      
    },
    showGroupList : function() {
      document.getElementById('group_list_container').style.display='block'
    },
    hideGroupList : function() {
      document.getElementById('group_list_container').style.display='none'
    },
    removeUser: function(member_id) {
      
      var answer = confirm('Are you sure you want to remove this user permanently?')
      
      if (answer) {

        xmlhttp=GetXmlHttpObject();

        var url="http://db.cm-db.com/ajax/group_remove_user.php";
        url=url+"?sid="+Math.random();
        url=url+"&member_id="+member_id;
        xmlhttp.onreadystatechange=removeUserStateChanged;
        xmlhttp.open("GET",url,true);
        xmlhttp.send(null);
      } else {
        return false
      }
    },
    selectColorPref: function(color_code, div_code) {
     for (i=1;i<=10;i++) {
       if (document.getElementById('color_pref_'+i)!==null) {
         document.getElementById('color_pref_'+i).style.border = '1px solid #FFF'
       }
     }
     document.getElementById('group_color_pref').value=color_code
     document.getElementById('color_pref_'+div_code).style.border = '3px solid #FFF'
    },
    toggleRequestToken: function() {
      if (document.getElementById('request_token_checkbox').checked===true) {
        document.getElementById('request_doc_token').value=1
      } else {
        document.getElementById('request_doc_token').value=0
      }
    },
    sendChatMessage: function() {
      xmlhttp=GetXmlHttpObject();
      
      var chat_message = document.getElementById('new_chat_message').value
      var group_member_id = document.getElementById('group_member_id').value
      var doc_id = document.getElementById('docID').innerHTML
      var url="http://db.cm-db.com/ajax/group_chat_message.php";
      url=url+"?sid="+Math.random();
      url=url+"&chat_message="+chat_message;
      url=url+"&group_member_id="+group_member_id;
      url=url+"&doc_id="+doc_id;
      xmlhttp.onreadystatechange=sendChatMessageStateChanged;
      xmlhttp.open("GET",url,true);
      xmlhttp.send(null);
      document.getElementById('new_chat_message').value=''
    },
    updateChatWindow: function() {
      xmlhttp=GetXmlHttpObject();
      
      var doc_id = document.getElementById('docID').innerHTML

      var url="http://db.cm-db.com/ajax/group_update_chat.php";
      url=url+"?sid="+Math.random();
      url=url+"&doc_id="+doc_id;
      xmlhttp.onreadystatechange=updateChatWindowStateChanged;
      xmlhttp.open("GET",url,true);
      xmlhttp.send(null);
      
    }
    
};

var xmlhttp


function loginStateChanged() {
  if (xmlhttp.readyState==4) {
    var response=xmlhttp.responseText;
    var result = response.split('|')
    var group_id = result[0]
    var group_member_id = result[1]
    var show_pref = result[2]
    var group_admin = result[3]
    var group_name = result[4]
    var cookie_value = group_id+'|'+group_member_id+'|'+group_name+'|'+group_admin
    
    if (group_id > 0) {    
      setCookie('cmdb_group',cookie_value,1)
      if (show_pref==1) {
        document.getElementById('groups_login_container').style.display="none"
        document.getElementById('group_new_user_id').value=group_member_id
      
        Groups.showPref();
      } else {
        window.location.reload()
      
      }
    } else {
      alert('Sorry, wrong password!')
      window.location.reload()
      
    }
  }
}

function showPrefEditStateChanged() {
  if (xmlhttp.readyState==4) {
    var response=xmlhttp.responseText;
    var result = response.split('|')
    document.getElementById('group_first_name').value=result[0]
    document.getElementById('group_last_name').value=result[1]
    document.getElementById('group_color_pref').value=result[2]
    document.getElementById('group_new_user_id').value=result[3]
   return true;
  }
}

function savePrefStateChanged() {
  if (xmlhttp.readyState==4) {
    alert('Preferences Saved!')
    document.getElementById('groups_pref_container').style.display="none"
    window.location.reload()
    return true;
  }
}

function removeUserStateChanged() {
  if (xmlhttp.readyState==4) {
    window.location.reload()
    return true;
  }
}

function sendChatMessageStateChanged() {
  if (xmlhttp.readyState==4) {
    Groups.updateChatWindow();
  }
}

function updateChatWindowStateChanged() {
  if (xmlhttp.readyState==4) {
    var response=xmlhttp.responseText;
    document.getElementById('document_chat_window').innerHTML=response
    var objDiv = document.getElementById("document_chat_window");
    objDiv.scrollTop = objDiv.scrollHeight;
  }
}



function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
  {
  // code for IE7+, Firefox, Chrome, Opera, Safari
  return new XMLHttpRequest();
  }
if (window.ActiveXObject)
  {
  // code for IE6, IE5
  return new ActiveXObject("Microsoft.XMLHTTP");
  }
return null;
}

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	setCookie(name,"",-1);
}





