 /* ******************************* Default Track Clicks  ************************ */  
    function trackClick(el)
    {
        return;
    }
    
/* ******************************* Ads Track Clicks  ************************ */      
    function trackClickAds(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackAds");
    }
    
/* ******************************* Availbility Page Track Clicks  ************************ */      
    function trackClickAvail(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackAvail");
    }  
    
/* ******************************* Bed and Breakfast Track Clicks  ************************ */     
    function trackClickBB(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackBB");
    }   
     
/* ******************************* Cottages & cabins Track Clicks  ************************ */      
    function trackClickCC(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackCC");
    }  
    
/* ******************************* Dining based Track Clicks  ************************ */      
    function trackClickDin(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackDin");
    }   
    
/* ******************************* Horseback riding based Track Clicks  ************************ */       
    function trackClickHrse(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackHrse");
    }   
              
/* ******************************* General Lodging Track Clicks  ************************ */  
    function trackClickLodg(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackLodg");
    }
    
/* ******************************* Map based Track Clicks  ************************ */    
     
    function trackClickMap(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackMap");
    }  
    
/* ******************************* Menu Track Clicks  ************************ */      
    function trackClickMenu(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackMenu");
    }
    
    /* ******************************* Menu Track Clicks  ************************ */      
    function trackClickMisc(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackMisc");
    }
  
/* ******************************* Recreation based Track Clicks  ************************ */       
    function trackClickRecr(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackRecr");
    }  

/* ******************************* Relaxation based Track Clicks  ************************ */        
    function trackClickRelx(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackRelx");
    }  
    
/* ******************************* Rafting based Track Clicks  ************************ */        
    function trackClickRaft(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackRaft");
    } 
    
/* ******************************* Specials based Track Clicks  ************************ */        
    function trackClickSpcl(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackSpcl");
    }    
    
/* ******************************* Vacation Homes Track Clicks  ************************ */   
    function trackClickVH(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackVH");
    }  
         
/* ******************************* Wedding based Track Clicks  ************************ */        
    function trackClickWed(el)
    {
        var urlTrack = el.href;
        var str;
        
        var baseName = findBaseName(urlTrack);
        trackDB(baseName,"TrackWed");
    }  
        
/* ******************************* root routine  ************************ */           
    function trackDB(baseName,table)
    {
        var trackCode;
/*
    This method uses AJax to send the XMLHttpRequest to the ./trackStats.php
    routine with the tracking name that needs to be logged into the DB on the server side.
    The code was modeled after examples at www.w3schools.com/PHP/php_ajax_database.asp.
    
    In essence the xmlhttp = new part creates an empty object that will guide us
    sending a request to the ajax/Tracking.php script that communicates with the database.
    The xmlhttp.onreadystatechange function waits for the php script to finish and then if the
    state of the conversation is OK, reads the reponse from the script. In this small example the
    response will not be any html elements or parts but either "success" or a database error message
    that will get displayed in an alert box.
*/
            
        if (window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera, Safari
        {
            xmlhttp=new XMLHttpRequest();
        }
        else                       // code for IE6, IE5
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        
        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)  // Need to understand these status codes
            {
                 if (xmlhttp.responseText != "success") 
                 {
                    // alert(xmlhttp.responseText);
                 };
            }
        }
        
        trackCode = "./ajax/ajaxTracking.php?url=" + encodeURIComponent(baseName) +"&table=" + encodeURIComponent(table); 
        xmlhttp.open("GET",trackCode,true);
        xmlhttp.send();
    }
/* ******************************* routine to find important part of url  ************************ */     
    function findBaseName(url) 
    {   
        var urlStart, urlEnd;
        var urlFront = "http://www.hotspringsnc.org/";
        
        if(url.length == 0)                                   // zero length request
        {
            return "empty";
        }
      
 /*
   First determine if this is an internal page 
 */    
        if (url.indexOf("http://www.hotspringsnc.org") != -1) // Is it a HSTA internal page
        {
            urlStart = url.indexOf("?subject=");              // yes & Is it a subject page ??       
            if(urlStart != -1)
            {
                 urlStart = urlStart + 9;                     // Yep, find the keyword
                 urlEnd = url.length; 
                 
                 return url.substr(urlStart,urlEnd-urlStart);
            }
       
            else if(url.indexOf("pages/") != -1)              // Is itinternally hosted page?
            {
                 urlStart = url.lastIndexOf("/") + 1;         // Yep find the page name
                 urlEnd = url.length - 1
                 return url.substr(urlStart,urlEnd-urlStart + 1);
            }
            
            urlStart = url.indexOf("http://www.hotspringsnc.org/")+urlFront.length; // or a regular HSTA page
            return url.substring(urlStart);
        }       
 /*
   By here we should only have external pages left
 */         
        urlStart = url.indexOf("http://");                   // Take off the http:// part
        if (urlStart != -1)           
        {
            url = url.substring(urlStart+7);                 // Take off the http:// part
            nextSlash = url.indexOf("/");                    // Is there another slash?
            if (nextSlash == -1)
            {
                 return url;                                 // Nope return the domain part
            }
            else
            {
                return url.substr(0, nextSlash);   
            }
        }
        return url;
    } 
