  var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
  var years = ["2007", "2008", "2009"];
  var linkPath = "/dave-ramsey/transcript/";

  var nxt_active = new Image();
  nxt_active.src = "/images/ramsey/ram_arrow_next.gif";
  var nxt_inactive = new Image();
  nxt_inactive.src = "/images/ramsey/ram_arrow_next.gif";

  function setToday() {
    var now = new Date();
    var day = now.getDate();
    var month = now.getMonth();
    var year = now.getYear();
    
    if (year < 2000)    
      year = year + 1900; 
      
    this.focusDay = day;
    setElements(month, year);
    calendar(month, year);
  }
  
  function setElements(month, year) {
  	jQuery('#cal-month').html(months[month]);
  	jQuery('#cal-year').html(year);
  	
    document.calControl.year.value = year;
    document.calControl.month.value = month;
    
    var now = new Date();

    if ((month + '/' + year) == (now.getMonth() + '/' + now.getFullYear())) {
      document.getElementById('prvmonth_img').src = nxt_inactive.src;
      //document.getElementById('prvmonth_img').src = document.getElementById('prvmonth_img').src.replace(".gif", "-inactive.gif");
    } else {
      if (document.getElementById('prvmonth_img').src.indexOf("-inactive.gif") != -1)
        document.getElementById('prvmonth_img').src = nxt_active.src;
        //document.getElementById('prvmonth_img').src = document.getElementById('prvmonth_img').src.replace("-inactive.gif", ".gif");
    }
  }

  function setPreviousMonth() {
    var year  = document.calControl.year.value;
    var day   = 0;
    var month = document.calControl.month.value;
    if (month == 0) {
      month = 11;
      if (year > 1000) {
        year--;
        document.calControl.year.value = year;
      }
    } else {
      month--;
    }
    
   setElements(month, year); 
   calendar(month, year);
  }

  function setNextMonth() {
    var year  = document.calControl.year.value;
    var day   = 0;
    var month = document.calControl.month.value;

    if (month == 11) {
      month = 0;
      year++;
      document.calControl.year.value = year;
    } else {
      month++;
    }

    setElements(month, year); 
    calendar(month, year);
  }

  function calendar(month, year) {
   
    //current month
    var now = new Date();
    var day = now.getDate();
    var current_month = now.getMonth();

    var current_year = now.getFullYear();
    var current_date = Date.parse(months[current_month]+" "+day+","+current_year);
    //days we are setting
    year = parseInt(year);
    var mydate = Date.parse(months[month]+" "+day+","+year);
    var output = '';
    var extra = '';
    var i = 0;
    var days = getDaysInMonth(month+1,year);
    var firstOfMonth = new Date (year, month, 1);
    var startingPos = firstOfMonth.getDay();
   
    days += startingPos;
    //week
    output += '<ul class="row week">'+
                '<li class="day">Su</li>'+
                '<li class="day">Mo</li>'+
                '<li class="day">Tu</li>'+
                '<li class="day">We</li>'+
                '<li class="day">Th</li>'+
                '<li class="day">Fr</li>'+
                '<li class="day">Sa</li>'+
              '</ul>';
    //days
    output += '<ul class="row">';
    for (i = 0; i < startingPos; i++) {
     // if ( i%7 == 0 ) {
        output += '<li>&nbsp;</li>';
     // }
    }
    var num = '';
    //add 0 to month if is < 10
    month = (parseInt(month))+1;
    if (month < 10) {
      month = '0'+month;
    }
    for (i = startingPos; i < days; i++) {
      if ( i%7 == 0 ) { 
        output += "</ul><ul class='row'>";
      }
      
      num = i-startingPos+1;
        //bold the day if is today or past events
        //for current month
        if (mydate==current_date) {
          if (num < day) {
            extra = 'bold';
          } else if (num == day) {
            extra = 'current';
          } else {
            extra = '';
          }
        //future dates  
        }else if (mydate > current_date) {
          extra = '';
        }else {
          extra = 'bold';
        }
        
      if (num < 10) {
        num = '0'+num;
      }
      if (extra!='') {
        output += '<li class="day '+extra+'"><a href="' + linkPath + year+''+month+''+num+'">'+ num +'</a></li>';
      }else {
        output += '<li class="day">'+ num +'</li>';
      }
    }
    output += '</ul>';        
    //clear
    output +='<ul class="row"><li class="clear"></li></ul>';
    
    jQuery('.calendar-table').html(output);
  }

  function getDaysInMonth(month,year)  {
    var days;
    
    if (month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12)
      days=31;
    else if (month==4 || month==6 || month==9 || month==11)
      days=30;
    else if (month==2)  {
      if (isLeapYear(year)) {
       days=29;
      } else { days=28;
      }
    }

    return (days);
  }

  function isLeapYear (Year) {
    if (((Year % 4)==0) && ((Year % 100)!=0) || ((Year % 400)==0)) {
    return (true);
    } else {
      return (false);
    }
  }

    
  function isWeekend(month, date, year) {
    var d=new Date();
    d.setMonth(month - 1);
    d.setDate(date);
    d.setFullYear(year);

    //alert(months[d.getMonth()] + '/' + d.getDate() + '/' + d.getFullYear() + ':' + days[d.getDay()] + ' ' + d.getDay());

    if(d.getDay() == 0 || d.getDay() == 6)
      return true;
    else
      return false;
  }
  
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	var p=new Array(n);

	for (var i = 1; i <= n; i++) {
		p[i-1] = 31;
		if (i==4 || i==6 || i==9 || i==11) {p[i-1] = 30;}
		if (i==2) {p[i-1] = 29;}
   } 
   return p;
}

function isDate(dtMonth, dtDay, dtYear){
	var daysInMonth = DaysArray(12);
	var strMonth=dtMonth;
	var strDay=dtDay;
	var strYear=dtYear;
	var strYr=strYear;

	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	}
	month=parseInt(strMonth);
	day=parseInt(strDay);
	year=parseInt(strYr);
	
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month.");
		return false;
	}
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month-1]){
		alert("Please enter a valid day.");
		return false;
	}
	
	return true;
}

function ValidateDate(dtMonth, dtDay, dtYear){
	if (isDate(dtMonth, dtDay, dtYear)==false){
		return false;
	}
    return true;
 }

function hideRamseySearchDayForm(){		
		if(document.getElementById("searchRamseyDay") !=null){
			document.getElementById("searchRamseyDay").style.display = 'none';
		}

	}

function showRamseySearchDayForm(){		
		if(document.getElementById("searchRamseyDay") !=null){
			document.getElementById("searchRamseyDay").style.display = 'block';
		}
	}

function doSubmitRamseyForm(fm){		
               	 var r_yr = fm.year.options[fm.year.selectedIndex].value;
		 var r_month= fm.month.options[fm.month.selectedIndex].value;
		 var r_day = fm.day.options[fm.day.selectedIndex].value;
               	//alert("do submit=" + r_yr + r_month + r_day);

		if (isDate(r_month, r_day, r_yr)==true){
			var path_to_ramsey = "/rmasey/transcript/" + r_yr + r_month + r_day;
			window.open(path_to_ramsey, "_self");
		} 

}

function getTranscriptYear(){
	var thisYear = (new Date()).getFullYear();
	for (var i=0; i<5; i++){
		document.write("<option value=\"" + (thisYear-i) + "\">" +  (thisYear-i) + "</option>");
	}

}
