var lcg_MsgTimer = null;

var lcg_Message = function(xmlFile) {
    this.xmlFile = xmlFile;
    this.xmlDoc = loadXml(this.xmlFile);
    
    
};

lcg_Message.prototype.lcgmsg_OuterContainer =  function() {
       var oc = {};
       oc.BgColor = this.xmlDoc.getElementsByTagName("outer_container")[0].getElementsByTagName("background_color")[0].childNodes[0].nodeValue;
       oc.Width = this.xmlDoc.getElementsByTagName("outer_container")[0].getElementsByTagName("width")[0].childNodes[0].nodeValue;
       oc.Height = this.xmlDoc.getElementsByTagName("outer_container")[0].getElementsByTagName("height")[0].childNodes[0].nodeValue;
       oc.BorderStyle = this.xmlDoc.getElementsByTagName("outer_container")[0].getElementsByTagName("border_style")[0].childNodes[0].nodeValue;
       oc.BorderWidth = this.xmlDoc.getElementsByTagName("outer_container")[0].getElementsByTagName("border_width")[0].childNodes[0].nodeValue;
       oc.BorderColor = this.xmlDoc.getElementsByTagName("outer_container")[0].getElementsByTagName("border_color")[0].childNodes[0].nodeValue;
      return oc;

};

lcg_Message.prototype.lcgmsg_ControlsSection = function() {
     var ctrls = {};
     ctrls.CloseBtnImg = this.xmlDoc.getElementsByTagName("controls_section")[0].getElementsByTagName("close_image")[0].childNodes[0].nodeValue;
     return ctrls;

};


lcg_Message.prototype.lcgmsg_MessageSection = function() {
    var msgSection = {};
    msgSection.BgColor = this.xmlDoc.getElementsByTagName("message_container")[0].getElementsByTagName("background_color")[0].childNodes[0].nodeValue;
    if (xmlDoc.getElementsByTagName("message_container")[0].getElementsByTagName("message_content")[0].textContent) {
       // FF
       msgSection.Content = this.xmlDoc.getElementsByTagName("message_container")[0].getElementsByTagName("message_content")[0].textContent;
    }
    else { 
       // IE
       msgSection.Content = this.xmlDoc.getElementsByTagName("message_container")[0].getElementsByTagName("message_content")[0].childNodes[0].nodeValue;
    }
    return msgSection;
};


lcg_Message.prototype.initialize_Message = function(oc_BgColor, oc_Width, oc_Height, oc_BorderStyle, oc_BorderWidth, oc_BorderColor, cs_CloseBtnImg, ms_BgColor, ms_Content) {
     //Create the overlay which will hide the main screen in background
     var mDivOverlay = document.createElement("div");
     mDivOverlay.id = "overlayBox";
     mDivOverlay.style.opacity = 0.7;
     mDivOverlay.style.filter= "alpha(opacity=70)";
     mDivOverlay.style.display = "none";
     document.body.appendChild(mDivOverlay);
     //Commented out 10-24-2011
     //resize_Box(mDivOverlay);      

     var mDiv = document.createElement("div");
     mDiv.id = "outerBox";
     mDiv.style.display = "none";
     document.body.appendChild(mDiv);
     //Commented out 10-24-2011
     //resize_Box(mDiv);
    
     // Create a spacer div to give some padding from top
     var mSpacerDiv = document.createElement("div");
     mSpacerDiv.id = "spacerDiv";
     mDiv.appendChild(mSpacerDiv);

     //Create the outer conatiner for the msg area
     //Need the backgroundColor, width, height, border
     var mOuterDiv = document.createElement("div");
     mOuterDiv.id = "innerContainer";
     mOuterDiv.style.backgroundColor = oc_BgColor;
     mOuterDiv.style.width = oc_Width;
     mOuterDiv.style.height = oc_Height;
     mOuterDiv.style.borderStyle = oc_BorderStyle;
     mOuterDiv.style.borderWidth = oc_BorderWidth;
     mOuterDiv.style.borderColor = oc_BorderColor;
     mDiv.appendChild(mOuterDiv);

     //Create the top control area
     //Need the link to the image for the close button, backgroundColor
     var mControlsDiv = document.createElement("div");
     mControlsDiv.id = "controlsBox";
     mControlsDiv.style.backgroundColor = "#1d234a";
    // mControlsDiv.innerHTML = "<a href='#' onclick='minimize_Message()' title='Close'><img src='" + cs_CloseBtnImg + "' border='0' /></a>";
     mControlsDiv.innerHTML = "<img alt='Close' title='Close' src='" + cs_CloseBtnImg + "' style='border:none' onclick='minimize_Message()' onmouseover='this.style.cursor=\"pointer\"'" + " />";
     mOuterDiv.appendChild(mControlsDiv);

     var mInnerDiv = document.createElement("div");
     mInnerDiv.id = "lcg_msgContainer";
     mInnerDiv.style.backgroundColor = ms_BgColor;
     var iW = oc_Width.replace("px","");
     mInnerDiv.style.width = (iW - 20) + "px";
     var iH = oc_Height.replace("px", "");
     //alert("h = " + iH);
     mInnerDiv.style.height = (iH - 50) + "px";
     mInnerDiv.innerHTML = ms_Content;
     mOuterDiv.appendChild(mInnerDiv);

     return true;
};


