/*
Author:		Benjamin Smith
Function:	Interface functions using Sam Stephenson's prototype javascript library (http://prototypejs.org/).
Version:	1.0
*/

function showdiv() {
	document.getElementById('itemeditor').style.display = "block";
}
function hidediv() {
	document.getElementById('itemeditor').style.display = "none";
}

function note(tosend) {
		var func = tosend + "()";
		eval(func);
}
alerter 	= function() {send_form('number.php', 'number', 'select', 'POST', 'alertcat','',0, '');}
alertcat 	= function() {send_form('pop_cat.php', 'subc', 'select', 'POST', 'alertsubcat','',0, '');}

refreshList = function() {window.location.reload();}

function clearDiv(div) {
	if (div == "products") {
		document.getElementById(div).innerHTML = "<table align='center'><tr><td align='center'>.: Item view pane :.</td></tr><tr><th>Select:</th></tr><tr><td align='center'>Store --> Category --> Sub-cat</td></tr></table>";
	} else if (div == "description") {
		document.getElementById(div).innerHTML = "<table align='center'><tr><td align='center'>.: Status view pane :.</td></tr><tr><th>Select:</th></tr><tr><td align='center'>Store --> Category --> Sub-cat --> Add/Edit</td></tr></table>";
	} else if (div == "subc") {
		document.getElementById(div).innerHTML = "<table align='center'><tr><td align='center'>.: Category area :.</td></tr><tr><th>Select:</th></tr><tr><td align='center'>Store</td></tr></table>";
	} else if (div == "subct") {
		document.getElementById(div).innerHTML = "<table align='center'><tr><td align='center'>.: Sub-category area :.</td></tr><tr><th>Select:</th></tr><tr><td align='center'>Store --> Category</td></tr></table>";
	}
}

function popUp(URL) {
	day = new Date();
	id = day.getTime();
	eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=550,height=800,left = 140,top = 70');");
}

if (document.images) {
	pic1 		= new Image(43, 11);
	pic1.src	="/scripts/bjax/loading_bar.gif";
	pic1a 		= new Image(200, 100);
	pic1a.src	="/images/popup.jpg";
}

var checkflag = 'false';
function check(field, group, butt) {
	if (checkflag == 'false') {
		for (i = 0; i < field.length; i++) {
			if(field[i].id == group) {
				field[i].checked = true;
			}
		}
		checkflag = 'true';
		document.getElementById(butt).value = 'Uncheck All';
	//	return 'Uncheck All';
	}
	else {
		for (i = 0; i < field.length; i++) {
			if(field[i].id == group) {
				field[i].checked = false; 
			}
		}
		checkflag = 'false';
		document.getElementById(butt).value = 'Check All';
	//	return 'Check All';
	}
}

function resetting(form) {
	var form = document.getElementById(form);
	for (var i=0; i<form.elements.length; i++) {
		if(form.elements[i].type == 'checkbox') {
			if(!form.elements[i].checked && form.elements[i].style.zIndex == "99999") {
				s = new String(form.elements[i].value);
				form.elements[i].style.zIndex = "";
				form.elements[i].value = s.replace("|deleteflag", "");
			}
		}
	}
}

var updater_array = new Array();

bclick = function(object) {
	var obj = document.getElementById(object);
	obj.click();
		}

auto_complete = function(page, table, element, div, field_name) {
	var obj = document.getElementById(element);

	if(obj) {
		var has_content = true;
		if(obj.value.length < 1) {
			has_content = false;
				}

		var query_string = 'table=' + table + '&val=' + obj.value + '&element=' + element + '&field_name=' + field_name + '&div=' + div;
			new Ajax.Request(page, {method:'post', parameters:query_string, onComplete:function(complete_element){
				var obj2 = document.getElementById(div);

				if(obj2) {
					if(has_content){
						response_text = complete_element.responseText;
						obj2.innerHTML = complete_element.responseText;
						obj2.style.visibility = 'visible';
						obj2.style.display = 'block';
							}
					else {
						obj2.style.visibility = 'hidden';
						obj2.style.display = 'none';
							}
						}
					}
				});
			}
		}


