// check create group form
function checkgroupform() {
	gname = document.getElementById("groupname").value;
	gdesc = document.getElementById("groupdescription").value;
	gtags = document.getElementById("tags").value;
 
	if (gname == "") {
		hideGroupErrors();
		document.getElementById("gnameError").style.display = "block";
		document.getElementById("groupname").select();
		document.getElementById("groupname").focus();
  		return false;
	} else if (gdesc == "") {
		hideGroupErrors();
		document.getElementById("gdescError").style.display = "block";
		document.getElementById("groupdescription").select();
		document.getElementById("groupdescription").focus();
		return false;
	} else if (gtags == "") {
		hideGroupErrors();
		document.getElementById("gtagError").style.display = "block";
		document.getElementById("tags").select();
		document.getElementById("tags").focus();
		return false;
	}
	createGroup();
	return true;
}
 
function hideGroupErrors() {
	document.getElementById("gnameError").style.display = "none";
	document.getElementById("gdescError").style.display = "none";
	document.getElementById("gtagError").style.display = "none";
}

// create group
var creategrouprequest = creategroupObject();

function createGroup() {
	var url = "/_inc/functions/groups/create.inc.php";
	
	var name = escape(document.getElementById("groupname").value);
	var description = escape(document.getElementById("groupdescription").value);
	selectedtotal = document.groupinfo.cfriendslist.length;
	groupfriends = "";
	var startdate = escape(document.getElementById("gstartdate").value);
	var enddate = escape(document.getElementById("genddate").value);

	for (i = 0; i < selectedtotal; i++) {
		if (document.groupinfo.cfriendslist[i].selected) {
			groupfriends = groupfriends + document.groupinfo.cfriendslist[i].value + ",";
		} 
	}
	var tags = escape(document.getElementById("tags").value);
	
	var params = "name="+name+"&description="+description+"&friends="+groupfriends+"&start="+startdate+"&end="+enddate+"&tags="+tags;
	creategrouprequest.open("POST", url, true);

	//Send the proper header information along with the request
	creategrouprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	creategrouprequest.setRequestHeader("Content-length", params.length);
	creategrouprequest.setRequestHeader("Connection", "close");

	creategrouprequest.onreadystatechange = function() {//Call a function when the state changes.
		if(creategrouprequest.readyState == 1){
			document.getElementById('groupform').innerHTML = '<img src="/_images/loader_bl_wh.gif" width="32" height="32" alt="Loading..." />';
		}
		if(creategrouprequest.readyState == 4 && creategrouprequest.status == 200) {
			var response = creategrouprequest.responseText;
			document.getElementById('groupform').innerHTML = response;
		}
	}
	creategrouprequest.send(params);
}

function creategroupObject(){
	var request_;
	var browser = navigator.appName;

	if(browser == "Microsoft Internet Explorer"){
		request_ = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		request_ = new XMLHttpRequest();
	}
	return request_;
}


// delete group
var deletegrouprequest = deletegroupObject();

function deletegroup(gid) {
	var remove = confirm("Are you sure you want to delete this group? All instances will be removed and will not be retrievable.")
	if (remove){
		var url = "/_inc/functions/groups/delete.inc.php";
		var params = "gid="+gid;
		deletegrouprequest.open("POST", url, true);

		//Send the proper header information along with the request
		deletegrouprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		deletegrouprequest.setRequestHeader("Content-length", params.length);
		deletegrouprequest.setRequestHeader("Connection", "close");

		deletegrouprequest.onreadystatechange = function() {//Call a function when the state changes.
			if(deletegrouprequest.readyState == 1){
				document.getElementById('gr'+gid).innerHTML = '<img src="/_images/loader_bl_wh.gif" width="32" height="32" alt="Loading..." />';
			}
			if(deletegrouprequest.readyState == 4 && deletegrouprequest.status == 200) {
				var response = deletegrouprequest.responseText;
				document.getElementById('gr'+gid).innerHTML = response;
			}
		}
		deletegrouprequest.send(params);
	}
}

function deletegroupObject(){
	var request_;
	var browser = navigator.appName;

	if(browser == "Microsoft Internet Explorer"){
		request_ = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		request_ = new XMLHttpRequest();
	}
	return request_;
}


// edit group functions

function getAllOptions(groupid,page) {
	friendBox = document.groupinfo.efriendsingrouplist;
    var chosenfriends = "";
	for(var i=0;i<friendBox.options.length;i++) {
		chosenfriends =  friendBox.options[i].text+","+chosenfriends;
	} 
	otherBox = document.groupinfo.eotherfriendslist;
    var otherfriends = "";
	for(var i=0;i<otherBox.options.length;i++) {
		otherfriends =  otherBox.options[i].text+","+otherfriends;
	} 
	editGroup(groupid,chosenfriends,otherfriends,page);
}

