var req;
var which;
var FlyerLink = "";

function ShowDisplay(target)
{
    document.getElementById("divDisplayVideo").className = "divMainDisplayItemHidden";    
    document.getElementById("divDisplayPictures").className = "divMainDisplayItemHidden";    
    document.getElementById("divDisplayMap").className = "divMainDisplayItemHidden";    
    document.getElementById("divDisplaySchools").className = "divMainDisplayItemHidden";    
    document.getElementById("divDisplayAreaInfo").className = "divMainDisplayItemHidden";    
    document.getElementById("divDisplayDetails").className = "divMainDisplayItemHidden";    
    document.getElementById("divDisplayRealtor").className = "divMainDisplayItemHidden";    
    
    document.getElementById(target).className = "divMainDisplayItemVisible";    
}

function DownloadFlyer()
{
    if(FlyerLink == "")
    {
        //alert("This flyer is in production.  Check back soon!");        
    } else {
        window.open(FlyerLink);
    }
}

function BuildTour()
{
    //if(getQueryVariable("nomls") == false)
    if((getQueryVariable("nomls") == false) && (subDomain() == false))        
    {
        document.getElementById("divRealtorInfo").style.visibility = "visible";            
        document.getElementById("btnMap").style.visibility = "visible";
        document.getElementById("btnSchools").style.visibility = "visible";
        document.getElementById("btnAreaInfo").style.visibility = "visible";            
        document.getElementById("btnDetails").style.visibility = "visible";
        document.getElementById("btnFlyer").style.visibility = "visible";
    } else {
        document.getElementById("divRealtorInfo").style.visibility = "hidden";            
        document.getElementById("btnMap").style.visibility = "hidden";
        document.getElementById("btnSchools").style.visibility = "hidden";
        document.getElementById("btnAreaInfo").style.visibility = "hidden";            
        document.getElementById("btnDetails").style.visibility = "hidden";
        document.getElementById("btnFlyer").style.visibility = "hidden";
    }
    document.getElementById("btnPictures").style.visibility = "visible";
    document.getElementById("btnVideo").style.visibility = "visible";                
    
    retrieveURL("tour.xml");
}

function getQueryVariable(variable) 
{ 
    var query = window.location.search.substring(1); 
    var vars = query.split("&"); 
    for (var i=0;i<vars.length;i++) 
    { 
        var pair = vars[i].split("="); 
        if (pair[0] == variable) 
        { 
            return pair[1]; 
        }
    } 
    return false;
} 

function retrieveURL(url) {
    if (window.XMLHttpRequest) { // Non-IE browsers
      req = new XMLHttpRequest();
      req.onreadystatechange = processStateChange;
      try {
        req.open("GET", url, true);
      } catch (e) {
        alert(e);
      }
      req.send(null);
    } else if (window.ActiveXObject) { // IE
      req = new ActiveXObject("Microsoft.XMLHTTP");
      if (req) {
        req.onreadystatechange = processStateChange;
        req.open("GET", url, true);
        req.send();
      }
    }
}