add_suggest = function(page, table, field_name, val, element, div) {
	var obj = document.getElementById(div);

	if(obj) {
		var query_string = 'table=' + table + '&val=' + val + '&element=' + element + '&field_name=' + field_name + '&div=' + div;
		new Ajax.Updater(div, page, {method:'post', parameters:query_string, onSuccess:set_load(div), onComplete:do_additional});
			}
		}


stat_text = function() {
	window.status='Apple Core Parts System';
	return true;
		}
		

encode = function(query_string) {
	query_string = query_string.replace('&', '');
	query_string = query_string.replace('#', '');

	return query_string;
		}

		
send_form = function(page, div, form, send_method, do_add, message, proxy, button) {
	var form = document.getElementById(form);
	var obj = document.getElementById(div);
	
	if (button == "Save" || button == "Continue") {
		document.getElementById("ifclick").value = "clicked";
	}
	
	if(!obj) {
		alert('No div element named ' + div + ' could be located.');
		return;
			}

	if(!form) {
		alert('No form element named ' + form + ' could be located.');
		return;
			}

	var query_string = '';

	for (var i=0; i<form.elements.length; i++) {
		if(form.elements[i].type == 'radio') {
			
			if(form.elements[i].checked) {
				//alert(form.elements[i].value);
				query_string = query_string + "&" + form.elements[i].name + '=' + form.elements[i].value;
				
			}
		} else if(form.elements[i].type == 'checkbox') {
			
			if(form.elements[i].checked) {
				
				var str = new String(form.elements[i].value);
				
				if(str.indexOf("|deleteflag") == -1) {
					form.elements[i].style.zIndex = "99999";
					query_string = query_string + "&" + form.elements[i].name + '=' + form.elements[i].value;
				} else {
					form.elements[i].value = str.replace("|deleteflag", "");
					form.elements[i].style.zIndex = "99999";
					query_string = query_string + "&" + form.elements[i].name + '=' + form.elements[i].value;
				}
				
			} else if(!form.elements[i].checked && form.elements[i].style.zIndex == "99999") {

				var str = new String(form.elements[i].value);
				if (form.elements[i].style.color == "red") {
					if(str.indexOf("|deleteflag") == -1) {
						form.elements[i].value = form.elements[i].value + "|deleteflag";
						query_string = query_string + "&" + form.elements[i].name + '=' + form.elements[i].value;
					} else {
						query_string = query_string + "&" + form.elements[i].name + '=' + form.elements[i].value;
					}
				}
			}
		} else {
			query_string = query_string + "&" + form.elements[i].name + '=' + form.elements[i].value;
		}
	}
	//	query_string = "title=" + document.getElementById("title").value;

	if(proxy) {
		page = proxy + '?url=' + page;
			}

	if(do_add) {
		new Ajax.Updater(div, page, {method:send_method, parameters:query_string, onSuccess:set_load(div, message), onComplete:function() {note(do_add);}});
			}
	else {
		
		new Ajax.Updater(div, page, {method:send_method, parameters:query_string, onSuccess:set_load(div, message)});
			}
		}

get_content = function(page, div, id, do_add, message) {
	remove_div('command_content');
	var obj = document.getElementById(div);
	
	if(!obj) {
		alert('No div element named ' + div + ' could be located.');
		return;
			}

	void_div(obj);

	var query_string = 'id=' + id;
	
	if(do_add) {
		new Ajax.Updater(div, page, {method:'post', parameters:query_string, onSuccess:set_load(div, message), onComplete:do_additional});
			}
	else {
		
		new Ajax.Updater(div, page, {method:'post', parameters:query_string, onSuccess:set_load(div, message)});
			}
		}
		

set_content = function(page, div, query_string, type, do_add, message) {
	remove_div('command_content');
	var obj = document.getElementById(div);
	
	if(!obj) {
		alert('No div element named ' + div + ' could be located.');
		return;
			}

	void_div(obj);
	
	if(do_add) {
		new Ajax.Updater(div, page, {method:type, parameters:query_string, onSuccess:set_load(div, message), onComplete:do_additional});
			}
	else {
		new Ajax.Updater(div, page, {method:type, parameters:query_string, onSuccess:set_load(div, message)});
			}
		}


