Event.observe(window, 'load', function() {
    init();
});

function init() {
	toggleGrades();
	observers();		
}

function observers() {
	
	var grade = $('grade_id');
	if (grade) {
		grade.observe('change', toggleGrades);
	}
	
	var assigned = $('toggle-assigned');
	if (assigned) {
		assigned.observe('click', toggleAssigned);
	}	
	
	setDeleteLinks();
	clearInputs();
}

function toggleGrades() {
	var el = $('grade_id');
	if(!el)
		return;
		
    switch (parseInt(el.value)) {
        case 1:           
            $('grade-2').hide();
            $('grade-3').hide();
            break;
        case 2:
			$('grade-2').show();
			$('grade-3').hide();
            break;
		case 3:
			$('grade-2').show();
			$('grade-3').show();
        default:
    }	
}

function toggleAssigned() {
	var el = $('assigned-list');
	if(!el)
		return;
	
	if(el.visible()) {
		el.hide();
	} else {
		el.blindDown();
	}
}

function setDeleteLinks() {
	var elements = $$('.delete-button');
	elements.each(function(el) {
		el.observe('click', function(event) {
			if (!confirm('Are you sure you want to delete this item?')) {
				event.preventDefault();
			}	
		});
	});	
}

function clearInputs() {
	var elements = $$('.clear-input');
	elements.each(function(el) {
		var text = el.value;
		el.observe('click', function(event) {
			el.value = "";	
		});
		el.observe('blur', function(event) {
			if(el.value === "")
				el.value = text;	
		});		
	});	
}

function iForms() {
	var elements = Form.getInputs($('i-form'), 'text');
	elements.each(function(el) {		
		var label = $$('label[for="' + el.id + '"]')[0];	
		el.observe('focus', function(event) {
			label.appear();	
		});				
		el.observe('blur', function(event) {
			label.fade();	
		});	
	});	
}

function findLabel(value) {
	$$('#i-form label').each(function(l){
		console.log('for=' + l.readAttribute('for') + ' value=' + value);
		if(l.readAttribute('for') === value) {
			return l;
			throw $break;
		}
	});
}

