Virginia's Blue Ridge Visitor's Guide (2024)

Virginia's Blue Ridge Visitor's Guide (2)Request an official Visitor's Guide to begin planning your visit to the Roanoke Valley in Virginia's Blue Ridge Mountains! Please complete the form below to receive your Visitor's Guide within three weeks.

In a hurry? You can download the online Virtual Visitor's Guide now!

The guide is complete with information on attractions, accommodations, shopping, outdoor recreation, events, maps and more.

It's a great resource for someone passing through the area, the family planning the next vacation, and for large groups that will be visiting the area, such as conventions, reunions, and weddings.

The guide also features the official Virginia's Blue Ridge map, which clearly identifies the region and many of the key places of interest within the area.

You'll be able to use this map to navigate to all your favorite spots during a Blue Ridge Day.

With so much to experience in Virginia's Blue Ridge, it's helpful to have a guide that provides information about how to find all the things you're most interested in - from places to stay, to the museums and attractions you can check off your bucket list.

The Virginia's Blue Ridge Visitor's Guide also features some exclusive specials and discounts!

Fill out the following form to receive your free copy!

We respect your privacy. By entering your information below and clicking submit, you are confirming that you have read and agree to our Privacy Policy.

'+ '

'+' '+ ' '+ ' '+' '+'
'+ '<<' + this.getCurMonthName(sDate) + '>> '+ ' '+ '<<' + sDate.getFullYear() + '>>'+ '

'+'

'+'' + this.dayListTds() + '' + this.calDays(id, sDate, useToday) +'

'+'

' }; return d.calendar; }, calDays: function(id, curDate, useToday){ var rtnvar = ''; var numDaysInMonth = new Date(curDate.getFullYear(), curDate.getMonth()+1, 0).getDate(); var startofmonth = new Date(); startofmonth = new Date(curDate.getFullYear(),curDate.getMonth(),1); var rows = Math.ceil((startofmonth.getDay()+numDaysInMonth)/7); var cday = 1; var firstday = startofmonth.getDay()+1; var lastday = numDaysInMonth; var loopstart = 0; var loopend = 0; var currentDate = new Date(); currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate()); for(var i = 1; i <= rows; i++){ rtnvar += '

'; loopstart = ((i-1)*7)+1; loopend = loopstart+6; for(var d = loopstart; d <= loopend; d++){ rtnvar += ''; if(d >= firstday && cday <= lastday){ var dt = new Date(curDate.getFullYear(), curDate.getMonth(), cday); var tmpDt = new Date(curDate.getFullYear(), curDate.getMonth(), curDate.getDate()); var className = (dt.getTime() == tmpDt.getTime() && useToday) ? 'today' : 'Day'; className += dt.getTime() == currentDate.getTime() ? ' currentDay' : ''; var thisdate = this.convertToUserDate(parseInt(dt.getMonth()+1,10) +'/'+parseInt(dt.getDate(),10)+'/'+parseInt(dt.getFullYear(), 10)); rtnvar += '' + cday + '
'; cday++; }else{ rtnvar += '
'; } } rtnvar += '

