/*
Copyright 2010, Piotr Opioła
http://pageproject.pl
*/

form_submitted = false;

function submit_form(code, item, seed) {
	if (form_submitted) return;
	form_submitted = true;
	var form_div = document.getElementById(code);
	var inputs = form_div.getElementsByTagName('input');
	var valid = true;
	
	if (item == null) {	
		for (i = 0; i < inputs.length; i++) {
			if (inputs[i].type == "button") {
				item = inputs[i].id;
				item = item.substr(code.length+1);
				break;
			}
		}
	}
	
	document.getElementById(code + '_action').value = item;
	var form = document.getElementById(code + '_form');
	var elems = inputs;
	
	//password
	if (seed != "") {
		for (i = 0; i < elems.length; i++) {
			if (elems[i].type == 'password') {
				elems[i].value = md5(md5(elems[i].value) + seed);
			}
		}
	}
	
	//email
	/*var labels = form_div.getElementsByTagName('label');
	for (i = 0; i < labels.length; i++) {
		if (labels[i].htmlFor == 'email_field') {
			var email = labels[i].nextSibling;
			while (!email.type) {
				email = email.nextSibling;
			}
			if (email.value.indexOf('@') == -1) {
				valid = false;
			}
		}
	}*/
	
	//table
	var fieldsets = form.getElementsByTagName('fieldset');
	for (i = 0; i < fieldsets.length; i++) {
		if (fieldsets[i].className == 'table_fieldset') {
			var opts = fieldsets[i].getElementsByTagName('option');
			if (opts.length == 0) {
				var select = fieldsets[i].getElementsByTagName('select')[0];
				select.options[0] = new Option('', '');
				select.options[0].selected = "selected";
			} else {
				opts[0].selected = "selected";
				var items = "";
				for (j = 0; j < opts.length; j++) {
					items = items + (j+1) + "#";
					var str = opts[j].value;
					items = items + str;
					/*pos = 0;
					str = str.replace(/#/g,' ');
					while (str.indexOf("\t") > -1) {
						pos2 = str.indexOf("\t", pos);
						val = str.substr(pos, pos2 - pos);
						items = items + val + "#";
						pos = pos2 + 1;
						str = str.substr(pos);
						pos = 0;
					}*/
				}
				opts[0].value = items;
			}
		}
	}
	//remove tabs
	var textareas = document.getElementsByTagName('textarea');
	for (i = 0; i < textareas.length; i++) {
		if (textareas[i].name == 'content_field') {
			var richtext = textareas[i];
			richtext.value = richtext.value.replace(/\t/g,' ');
			//richtext.value = richtext.value.replace(/\"/g,"&quot;");
			//richtext.value = richtext.value.replace(/'/g,"&#39;");
		}
	}
	for (i = 0; i < inputs.length; i++) {
		inputs[i].value = inputs[i].value.replace(/\t/g,' ');
		inputs[i].value = inputs[i].value.replace(/'/g,"&#39;");
		inputs[i].value = inputs[i].value.replace(/"/g,"&quot;");
	}
	
	if (form.onsubmit) form.onsubmit();
	form.submit();
}

function cancel_form() {
	forms = document.forms;
	counter = 0;
	for (i = 0; i < forms.length; i++) {
		elements = forms[i].elements;
		for (j = 0; j < elements.length; j++) {
			if (elements[j].name == "counter") {
				counter = elements[j].value;
			}
			str = elements[j].getAttribute('onClick');
			if (str && str.indexOf('cancel_action') > -1) {
				if (!form_submitted) {
					ajax = new XMLHttpRequest();
					ajax.open('GET', 'maintain/cancel_action.php?counter='+counter, false);
					ajax.send();
					return;
				}
			}
		}
	}
}

/*function submit_form(code, item, seed) {
	submit_form2(code, item, seed, true);
}*/

/*function press_enter(event, code, seed, field) {
	if (event.keyCode == 13) {
		form = document.getElementById(code + '_form');
		elems = form.getElementsByTagName('input');
		for (i = 0; i < elems.length; i++) {
			if (elems[i].type == 'button') {
				item = elems[i].id;
				item = item.substr(code.length+1);
				submit_form(code, item, seed);
				break;
			}
		}
	}
}*/
	
/*function check_action(form, code, seed) {
	action = document.getElementById(code + "_action");
	if (action.value == "") {
		elems = form.getElementsByTagName('input');
		for (i = 0; i < elems.length; i++) {
			if (elems[i].type == 'button') {
				item = elems[i].id;
				item = item.substr(code.length+1);
				submit_form2(code, item, seed, true);
				break;
			}
		}
	}
}*/
