//local no server test path, example: = file:///C:/MOSHSite
//jigsaw: ''
//web server path = '/mosh';
//------------------------------------------------------
var path = '';
//------------------------------------------------------

var error = '<b>An error has occurred, please click on the back button of your browser and try again.</b>';

//detect browser
var browser=navigator.appName;
var IE;
var IE6;
if(browser=="Microsoft Internet Explorer" && /MSIE (\d+\.\d+);/.test(navigator.userAgent))
    {
        var ieversion = new Number(RegExp.$1)
        if(ieversion < 8)
            {
            IE = true;
            }
        if (ieversion < 7) {
            IE6 = true;
        }
    }
    
//show page content when all page elements are loaded;    
//addLoadEvent(turnSiteOn);
//---------------------------------------------------------------------

	//img rollover
	function imgRolloverOn()
	{
		this.imgSave = document.images[this.imgName].src;
		document.images[this.imgName].src = this.imgOn.src;
	}
	
	function imgRolloverOff()
	{
		document.images[this.imgName].src = this.imgSave;
	}
	
	function Rollover(imgName, on)
	{
		this.imgName = imgName;
		this.imgOn = new Image();
		this.imgOn.src = on;
		this.on = imgRolloverOn;
		this.off = imgRolloverOff;
	}

//---------------------------------------------------------------------

//trim functions
function isSpace(c)
{ return ( (c == ' ') || (c == '\r') || (c == '\n') || (c == '\t') ); }

function trimLeft(str)
{
	var i = 0, len = str.length;
	var newStr = "";

	while ( (i < len) && isSpace( str.charAt(i) ) )
		i++;

	while (i < len)
		newStr += str.charAt(i++);

	return newStr;
}

function trimRight(str)
{
	var i = str.length - 1;
	var newStr = "";
	
	while ( (i >= 0) && isSpace( str.charAt(i) ) )
		i--;

	while (i >= 0)
		newStr = str.charAt(i--) + newStr;

	return newStr;
}

function trim(str)
{ return trimRight( trimLeft(str) ); }

//---------------------------------------------------------------------

/*topnav rollover and preload*/
var rhome = new Rollover("imgHome", path + "/images/nav_home_over.gif");
var raboutus = new Rollover("imgAbout", path + "/images/nav_aboutus_over.gif");
var rphysicians = new Rollover("imgPhy", path + "/images/nav_physicians_over.gif");
var rservices = new Rollover("imgServices", path + "/images/nav_services_over.gif");
var rpatientsupport = new Rollover("imgPatient", path + "/images/nav_patientsupport_over.gif");
var rnews = new Rollover("imgNews", path + "/images/nav_news_over.gif");

//---------------------------------------------------------------------

//topnav rollovers
function topNavRoll(section,state)
    {
        var sectionNav = document.getElementById('section').value;
        var imgID = eval('r' + section);
        if(state == 'on')
            {
                if(section != sectionNav)
                    {
                    imgID.on();
                    }
            }
       else
            {
                if(section != sectionNav)
                    {
                    imgID.off();
                    }
            }
    }
//---------------------------------------------------------------------

/*wait until all page is loaded before displaying page */
function turnSiteOn()
    {
        document.getElementById('main').style.display = 'block';
        document.getElementById('offline').style.display = 'none';
    }

//---------------------------------------------------------------------

/*updating the navigation */
function navigation(nav,shell)
    {
    if(nav != '' && nav != 0)
        {
            updateOnImg(nav,shell);
        }
    }

//---------------------------------------------------------------------

/*updating the navigation sub function*/
function updateOnImg(nav,shell)
    {
        document.getElementById(shell).innerHTML = updatePath(shell);
        
        if(nav != 'footer' && nav != 'nav_none')
            {
            var navHTML = document.getElementById(nav).innerHTML;
            navHTML = navHTML.replace(/.gif/g,"_on.gif");
            document.getElementById(nav).innerHTML = navHTML;
            }
        //document.getElementById('noJavaScript').style.display = 'none';
        //document.getElementById('main').style.display = 'block';
    }

//---------------------------------------------------------------------