'; } return rtnvar; }, replaceCal: function (id, sDate) { var cal = this.createCal(id, sDate, false); if (document.getElementById(id + '_calendar')) { document.getElementById(id + '_calendar').innerHTML = cal; } else { var newDomElm = document.createElement('div'); newDomElm.style.position = 'absolute'; newDomElm.innerHTML = cal; newDomElm.id = id + '_calendar'; if (document.getElementById('fieldcontainer_' + id)) { document.getElementById('fieldcontainer_' + id).appendChild(newDomElm); } } return; }, updateDate: function(id, curDate){ document.getElementById(id).value = curDate; //document.getElementById(id).onchange(); if(document.getElementById(id + '_calendar')){ document.getElementById('fieldcontainer_' + id).removeChild(document.getElementById(id + '_calendar')); } if(document.getElementById('datepicker_' + id)){ document.getElementById('datepicker_' + id).onclick = function(){ svcrm.formBuilderScripts.fbCalendar.showDatePicker(document.getElementById(id), document.getElementById(id).value); }; } }, showDatePicker: function(domElm, curDate){ var cleanID = domElm.id.replace('datepicker_', ''); var sDate = new Date(); if(!document.getElementById(cleanID + '_calendar')){ if(document.getElementById(cleanID)){ try{ if(curDate){ sDate = this.convertToUSDate(curDate); if(sDate == 'Invalid Date'){ sDate = new Date(); } } }catch(e){ sDate = new Date(); } this.getCalendar(cleanID, sDate); } }else{ document.getElementById('fieldcontainer_' + cleanID).removeChild(document.getElementById(cleanID + '_calendar')); } }, getCalendar: function(id, curDate){ var newDomElm = document.createElement('div'); newDomElm.style.position = 'absolute'; newDomElm.innerHTML = this.createCal(id, curDate, true); newDomElm.id = id + '_calendar'; newDomElm.className = 'svcrm_datepicker'; document.getElementById('fieldcontainer_' + id).appendChild(newDomElm); }, convertToUSDate: function(dte){ var rtnvar = false; var wrk = dte.split(crm_locale.YAHOO_DATE_FIELD_DELIMITER); var wrkdate = []; var mydate = ''; if(wrk.length > 0){ wrkdate[0] = parseInt(wrk[crm_locale.YAHOO_MDY_DAY_POSITION-1],10); //always holds the day wrkdate[1] = parseInt(wrk[crm_locale.YAHOO_MDY_MONTH_POSITION-1],10); //always holds the month wrkdate[2] = parseInt(wrk[crm_locale.YAHOO_MDY_YEAR_POSITION-1],10); //always holds the year if(wrkdate[1] > 0 && wrkdate[1] < 13){ //Validate the months var monthsWithDaysRegExp = new RegExp("(4|6|9|11)", "gi"); var numdays = 31; if(wrkdate[1] == 2){//feb numdays = 28; //check if leap year if (wrkdate[2] % 4 === 0 && (wrkdate[2] % 100 !== 0 || wrkdate[2] % 400 === 0)){ numdays = 29; } }else if(monthsWithDaysRegExp.test(wrkdate[1])){ numdays = 30; } if(wrkdate[0] > 0 && wrkdate[0] <= numdays){ //validate the days in this month if(wrkdate[2].toString().length == 2){ //if we have a two digit year pad it wrkdate[2] = chkYear(wrkdate[2]); } if(wrkdate[2].toString().length == 4 && !isNaN(wrkdate[2])){ //validate the year, could expand this /* we are here we have a valid month and we have a valid day for that month and we have a valid 4 digit year */ //fld.value = wrkdate.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); wrk[1] = wrkdate[0]; //put the day back where it should be wrk[0] = wrkdate[1]; //put the month back where it should be wrk[2] = wrkdate[2]; //put the year back where it should be wrkdate = wrk.join("/"); //join on the us delim and return valid rtnvar = true; } } } } if(!rtnvar){ //if we didn't get a good date from above we use today wrkdate = new Date(); } return wrkdate; }, convertToUserDate: function(dte){ var rtnvar = false; var wrk = dte.split("/"); var wrkdate = []; var mydate = ''; if(wrk.length > 0){ wrkdate[0] = parseInt(wrk[1],10); //always holds the day wrkdate[1] = parseInt(wrk[0],10); //always holds the month wrkdate[2] = parseInt(wrk[2],10); //always holds the year if(wrkdate[1] > 0 && wrkdate[1] < 13){ //Validate the months var monthsWithDaysRegExp = new RegExp("(4|6|9|11)", "gi"); var numdays = 31; if(wrkdate[1] == 2){//feb numdays = 28; //check if leap year if (wrkdate[2] % 4 === 0 && (wrkdate[2] % 100 !== 0 || wrkdate[2] % 400 === 0)){ numdays = 29; } }else if(monthsWithDaysRegExp.test(wrkdate[1])){ numdays = 30; } if(wrkdate[0] > 0 && wrkdate[0] <= numdays){ //validate the days in this month if(wrkdate[2].toString().length == 2){ //if we have a two digit year pad it wrkdate[2] = chkYear(wrkdate[2]); } if(wrkdate[2].toString().length == 4 && !isNaN(wrkdate[2])){ //validate the year, could expand this /* we are here we have a valid month and we have a valid day for that month and we have a valid 4 digit year */ //fld.value = wrkdate.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); wrk[crm_locale.YAHOO_MDY_DAY_POSITION-1] = wrkdate[0]; //put the day back where it should be wrk[crm_locale.YAHOO_MDY_MONTH_POSITION-1] = wrkdate[1]; //put the month back where it should be wrk[crm_locale.YAHOO_MDY_YEAR_POSITION-1] = wrkdate[2]; //put the year back where it should be wrkdate = wrk.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); //join on the correct delim and return valid rtnvar = true; } } } } if(!rtnvar){ //I dont really know what to do here i guess just use today and convert to their date var t = new Date(); t = t.getMonth()+1 + '/' + t.getDay() + '/' + t.getFullYear(); wrkdate = this.convertToUserDate(t); } return wrkdate; }, convertToUserMDOnlyDate: function(dte){ var dateFormat_MDOnly = crm_locale.DATEFMT_MDONLY.split(crm_locale.YAHOO_DATE_FIELD_DELIMITER); var _day = dte.getDate().toString(); var _month = (dte.getMonth() + 1).toString(); var _dayFormat = ''; var _monthFormat = ''; var _dayPostion = ''; var _monthPostion = ''; if(dateFormat_MDOnly[0].indexOf('d') != -1){ _dayFormat = dateFormat_MDOnly[0]; _monthFormat = dateFormat_MDOnly[1]; _dayPostion = 0; _monthPostion = 1; }else{ _dayFormat = dateFormat_MDOnly[1]; _monthFormat = dateFormat_MDOnly[0]; _dayPostion = 1; _monthPostion = 0; } if(_dayFormat == 'dd' && _day.length != 2){ _day = '0' + _day; } if(_monthFormat == 'mm' && _month.length != 2){ _month = '0' + _month; } var dsp = []; dsp[_dayPostion] = _day; dsp[_monthPostion] = _month; dsp = dsp.join(crm_locale.YAHOO_DATE_FIELD_DELIMITER); return dsp; } };/* +++++++++++++++++++++++++++ END Script Calendar +++++++++++++++++++++++++++++++++++++*/if (window.addEventListener) { window.addEventListener('load', svcrm.formBuilderScripts.__onload_function, false); } else if (window.attachEvent) { window.attachEvent('onload', svcrm.formBuilderScripts.__onload_function); }})();/* +++++++++++++++++++++++++++ BEGIN Script copied from OLD CMS loadCRMForm +++++++++++++++++++++++++++++++++++++*/

{{/description}}{{:url}}

{{:linktext}}{{:~equal(helpers.var.linklen, true)}}{{~plugins.stringLib.substringOnWord(data.linktext,25)}}... {{/}}{{!~equal(helpers.var.linklen, true)}}{{linktext}} {{/}}{{/linktext}}{{!linktext}}learn more {{/linktext}}

{{/url}}

{{/title}}

{{/items}}

Virginia's Blue Ridge Visitor's Guide (2024)

References

Top Articles
Latest Posts
Article information

Author: Stevie Stamm

Last Updated:

Views: 6395

Rating: 5 / 5 (80 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Stevie Stamm

Birthday: 1996-06-22

Address: Apt. 419 4200 Sipes Estate, East Delmerview, WY 05617

Phone: +342332224300

Job: Future Advertising Analyst

Hobby: Leather crafting, Puzzles, Leather crafting, scrapbook, Urban exploration, Cabaret, Skateboarding

Introduction: My name is Stevie Stamm, I am a colorful, sparkling, splendid, vast, open, hilarious, tender person who loves writing and wants to share my knowledge and understanding with you.