/***********************************************************************************************************
 * net.relationdegree.javascript.RelationDegreeClass
 * Location: http://www.relationdegree.com/library/net/relationdegree/javascript/RelationDegreeClass.js
 * Version Location: http://www.relationdegree.com/library/net/relationdegree/javascript/siewpage/builds/2008101500/RelationDegreeClass.js
 * Index Version Location: http://www.relationdegree.com/library/net/relationdegree/javascript/relationdegree/builds/2008101500/index.html
 * © relationdegree.com (http://www.relationdegree.com/)
***********************************************************************************************************/

if (typeof net == "undefined") {net = {};};
if (typeof net.relationdegree == "undefined") {net.relationdegree = {};};
if (typeof net.relationdegree.javascript == "undefined") {net.relationdegree.javascript = {};};

if (typeof net.relationdegree.javascript.RelationDegreeClass == "undefined") {
 net.relationdegree.javascript.RelationDegreeClass = function() {};
 net.relationdegree.javascript.RelationDegreeClass.prototype = new com.oclib.javascript.lang.Root();  

 net.relationdegree.javascript.RelationDegreeClass.prototype.classCreated = "2008101500"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.classCreator = "http://www.relationdegree.com/"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.classIndexLocation = "http://www.relationdegree.com/library/net/relationdegree/"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.classLocation = "http://www.relationdegree.com/library/net/relationdegree/javascript/RelationDegreeClass.js"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.className = "RelationDegreeClass"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.classNamespace = "net.relationdegree.javascript.RelationDegreeClass"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.classVersion = "2008101500"; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.classVersionIndexLocation = "http://www.relationdegree.com/library/net/relationdegree/javascript/relationdegree/builds/2008101500/index.html";
 net.relationdegree.javascript.RelationDegreeClass.prototype.classVersionLocation = "http://www.relationdegree.com/library/net/relationdegree/javascript/relationdegree/builds/2008101500/RelationDegreeClass.js";  

 net.relationdegree.javascript.RelationDegreeClass.prototype.dom = null;  
  net.relationdegree.javascript.RelationDegreeClass.prototype.getDom = function () {return this.dom;};
  net.relationdegree.javascript.RelationDegreeClass.prototype.setDom = function (dom) {this.dom = dom;};
 net.relationdegree.javascript.RelationDegreeClass.prototype.events = null;   
  net.relationdegree.javascript.RelationDegreeClass.prototype.getEvents = function () {return this.events;};
  net.relationdegree.javascript.RelationDegreeClass.prototype.setEvents = function (events) {this.events = events;};
  
 net.relationdegree.javascript.RelationDegreeClass.prototype.a = "";
 net.relationdegree.javascript.RelationDegreeClass.prototype.adult = "";
 net.relationdegree.javascript.RelationDegreeClass.prototype.errorcode = "";
 net.relationdegree.javascript.RelationDegreeClass.prototype.li = ""; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.resultId = ""; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.resultTitle = ""; 
 net.relationdegree.javascript.RelationDegreeClass.prototype.urlAdd = "/cgi-bin/library/com/relationdegree/cpp/add/2008101500/add";   

 net.relationdegree.javascript.RelationDegreeClass.prototype.init = function() {
  if(this.mustTrace()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.init is runing...");};
  this.a = this.dom.getTextContent("a");
  if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.init this.a:"+this.a);};
  this.adult = this.dom.getTextContent("adult");
  if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.init this.adult:"+this.adult);};
  this.li = this.dom.getTextContent("li");
  if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.init this.li:"+this.li);};
  this.resultId = this.dom.getTextContent("resultId");
  if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.init this.resultId:"+this.resultId);};
  this.resultTitle = this.dom.getTextContent("resultTitle");
  if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.init this.resultTitle:"+this.resultTitle);};
  var the = this;
  this.events.addEventListener("addValue", "keypress", function(e) {if(e.keyCode != 13 && e.which != 13){return -1;}; the.add(e);}, false);
  this.events.addEventListener("addButton", "click", function(e) {the.add(e);}, false);
  this.events.addEventListener("searchValue", "keypress", function(e) {if(e.keyCode != 13 && e.which != 13){return -1;}; the.search(e);}, false);
  this.events.addEventListener("searchButton", "click", function(e) {the.search(e);}, false);
 };
 
 net.relationdegree.javascript.RelationDegreeClass.prototype.search = function(loader) {
  if(this.mustTrace()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.search is runing...");};
  var s = document.getElementById("searchValue").value;
  if(s==""||s==" "||s=="  "||s=="   "||s==".") return;
  var newUri = "http://"+window.location.host+"/relations/a/"+this.a+"/li/"+this.li+"/pt/s/pn/"+encodeURIComponent(s)+"/";
  //var newUri = "http://www.relationdegree.com/relations/a/"+this.a+"/li/"+this.li+"/pt/s/pn/"+encodeURIComponent(document.getElementById("searchValue").value)+"/";
  window.location = newUri;
 };
 
 net.relationdegree.javascript.RelationDegreeClass.prototype.add = function(e) {
  if(this.mustTrace()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.add is runing...");}; 
  this.dom.doHidden("newRelationFormError");
  var addValue = document.getElementById("addValue").value;
  if(addValue == "") {this.dom.doVisible("newRelationFormError");return;};
  this.dom.doHidden("newRelationForm");
  var data = "li="+this.li
             +"&a="+this.a
             +"&resultId="+this.resultId
             +"&resultTitle="+encodeURIComponent(this.resultTitle)
             +"&addValue="+encodeURIComponent(addValue);              
  if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.add data:"+data);};
  var loader = new com.oclib.javascript.util.Loader();
  loader.setDebugging(this.getDebugging()); loader.setLog(this.getLog()); loader.setTracing(this.getTracing());
  loader.setMethod("POST");
  var the = this;
  loader.setDoIfError(function() {the.addError(loader);});
  loader.setDoIfSuccess(function() {the.addSuccess(loader);});
  loader.makeRequest(this.method, this.urlAdd, data); 
 };
 
 net.relationdegree.javascript.RelationDegreeClass.prototype.addError = function(loader) {
  if(this.mustTrace()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.addError is runing...");};
  this.dom.doVisible("newRelationFormError");
  this.dom.doVisible("newRelationForm");
 };
 
 net.relationdegree.javascript.RelationDegreeClass.prototype.addSuccess = function(loader) {
  if(this.mustTrace()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.addSuccess is runing...");}; 
  var responseXML = loader.xml;  
  if(responseXML.getElementsByTagName("status") && responseXML.getElementsByTagName("status").item(0) && responseXML.getElementsByTagName("status").item(0).firstChild) {
   var status = responseXML.getElementsByTagName("status").item(0).firstChild.data;
   if(this.mustDebug()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.addSuccess: status="+status);};
   if(status == "success") {
    if(this.mustTrace()) {this.getLog().println("net.relationdegree.javascript.RelationDegreeClass.prototype.addSuccess: success...");};
    var vid = 0;
    if(responseXML.getElementsByTagName("vid") && responseXML.getElementsByTagName("vid").item(0) && responseXML.getElementsByTagName("vid").item(0).firstChild) {vid = responseXML.getElementsByTagName("vid").item(0).firstChild.data;};
    var addValue = 0;
    if(responseXML.getElementsByTagName("addValue") && responseXML.getElementsByTagName("addValue").item(0) && responseXML.getElementsByTagName("addValue").item(0).firstChild) {addValue = responseXML.getElementsByTagName("addValue").item(0).firstChild.data;};
    var imagesCount = 0;
    if(responseXML.getElementsByTagName("imagesCount") && responseXML.getElementsByTagName("imagesCount").item(0) && responseXML.getElementsByTagName("imagesCount").item(0).firstChild) {imagesCount = responseXML.getElementsByTagName("imagesCount").item(0).firstChild.data;};
    var imagesPart = 0;
    if(responseXML.getElementsByTagName("imagesPart") && responseXML.getElementsByTagName("imagesPart").item(0) && responseXML.getElementsByTagName("imagesPart").item(0).firstChild) {imagesPart = responseXML.getElementsByTagName("imagesPart").item(0).firstChild.data;};
    var newsCount = 0;
    if(responseXML.getElementsByTagName("newsCount") && responseXML.getElementsByTagName("newsCount").item(0) && responseXML.getElementsByTagName("newsCount").item(0).firstChild) {newsCount = responseXML.getElementsByTagName("newsCount").item(0).firstChild.data;};
    var newsPart = 0;
    if(responseXML.getElementsByTagName("newsPart") && responseXML.getElementsByTagName("newsPart").item(0) && responseXML.getElementsByTagName("newsPart").item(0).firstChild) {newsPart = responseXML.getElementsByTagName("newsPart").item(0).firstChild.data;};
    var webCount = 0;
    if(responseXML.getElementsByTagName("webCount") && responseXML.getElementsByTagName("webCount").item(0) && responseXML.getElementsByTagName("webCount").item(0).firstChild) {webCount = responseXML.getElementsByTagName("webCount").item(0).firstChild.data;};
    var webPart = 0;
    if(responseXML.getElementsByTagName("webPart") && responseXML.getElementsByTagName("webPart").item(0) && responseXML.getElementsByTagName("webPart").item(0).firstChild) {webPart = responseXML.getElementsByTagName("webPart").item(0).firstChild.data;};
    var allCount = 0;
    if(responseXML.getElementsByTagName("allCount") && responseXML.getElementsByTagName("allCount").item(0) && responseXML.getElementsByTagName("allCount").item(0).firstChild) {allCount = responseXML.getElementsByTagName("allCount").item(0).firstChild.data;};
    var allPart = 0;
    if(responseXML.getElementsByTagName("allPart") && responseXML.getElementsByTagName("allPart").item(0) && responseXML.getElementsByTagName("allPart").item(0).firstChild) {allPart = responseXML.getElementsByTagName("allPart").item(0).firstChild.data;};
    /* template
         <tr>
          <td class="resultTableLeftTd">
           <div class="reletionItem">
            <div class="hidden">123</div>
            <div class="itemName">&diams; Angelina Jolie</div>
            <div class="reletionItemDetails">Web: 38,700,000 (48.06%) - Images: 115,436 (32.87%) - News: 1,982 (61.95%)</div>
           </div>
          </td>
          <td class="resultTableRightTd"><div class="itemResult">47.63%</div></td>
         </tr>
         */
    var trElement=document.createElement("tr");
    var tdLeftElement=document.createElement("td");tdLeftElement.className="resultTableLeftTd";trElement.appendChild(tdLeftElement);
    var divReletionItemElement=document.createElement("div");divReletionItemElement.className="reletionItem";tdLeftElement.appendChild(divReletionItemElement);
    var divVidElement=document.createElement("div");divVidElement.className="hidden";divVidElement.appendChild(document.createTextNode(vid));divReletionItemElement.appendChild(divVidElement);
    var divItemNameElement=document.createElement("div");divItemNameElement.className="itemName";divItemNameElement.appendChild(document.createTextNode("♦ "+addValue));divReletionItemElement.appendChild(divItemNameElement);
    var divReletionItemDetailsElement=document.createElement("div");divReletionItemDetailsElement.className="reletionItemDetails";divReletionItemDetailsElement.appendChild(document.createTextNode(this.dom.getTextContent("Web")+": "+webCount+" ("+webPart+"%) - "+this.dom.getTextContent("Images")+": "+imagesCount+" ("+imagesPart+"%) - "+this.dom.getTextContent("News")+": "+newsCount+" ("+newsPart+"%)"));divReletionItemElement.appendChild(divReletionItemDetailsElement);
    var tdRightElement=document.createElement("td");tdRightElement.className="resultTableRightTd";trElement.appendChild(tdRightElement);
    var divItemResultElement=document.createElement("div");divItemResultElement.className="itemResult";divItemResultElement.appendChild(document.createTextNode(allPart+"%"));tdRightElement.appendChild(divItemResultElement);
    this.dom.doHidden("emptyResultMessage");
    var resultTableBodyElement=document.getElementById("resultTableBodyId");resultTableBodyElement.appendChild(trElement);
    this.dom.doVisible("newRelationForm");
    return;
   };
  };
  this.addError(loader);
 };
};