//updating path if needed.
function updatePath(id)
    {
        var updatedContent = document.getElementById(id).innerHTML;
        var domainImg = 'src="\/';
        var domainLink = 'href="\/';
        if(IE == true)
            {
                domainImg = 'src="http:\/\/' + document.domain + '\/';
                domainLink = 'href="http:\/\/' + document.domain + '\/';
            }
        
        updatedContent = updatedContent.replace(new RegExp(domainImg, 'g'),"src=\"" + path + "\/");
        updatedContent = updatedContent.replace(new RegExp(domainLink, 'g'),"href=\"" + path + "\/");
        
        return updatedContent;
    }

//---------------------------------------------------------------------
/* get querystring */
//querystring function
function getQuerystring(key, default_)
    {
      if (default_==null) default_=""; 
      key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
      var qs = regex.exec(window.location.href);
      if(qs == null)
        return default_;
      else
        return qs[1];
    }

//---------------------------------------------------------------------

/* get hidden input value, run ajaxcall and set navigation */
function build(section)
{
//get the ajax call

    var xmlhttpTopNav;
    var xmlhttpSideNav;
    var xmlhttpFooter;
    var xmlhttpContactData;
    var xmlhttpBillingData;
    var xmlhttpBioData;
    var xmlhttpBioLocationData;
    var xmlhttpShareNav;
    var ajaxTopNav = path + '/global/AjaxData/topContent.html';
    var ajaxFooter = path + '/global/AjaxData/footer.html';
    var ajaxCall = path + '/global/AjaxData/' + section + 'SideNav.html';
    var ajaxContactData = path + '/global/AjaxData/contactusData.html';
    var ajaxBilling = path + '/global/AjaxData/billingQuestions.html';
    var ajaxUtilShareNav = path + '/global/AjaxData/utilShareNav.html';
    var sideNavElement = 'sideNavShell';
    var contactDataElement = 'contactUsData';
    var billingDataElement = 'billingData';
    var BioDataElement = 'biosParsing';
    var BioLocationDataElement = 'biosLocationParsing';
    var shareNavElement = 'utilNavShell';
    var side = document.getElementById('side').value;  //getQuerystring('side','none');

    getAjaxCall(xmlhttpTopNav,ajaxTopNav,'TopContentShell');
    getAjaxCall(xmlhttpFooter,ajaxFooter,'footerShell');
    
switch(section)
    {
    case 'home':
    getAjaxCall(xmlhttpContactData,ajaxContactData,contactDataElement);
    getAjaxCall(xmlhttpSideNav,ajaxBilling,billingDataElement);
    buildSharedXML();
    break;
case 'aboutus':
    getAjaxCall(xmlhttpSideNav, ajaxCall, sideNavElement);
    getAjaxCall(xmlhttpContactData, ajaxContactData, contactDataElement);
    switch (side) {
        case 'contactUs':
            getAjaxCall(xmlhttpBillingData, ajaxBilling, billingDataElement);
            break;
        case 'mapDirections':
            getAjaxCall(xmlhttpBillingData, ajaxBilling, billingDataElement);
            break;
        case 'ourPatientStories':
            getAjaxCall(xmlhttpBillingData, ajaxBilling, billingDataElement);

            var details = document.getElementById('details').value;
            if (details == 'yes') {
                getAjaxCall(xmlhttpShareNav, ajaxUtilShareNav, shareNavElement);
                storiesDetails();
            } else {
                XSLTDisplay(path + '/global/AjaxData/patientStories/stories.xml', path + '/global/AjaxData/patientStories/stories.xsl', 'xslStories','');
            }
            break;
    }
    break;
    case 'patientsupport':
    getAjaxCall(xmlhttpSideNav,ajaxCall,sideNavElement);
    getAjaxCall(xmlhttpContactData,ajaxContactData,contactDataElement);
        switch(side)
            {
            //case 'overview':
            default:
            getAjaxCall(xmlhttpBillingData,ajaxBilling,billingDataElement);
            break;
            }
    break;
    case 'physicians':
    getAjaxCall(xmlhttpContactData,ajaxContactData,contactDataElement);
    getAjaxCall(xmlhttpBillingData,ajaxBilling,billingDataElement);
    break;
    case 'bios':
    paresBiosXML();
    break;
    case 'services':
    getAjaxCall(xmlhttpSideNav,ajaxCall,sideNavElement);
    getAjaxCall(xmlhttpContactData,ajaxContactData,contactDataElement);
    getAjaxCall(xmlhttpBillingData,ajaxBilling,billingDataElement);
    break;
case 'news':
    getAjaxCall(xmlhttpSideNav, ajaxCall, sideNavElement);
    getAjaxCall(xmlhttpContactData, ajaxContactData, contactDataElement);
    getAjaxCall(xmlhttpBillingData, ajaxBilling, billingDataElement);

    var details = document.getElementById('details').value;
    if (details == 'yes') {
        getAjaxCall(xmlhttpShareNav, ajaxUtilShareNav, shareNavElement);
        newsDetails();
    } else {
        buildXSLT();
        setHeader();
    }
    break;
case 'eventdetails':
    getAjaxCall(xmlhttpShareNav, ajaxUtilShareNav, shareNavElement);
    getAjaxCall(xmlhttpContactData,ajaxContactData,contactDataElement);
    paresNewsXML();
    break;
    case 'util':
    getAjaxCall(xmlhttpSideNav,ajaxCall,sideNavElement);
        if(side == 'privacyStatement')
            {
            getAjaxCall(xmlhttpContactData,ajaxContactData,contactDataElement);
            }
    break;
    default:
    //getAjaxCall(xmlhttpSideNav,ajaxCall,sideNavElement);
    break;
    }
}

