function dateToObject(dateIn, favourMDY) {
	var favourMDY = (favourMDY == null) ? true : favourMDY;
				var dateTest = [
								{ regExp:/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/, d:1, m:3, y:5 },  // dmy
								{ regExp:/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/, d:3, m:1, y:5 },  // mdy
								{ regExp:/^(\d\d\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,    d:5, m:3, y:1 }   // ymd
								];

				var start;
				var cnt = 0;
				while(cnt < 3) {
								start = (cnt + (favourMDY ? 4 : 3)) % 3;
								if(dateIn.match(dateTest[start].regExp)) {
												res = dateIn.match(dateTest[start].regExp);
												y = res[dateTest[start].y];
												m = res[dateTest[start].m];
												d = res[dateTest[start].d];
												if(m.length == 1) m = "0" + m;
												if(d.length == 1) d = "0" + d;
												if(y.length != 4) y = (parseInt(y) < 50) ? '20' + y : '19' + y;
												return new Date(y,m,d);
								};
								cnt++;
				};
				return 0;
};

function setCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = ";expires="+date.toGMTString();
	} else {
		expires = "";
	}
	document.cookie = name+"="+value+expires+";path=/";
}

function readCookie(name) {
	var needle = name + "=";
	var cookieArray = document.cookie.split(';');
	for(var i=0;i <cookieArray.length;i++) {
		var pair = cookieArray[i];
		while (pair.charAt(0)==' ') {
			pair = pair.substring(1, pair.length);
		}
		if (pair.indexOf(needle) == 0) {
		return pair.substring(needle.length, pair.length);
		}
	}
	return true;
}

function deleteCookie(name) {
document.cookie = name + '=; expires=Thu, 01-Jan-1970 00:00:01 GMT;';

	return true
}

function alternate_debugger_class() {
	var cur_class;
	if($('#debugger')) {
		if($('#debugger_container').hasClass('debugger_collapsed')) {
			$('#debugger_container').toggleClass('debugger_expanded');
			$('#debugger_container').toggleClass('debugger_collapsed');
		} else {
			$('#debugger_container').toggleClass('debugger_expanded');
			$('#debugger_container').toggleClass('debugger_collapsed');
		}
	} else {
		return false;
	}
}

function enable_admin_nav_draggable() {
	if($('#admin_nav_container')) {
		$('#admin_nav_container').draggable({handle:'#admin_nav_handle'});
	} else {
		return false;
	}
}

function disable_admin_nav_draggable() {
	if($('#admin_nav_container')) {
		$('#admin_nav_container').draggable('destroy');
	} else {
		return false;
	}
}

function admin_nav_dock() {
	if($('#admin_nav_container')) {
		var h = $(window).height();
		$('#admin_nav_container').animate({ left: '0', top: h-60, bottom:'0' },{duration: 200, complete: function(){
			$('#admin_nav_container').css({'top' : null, bottom: '0px', left: '0px'});
		}});

	} else {
		return false;
	}
}

function get_menu_content(obj,redir,path) {

	var x = confirm('Are you sure?');
	//alert(obj.value);

	if(x) {
		if(redir) {
			//alert(path);
			window.location = path;
			return false;
		} else {
			var val = obj.value;
			//alert(val.lastIndexOf('path::'));
			//$('#action').value = val;
			if(val.lastIndexOf('path::') == 0) {
				//alert(val.replace('path::',''));
				window.location = val.replace('path::','');
				return false;
			}
		}
		return true;
	}
	return false;

}

function email_link(u, d, obj) {
	obj.attr("href", "mailto:"+u+"@"+d);
	//window.open("mailto:"+u+"@"+d);
	return true;
}

