window.addEvent('domready', function() {
	var myTips = new Tips($$('.customTipElement'));
});

function login_loader() {
	var button = $('submit_button');
	var loading = $('loading');

	//button.disabled = true;
	button.className = 'button_disabled';

	loading.style.display = 'block';

	document.login.submit();
}

function disable_submit() {
	var button = $('submit_button');
	var loading = $('loading');

	button.className = 'button_disabled2';
	loading.style.display = 'block';
}

function redirect(href) {
	window.location = href;
}
function confirm_redirect(href, message) {
	var answer = confirm(message);
	if(answer) {
		window.location = href;
	}
	return false;
}
function confirm_login_reset(href) {
	var confirm_message = 'Are you sure you want to reset this users login details?';
	var active_message = 'This users status is not active, you must update their status to active before their login information can be reset.';
	
	var active = $('editview').active.value;
	if(active == 'Active') {
		return confirm(confirm_message);
	} else {
		alert(active_message);
		return false;
	}	
}
function popup_window(href) {
	window.open(href)
}

function check_all() {
	var theForm = $('mass_delete');

	if($('checkall').checked == true) {
		for(var i=0; i < theForm.elements['records[]'].length; i++){
			theForm.elements['records[]'][i].checked = true;
		}
	} else {
		for(var i=0; i < theForm.elements['records[]'].length; i++){
			theForm.elements['records[]'][i].checked = false;
		}
	}		
}

function sndReq(link, div) {
	var box = $(div);
	var myFader = new Fx.Morph(box);
	myFader.options.duration = 200;
	myFader.chain(function() {
		new Request.HTML ({
			url: link+'&nocache='+Date(),
			update: box,
			onComplete: function() {
				loading(div, 'none');
				myFader.start({
					'opacity':[0,1]
				});
			}
		}).send();
	}).start({
		'opacity':[1,0]
		});
	loading(div, 'block');
}

function sndPost(link, div, myForm) {
	var box = $(div);
	var myFader = new Fx.Morph(box);
	myFader.options.duration = 200;
	myFader.chain(function() {
		new Request.HTML ({
			url: link+'&nocache='+Date(),
			update: box,
			onComplete: function() {
				loading(div, 'none');
				myFader.start({
					'opacity':[0,1]
				});
			}
		}).post($(myForm));
	}).start({
		'opacity':[1,0]
		});
	loading(div, 'block');
}

function loading(div, set) {
	var loading = $(div+'_loading');
	loading.style.display = set;
}

function update_icon(folder_id, record) {
	sndReq('index.php?action=ajax_icon&module=home&folder_id='+folder_id+'&record='+record, 'icons');
}

function update_folders(record) {
	var box = $('folders_'+record);
	var link = 'index.php?action=ajax_folders&module=home&record='+record;

	new Request.HTML ({url: link+'&nocache='+Date(), update: box, onComplete: function() { loader('folders'+record, 'none');}}).send();
	loader('folders'+record, 'block');

}

function update_schedule(type, record) {
	var box = $('schedule_form');
	box.style.display = 'none';

	if(type == null || type == '') return false;

	if(type == 4) {
		var action = 'ajax_tutoring';
	} else {
		var action = 'ajax_classes';
	}
	var link = 'index.php?action='+action+'&module=schedules&record='+record;
	new Request.HTML ({url: link+'&nocache='+Date(), update: box, onComplete: function() { loading('schedule_form', 'none'); box.style.display = 'block';}}).send();
	loading('schedule_form', 'block');	
}

function display_files(record) {
	var box = $('folders_'+record);
	var link = 'index.php?action=ajax_files&module=home&record='+record;

	new Request.HTML ({url: link+'&nocache='+Date(), update: box, onComplete: function() { loader('folders'+record, 'none');}}).send();
	loader('folders'+record, 'block');

}

function sndLoader(link, div) {
	var box = $(div);
	new Request.HTML ({url: link+'&nocache='+Date(), update: box, onComplete: function() { loader(div, 'none');}}).send();
	loader(div, 'block');

}


function show_students(week, id)
{
	sndLoader('index.php?module=reports&action=ajax_review&week='+week+'&schedule_id='+id, 'review_'+id);
}

function close_students(id)
{
	sndLoader('index.php?module=reports&action=ajax_blank', 'review_'+id);
}

function sndSubpanel(link, div, tab) {
	var box = $(div);

	new Request.HTML ({url: link+'&nocache='+Date(), update: box, onComplete: function() { loader(div, 'none'); changeTab(tab); }}).send();
	loader(div, 'block');
}

//****/
//**** Sends ajax request and changes the tab to reflect the current page  ****/
//****/