get_straight = function(page, div, do_add, message) {	
	remove_div('command_content');
	var obj = document.getElementById(div);

	if(!obj) {
		alert('No div element named ' + div + ' could be located.');
		return;
			}

	void_div(obj);

	if(do_add) {
		new Ajax.Updater(div, page, {method:'get', onSuccess:set_load(div, message), onComplete:do_additional});
			}
	else {
		new Ajax.Updater(div, page, {method:'get', onSuccess:set_load(div, message)});
			}
		}


set_straight = function(page, div, do_add, message, freq, dec) {
	remove_div('command_content');
	var obj = document.getElementById(div);

	if(!obj) {
		alert('No div element named ' + div + ' could be located.');
		return;
			}
			
	void_div(obj);

	if(do_add) {
		updater_array[div] = new Ajax.PeriodicalUpdater(div, page, {method:'get', onSuccess:set_load(div, message), onComplete:do_additional});
			}
	else {
		updater_array[div] = new Ajax.PeriodicalUpdater(div, page, {method:'get', frequency: freq, decay: dec, onSuccess:set_load(div, message)});
			}
		}
		
		
void_div = function(div) {
	div.style.visibility = 'visible';
	div.style.display = 'block';
	
	return;
		}


do_additional = function() {
	var obj = document.getElementById('command_content');

	if(obj) {
		var command_text = obj.innerHTML;
		eval(command_text);
		remove_div('command_content');
		return;
			}
	else {
		alert('No div element named command_content could be located.');
		return;
			}
				
}


find_command_content = function() {
	var obj = document.getElementById('command_content');

	if(obj) {
		var command_text = obj.innerHTML;
		alert(command_text);
		remove_div('command_content');
			}
	else {
		alert('No div element named command_content could be located.');
			}
		}


set_load = function(div, message) {
	if(!message) {
		message = 'Loading...';
			}

	var obj = document.getElementById(div);

	if(div != "blank_div_content") { // && div != "spacer"
		obj.innerHTML = '<table align="left"><tr><td><img src="/images/KoopaMediumAni.gif"></td></tr><tr><td><b>'+message+'</b></td></tr></table>';
			}
	else {
		obj.innerHTML = '';
			}
		}


remove_div = function(child_div) {
	var obj_child_div = document.getElementById(child_div);

	if(obj_child_div) {
		obj_parent_div = obj_child_div.parentNode
		obj_parent_div.removeChild(obj_child_div);
			}
	else {
			}
		}
		

hide_div_section = function(start, end, id) {
	var obj = document.getElementById(start+id+end);
	
	if(obj) {
		}
	else {
		alert('No div element named ' + start+id+end + ' could be located');
			}

	var divs = document.getElementsByTagName('div');

	if(!divs) {
		alert('No div elements could be located.');
		return;
			}

	for(i=0; i<divs.length; i++) {
		if(divs[i].id.indexOf(start) >= 0 && divs[i].id.indexOf(end) >= 0 && divs[i].id.indexOf('manager') < 0)
				{
			if(divs[i].id.indexOf(start + id + end) < 0) {
				divs[i].style.visibility="hidden";
				divs[i].style.display="none";
					}
			else {
				divs[i].style.visibility="visible";
				divs[i].style.display="block";	
					}
				}
			}
		}


toggle_table_headers = function(start, end, id, on_color, off_color) {
	var tables = document.getElementsByTagName('table');
	
	if(!tables)
			{
		alert('No table elements could be located.');
		return;
			}

	for(i=0; i<tables.length; i++) {
		if(tables[i].id.indexOf(start) >= 0 && tables[i].id.indexOf(end) >= 0 && tables[i].id.indexOf('manager') < 0)
				{
			if(tables[i].id.indexOf(start + id + end) < 0) {
				tables[i].style.backgroundColor = off_color;
					}
			else {
				tables[i].style.backgroundColor = on_color;
					}
				}
			}
		}