//---------------------------------------------------------------------

//getting back ajax data and processing it
function ajaxStringPartsing(ajaxString,element)
        {
        
        var errorMessage = 'An error has accured! Please refresh your browser, if error still accures, please contact administrator!';
        var noAjax = 'An error has accured! JavaScript is disabled, or your browser does not support AJAX!';
        
        //alert(ajaxString + ' - ' + element);
        if(ajaxString == null || ajaxString == '' || ajaxString == 'noAjax')
            {
                
            if(ajaxString == 'noAjax')
                {
                    errorMessage = noAjax;
                }
            document.getElementById(element).innerHTML = errorMessage;
            }
          else
            {
             buildAjaxOutput(ajaxString,element);
            }
        }

//---------------------------------------------------------------------

/*calling the navigation function when ajax call is complete*/
function ajaxComplete(state)
    {
    var section = document.getElementById('section').value;
    var side = document.getElementById('side').value;
    var sectionNav = '';
    var sideNav = '';
    var footerNav = 'footer';
    var utilNav = 'utilNav';
    sectionNav = 'nav_' + section;
    sideNav = 'sidenav_' + side;
    
    switch(state)
        {
        case 'top':
        if(checkInnerHTML('TopContentShell') == 0)
            {
                ajaxComplete('top');
            }
        else
            {
                navigation(sectionNav,'TopContentShell');
            }
        
        break;
        case 'side':
        if(checkInnerHTML('sideNavShell') == 0)
            {
                ajaxComplete('side');
            }
        else
            {
                navigation(sideNav,'sideNavShell');
            }
        
        //navigation(sideNav,'sideNavShell');
        break;
        case 'footer':
        if(checkInnerHTML('footerShell') == 0)
            {
                ajaxComplete('footer');
            }
        else
            {
                navigation(footerNav,'footerShell');
            }
        
        //navigation(footerNav,'footerShell');
            break;
        case 'utilShare':
            if (checkInnerHTML('utilNavShell') == 0) {
                ajaxComplete('utilShare');
            }
            else {
                if (IE6 != true) {
                    navigation('nav_none', 'utilNavShell');
                }
                
            }
            break;
        default:
        //do nothing
        break;
        }
    }
//---------------------------------------------------------------------

function checkInnerHTML(id)
    {
    var innerHTML;
    var updatedContent = document.getElementById(id).innerHTML;
    if(updatedContent == '' || updatedContent == null)
        {
        innerHTML = 0;
        }
    else
        {
        innerHTML = 1;
        }
    return innerHTML;
    }


