var Functions = new Object();
var SpAction  = new Object();
var Survey    = new Object();
var Content   = new Object();
var Media     = new Object();
var CFG       = new Object();

SpAction.loginStatus;
//=====================================================//
SpAction.getLoginStatus = function(handlerFunction){

   var url = "index.php?_spAction=loginStatusAjax" + "&ajaxRequest=1"  + "&showHTML=0";

   var formContent = 'xyz=1';
   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {SpAction.getLoginStatusHandler(handlerFunction);});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
SpAction.getLoginStatusHandler = function(handlerFunction){

   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {
      var responseText = UtilString.trimAll(XMLHTTP.xmlHttpObj.responseText, 1);
      
      SpAction.loginStatus = responseText;
      if (eval(handlerFunction)) {
         return eval(handlerFunction + '()');
      } 
   }
}

//**********************************************************************************//
Functions.changeProductNormalImage = function(imageName, mediaID){
  imgSrc   = "media/product/normal/" + imageName;
  linkTemp = "index.php?_room=media&_spAction=zoomImage&media_id=" + mediaID;
  linkSrc  = "javascript:UtilWindow.openWindow(linkTemp,'1010','800')";
  document.getElementById("productImage").src = imgSrc;
  document.getElementById("largeImage").href  = linkSrc;
}

//**********************************************************************************//
Functions.emailToFriend = function(url){
   var frmObj = document.forms["emailToFriend"];
   frmObj.action = "index.php?_spAction=emailToFriendForm";
   frmObj.target = "emailToFriend";

   w = 450;
   h = 400;
   windowString = "height=" + h + ",width=" + w + ",scrollbars=yes," +
                  "resizable=yes,left=" + (screen.width-w)/2 + ",top=" +
                  (screen.height-h)/2
   wind = window.open( "" , "emailToFriend", windowString);
   frmObj.submit();
}

