/***********************************************************************************************************
 * com.andsvar.javascript.AndsvarClass
 * Location: http://www.andsvar.com/library/com/andsvar/javascript/AndsvarClass.js
 * Version Location: http://www.andsvar.com/library/com/andsvar/javascript/siewpage/builds/2009052800/AndsvarClass.js
 * Index Version Location: http://www.andsvar.com/library/com/andsvar/javascript/andsvar/builds/2009073100/index.html
 * © andsvar.com (http://www.andsvar.com/)
***********************************************************************************************************/

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

if (typeof com.andsvar.javascript.AndsvarClass == "undefined") {
 com.andsvar.javascript.AndsvarClass = function() {};
 com.andsvar.javascript.AndsvarClass.prototype = new com.oclib.javascript.lang.Root();  

 com.andsvar.javascript.AndsvarClass.prototype.classCreated = "2009052000"; 
 com.andsvar.javascript.AndsvarClass.prototype.classCreator = "http://www.andsvar.com/"; 
 com.andsvar.javascript.AndsvarClass.prototype.classIndexLocation = "http://www.andsvar.com/library/com/andsvar/javascript/andsvarclass/"; 
 com.andsvar.javascript.AndsvarClass.prototype.classLocation = "http://www.andsvar.com/library/com/andsvar/javascript/andsvarclass/AndsvarClass.js"; 
 com.andsvar.javascript.AndsvarClass.prototype.className = "AndsvarClass"; 
 com.andsvar.javascript.AndsvarClass.prototype.classNamespace = "com.andsvar.javascript.AndsvarClass"; 
 com.andsvar.javascript.AndsvarClass.prototype.classVersion = "2009073100"; 
 com.andsvar.javascript.AndsvarClass.prototype.classVersionIndexLocation = "http://www.andsvar.com/library/com/andsvar/javascript/andsvarclass/builds/2009073100/index.html";
 com.andsvar.javascript.AndsvarClass.prototype.classVersionLocation = "http://www.andsvar.com/library/com/andsvar/javascript/andsvarclass/builds/2009073100/AndsvarClass.js";  

 com.andsvar.javascript.AndsvarClass.prototype.dom = null;  
  com.andsvar.javascript.AndsvarClass.prototype.getDom = function () {return this.dom;};
  com.andsvar.javascript.AndsvarClass.prototype.setDom = function (dom) {this.dom = dom;};
 com.andsvar.javascript.AndsvarClass.prototype.events = null;   
  com.andsvar.javascript.AndsvarClass.prototype.getEvents = function () {return this.events;};
  com.andsvar.javascript.AndsvarClass.prototype.setEvents = function (events) {this.events = events;};
 com.andsvar.javascript.AndsvarClass.prototype.str = null;   
  com.andsvar.javascript.AndsvarClass.prototype.getStr = function () {return this.str;};
  com.andsvar.javascript.AndsvarClass.prototype.setStr = function (str) {this.str = str;};
  
 com.andsvar.javascript.AndsvarClass.prototype.a = "";
 com.andsvar.javascript.AndsvarClass.prototype.adult = "";
 com.andsvar.javascript.AndsvarClass.prototype.bid = "";
 com.andsvar.javascript.AndsvarClass.prototype.errorcode = "";
 com.andsvar.javascript.AndsvarClass.prototype.li = ""; 
 com.andsvar.javascript.AndsvarClass.prototype.pt = ""; 
 com.andsvar.javascript.AndsvarClass.prototype.resultBid = ""; 
 com.andsvar.javascript.AndsvarClass.prototype.resultQ = ""; 
 com.andsvar.javascript.AndsvarClass.prototype.resultFa = ""; 
 com.andsvar.javascript.AndsvarClass.prototype.urlAnswer = "/cgi-bin/library/com/andsvar/cpp/answer/2009073100/answer";  
 com.andsvar.javascript.AndsvarClass.prototype.urlVote = "/cgi-bin/library/com/andsvar/cpp/vote/2009073100/vote";  

 com.andsvar.javascript.AndsvarClass.prototype.init = function() {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.init is runing...");};
  this.a = this.dom.getTextContent("a");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.prototype.init this.a:"+this.a);};
  this.adult = this.dom.getTextContent("adult");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.prototype.init this.adult:"+this.adult);};
  this.bid = this.dom.getTextContent("bid");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.prototype.init this.bid:"+this.bid);};
  this.li = this.dom.getTextContent("li");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.prototype.init this.li:"+this.li);};
  this.pt = this.dom.getTextContent("pt");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.prototype.init this.pt:"+this.pt);};
  if(this.pt=="main") {
   document.getElementById("q").focus();
  } else if(this.pt=="qs") {
   document.getElementById("fa").focus();
  };
  var the = this;
  this.events.addEventListener("askNew", "click", function(e) {window.location = "/answers/"+(the.a=="a" ?  ("a/"+the.a+"/") : "")+(the.li=="english" ? "" : "li/"+the.li+"/");}, false);  
  this.events.addEventListener("askQNew", "click", function(e) {window.location = "/answers/"+(the.a=="a" ? ("a/"+the.a+"/") : "")+(the.li=="english" ? "" : "li/"+the.li+"/");}, false);
  this.events.addEventListener("askQuestion", "click", function(e) {window.location = "/answers/"+(the.a=="a" ? ("a/"+the.a+"/") : "")+(the.li=="english" ? "" : "li/"+the.li+"/");}, false);
  this.events.addEventListener("backAnswer", "click", function(e) {the.dom.doHidden("searchFrame");the.dom.doVisible("resultFrame");}, false);
  //this.events.addEventListener("backQAnswer", "click", function(e) {the.dom.doHidden("searchFrame");the.dom.doVisible("resultQFrame");}, false);
  this.events.addEventListener("backForm", "click", function(e) {the.dom.doHidden("resultFrame");the.dom.doVisible("searchFrame"); the.dom.doVisible("backAnswer");}, false);
  //this.events.addEventListener("backQForm", "click", function(e) {the.dom.doHidden("resultQFrame");the.dom.doVisible("searchFrame"); the.dom.doVisible("backAnswer");}, false);
  this.events.addEventListener("badAnswer", "click", function(e) {the.badAnswer(e);}, false);
  this.events.addEventListener("badQAnswer", "click", function(e) {the.badQAnswer(e);}, false);
  this.events.addEventListener("changeAnswerFormat", "click", function(e) {document.getElementById("fa").value="";the.dom.doHidden("resultFrame");the.dom.doVisible("searchFrame");the.dom.doVisible("backAnswer");}, false);
  this.events.addEventListener("fa", "keypress", function(e) {if(e.keyCode != 13 && e.which != 13){return -1;}; the.giveAnswer(e);}, false);
  this.events.addEventListener("giveAnswerButton", "click", function(e) {the.giveAnswer(e);}, false);
  this.events.addEventListener("goodAnswer", "click", function(e) {the.goodAnswer(e);}, false);
  this.events.addEventListener("goodQAnswer", "click", function(e) {the.goodQAnswer(e);}, false);
  this.events.addEventListener("mainTitle", "click", function(e) {window.location = "/answers/"+(the.a=="a" ? ("a/"+the.a+"/") : "")+(the.li=="english" ? "" : "li/"+the.li+"/");}, false);
  this.events.addEventListener("newAnswerButton", "click", function(e) {the.newAnswer(e);}, false);
  this.events.addEventListener("newAnswerText", "keypress", function(e) {if(e.keyCode != 13 && e.which != 13){return -1;}; the.newAnswer(e);}, false);
  this.events.addEventListener("newFaButton", "click", function(e) {the.newFa(e);}, false);
  this.events.addEventListener("newFaText", "keypress", function(e) {if(e.keyCode != 13 && e.which != 13){return -1;}; the.newFa(e);}, false);
  this.events.addEventListener("otherAnswersTbody", "click", function(e) {the.vote(e);}, false);
  this.events.addEventListener("otherAnswersQTbody", "click", function(e) {the.vote(e);}, false);
  this.events.addEventListener("q", "keypress", function(e) {if(e.keyCode != 13 && e.which != 13){return -1;}; the.giveAnswer(e);}, false);
  this.events.addEventListener("qidbidTableTbody", "click", function(e) {the.voteQ(e);}, false);
  this.events.addEventListener("thanksChoiceLink", "click", function(e) {the.thanksChoice(e);}, false);
  this.events.addEventListener("thanksQChoiceLink", "click", function(e) {the.thanksQChoice(e);}, false);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.badAnswer = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.badAnswer is runing...");}; 
  this.dom.doHidden("appraisalChoice");
  this.dom.doVisible("otherAnswerFrame");
  this.dom.doVisible("changeFormatFrame");
  var countOtherAnswers=0+1*this.dom.getTextContent("countOtherAnswers");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.badAnswer countOtherAnswers:"+countOtherAnswers);};
  if(countOtherAnswers>1) {
   this.dom.doVisible("otherAnswersFrame");
  };
  var data = "li="+this.li
             +"&bid="+this.bid
             //+"&aid="+this.dom.getTextContent("bestAid")
             +"&answer="+encodeURIComponent(this.dom.getTextContent("bestAnswer"))
             +"&vote=-1"
             +"&t=m";               
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.badAnswer 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.badQAnswer = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.badQAnswer is runing...");}; 
  this.dom.doHidden("appraisalQChoice");
  this.dom.doVisible("otherQAnswersFrame");
  this.dom.doVisible("changeFormatQFrame");
  var data = "li="+this.li
             +"&bid="+this.dom.getTextContent("bestBid")
             //+"&aid="+this.dom.getTextContent("bestAid")
             +"&answer="+encodeURIComponent(this.dom.getTextContent("bestQAnswer"))
             +"&vote=-1"
             +"&t=m";               
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.badQAnswer 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.calculator = function(q) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.calculator is runing...");}; 
  var m = q;
  //m = m.replace(/=\?/,"");
  m = m.replace(/=/,""); 
  m = m.replace(/\?/,""); 
  m = this.str.trim(m);
  try {
   return (eval("with (Math) {("+m+")}"));
  } catch(err) {
   return "error";
  };
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswer = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer is runing...");}; 
  this.dom.doHidden("answerError");
  this.dom.doHidden("formError");
  this.dom.doHidden("quickAnswerFrame");
  this.dom.doHidden("searchButton");
  var q = this.str.trim(document.getElementById("q").value);
  //if(q.length<2) {this.dom.doVisible("formError");this.dom.doVisible("searchButton");return;};
  var m = this.calculator(q);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer: m="+m);};
  if(m!="error") {
   if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer: quickAnswer");};
   this.dom.doHidden("formatAnswerFrame");
   this.dom.changeTextContent("quickAnswer",m);
   this.dom.doVisible("quickAnswerFrame");
   this.dom.doVisible("quickAnswer");
   this.dom.doVisible("searchButton");
   document.getElementById("q").focus();
   return;
  };
  if(!document.getElementById("fa")) {
   /*
     var newUri = "http://"+window.location.host+"/answers/a/"+this.a+"/li/"+this.li+"/pt/qs/pn/"+encodeURIComponent(q)+"/";
   if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer: newUri="+newUri);};
   window.location = newUri;
   return;
   */
   this.giveAnswerQ(e);
   return;
  };
  var fa = this.str.trim(document.getElementById("fa").value);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer: fa="+fa+"; fa.length="+fa.length);};
  if(fa.length<2) {this.dom.doVisible("formError");this.dom.doVisible("searchButton");return;};
  this.dom.doVisible("giveAnswerProgressBarFrame"); this.giveAnswerProgress(0);
  var data = "li="+this.li
             +"&a="+this.a
             +"&t=s"
             +"&q="+encodeURIComponent(q)
             +"&fa="+encodeURIComponent(fa);              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer 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.giveAnswerError(loader);});
  loader.setDoIfSuccess(function() {the.giveAnswerSuccess(loader);});
  loader.makeRequest(this.method, this.urlAnswer, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswerError = function(loader) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswerError is runing...");};
  this.dom.doHidden("giveAnswerProgressBarFrame");
  this.dom.doVisible("searchButton");
  this.dom.doVisible("answerError");
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswerProgress = function(p) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswerProgress is runing...");}; 
  var el = document.getElementById("giveAnswerProgressBar").firstChild;
  el.style.width = (1*p) + "%";
  if(p==100) {return;};
  var the=this; setTimeout(function() {the.giveAnswerProgress(p+5);}, 100);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswerSuccess = function(loader) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.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("com.andsvar.javascript.AndsvarClass.addSuccess: status="+status);};
   if(status == "success") {
    if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.addSuccess: success...");};
    var bid = 0;
    if(responseXML.getElementsByTagName("bid") && responseXML.getElementsByTagName("bid").item(0) && responseXML.getElementsByTagName("bid").item(0).firstChild) {bid = responseXML.getElementsByTagName("bid").item(0).firstChild.data;};
    if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.addSuccess: bid="+bid);};
    var newUri = "http://"+window.location.host+"/answers/a/"+this.a+"/li/"+this.li+"/pt/bid/pn/"+bid+"/";
    if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.addSuccess: newUri="+newUri);};
    window.location = newUri;
    return;
   };
  };
  this.giveAnswerError(loader);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswerQ = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswerQ is runing...");}; 
  this.dom.doHidden("answerError");
  this.dom.doHidden("formError");
  this.dom.doHidden("quickAnswerFrame");
  this.dom.doHidden("searchButton");
  var q = this.str.trim(document.getElementById("q").value);
  this.dom.doVisible("giveAnswerProgressBarFrame"); this.giveAnswerProgress(0);
  var data = "li="+this.li
             +"&a="+this.a
             +"&t=s"
             +"&q="+encodeURIComponent(q);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswerQ 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.giveAnswerQError(loader);});
  loader.setDoIfSuccess(function() {the.giveAnswerQSuccess(loader);});
  loader.makeRequest(this.method, this.urlAnswer, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswerQError = function(loader) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswerQError is runing...");};
  var q = this.str.trim(document.getElementById("q").value);
  var newUri = "http://"+window.location.host+"/answers/a/"+this.a+"/li/"+this.li+"/pt/qs/pn/"+encodeURIComponent(q)+"/";
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.giveAnswer: newUri="+newUri);};
  window.location = newUri;
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.giveAnswerQSuccess = function(loader) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.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("com.andsvar.javascript.AndsvarClass.addSuccess: status="+status);};
   if(status == "success") {
    if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.addSuccess: success...");};
    var bid = 0;
    if(responseXML.getElementsByTagName("bid") && responseXML.getElementsByTagName("bid").item(0) && responseXML.getElementsByTagName("bid").item(0).firstChild) {bid = responseXML.getElementsByTagName("bid").item(0).firstChild.data;};
    if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.addSuccess: bid="+bid);};
    var newUri = "http://"+window.location.host+"/answers/a/"+this.a+"/li/"+this.li+"/pt/bid/pn/"+bid+"/";
    if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.addSuccess: newUri="+newUri);};
    window.location = newUri;
    return;
   };
  };
  this.giveAnswerQError(loader);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.goodAnswer = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.goodAnswer is runing...");}; 
  this.dom.doHidden("appraisalChoice");
  this.dom.doVisible("appraisalThanks");
  var data = "li="+this.li
             +"&bid="+this.bid
             //+"&aid="+this.dom.getTextContent("bestAid")
             +"&answer="+encodeURIComponent(this.dom.getTextContent("bestAnswer"))
             +"&vote=1"
             +"&t=m";              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.goodAnswer 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.goodQAnswer = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.goodQAnswer is runing...");}; 
  this.dom.doHidden("appraisalQChoice");
  this.dom.doVisible("appraisalQThanks");
  var data = "li="+this.li
             +"&bid="+this.dom.getTextContent("bestBid")
             //+"&aid="+this.dom.getTextContent("bestAid")
             +"&answer="+encodeURIComponent(this.dom.getTextContent("bestQAnswer"))
             +"&vote=1"
             +"&t=m";              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.goodQAnswer 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.newAnswer = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newAnswer is runing...");}; 
  this.dom.doVisible("thanksNewAnser");   
  this.dom.doVisible("otherAnswersFrame");
  var answer = document.getElementById("newAnswerText").value;
  var trElement = document.createElement("tr"); trElement.className = "anotherAnswerTr";
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.ewAnswer trElement:"+trElement);};
  var tdElement1=document.createElement("td"); tdElement1.className="anotherAnswerVotePTd"; trElement.appendChild(tdElement1);
  var tdElement2=document.createElement("td"); trElement.appendChild(tdElement2);
  var tdElement3=document.createElement("td"); tdElement3.className="anotherAnswerVoteMTd"; trElement.appendChild(tdElement3);
  var tdElement4=document.createElement("td"); trElement.appendChild(tdElement4);
  var tdElement5=document.createElement("td"); tdElement5.className="anotherAnswerTd"; trElement.appendChild(tdElement5); var spanElement=document.createElement("span"); spanElement.className="anotherAnswerSpan"; tdElement5.appendChild(spanElement); spanElement.appendChild(document.createTextNode(answer));
  document.getElementById("otherAnswersTbody").appendChild(trElement);  
  var data = "li="+this.li
             +"&bid="+this.bid
             +"&answer="+encodeURIComponent(answer)
             +"&vote=1";              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newAnswer 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.newFa = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFa is runing...");}; 
  var q = this.str.trim(document.getElementById("q").value);
  var fa = this.str.trim(document.getElementById("newFaText").value);
  if(fa.length<2) {this.dom.doVisible("defineError");return;};
  this.dom.doHidden("defineError");
  this.dom.doHidden("newFaButton");
  this.dom.doVisible("defineProgressBar"); this.newFaProgress(0);
  var data = "li="+this.li
             +"&a="+this.a
             +"&t=s"
             +"&q="+encodeURIComponent(q)
             +"&fa="+encodeURIComponent(fa);              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFa 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.newFaError(loader);});
  loader.setDoIfSuccess(function() {the.newFaSuccess(loader);});
  loader.makeRequest(this.method, this.urlAnswer, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.newFaError = function(loader) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFa is runing...");};
  this.dom.doHidden("defineProgressBar");
  this.dom.doVisible("newFaButton");
  this.dom.doVisible("defineError");
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.newFaProgress = function(p) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFa is runing...");}; 
  var el = document.getElementById("defineProgressBar").firstChild;
  el.style.width = (1*p) + "%";
  if(p==100) {return;};
  var the=this; setTimeout(function() {the.newFaProgress(p+5);}, 100);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.newFaSuccess = function(loader) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFaSuccess 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("com.andsvar.javascript.AndsvarClass.newFaSuccess: status="+status);};
   if(status == "success") {
    if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFaSuccess: success...");};
    var bid = 0;
    if(responseXML.getElementsByTagName("bid") && responseXML.getElementsByTagName("bid").item(0) && responseXML.getElementsByTagName("bid").item(0).firstChild) {bid = responseXML.getElementsByTagName("bid").item(0).firstChild.data;};
    if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFaSuccess: bid="+bid);};
    var newUri = "http://"+window.location.host+"/answers/a/"+this.a+"/li/"+this.li+"/pt/bid/pn/"+bid+"/";
    if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.newFaSuccess: newUri="+newUri);};
    window.location = newUri;
    return;
   };
  };
  this.newFaError(loader);
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.nullnull = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.nullnull is runing...");}; 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.thanksChoice = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.thanksChoice is runing...");}; 
  this.dom.doHidden("appraisalChoice");
  this.dom.doVisible("otherAnswerFrame");
  this.dom.doVisible("changeFormatFrame");
  var countOtherAnswers=0+1*this.dom.getTextContent("countOtherAnswers");
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.thanksChoice countOtherAnswers:"+countOtherAnswers);};
  if(countOtherAnswers>1) {
   this.dom.doVisible("otherAnswersFrame");
  };
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.thanksQChoice = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.thanksQChoice is runing...");}; 
  this.dom.doHidden("appraisalQChoice");
  this.dom.doVisible("otherQAnswersFrame");
  this.dom.doVisible("changeFormatQFrame");
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.calculator = function(q) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.calculator is runing...");}; 
  var m = q;
  //m = m.replace(/=\?/,"");
  m = m.replace(/=/,""); 
  m = m.replace(/\?/,""); 
  m = this.str.trim(m);
  try {
   return (eval("with (Math) {("+m+")}"));
  } catch(err) {
   return "error";
  };
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.vote = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote is runing...");};   
  var targetElement;
  if (e.target) {targetElement = e.target;} else if (e.srcElement) {targetElement = e.srcElement;};
  if (targetElement.nodeType == 3) {targetElement = targetElement.parentNode;}; // defeat Safari bug
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote targetElement.id="+targetElement.id);};
  var id = targetElement.id;
  var action = id.substr(0, 22);
  var tid = id.substr(22);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote action="+action+"; tid="+tid);};
  if(tid.length==0) {return;};
  var vote = (action == "anotherAnswerVoteSpanP") ? 1 : -1;
  var reverseId = (action == "anotherAnswerVoteSpanP") ? "anotherAnswerVoteSpanM"+tid : "anotherAnswerVoteSpanP"+tid;
  this.dom.doHidden(id); this.dom.doVisible(reverseId);
  var answer = this.dom.getTextContent("answer"+tid);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote answer="+answer);};
  var answerElement = document.getElementById("answer"+tid);
  (vote==1) ? answerElement.style.color="green" : answerElement.style.color="red";
  var data = "li="+this.li
             +"&bid="+this.bid
             //+"&aid="+tid
             +"&answer="+encodeURIComponent(answer)
             +"&vote="+vote;              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data); 
 };
 
 com.andsvar.javascript.AndsvarClass.prototype.voteQ = function(e) {
  if(this.mustTrace()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.voteQ is runing...");};   
  var targetElement;
  if (e.target) {targetElement = e.target;} else if (e.srcElement) {targetElement = e.srcElement;};
  if (targetElement.nodeType == 3) {targetElement = targetElement.parentNode;}; // defeat Safari bug
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.voteQ targetElement.id="+targetElement.id);};
  var id = targetElement.id;
  var action = id.substr(0, 15);
  var tid = id.substr(15);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.voteQ action="+action+"; tid="+tid);};
  if(tid.length==0) {return;};
  var vote = (action == "qidbidVoteSpanP") ? 1 : -1;
  var reverseId = (action == "qidbidVoteSpanP") ? "qidbidVoteSpanM"+tid : "qidbidVoteSpanP"+tid;
  this.dom.doHidden(id); this.dom.doVisible(reverseId);
  var answer = this.dom.getTextContent("answer"+tid);
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote answer="+answer);};
  var answerElement = document.getElementById("answer"+tid);
  (vote==1) ? answerElement.style.color="green" : answerElement.style.color="red";
  var data = "li="+this.li
             +"&bid="+this.dom.getTextContent("bestBid")
             //+"&aid="+this.dom.getTextContent("bestAid")
             +"&answer="+encodeURIComponent(answer)
             +"&vote="+vote
             +"&t=m";              
  if(this.mustDebug()) {this.getLog().println("com.andsvar.javascript.AndsvarClass.vote 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.nullnull(loader);});
  loader.setDoIfSuccess(function() {the.nullnull(loader);});
  loader.makeRequest(this.method, this.urlVote, data); 
 };
};