//---------------------------------------------------------------------

    //building contact us and billing images after getting data back from ajax
    function buildImg(element)
        {
            var imgCode;
            var section = document.getElementById('section').value;
            var side = document.getElementById('side').value;
            switch(element)
                {
                    case 'contactUsData':
                        if(section == 'home')
                        {
                            imgCode = '<h2><img src="' + path + '/images/home/subhead_mosh.png" width="145" height="29" alt="Midwest Orthopedic Specialty Hospital" /></h2>';
                        }
                        else
                        {
                          if(side == 'contactUs' || side == 'mapDirections')
                            {
                                imgCode = '<h2><img src="' + path + '/images/aboutus/contactus/sub_mosh.gif" alt="Midwest Orthopedic Specialty Hospital" /></h2>';
                            }
                          else if (section == 'util')
                            {
                                imgCode = '';
                            }
                          else
                            {
                                imgCode = '<h2><img src="' + path + '/images/aboutus/sub_contactUs.png" width="80" height="13" alt="Contact Us" /></h2>';
                            }
                        }
                    break;
                    case 'billingData':
                    if(section == 'home')
                        {
                            imgCode = '<h2><img src="' + path + '/images/home/subhead_billing.png" width="133" height="14" alt="Billing Questions" /></h2>';
                        }
                     else
                        {
                            imgCode = '<h2><img src="' + path + '/images/aboutus/contactus/sub_billingQuestions.png" width="133" height="14" alt="Billing Questions" /></h2>';
                        }
                    break;
                    default:
                    //no image.
                    break;
                }
             return imgCode;
        }

//---------------------------------------------------------------------

    /* get data from ajaxcall and build it */
    function buildAjaxOutput(ajaxoutput, element)
        {
        var additionalData = '';
        switch(element)
            {
                case 'TopContentShell':
                    document.getElementById(element).innerHTML = ajaxoutput;
                    ajaxComplete('top');
                    break;
                case 'sideNavShell':
                    document.getElementById(element).innerHTML = ajaxoutput;
                    ajaxComplete('side');
                    break;
                case 'contactUsData':
                    additionalData = buildImg('contactUsData');
                    document.getElementById(element).innerHTML = additionalData + ajaxoutput;
                    break;
                case 'billingData':
                    additionalData = buildImg('billingData');
                    document.getElementById(element).innerHTML = additionalData + ajaxoutput;
                    break;
                case 'footerShell':
                    document.getElementById(element).innerHTML = ajaxoutput;
                    ajaxComplete('footer');
                    break;
                case 'utilNavShell':
                    document.getElementById(element).innerHTML = ajaxoutput;
                    ajaxComplete('utilShare');
                    break;
                default:
                document.getElementById(element).innerHTML = ajaxoutput;
                break;
            }
        }

//----------------------------------------------------------------------

/* wait on page to load */
function addLoadEvent(func) 
{
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

//---------------------------------------------------------------------

/*Load xml string */
function loadXMLString(txt) 
{
try //Internet Explorer
  {
  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
  xmlDoc.async="false";
  xmlDoc.loadXML(txt);
  return xmlDoc;  
  }
catch(e)
  {
  try //Firefox, Mozilla, Opera, etc.
    {
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(txt,"text/xml");
    return xmlDoc;
    }
  catch(e) {alert(e.message)}
  }
return null;
}
//---------------------------------------------------------------------

/* Load XMl file */
function loadXMLDoc(dname) 
{
    var xmlDoc;
    try
    {
      xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
      xmlDoc.async=false;
      xmlDoc.load(dname);
      return xmlDoc;
    }
    catch(e)
    {
        try{
          xmlDoc = new window.XMLHttpRequest();
          xmlDoc.open("GET",dname,false);
          xmlDoc.send("");
          return xmlDoc.responseXML;
        }
        catch(e) {alert(e.message)}
    }
return null;
}

//---------------------------------------------------------------------

//parsing and building html sub function
function checkIfNewsEmpty(field)
    {
         if(field != 'empty' && field != null)
            {
                outerHTML = true;
            }
         else
            {
               outerHTML = false;
            }
     return outerHTML;
 }

 function getQuery() {
     return 1;
 }