var Poll = new Object();
//=====================================================//
Poll.submitPollAnswer = function(pollID, pollHistoryID){

   var pollResultObj = document.getElementById("pollResult");
   pollResultObj.innerHTML = "Processing... Please wait";

   var url = "index.php?_spAction=submitPollAnswer" +
             "&poll_id=" + pollID + "&_room=poll" + "&poll_history_id="+ pollHistoryID + "&showHTML=0" ;

   var formContent = 'xyz=1';

   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Poll.submitPollAnswerHandler();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
Poll.submitPollAnswerHandler = function(){

   var pollResultDIVObj = document.getElementById("pollResult");

   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {

      var xmlDoc = XMLHTTP.loadXML(XMLHTTP.xmlHttpObj.responseText);
      var root = xmlDoc.documentElement;

      var errorTag   = xmlDoc.getElementsByTagName("error");
      var errorNo    = errorTag[0].childNodes[0].firstChild.nodeValue;
      var errorText  = errorTag[0].childNodes[1].firstChild.nodeValue;

      if (errorNo == 0){
         //======================================================//
         var headerTag = xmlDoc.getElementsByTagName("header");
         var totalCount   = headerTag[0].childNodes[0].firstChild.nodeValue;
         var displayTitle = headerTag[0].childNodes[1].firstChild.nodeValue;

         //======================================================//
         var rowsTag = xmlDoc.getElementsByTagName("row");
         var htmlText = "";

         for (i = 0; i < rowsTag.length; i++) {

            var rowTag = rowsTag[i];
            var recordId = rowTag.childNodes[0].firstChild.nodeValue;
            var title    = rowTag.childNodes[1].firstChild.nodeValue;
            ansCount     = rowTag.childNodes[2].firstChild.nodeValue;
            if (ansCount == 0) {
               ansCountPercentage = 0;
            }
            else {
               ansCountPercentage = (ansCount/totalCount)*100;
            }
            ansCountPercentage = ansCountPercentage.toFixed(2);

            htmlText += '<div class="answer">' + title + "</div>";
            htmlText += '<div class="percentageBarOuter"><div class="percentageBar" style="width:' + ansCountPercentage  + 'px;"></div></div>';
            htmlText += '<div class="percentageText">' + ansCountPercentage + '%</div>';
            htmlText += '<div class="seperator"></div>';
         }

         pollResultDIVObj.innerHTML = htmlText;

      } else {
         htmlText = '<hr><div class="answer">' + errorText + '</div><br>';
         pollResultDIVObj.innerHTML = htmlText;
      }

   }
}

var Comments = new Object();
//=====================================================//
Comments.submitComment = function(){

   var commentFormDIV  = document.getElementById("commentForm");

   var commentFormObj  = document.getElementById("frmComment");
   var room_name       = commentFormObj.room_name.value;
   var record_id       = commentFormObj.record_id.value;


   var url = "index.php?_spAction=submitComment" + "&_room=comment" + "&showHTML=0";

   var formContent = UtilAjax.getFormValues(commentFormObj);

   XMLHTTP.xmlHttpObj  = XMLHTTP.getXMLHTTPObject(function () {Comments.submitCommentHandler(room_name, record_id);});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
Comments.submitCommentHandler = function(room_name, record_id){

   var url = "index.php?_spAction=list" + "&_room=comment" +
             "&room_name="    + room_name   +
             "&record_id="    + record_id   +
             "&ajaxRequest=1" + "&showHTML=0";

   var formContent = 'xyz=1';
   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Comments.submitCommentHandler2();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
Comments.submitCommentHandler2 = function(room_name, record_id){

   var commentFormDIV = document.getElementById("commentForm");
   commentFormDIV.style.display = "none";

   var commentFormObj = document.getElementById("frmComment");
   commentFormObj.comments.value = "";

   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {

      var responseText = XMLHTTP.xmlHttpObj.responseText;
      var commentListDIV = document.getElementById("commentList");
      commentListDIV.innerHTML = responseText;
   }
}

//=====================================================//
Comments.showCommentForm = function(){
   SpAction.getLoginStatus("Comments.showCommentFormHandler");
}

//=====================================================//
Comments.showCommentFormHandler = function(){
   if (SpAction.loginStatus == 1){
      var commentFormDIV = document.getElementById("commentForm");
      commentFormDIV.style.display = "block";
   } else {
      alert("Sorry. You have to be logged in to make a comment");
      return;
   }
}

//=====================================================//
Comments.hideCommentForm = function(){

   var commentFormDIV = document.getElementById("commentForm");
   commentFormDIV.style.display = "none";
}

var Media = new Object();
//=====================================================//
Media.playMediaByID = function(record_id){

   var url = "index.php?_spAction=playFile" + "&_room=audioVideo" +
             "&key_field=audio_video_id"  +
             "&record_type=attachment"    +
             "&room_name=audioVideo"      +
             "&record_id="                + record_id   +
             "&ajaxRequest=1"             + "&showHTML=0";

   var formContent = 'xyz=1';
   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Media.playMediaByIDHandler();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
Media.playMediaByIDHandler = function(){


   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {
      var xmlDoc = XMLHTTP.loadXML(XMLHTTP.xmlHttpObj.responseText);
      var root = xmlDoc.documentElement;

      var headerTag   = xmlDoc.getElementsByTagName("header");
      var fileName    = headerTag[0].childNodes[0].firstChild.nodeValue;

      var utilFrame = document.getElementById("utilFrame");
      utilFrame.src = fileName;
   }
}

//=====================================================//
Media.playAlbum= function(record_id){

   var url = "index.php?_spAction=playAlbum" + "&_room=audioVideo" +
             "&record_id="                + record_id   +
             "&ajaxRequest=1"             + "&showHTML=0";
   var formContent = 'xyz=1';
   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Media.playAlbumHandler();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
Media.playAlbumHandler = function(){

   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {
      var xmlDoc = XMLHTTP.loadXML(XMLHTTP.xmlHttpObj.responseText);
      var root = xmlDoc.documentElement;

      var headerTag   = xmlDoc.getElementsByTagName("header");
      var fileName    = headerTag[0].childNodes[0].firstChild.nodeValue;

      var utilFrame = document.getElementById("utilFrame");
      utilFrame.src = fileName;
   }
}

//=====================================================//
Media.saveMedia= function(roomName, recordType, keyField, record_id){

   var url = "index.php?_spAction=saveMediaAjax" +
             "&_room=media"                 +
             "&room_name="                  + roomName    +
             "&record_type="                + recordType  +
             "&key_field="                  + keyField    +
             "&record_id="                  + record_id   +
             "&ajaxRequest=1"               + "&showHTML=0";


   var formContent = 'xyz=1';
   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Media.saveMediaHandler();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);
}

//=====================================================//
Media.saveMediaHandler = function(){

   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {
      var xmlDoc = XMLHTTP.loadXML(XMLHTTP.xmlHttpObj.responseText);
      var root = xmlDoc.documentElement;

      var errorTag   = xmlDoc.getElementsByTagName("error");
      var errorNo    = errorTag[0].childNodes[0].firstChild.nodeValue;
      var errorText  = errorTag[0].childNodes[1].firstChild.nodeValue;

      if (errorNo == 0){

         var headerTag = xmlDoc.getElementsByTagName("header");
         var media_id  = headerTag[0].childNodes[0].firstChild.nodeValue;

         var utilFrame = document.getElementById("utilFrame");
         utilFrame.src = "index.php?_spAction=saveMedia" + "&_room=media&media_id=" + media_id + "&showHTML=0";
      } else {

         msg = errorText;
         if ( confirm (msg) )
         {
            document.location= "index.php?_room=member&_action=loginForm";
         }
      }
   }
}

//=====================================================//
Media.deleteMedia = function(room, recordType, id){
  url = "index.php?_room=media&_spAction=deleteMedia&room=" + room + "&recordType=" + recordType + "&media_id=" + id ;
  a = window.open(url,"","height=100,width=250,scrollbars=no," +
       "resizable=yes" + ",left=" + (screen.width-250)/2 + ",top=" + (screen.height-100)/2);
}

//=====================================================//
Media.changeRelatedPicture = function(folderName, imageName, imgRefId, linkRefId){
  imgSrcN  = "/media/" + folderName + "/normal/" + imageName;
  imgSrcL  = "/media/" + folderName + "/large/" + imageName;

  document.getElementById(imgRefId).src   = imgSrcN;
  document.getElementById(linkRefId).href = imgSrcL;
}


//============================================================//
//================ SURVEY RELATED ============================//
//============================================================//

Survey.participateMember = function(xUrl) {
   var frmObj = document.forms['survey'];
   var url = "index.php?_room=survey&_spAction=nextPage&showHTML=0";
   var contact_code = prompt("Please input your member id?", "");
   if (!contact_code) {
      return;
   }
   
   xUrl += "&contact_code=" + contact_code;
   
   document.location = xUrl;
   

}

//=====================================================//
Survey.submitSurvey = function() {
   var frmObj = document.forms['survey'];
   var url = "index.php?_room=survey&_spAction=nextPage&showHTML=0";

   var formContent = UtilAjax.getFormValues(frmObj);

   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Survey.submitSurveyHandler();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);

}

//=====================================================//
Survey.submitSurveyHandler = function(survey_answer_id) {
   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {
      var surveyContainer = document.getElementById('surveyContainer');
      var surveyErrorContainer = document.getElementById('surveyErrorContainer');

      var xmlDoc  = XMLHTTP.loadXML(UtilString.trimAll(XMLHTTP.xmlHttpObj.responseText, 1));
      var root    = xmlDoc.documentElement;
      var statusTag = xmlDoc.getElementsByTagName("status");
      var dataTag = xmlDoc.getElementsByTagName("data");
      var errorTag = xmlDoc.getElementsByTagName("errorText");

      var statusText = statusTag[0].childNodes[0].nodeValue;

      if (statusText == "success") {
         var dataText   = dataTag[0].childNodes[0].nodeValue;
         surveyErrorContainer.innerHTML = "";
         surveyContainer.innerHTML = dataText;
      }
      else {
         var errorText  = errorTag[0].childNodes[0].nodeValue;
         surveyErrorContainer.innerHTML = errorText;
         surveyErrorContainer.style.display = "block";
         scroll(0,0);
      }
   }

}

//=====================================================//
Functions.redirectAfterNewWikiContent = function(){

   var url = "index.php?_spAction=newContentRecordID" + "&ajaxRequest=1" + "&showHTML=0";
   var formContent = 'xyz=1';
   XMLHTTP.xmlHttpObj = XMLHTTP.getXMLHTTPObject(function () {Functions.redirectAfterNewWikiContentHandler();});
   XMLHTTP.xmlHttpObj.open("POST", url, true);
   XMLHTTP.xmlHttpObj.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
   XMLHTTP.xmlHttpObj.send(formContent);

   return true;
}

//=====================================================//
Functions.redirectAfterNewWikiContentHandler = function(){

   if (XMLHTTP.xmlHttpObj.readyState==4 || XMLHTTP.xmlHttpObj.readyState=="complete") {
      var xmlDoc = XMLHTTP.loadXML(XMLHTTP.xmlHttpObj.responseText);
      var root = xmlDoc.documentElement;

      var headerTag   = xmlDoc.getElementsByTagName("header");
      var section_id    = headerTag[0].childNodes[0].firstChild.nodeValue;
      var content_id    = headerTag[0].childNodes[1].firstChild.nodeValue;

      var url = "index.php?spAction=editContent&_room=" + section_id + "&content_id=" + content_id;
      //document.location = url;
   }
}