// check edit group form
function checkeditgroupform(groupid,page) {
	gname = document.getElementById("groupname").value;
	gdesc = document.getElementById("groupdescription").value;
	gtags = document.getElementById("tags").value;
 
	if (gname == "") {
		hideGroupErrors();
		document.getElementById("gnameError").style.display = "block";
		document.getElementById("groupname").select();
		document.getElementById("groupname").focus();
  		return false;
	} else if (gdesc == "") {
		hideGroupErrors();
		document.getElementById("gdescError").style.display = "block";
		document.getElementById("groupdescription").select();
		document.getElementById("groupdescription").focus();
		return false;
	} else if (gtags == "") {
		hideGroupErrors();
		document.getElementById("gtagError").style.display = "block";
		document.getElementById("tags").select();
		document.getElementById("tags").focus();
		return false;
	}
	getAllOptions(groupid,page);
	return true;
}
 
function hideGroupErrors() {
	document.getElementById("gnameError").style.display = "none";
	document.getElementById("gdescError").style.display = "none";
	document.getElementById("gtagError").style.display = "none";
}

// edit group
var editgrouprequest = editgroupObject();

function editGroup(gid,groupfriends,otherfriends,page) {
	var url = "/_inc/functions/groups/edit.inc.php";
	
	var name = escape(document.getElementById("groupname").value);
	var description = escape(document.getElementById("groupdescription").value);
	var startdate = escape(document.getElementById("gstartdate").value);
	var enddate = escape(document.getElementById("genddate").value);
	var tags = escape(document.getElementById("tags").value);
	
	var params = "gid="+gid+"&name="+name+"&description="+description+"&start="+startdate+"&end="+enddate+"&friends="+groupfriends+"&other="+otherfriends+"&tags="+tags;
	editgrouprequest.open("POST", url, true);

	//Send the proper header information along with the request
	editgrouprequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	editgrouprequest.setRequestHeader("Content-length", params.length);
	editgrouprequest.setRequestHeader("Connection", "close");

	editgrouprequest.onreadystatechange = function() {//Call a function when the state changes.
		if(editgrouprequest.readyState == 1){
			document.getElementById('groupform').innerHTML = '<img src="/_images/loader_bl_wh.gif" width="32" height="32" alt="Loading..." />';
		}
		if(editgrouprequest.readyState == 4 && editgrouprequest.status == 200) {
			var response = editgrouprequest.responseText;
			if(page == "groupview") {
				window.location="/groups/groupview.php?gid="+gid; 
			} else {
				window.location="/account/groups.php?d=edited";
			}
			//document.getElementById('groupform').innerHTML = response;
		}
	}
	editgrouprequest.send(params);
}

function editgroupObject(){
	var request_;
	var browser = navigator.appName;

	if(browser == "Microsoft Internet Explorer"){
		request_ = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		request_ = new XMLHttpRequest();
	}
	return request_;
}