function processStateChange() {
    if (req.readyState == 4) { // Complete
      if (req.status == 200) { // OK response
        //document.getElementById("urlContent").innerHTML = req.responseText;
        var text;
        text = req.responseText;
        try //Internet Explorer
        {
          xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async="false";
          xmlDoc.loadXML(text);
        }
        catch(e)
        {
          try //Firefox, Mozilla, Opera, etc.
            {
            parser=new DOMParser();
            xmlDoc=parser.parseFromString(text,"text/xml");
            }
          catch(e) {alert(e.message)}
        }
        
        if((getQueryVariable("nomls") == false) && (subDomain() == false))
        {
            document.getElementById("divAddressAndMLS").innerHTML=xmlDoc.getElementsByTagName("Address")[0].childNodes[0].nodeValue + "&nbsp&nbsp;&nbsp&nbsp;|&nbsp&nbsp;&nbsp&nbsp;MLS # " + xmlDoc.getElementsByTagName("MLS")[0].childNodes[0].nodeValue;
        } else {
            document.getElementById("divAddressAndMLS").innerHTML=xmlDoc.getElementsByTagName("Address")[0].childNodes[0].nodeValue + "&nbsp&nbsp;&nbsp&nbsp;";//|&nbsp&nbsp;&nbsp&nbsp;MLS # " + xmlDoc.getElementsByTagName("MLS")[0].childNodes[0].nodeValue;            
        }                
        document.getElementById("divTourNameAndPrice").innerHTML=xmlDoc.getElementsByTagName("Name")[0].childNodes[0].nodeValue + " - " + xmlDoc.getElementsByTagName("Price")[0].childNodes[0].nodeValue;        
        
        document.getElementById("divDisplayDetails").innerHTML=xmlDoc.getElementsByTagName("Details")[0].childNodes[0].nodeValue;
        document.getElementById("divDisplayVideo").innerHTML=xmlDoc.getElementsByTagName("VideoObject")[0].childNodes[0].nodeValue;
        document.getElementById("divDisplayMap").innerHTML=xmlDoc.getElementsByTagName("Map")[0].childNodes[0].nodeValue;
        
        document.getElementById("fraAreaInfo").src=xmlDoc.getElementsByTagName("AreaInfoURL")[0].childNodes[0].nodeValue;
        document.getElementById("fraSchools").src=xmlDoc.getElementsByTagName("SchoolsURL")[0].childNodes[0].nodeValue;
               
        //document.getElementById("divRealtorInfo").innerHTML=xmlDoc.getElementsByTagName("RealtorName")[0].childNodes[0].nodeValue;
        //document.getElementById("divRealtorInfo").innerHTML+="<br />" + xmlDoc.getElementsByTagName("RealtorPhone")[0].childNodes[0].nodeValue;
        //document.getElementById("divRealtorInfo").innerHTML+="<br />" + xmlDoc.getElementsByTagName("RealtorEmail")[0].childNodes[0].nodeValue;
        //document.getElementById("divRealtorInfo").innerHTML+="<br />" + xmlDoc.getElementsByTagName("RealtorWebsite")[0].childNodes[0].nodeValue;        
        document.getElementById("divRealtorInfo").innerHTML="Brought to you by:<br><b>" + xmlDoc.getElementsByTagName("RealtorName")[0].childNodes[0].nodeValue + "</b><br><br>Click for contact info";
        document.getElementById("divDisplayRealtor").innerHTML=xmlDoc.getElementsByTagName("RealtorContactHTML")[0].childNodes[0].nodeValue;
        
        FlyerLink = xmlDoc.getElementsByTagName("FlyerFile")[0].childNodes[0].nodeValue;
                
        if(FlyerLink == "")
        {
            document.getElementById("btnFlyer").style.visibility = "hidden";
        }
      } else {
        alert("Problem: " + req.statusText);
      }
    }
}

function subDomain() 
{ 
    var url = location.href;
    // IF THERE, REMOVE WHITE SPACE FROM BOTH ENDS
    url = url.replace(new RegExp(/^\s+/),""); 
    
    // START
    url = url.replace(new RegExp(/\s+$/),""); 
    // END 
    
    // IF FOUND, CONVERT BACK SLASHES TO FORWARD SLASHES
    url = url.replace(new RegExp(/\\/g),"/"); 
    
    // IF THERE, REMOVES 'http://', 'https://' or 'ftp://' FROM THE START
    url = url.replace(new RegExp(/^http\:\/\/|^https\:\/\/|^ftp\:\/\//i),""); 
    
    // IF THERE, REMOVES 'www.' FROM THE START OF THE STRING
    url = url.replace(new RegExp(/^www\./i),""); 
    
    // REMOVE COMPLETE STRING FROM FIRST FORWARD SLASH ON
    url = url.replace(new RegExp(/\/(.*)/),""); 
    
    // REMOVES '.??.??' OR '.???.??' FROM END - e.g. '.CO.UK', '.COM.AU'
    if (url.match(new RegExp(/\.[a-z]{2,3}\.[a-z]{2}$/i))) 
    {      
        url = url.replace(new RegExp(/\.[a-z]{2,3}\.[a-z]{2}$/i),""); 
        // REMOVES '.??' or '.???' or '.????' FROM END - e.g. '.US', '.COM', '.INFO'
    } else if (url.match(new RegExp(/\.[a-z]{2,4}$/i))) {
        url = url.replace(new RegExp(/\.[a-z]{2,4}$/i),"");
    } 
    
    // CHECK TO SEE IF THERE IS A DOT '.' LEFT IN THE STRING
    var subDomain = (url.match(new RegExp(/\./g))) ? true : false; 
    
    var returnValue = subDomain;
    
    //returnValue = returnValue.toLowerCase();
    //alert(returnValue);
    return(returnValue); 
}
