function toggleEditLink(on, showContainer, editContainer) {
  if (on) {
     $(showContainer).style.backgroundColor='#D9E6EB';
    //$(showContainer).style.background='url(/images/hover-gradient.gif) left repeat-y'
    Element.showIf(editContainer);
  } else {
    $(showContainer).style.backgroundColor='';
    //$(showContainer).style.background='none'
    Element.hideIf(editContainer);
  }
}

Element.empty = function(id) {
  return $(id).innerHTML.match(/^\s*$/);
}

Element.visible = function(element) {
  return ($(element).style.display != "none")
}

Element.showAll = function(array) {
  Element.show.apply(Element.show, array)
}

Element.hideAll = function(array) {
  Element.hide.apply(Element.hide, array)
}

Element.showIf = function() {
  for(var i = 0; i < arguments.length; i++ ) {
    var element = $(arguments[i])
    if(element) Element.show(element)
  }
}

Element.hideIf = function() {
  for(var i = 0; i < arguments.length; i++ ) {
    var element = $(arguments[i])
    if(element) Element.hide(element)
  }
}

function scrollWindowTo(id) {
  element = $(id)
  x = ( element.x ? element.x : element.offsetLeft )
  y = ( element.y ? element.y : element.offsetTop )
  window.scrollTo(x,y)
}

function confirmDelete() {
	if(confirm('Are you sure you want to delete?')) return true;
	else return false;
}

function confirmLogout(url) {
	if(confirm('Are you sure you want to logout?')) location.href = url;
}

function toggleCheckbox(url) {
	location.href = url;
}

function setFocus(id) {
	$(id).focus();
}

function toggleDiv(div_name) {
	var instrEl = document.getElementById(div_name);
	if( instrEl == null ) {
		return false;
	}
	
	if( instrEl.style.display == 'none' ) {
		instrEl.style.display = "block";
	}
	else {
		instrEl.style.display = "none";
	}
	
	return true;
}
	
function showDiv(div_name) {
	var instrEl = document.getElementById(div_name);
	if( instrEl == null ) {
		return false;
	}
	
	instrEl.style.display = "block";
	return true;
}
	
function hideDiv(div_name) {
	var instrEl = document.getElementById(div_name);
	if( instrEl == null ) {
		return false;
	}
	
	instrEl.style.display = "none";
	return true;
}

function replaceDiv(div, replace) {
	document.getElementById(div).innerHTML = replace;
}


// answers section
var answersSection = {
	
 	hover: function(state, id) {
    toggleEditLink(state, 'show_' + id, 'edit_' + id + '_link')
  },

	display: function(id) {
    Element.showIf('add_link', 'list_edit_toggle')
    Element.hideIf('add_form')
    if(id) {
      Element.showIf('show_' + id)
      Element.hideIf('edit_' + id)
      toggleEditLink(false, 'show_' + id)
    }
  },
	
  edit: function(id) {
		Element.showIf('edit_' + id)
    Element.hideIf('show_' + id)
    //Field.focus('edit_input_' + id)
  },

  add: function() {
		var answerLimit = $F('answer_limit');
		answerLimit++;
		$F('answer_limit').value = answerLimit;
		//document.getElementById('answer_state_' + answerLimit).value = 2;
		Element.show('answer_' + answerLimit)
		Element.hideIf('show_' + answerLimit)
		Element.showIf('edit_' + answerLimit)
    Element.hideIf('add_link')
		Field.clear('answer_text' + answerLimit)
    Field.focus('answer_text' + answerLimit)
  },
	
	addDone: function() {
		display($F('answer_limit'));
	}
}


// dates
function dateRangeChange() {

	if ($F('none') == 'none') {
		Element.hide('completed_date_dt');
		Element.hide('completed_date_dd');
		Element.hide('purchased_date_dt');
		Element.hide('purchased_date_dd');
		return false;
	}
	else if ($F('purchased') == 'purchased') {
		Element.hide('completed_date_dt');
		Element.hide('completed_date_dd');
		Element.show('purchased_date_dt');
		Element.show('purchased_date_dd');
		return false;
	}
	else if ($F('completed') == 'completed') {
		Element.show('completed_date_dt');
		Element.show('completed_date_dd');
		Element.hide('purchased_date_dt');
		Element.hide('purchased_date_dd');
	 	return false;	
	}
}

function evaluationDateRangeChange() {

	if ($F('none') == 'none') {
		Element.hide('added_date_dt');
		Element.hide('added_date_dd');
		return false;
	}
	else if ($F('added') == 'added') {
		Element.show('added_date_dt');
		Element.show('added_date_dd');
	 	return false;	
	}
}

function changeState() {
	var target = 'select_state';
	var url = 'scripts/change_state.php';
	var params = 'country=' + $F('country');
	new Ajax.Updater(target, url, {parameters:params, unescape:true, asynchronous:true}); 
	return false;
}

function changeLicenseState() {
	var target = 'select_license_state';
	var url = 'scripts/change_license_state.php';
	var params = 'country=' + $F('license_country');
	new Ajax.Updater(target, url, {parameters:params, unescape:true, asynchronous:true}); 
	return false;
}