function confirm_delete(obj, text) {	
	try {
		i = 0;
		element = obj;
		tagName = 'tr';
		while (element.parentNode && (!element.tagName ||
			(element.tagName.toUpperCase() != tagName.toUpperCase())))
		{
			element = element.parentNode;
			if (i++ > 2) throw e;
		}
		
		Element.addClassName(element, 'toDelete');

	}
	catch (e) {
		// no action
	}
	conf = confirm("Διαγραφή: \n" + text + "\n\nΕίστε βέβαιος;");
	Element.removeClassName(element, 'toDelete');
	return conf;
}

window.onload = setup_page;

function setup_page() {

	// Date fields
	date_fields = document.getElementsByClassName('date_field');
	for (i in date_fields) {
		
		if (date_fields[i].tagName != 'INPUT') continue;

		cal = document.createElement('img');

		cal.src = '' + APP_DIR + '/image/calendar.png';
		cal.id = date_fields[i].id + "_trigger";

		date_fields[i].size = '11'
		date_fields[i].style.padding = '2px;';
//		date_fields[i].style.paddingRight = '17px;';
		date_fields[i].style.background = '#fff url( '+ APP_DIR + '/image/calendar.png) 99% 50% no-repeat';
		date_fields[i].style.border = "1px solid Gainsboro"

		Calendar.setup({
			inputField     :    date_fields[i].id,
			ifFormat       :    "%d/%m/%Y",
			button         :    date_fields[i].id + "_trigger",
			singleClick    :    true
		});
	}

	// Numeric fields
	date_fields = document.getElementsByClassName('numeric_field');
	for (i in date_fields) {
		
		if (date_fields[i].tagName != 'INPUT') continue;

		date_fields[i].onkeydown = validateNumChar;
		date_fields[i].onblur = validateNumeric;
	}

	// Float fields
	date_fields = document.getElementsByClassName('float_field');
	for (i in date_fields) {
		
		if (date_fields[i].tagName != 'INPUT') continue;

		date_fields[i].onkeydown = validateNumChar;
		date_fields[i].onblur = validateFloat;
	}

	// Highlight TRs on mouse over

	trs = document.getElementsByTagName('tr');

	for (i = 0; i < trs.length; i++)
	{
		if (trs[i].attachEvent) {
			if (trs[i].className && trs[i].className == 'row0') 
			{
				trs[i].attachEvent('onmouseover',function () { this.className = 'rowSelected'; },false);
				trs[i].attachEvent('onmouseout',function () { this.className = 'row0'; },false);
			}
			if (trs[i].className && trs[i].className == 'row1') 
			{
				trs[i].attachEvent('onmouseover',function () { this.className = 'rowSelected'; },false);
				trs[i].attachEvent('onmouseout',function () { this.className = 'row1'; },false);
			}
		}
		else if (trs[i].addEventListener) {
			if (trs[i].className && trs[i].className == 'row0') 
			{
				trs[i].addEventListener('mouseover',function () { this.className = 'rowSelected'; },false);
				trs[i].addEventListener('mouseout',function () { this.className = 'row0'; },false);
			}
			if (trs[i].className && trs[i].className == 'row1') 
			{
				trs[i].addEventListener('mouseover',function () { this.className = 'rowSelected'; },false);
				trs[i].addEventListener('mouseout',function () { this.className = 'row1'; },false);
			}
		}
	}

	// Tiger form elements

	fl = $$('.form_element');
	j = 1;
	for (i in fl) {
		if (!fl[i].className) continue;
		j++;
		fl[i].addClassName('element_row' + j%2);
	}

	

	tables = document.getElementsByTagName('table');

	for (i = 0; i < tables.length; i++) {
		tables[i].setAttribute('cellspacing', 0);
		tables[i].setAttribute('border', 0);
		tables[i].setAttribute('cellpadding', 0);
	}

	//$("header3_left").style.height = $("header3").offsetHeight+"px";
	//$("header3_right").style.height = $("header3").offsetHeight+"px";


}

function validateNumChar(e) {

	res = true;
	//alert(e.which);
	switch (e.which)
	{	
		case 9: res = true; break; // TAB
		case 39: res = true; break; // LEFT
		case 37: res = true; break; // RIGHT
		case 38: res = true; break; // UP
		case 40: res = true; break; // DOWN
		case 106: res = true; break; // F5
		
		case 48: res = true; break; // 0
		case 49: res = true; break; // 1
		case 50: res = true; break; // 2
		case 51: res = true; break; // 3
		case 52: res = true; break; // 4
		case 53: res = true; break; // 5
		case 54: res = true; break; // 6
		case 55: res = true; break; // 7
		case 56: res = true; break; // 8
		case 57: res = true; break; // 9

		case 96: res = true; break; // 0 NUM
		case 97: res = true; break; // 1 NUM
		case 98: res = true; break; // 2 NUM
		case 99: res = true; break; // 3 NUM
		case 100: res = true; break; // 4 NUM
		case 101: res = true; break; // 5 NUM
		case 102: res = true; break; // 6 NUM
		case 103: res = true; break; // 7 NUM
		case 104: res = true; break; // 8 NUM
		case 105: res = true; break; // 9 NUM
		case 110: this.value += '.'; res = false; break; // num .

		case 188: this.value += '.'; res = false; break; // ,
		case 190: res = true; break; // .
		case 8: res = true; break; // del

		default: res = false;
	}

	return res;
}

function validateNumeric() {

	this.style.padding = "1px";

	if (this.value == '' || this.value.match('^[0-9]+$')) {
		this.style.border = "1px solid Gainsboro";
		this.style.backgroundColor = "#fff";
		return;
	}

	this.style.border = "1px solid red";
	this.style.backgroundColor = "#fdd";

}

function validateFloat() {

	this.style.padding = "1px";

	if (this.value == '' || this.value.match('^[0-9]+[\.]{0,1}[0-9]+$') || this.value.match('^[0-9]+$')) {
		this.style.border = "1px solid ActiveBorder";
		this.style.backgroundColor = "#fff";
		return;
	}

	this.style.border = "1px solid red";
	this.style.backgroundColor = "#fdd";

}



