/***********************************************************************************************************
 * com.lovedrome.javascript.Friends
 * Location: http://www.lovedrome.com/library/com/friends/javascript/Friends.js
 * Version Location: http://www.lovedrome.com/library/com/friends/javascript/friends/builds/20070603/Friends.js
 * Index Version Location: http://www.lovedrome.com/library/com/friends/javascript/friends/index.html
 * © Open Class Library (http://www.lovedrome.com/)
***********************************************************************************************************/
if (typeof com == "undefined") {com = {};};
if (typeof com.lovedrome == "undefined") {com.lovedrome = {};};
if (typeof com.lovedrome.javascript == "undefined") {com.lovedrome.javascript = {};};

if (typeof com.lovedrome.javascript.Friends == "undefined") {
 com.lovedrome.javascript.Friends = function() {};
 
 com.lovedrome.javascript.Friends.prototype = new com.oclib.javascript.lang.Root(); 
 
 com.lovedrome.javascript.Friends.prototype.classCreated = "20070603"; 
 com.lovedrome.javascript.Friends.prototype.classCreator = "http://www.lovedrome.com/"; 
 com.lovedrome.javascript.Friends.prototype.classIndexLocation = "http://www.lovedrome.com/library/com/friends/"; 
 com.lovedrome.javascript.Friends.prototype.classLocation = "http://www.oclib.com/library/com/friends/javascript/Friends.js"; 
 com.lovedrome.javascript.Friends.prototype.className = "Log"; 
 com.lovedrome.javascript.Friends.prototype.classNamespace = "com.lovedrome.javascript.Friends"; 
 com.lovedrome.javascript.Friends.prototype.classVersion = "20070613"; 
 com.lovedrome.javascript.Friends.prototype.classVersionIndexLocation = "http://www.lovedrome.com/library/com/friends/javascript/friends/builds/20070613/index.html";  
 com.lovedrome.javascript.Friends.prototype.classVersionLocation = "http://www.lovedrome.com/library/com/friends/javascript/friends/builds/20070613/Friends.js";
 
 com.lovedrome.javascript.Friends.prototype.dom = new com.oclib.javascript.util.Dom();
 com.lovedrome.javascript.Friends.prototype.friends = new Array();
 com.lovedrome.javascript.Friends.prototype.elementName = "";
 com.lovedrome.javascript.Friends.prototype.type = "";
 
  com.lovedrome.javascript.Friends.prototype.addFriend = function (friend) {
   if(this.mustTrace()) {this.getLog().println("com.lovedrome.javascript.Friends.addFriend is runing...");};
   if(this.mustDebug()) {this.getLog().println("com.lovedrome.javascript.Friends.addFriend this.friends.length="+this.friends.length);};
   var exist = false;
   var n = 0;
   for(var i = 0; i < this.friends.length && !exist; i++) {
    if(this.friends[i].email == friend.email) {exist = true; n = i;};
   };
   if(exist) {this.deleteFriend(n);};
   this.friends[this.friends.length]=friend;  
  };
  
  com.lovedrome.javascript.Friends.prototype.deleteFriend = function (number) {
   if(this.mustTrace()) {this.getLog().println("com.lovedrome.javascript.Friends.deleteFriend is runing for number="+number);};
   if(this.mustTrace()) {this.getLog().println("com.lovedrome.javascript.Friends.deleteFriend is runing for this.friends.length="+this.friends.length);};
   number = 1*number;
   var a = new Array();
   for(var i = 0; i < number; i++) {
    a[i] = this.friends[i];
   };
   for(var i = 1 + number; i < this.friends.length; i++) {
    a[a.length] = this.friends[i];
   };
   this.friends = a;
   if(this.mustTrace()) {this.getLog().println("com.lovedrome.javascript.Friends.deleteFriend is runing for this.friends.length="+this.friends.length);};
  };
  
  com.lovedrome.javascript.Friends.prototype.getFriend = function (index) {return this.friends[index];};
  
  com.lovedrome.javascript.Friends.prototype.getFriends = function () {return this.friends;};
  
  com.lovedrome.javascript.Friends.prototype.setFriends = function (friends) {this.friends = friends;};
 
 com.lovedrome.javascript.Friends.prototype.sorting = function() {
  if(this.mustTrace()) {this.getLog().println("com.lovedrome.javascript.Friends.sorting is runing...");}; 
  if(this.mustDebug()) {this.getLog().println("com.lovedrome.javascript.Friends.sorting this.friends.length="+this.friends.length);}; 
  for(var i = 0; i < this.friends.length; i++) {
   for(var j = i+1; j < this.friends.length; j++) {
    if(this.friends[j].name < this.friends[i].name) {
	 var f = this.friends[i];
	 this.friends[i] = this.friends[j];
	 this.friends[j] = f;
	};
   };
  };
  if(this.mustDebug()) {this.getLog().println("com.lovedrome.javascript.Friends.sorting this.friends.length="+this.friends.length);}; 
 };
 
 com.lovedrome.javascript.Friends.prototype.show = function() {
  if(this.mustTrace()) {this.getLog().println("com.lovedrome.javascript.Friends.show is runing...");}; 
  if(this.mustDebug()) {this.getLog().println("com.lovedrome.javascript.Friends.show  this.friends.length="+this.friends.length);}; 
  if(this.friends.length == 0) {
   var emptyDiv = document.createElement("div");
   if(this.type == "a") {
    emptyDiv.appendChild(document.createTextNode(this.dom.getTextContent("emptyFriendsA")));
   } else {
    emptyDiv.appendChild(document.createTextNode(this.dom.getTextContent("emptyFriendsB")));
   };
   this.dom.changeChilds(this.elementName, emptyDiv);
   return;
  };
  this.sorting();
  var tableElement =  document.createElement("table");
  var tbodyElement = document.createElement("tbody");
  tableElement.appendChild(tbodyElement);
  for(var i = 0; i < this.friends.length; i++) {
   if(this.mustDebug()) {this.getLog().println("com.lovedrome.javascript.Friends.show  i="+i);}; 
   var trElement = document.createElement("tr");
   trElement.className = "friend";
   trElement.id = "friend"+this.type+i;
   var tdNameElement = document.createElement("td");
   var spanName = document.createElement("span");
   spanName.id = "name"+this.type+i;
   spanName.className = "friendName";
   spanName.appendChild(document.createTextNode(this.friends[i].name));
   tdNameElement.appendChild(spanName);
   trElement.appendChild(tdNameElement);
   var tdEmailElement = document.createElement("td");
   var aEmail = document.createElement("a");
   aEmail.id = "email"+this.type+i;
   aEmail.setAttribute("href", "mailto:"+this.friends[i].email);
   aEmail.appendChild(document.createTextNode(this.friends[i].email));
   tdEmailElement.appendChild(aEmail);
   trElement.appendChild(tdEmailElement);
   var tdSElement = document.createElement("td");
   var imgS = document.createElement("img");
   imgS.id = "s"+this.type+i;
   if(this.friends[i].s == "m") {
    imgS.setAttribute("src", "/library/com/lovedrome/jpg/man-japan-x16.jpg");
    imgS.setAttribute("alt", this.dom.getTextContent("sexMale"));
    imgS.setAttribute("longdesc", this.dom.getTextContent("sexMale"));
    imgS.setAttribute("title", this.dom.getTextContent("sexMale"));
   } else {
    imgS.setAttribute("src", "/library/com/lovedrome/jpg/woman-japan-x16.jpg");
    imgS.setAttribute("alt", this.dom.getTextContent("sexFemale"));
    imgS.setAttribute("longdesc", this.dom.getTextContent("sexFemale"));
    imgS.setAttribute("title", this.dom.getTextContent("sexFemale"));
   };
   tdSElement.appendChild(imgS);
   trElement.appendChild(tdSElement);
   var tdMeetingElement = document.createElement("td");
   var imgMeeting = document.createElement("img");
   imgMeeting.id = "meeting"+this.type+i;
   if(this.friends[i].meeting) {
    imgMeeting.setAttribute("src", "/library/com/lovedrome/jpg/romantic.gif");
    imgMeeting.setAttribute("alt", this.dom.getTextContent("wantMeeting"));
    imgMeeting.setAttribute("longdesc", this.dom.getTextContent("wantMeeting"));
    imgMeeting.setAttribute("title", this.dom.getTextContent("wantMeeting"));
   } else {
    imgMeeting.setAttribute("src", "/library/com/lovedrome/jpg/empty-16x16.jpg");
   };
   tdMeetingElement.appendChild(imgMeeting);
   trElement.appendChild(tdMeetingElement);
   var tdSexElement = document.createElement("td");
   var imgSex = document.createElement("img");
   imgSex.id = "sex"+this.type+i;
   if(this.friends[i].sex) {
    imgSex.setAttribute("src", "/library/com/lovedrome/jpg/sex.gif");
    imgSex.setAttribute("alt", this.dom.getTextContent("wantSex"));
    imgSex.setAttribute("longdesc", this.dom.getTextContent("wantSex"));
    imgSex.setAttribute("title", this.dom.getTextContent("wantSex"));
   } else {
    imgSex.setAttribute("src", "/library/com/lovedrome/jpg/empty-16x16.jpg");
   };
   tdSexElement.appendChild(imgSex);
   trElement.appendChild(tdSexElement);
   if(this.type == "a") {
    var tdEditElement = document.createElement("td");
    var imgEdit = document.createElement("img");
    imgEdit.className = "activeImage";
    imgEdit.id = "edit"+this.type+i;
    imgEdit.setAttribute("src", "/library/com/lovedrome/jpg/edit.gif");
    imgEdit.setAttribute("alt", this.dom.getTextContent("wantEdit"));
    imgEdit.setAttribute("longdesc", this.dom.getTextContent("wantEdit"));
    imgEdit.setAttribute("title", this.dom.getTextContent("wantEdit"));
    tdEditElement.appendChild(imgEdit);
    trElement.appendChild(tdEditElement);
    var tdDeleteElement = document.createElement("td");
    var imgDelete = document.createElement("img");
    imgDelete.className = "activeImage";
    imgDelete.id = "delete"+this.type+i;
    imgDelete.setAttribute("src", "/library/com/lovedrome/jpg/delete.gif");
    imgDelete.setAttribute("alt", this.dom.getTextContent("wantDelete"));
    imgDelete.setAttribute("longdesc", this.dom.getTextContent("wantDelete"));
    imgDelete.setAttribute("title", this.dom.getTextContent("wantDelete"));
    tdDeleteElement.appendChild(imgDelete);
    trElement.appendChild(tdDeleteElement);
   };
   tbodyElement.appendChild(trElement);
  };
  this.dom.changeChilds(this.elementName, tableElement);
 };
}
