// Show hide object 


function showHideObject(obj_id, display_val) {
	
	var obj = document.getElementById(obj_id);
	if (obj) {
		obj.style.display = display_val;
	}

}

// Show hide object 
function $$(obj_id) 
{
	return document.getElementById(obj_id);
}

// Make exception object
function makeException(msg, obj_name) {
	var exc = new Object;
	exc.msg = msg;
	exc.obj = obj_name;
	return exc;
}

// -----------------------------------------------------------------------

/**
*	Adds leading zeroes to numbers
*	Useful for gettings month numbers like 01 instead of 1
*	- number: number to format
*	- width: desired output width
**/
function addZeroes(number, width) {

	// Convert to string
	number = number + "";

	while (number.length <  width) {
		number = "0" + number;
	}

	return number;

}

// -----------------------------------------------------------------------

/**
*	Produces ISO dates like 2006-01-01
*	- someDate: Date object
**/
function makeIsoDate(someDate) {

	return someDate.getFullYear() + "-" + addZeroes(someDate.getMonth() + 1, 2) + "-" + addZeroes(someDate.getDate(), 2);

}

// -----------------------------------------------------------------------

/**
 * remove leading zero's
 */
function trimNumber(s) {
	while (s.substr(0,1) == '0' && s.length>1) { s = s.substr(1,9999); }
	return s;
}

/**
*	Produces Date objects from ISO dates like 2006-01-01
*	- someDate: ISO date
*	- someTime: time like 10:00 (with leading zeroes) - seconds are always set to 00
**/
function makeDateObject(someDate, someTime) {

	var year = parseInt(trimNumber(someDate.substr(0, 4)));
	var month = parseInt(trimNumber(someDate.substr(5, 2)))-1;
	var days = parseInt(trimNumber(someDate.substr(8, 2)));
	if (someTime == null) {
		var hours = 0;
		var minutes = 0;
		var seconds = 0;
	} else {
		var hours = someTime.substr(0, 2);
		var minutes = someTime.substr(3, 2);
		var seconds = 0;
	}
	//alert ("input raw: "+someDate+" "+someTime);
	//alert ("input processed: "+year+" "+month+" "+days+" "+hours+" "+minutes);
	
	var new_date = new Date(year,month,days,hours,minutes,seconds);
	//alert(new_date.toString()+ "<-after");
	return new_date;

}

// ----------------------------------------------

/**
*	Add PHP in_array like function to Array
**/
Array.prototype.hasValue = function(value) 
{
	var len = this.length;
	for (var x = 0; x <= len; x++) 
	{
		if (this[x] == value) 
		{
			return true;
		}
	}
	return false;
}

// ----------------------------------------------

/**
*	Add function to check for substring in string
**/
String.prototype.contains = function(substr) 
{
	return this.indexOf(substr) != -1;
}

// ----------------------------------------------

/**
*	Add function to check for empty string
**/
String.prototype.empty = function() 
{
	return this.length == 0;
}

// ----------------------------------------------

/**
*	log()
*
*	Shortcut for console.log()
**/
function log(msg)
{
	console.log(msg);
}