// edit groups friend choice boxes
function transferFriend(blnFromLeft)
   {
    var LeftListBox = document.groupinfo.efriendsingrouplist;
    var RightListBox = document.groupinfo.eotherfriendslist;
    var ListItems = new Array();
    FromList = (blnFromLeft ? LeftListBox : RightListBox); 
    ToList = (blnFromLeft ? RightListBox : LeftListBox);
    for(var i=(FromList.options.length - 1);i>=0;i--)
     if(FromList.options[i].selected)
       {
        ListItems[ListItems.length] = new Option(FromList.options[i].text);
        FromList.options[i] = null;
       } 
     for(var i=ListItems.length - 1;i>=0;i--)
      ToList.options[ToList.options.length] = ListItems[i];
    } 
   
   function OnBtnSubmitClick()
   {
    ListBox = document.forms[0].lstRight;
    if(ListBox.options.length==0)
      alert("You did not selection any item/items. Please choose an item/items from the left list box and transfer them to the right list box");
    else
    {
      var strChosenItems = "";
      for(var i=0;i<ListBox.options.length;i++)
        strChosenItems = strChosenItems + "  " + ListBox.options[i].text;
      alert("You chose : " + strChosenItems);
    } 

   }
   
   
 // get journal entries for trip in group
 var groupjournalrequest = editgroupObject();
 function getripjournals(tid) {
 	var jdiv = "gj"+tid;
 	if(document.getElementById(jdiv).style.display != "block") {
	 	document.getElementById(jdiv).style.display = "block";
 		var url = "/_inc/functions/groups/journals.inc.php";
		var params = "tid="+tid;
		groupjournalrequest.open("POST", url, true);

		//Send the proper header information along with the request
		groupjournalrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		groupjournalrequest.setRequestHeader("Content-length", params.length);
		groupjournalrequest.setRequestHeader("Connection", "close");

		groupjournalrequest.onreadystatechange = function() {//Call a function when the state changes.
			if(groupjournalrequest.readyState == 4 && groupjournalrequest.status == 200) {
				var response = groupjournalrequest.responseText;
				document.getElementById(jdiv).innerHTML = response;
			}
		}
		groupjournalrequest.send(params);
	} else {
	 	document.getElementById(jdiv).style.display = "none";	
	}
 }
 
  // get photos for trip in group
 var groupphotorequest = editgroupObject();
 function getripphotos(tid) {
 	var pdiv = "gp"+tid;
 	if(document.getElementById(pdiv).style.display != "block") {	
	 	document.getElementById(pdiv).style.display = "block";
	 	var url = "/_inc/functions/groups/photos.inc.php";
		var params = "tid="+tid;
		groupphotorequest.open("POST", url, true);

		//Send the proper header information along with the request
		groupphotorequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		groupphotorequest.setRequestHeader("Content-length", params.length);
		groupphotorequest.setRequestHeader("Connection", "close");

		groupphotorequest.onreadystatechange = function() {//Call a function when the state changes.
			if(groupphotorequest.readyState == 4 && groupphotorequest.status == 200) {
				var response = groupphotorequest.responseText;
				document.getElementById(pdiv).innerHTML = response;
			}
		}
		groupphotorequest.send(params);
	} else {
		document.getElementById(pdiv).style.display = "none";
	}
 }
 
 var moreGRrequest = createMoreGRObject();

function loadmoreGR(start,type,trip,tuser) {
	if(type == "journal") {
		moreentries = "morejentries"+start+"-"+trip;
		var url = "/_inc/functions/get8morejournals.inc.php";
		var params = "start="+start+"&tid="+trip+"&tuser="+tuser;
	}
	if(type == "photo") {
		moreentries = "morepentries"+start+"-"+trip;
		var url = "/_inc/functions/get8morephotos.inc.php";
		var params = "start="+start+"&tid="+trip+"&tuser="+tuser+"&type=grouphoto";
	}
	moreGRrequest.open("POST", url, true);

	//Send the proper header information along with the request
	moreGRrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
	moreGRrequest.setRequestHeader("Content-length", params.length);
	moreGRrequest.setRequestHeader("Connection", "close");

	moreGRrequest.onreadystatechange = function() {//Call a function when the state changes.
		if(moreGRrequest.readyState == 1){
			document.getElementById(moreentries).innerHTML = '<img src="/_images/loader_bl_wh.gif" width="32" height="32" alt="Loading..." />';
		}
		if(moreGRrequest.readyState == 4 && moreGRrequest.status == 200) {
			var response = moreGRrequest.responseText;
		document.getElementById(moreentries).innerHTML = response;
		}
	}
	moreGRrequest.send(params);
}

function createMoreGRObject(){
	var request_;
	var browser = navigator.appName;

	if(browser == "Microsoft Internet Explorer"){
		request_ = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		request_ = new XMLHttpRequest();
	}
	return request_;
}


// comment javascripts are contained in tripview.js rather than repeat them here

// join request
var joinrequest = createMoreGRObject();
function groupjoinrequest(gid,userid) {
	var url = "/_inc/functions/groups/joinrequest.inc.php";
	var params = "gid="+gid+"&uid="+userid;
	joinrequest.open("POST", url, true);

	//Send the proper header information along with the request
	joinrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=UTF-8");
	joinrequest.setRequestHeader("Content-length", params.length);
	joinrequest.setRequestHeader("Connection", "close");

	joinrequest.onreadystatechange = function() {//Call a function when the state changes.
		if(joinrequest.readyState == 1){
			document.getElementById('joinrequest').innerHTML = '<img src="/_images/loader_bl_wh.gif" width="32" height="32" alt="Loading..." />';
		}
		if(joinrequest.readyState == 4 && joinrequest.status == 200) {
			var response = joinrequest.responseText;
			document.getElementById('joinrequest').innerHTML = response;
		}
	}
	joinrequest.send(params);
}