
//View Object Class

function GroupObject(groupName, groupId, viewObjectArray) {
  this.groupName = groupName;
  this.groupId = groupId;
  this.viewObjectArray = viewObjectArray;
}
GroupObject.prototype.constructor = GroupObject;

function ViewObject(viewName, viewId) {
  this.viewName = viewName;
  this.viewId = viewId;
}
ViewObject.prototype.constructor = ViewObject;


function sortGroupObjectArray(groupObjectArray) {
  //first sort groupObjectArray
  groupObjectArray.sort(groupObjectSortFunction);
  //then sort the views in each groupObhect
  for(var i=0; i<groupObjectArray.length; i++) {
    groupObjectArray[i].viewObjectArray.sort(viewObjectSortFunction);
  }
}

function groupObjectSortFunction(groupObjectA, groupObjectB) {
  var lowerA = groupObjectA.groupName.toLowerCase();
  var lowerB = groupObjectB.groupName.toLowerCase();
  if(lowerA > lowerB) {
    return 1;
  }
  else if(lowerA < lowerB) {
    return -1;
  }
  return 0;
}

function viewObjectSortFunction(viewObjectA, viewObjectB) {
  var lowerA = viewObjectA.viewName.toLowerCase();
  var lowerB = viewObjectB.viewName.toLowerCase();
  if(lowerA > lowerB) {
    return 1;
  }
  else if(lowerA < lowerB) {
    return -1;
  }
  return 0;
}