function maximize_Message() {
   var msgOverlay = document.getElementById("overlayBox");
   msgOverlay.style.display = "block";
   msgOverlay.style.width = "0px";
   msgOverlay.style.height = "0px";
   if((navigator.userAgent.match(/iPhone/i)) || 
       (navigator.userAgent.match(/iPad/i))) {
      var scrWidth = $(window).width() + "px";
      var scrHeight = $(window).height() + "px";
   }
   else {
      var scrWidth = screen.width + "px";
      var scrHeight = screen.height + "px";
   }
         
   $("#overlayBox").animate({height: scrHeight, width: scrWidth, 
      opacity: 0.7}, 1000);

   var msgContainer = document.getElementById("outerBox");
   msgContainer.style.display = "block";
   msgContainer.style.width = "0px";
   msgContainer.style.height = "0px";
      $("#outerBox").animate({height: "100%", width: "100%", opacity:1.0}, 1000);


   //smMsgContainer
   $("#smMsgContainer").animate({height: "0px", width: "0px", opacity:0.0}, 1000);
   lcg_MsgTimer = window.setTimeout("minimize_Message()", 10000);
   return true;
};

function minimize_Message(e) {
   $("#overlayBox").animate({height: "0px", width: "0px", 
       opacity: 0.0}, 1000);

   $("#outerBox").animate({height: "0px", width: "0px", opacity:0.0}, 1000);

   //smMsgContainer
   $("#smMsgContainer").animate({height: "50px", width: "108px", opacity:1.0}, 1000, function() {
   document.getElementById("overlayBox").style.display = "none";
   document.getElementById("outerBox").style.display = "none";});


   if(lcg_MsgTimer) {
      window.clearTimeout(lcg_MsgTimer);
      lcg_MsgTimer = null;
   } 
}



function resize_Box (oDiv) {
     if(window.innerWidth) {
       oDiv.style.height = window.innerHeight + "px";
       oDiv.style.width = window.innerWidth + "px"; 
     }
     else {   
       oDiv.style.height = window.screen.height + "px";
       oDiv.style.width = "100%"; 
     }
}



function getCookie(c_name) {
   var i,x,y,ARRcookies=document.cookie.split(";");
   for (i = 0; i< ARRcookies.length; i++) {
       x = ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
       y = ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
       x = x.replace(/^\s+|\s+$/g,"");
       if (x == c_name)
          return unescape(y);
   }
}

function setCookie(c_name, value, exdays) {
   var exdate = new Date();
   exdate.setDate(exdate.getDate() + exdays);
   var c_value = escape(value) + ((exdays == null) ? "" : "; expires = "+exdate.toUTCString());
   document.cookie = c_name + "=" + c_value;
}

lcg_Message.prototype.checkCookie = function() {
  // alert("check cookie called");
   var cookieLCGMsg = getCookie("LCGMsg");
   if (cookieLCGMsg != null && cookieLCGMsg != "") {
      //alert("found cookie");
      return true;
   }
   else {
     //alert("cookie not found");
     cookieLCGMsg = "Display LCG message.";
     setCookie("LCGMsg", cookieLCGMsg, 365);
     if (document.all)
        window.setTimeout("cookie_Initiated()", 2000);
     else
        window.setTimeout("cookie_Initiated()", 1000);
     return false;
  }
};

function cookie_Initiated() {
 
   maximize_Message();
}


function loadXml(xmlFile) {
   if (window.XMLHttpRequest) {
      // code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
   }
   else {
      // code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
   xmlhttp.open("GET",xmlFile,false);
   xmlhttp.send();
   xmlDoc=xmlhttp.responseXML;
   return xmlDoc;
}
