// Create default versity namespace
if (typeof versity == "undefined" || !versity) {
	var versity = {};
}

// Create a global namespace function

versity.namespace = function() {
	var a=arguments, o=null, i, j, d;
	for (i=0; i<a.length; i=i+1) {
		d=a[i].split(".");
		o=versity;
	
		// versity is implied, so it is ignored if it is included
		for (j=(d[0] == "versity") ? 1 : 0; j<d.length; j=j+1) {
			o[d[j]]=o[d[j]] || {};
			o=o[d[j]];
		}
	}
	return o;
};

//toggle tabs
var currentTab;
var currentTabSection;
function selectTab(t,s)
{

  var tab     = document.getElementById(t);
  var section = document.getElementById(s);

  //if current tab set, hide

  if (currentTabSection)
  {
    currentTabSection.style.display = "none";
	currentTab.className     = "minitabs_unselected";
  }

  //show new tab and set style
  if(section) { section.style.display = ""; }
  tab.className     = "minitabs_selected";

  //store for later
  currentTab = tab;
  currentTabSection = section;
}

function selectAllCheckbox(formObj, selectAllObj) {
	var onOffValue = selectAllObj.checked;
	for (var formElement = 1; formElement in formObj.elements; formElement++) {
		if (formObj.elements[formElement].type == 'checkbox' && !formObj.elements[formElement].disabled) {
			formObj.elements[formElement].checked = onOffValue;
		}
	}
}

//Added by JHL 2007-06-20
//Toggles display of div's
function toggleDivDisplay(id)
	{
		var ele = document.getElementById(id);
		if (ele.style.display == 'none')
			{
				//Display
				ele.style.display = '';
			}
		else
			{
				//Hide
				if(ele)	// remove this for debugging
					{
						ele.style.display = 'none';
					}
			}
	}

//Show or Hide specified div
function showHideDiv(toggle,divId)
{
	var ele = document.getElementById(divId);
	if (toggle == 'show'){
		//Show
		ele.style.display = '';
	}
	else{
		//Hide
		if(ele)
		{
			ele.style.display = 'none';
		}
	}
}

//Added JHL 28/4/2008
function setFormElementValue(ele){
	var att = document.getElementById(ele).value;
	if (att == 1)
		document.getElementById(ele).value = 0;
	else
		document.getElementById(ele).value = 1;
}

// For IE as it does not support array.indexOf function
if(!Array.indexOf){
	Array.prototype.indexOf = function(obj){
		for(var i=0; i<this.length; i++){
			if(this[i]==obj){
				return i;
			}
		}
		return -1;
	}
}

// functions for date drop down
function daysinmonth(month, year){
	if (month == 1 && isleapyear(year)) return 29;
	else return [31,28,31,30,31,30,31,31,30,31,30,31][month];
}
function isleapyear(year){
	return ((year%4 == 0) && (year%100 != 0 || year%400 == 0));
}

function setdays(sobjname, mode){
	var hobj = document.getElementById(sobjname)
	var dobj = document.getElementById(sobjname + "d")
	var mobj = document.getElementById(sobjname + "m")
	var yobj = document.getElementById(sobjname + "y")

	var selday = dobj.options[dobj.selectedIndex].value
	var selmonth = mobj.options[mobj.selectedIndex].value
	var selyear = yobj.options[yobj.selectedIndex].value

	var seldatestr = ""
	if (selmonth == 0 || selyear == 0){
		// do nothing
	}
	else {
		var monthdays = daysinmonth(selmonth-1,selyear)
		var selectdays = dobj.length - 1
		if (selday.length==1) {selday = "0"+selday}
		if (selmonth.length==1) {selmonth = "0"+selmonth}
		if (selectdays > monthdays) {
			for (var dlp=selectdays; dlp > monthdays; dlp--) {
				dobj.options[dlp] = null
			}
		}
		else if (monthdays > selectdays) {
			for (var dlp=selectdays+1; dlp <= monthdays; dlp++) {
				dobj.options[dlp] = new Option(dlp, dlp)
			}
		}

		if (selday > monthdays) {
			dobj.options[monthdays].selected = true
			selday = monthdays
		}

		var seldate = new Date(selyear, selmonth-1, selday)
		var today = new Date()
		var curdate = new Date(today.getFullYear(), today.getMonth(), today.getDate());

		if (mode == 'pastonly' && curdate < seldate){
			alert('Future dates are not allowed')
			dobj.selectedIndex = 0
			//mobj.selectedIndex = 0
		}
		else if (mode == 'futureonly' && curdate > seldate){
			alert('Past dates are not allowed')
			dobj.selectedIndex = 0
			//mobj.selectedIndex = 0
		}
		else if (selday != 0 && selmonth != 0 && selyear != 0){
			seldatestr = selday+"/"+selmonth+"/"+selyear
		}
	}
	hobj.value = seldatestr
}

//functions to post urls

postUrl = function(url, param_list, target) {
	var form = document.createElement('form');
	document.body.appendChild(form);
	form.action = url;
	form.method = "post";
	if (target) {
		form.target = target;
	}
	if (param_list == "")
		var fieldList = "postedUrl=1";
	else 
		var fieldList = param_list + "&postedUrl=1";
	var params = fieldList.split( "&" );
	for( var i = 0; i< params.length; i++ ){
		param = params[i].split("=")
		var input = document.createElement('input');
		input.id = param[0];
		input.name = param[0];
		input.value = param[1];
		input.style.display = 'none';
		form.appendChild(input);
	}
	form.submit();
};