function sndPanel(link, div, tab, holder) {
	var box = $(div);

	new Request.HTML ({url: link+'&nocache='+Date(), update: box, onComplete: function() { loader(div, 'none'); changeTabs(tab, holder); }}).send();
	loader(div, 'block');
}

function loader(div, set) {
	var loading = $('loader');
	loading.style.display = set;
}

function changeTab(tab) {
	var holder = $('subpanel_tabs');
	var tabs = holder.getElementsByTagName('li');

	for(i=0; i<tabs.length; i++) {
		//switch all off
		tabs[i].className = '';
	}
	//switch on selected
	if($('subpanel_'+tab)) {
		$('subpanel_'+tab).className = 'current';
	}
}

function changeTabs(tab, holder) {
	var divholder = $(holder+'_tabs');
	var tabs = divholder.getElementsByTagName('li');

	for(i=0; i<tabs.length; i++) {
		//switch all off
		tabs[i].className = '';
	}
	//switch on selected
	if($(holder+'_'+tab)) {
		$(holder+'_'+tab).className = 'current';
	}
}

function sndPostRefresh(link, myForm)
{
	new Request.HTML ({url: link+'&nocache='+Date(), onComplete: function() { js_refresh();}}).post($(myForm));
}

function js_refresh()
{
	window.location.reload();
}


function update_payment_forms()
{
	var form = $('payment_select');
	var page = form.payment_type.value;

	sndReq('index.php?action=subpanels&module=schedules&subpanel=payment_select&select='+page, 'payments');
}

function add_nums() {
	var myform = $('form');
	var num1 = myform.total_due.value;
	var num2 = myform.expenses.value;

	var total = $('total');
	if(isNaN(num2)) {
		alert("Please enter a number for Expenses");
		myform.expenses.value = '';
		var add = parseFloat(num1) + 0;
		total.innerHTML = '$'+add.toFixed(2);
	} else if(num2 == '') {
		var add = parseFloat(num1) + 0;
		total.innerHTML = '$'+add.toFixed(2);
	} else {
		var add = parseFloat(num1) + parseFloat(num2);
		total.innerHTML = '$'+add.toFixed(2);
	}		
}


function create_line_total(div) {
	var input_div = document.getElementById('input_'+div).getElementsByTagName('input');

	for (i = 0; i < input_div.length; i++) {
		if(input_div[i].name == 'quantity[]') {
			var quantity = input_div[i].value;
			if(quantity == '' || isNaN(quantity)) return false;
		}
		if(input_div[i].name == 'price_each[]') {
			var each = input_div[i].value;
			if(each == '') return false;
		}
		if(input_div[i].name == 'line_total[]') {
			var line_total = input_div[i];
		}
	}

	var total = $('total_'+div);
	var add = parseFloat(quantity) * parseFloat(each);
	total.innerHTML = '$'+add.toFixed(2);
	line_total.value = add.toFixed(2);

	create_totals();
}

function create_totals() {
	var myform = $('form');
	var input_div = document.getElementById('item_holder').getElementsByTagName('input');

	var subtotal = 0;
	for (i = 0; i < input_div.length; i++) {
		if(input_div[i].name == 'line_total[]') {
			subtotal = parseFloat(subtotal) + parseFloat(input_div[i].value);
		}
	}

	var subtotal_div = $('subtotal');
	var total_div = $('total');
	var shipping = parseFloat(myform.shipping.value);

	if(isNaN(subtotal)) {
		return false;
	}
	subtotal_div.innerHTML = '$'+subtotal.toFixed(2);

	if(isNaN(shipping)) {
		return false;
	}
	var total = parseFloat(shipping) + subtotal;
	total_div.innerHTML = '$'+total.toFixed(2);
}

function remove_item(div)
{
	new Request.HTML ({url: 'index.php?module=invoices&action=ajax_blank'+'&nocache='+Date(), update: $('input_'+div), onComplete: function() { create_totals();}}).send();
}



function showHide(div_id) {
	var div = document.getElementById(div_id);

	if (div) {
		if (div.style.display == 'none') {
			expand(div_id);
		} else {
			collapse(div_id);
		}
	}
}
function expand(div_id) {
    var div = document.getElementById(div_id);
    var icon = document.getElementById('icon_'+div_id);
	
	if (div.style.display == 'none') {
		div.style.display = 'block';
		icon.src = "images/icon_collapse.gif";
    }
}
function collapse(div_id) {
    var div = document.getElementById(div_id);
    var icon = document.getElementById('icon_'+div_id);

    if (div.style.display != 'none') {
      div.style.display = 'none';
      icon.src = "images/icon_expand.gif";
	}
}
