// JavaScript Document
function pad(number, length, char) {
   
    var str = '' + number;
    while (str.length < length) {
        str = char + str;
    }
   
    return str;

}

function reformatCSV(divId)
{
	div = document.getElementById(divId);
	div.innerHTML = div.innerHTML.replace(/\,/g, "<br/>");
}
 
function hasValue(divId)
{
	div = document.getElementById(divId);
	if (div.innerHTML != "")
		return true;
	else
		return false;
}
 
function toggleVisibility(divId)
{
	div = document.getElementById(divId);
	if (div.style.display == "block")
		div.style.display = "none";
	else
		div.style.display = "block";
}

function formatText(html_id)
{
	var textArea = document.getElementById(html_id);	
	var newText = textArea.innerHTML;
	var intIndexOfMatch = newText.indexOf( '\n' );
	
	while (intIndexOfMatch != -1) {
		var newText = newText.replace(/\n/, '<br/>');
		intIndexOfMatch = newText.indexOf('\n');
	}
	textArea.innerHTML = newText;
}


function urlify(html_id, newWindow) {
	var htmlText = $('#' + html_id);
  var urlRegex = /(https?:\/\/[^\s]+)/g;
	
	if (htmlText.length > 0)
	{	
		var text = htmlText.html();
		htmlText.html( text.replace(urlRegex, function(url, newWindow) {
			if (newWindow)
			{
				return '<a href="' + url + '" target="_blank">' + url + '</a>';
			}
			else
			{
				return '<a href="' + url + '">' + url + '</a>';
			}
		}) );
	}
    // or alternatively
    // return text.replace(urlRegex, '<a href="$1">$1</a>')
}

function addDays(myDate,days) {
	var newDate = new Date(myDate.getTime() + days*24*60*60*1000);
	return newDate;
}

function formatDate(originalDate)
{
	var dateBits = originalDate.split("-");
	var month = getMonthValue(dateBits[1]);
	
	return month + "/" + dateBits[0] + "/" + dateBits[2];
}

function getMonthValue(monthAbbrev, include_leading_zero)
{
	var month = '';
	var leading_zero = '';
	
	/*
	if (include_leading_zero === undefined) {
		leading_zero = '';	
	} else {
		if (include_leading_zero)
			leading_zero = '0';	
	}*/
	
	switch(monthAbbrev)
	{
		case 'Jan':
			month = '01';
			break;
		case 'Feb':
			month = '02';
			break;
		case 'Mar':
			month = '03';
			break;
		case 'Apr':
			month = '04';
			break;
		case 'May':
			month = '05';
			break;
		case 'Jun':
			month = '06';
			break;
		case 'Jul':
			month = '07';
			break;
		case 'Aug':
			month = '08';
			break;
		case 'Sep':
			month = '09';
			break;
		case 'Oct':
			month = '10';
			break;
		case 'Nov':
			month = '11';
			break;
		case 'Dec':
			month = '12';
			break;
		
	}
	
	/*
	if (month.length == 1) {
		month = leading_zero + month;	
	}*/
	
	return month;
}

// Change date to YYYYMMDD
function parseBCDate(date)
{
	var dateParts = date.split("-");	
	
	if (dateParts.length == 3)
	{	
		var monthValue = getMonthValue(dateParts[1],true);
		return "" + dateParts[2] + monthValue + pad(dateParts[0], 2, '0') + "";
	}
	else
	{
		return date;
	}
}

function getDateObject(bcDate)
{
	var dateBits = bcDate.split("-");
	
	var newDate = new Date(parseInt(dateBits[2],10), 
							parseInt(getMonthValue(dateBits[1]),10)-1, 
							parseInt(dateBits[0],10));
	return newDate;
}

function formatBCDate(dateObject)
{
	var m_names = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	var newDateFormat = "";
	var monthIndex = dateObject.getMonth();
	var dayOfMonth = dateObject.getDate();
	var year = dateObject.getFullYear();
	
	// Pad day with leading zero
	dayOfMonth = dayOfMonth + "";
	if (dayOfMonth.length == 1)
		dayOfMonth = "0" + dayOfMonth;

	newDateFormat = dayOfMonth + "-" + m_names[monthIndex] + "-" + year;
	
	return newDateFormat;
}
