/* 
* Load table rows colors (odd,even, rollover, click)
* @param item: object, table id object
* @param scl_odd: var, odd row style class
* @param scl_even: var, even row style class
* @param scl_over: var, row rollover style class
* @param scl_click: var, row onclick style class
* @param scl_click_over: var, clicked row over style class
* @param click_check: object, checkbox for click action
* @param click_func: var, function(s) call to evaluate on click
*/
var	SelectedRowsCount = 0;
function loadTableRows(item,scl_odd,scl_even,scl_over,scl_click,scl_click_over,click_check,click_func) {

	var tableObj = document.getElementById(item);
	var tBody = tableObj.getElementsByTagName('TBODY');
	if(tBody){
		var rows = tBody[0].getElementsByTagName('TR');
	} else {
		var rows = tableObj.getElementsByTagName('TR');
	}
	var trow = new Object();
	trow['click_over'] = new Array();
	trow['orig'] = new Array();
	for(var i=0;i<rows.length;i++){
		rows[i].id = i;
		rows[i].className = (i%2) ? scl_odd : scl_even;
		trow['orig'][i] = rows[i].className;
		if(scl_over!=undefined && scl_over!='') {
			rows[i].onmouseover = function() {
				//if(this.className!=scl_click) this.className = scl_over;
				if(this.className==scl_click) {
					this.className = scl_click_over;
				} else {
					this.className = scl_over;
				}
			}
			rows[i].onmouseout = function() {
				if(this.className==scl_click_over) {
					this.className = scl_click;
				} else {
					this.className = trow['orig'][this.id];
				}
			}
		}
		if(scl_click!=undefined && scl_click!='') {
			rows[i].onclick = function() {
				this.className = (this.className!=scl_click_over) ? scl_click_over : scl_over;
				if (click_check!=undefined && click_check!='') {
					len = click_check.length;
					if (len==undefined) {
						click_check.checked = (this.className==scl_click_over);
					} else {
						click_check[this.id].checked = (this.className==scl_click_over);
					}
				}
				SelectedRowsCount = SelectedRowsCount+((this.className==scl_click_over) ? +1 : -1);
				if (click_func!=undefined && click_func!='') {
					eval(click_func);
				}
			}
		}
	}
}

function selectTableRows(item,scl_odd,scl_even,scl) {
	var tableObj = document.getElementById(item);
	var tBody = tableObj.getElementsByTagName('TBODY');
	if(tBody){
		var rows = tBody[0].getElementsByTagName('TR');
	} else {
		var rows = tableObj.getElementsByTagName('TR');
	}
	for(var i=0;i<rows.length;i++){
		rows[i].className = (scl!='') ? scl : ((i%2) ? scl_odd : scl_even);
	}
}

function UnselectAllExceptCurrent(this_form,items,tbl_id,row_on,row_odd,row_even,current) {
	var tableObj = document.getElementById(tbl_id);
	var tBody = tableObj.getElementsByTagName('TBODY');
	if(tBody){
		var rows = tBody[0].getElementsByTagName('TR');
	} else {
		var rows = tableObj.getElementsByTagName('TR');
	}
	for(var i=0;i<rows.length;i++){
		if (i!=current) rows[i].className = (i%2) ? row_odd : row_even;
	}
}

/* Select and Deselect all checkboxes
* @param this_form: object, form object
* @param items: var, element(s) name(s)
* @param tbl_id: var, table id
* @param row_on: var, table row style on select
* @param row_odd: var, table odd row style
* @param row_even: var, table even row style
*/
var selectAllNoneStatus;
function selectAllNone(this_form,items,tbl_id,row_on,row_odd,row_even) {
	selectAllNoneStatus = (selectAllNoneStatus!=undefined) ? !selectAllNoneStatus : true;
	var t_form = document.forms[this_form];
	if (t_form.elements[items]!=undefined) {
		var len = t_form.elements[items].length;
		var sel = getNumSelected(this_form,items);
		var status;
		if (len==undefined) {
		 	t_form.elements[items].checked = status = (sel==1) ? false : true;
		} else {
			for(var i=0; i<len; i++){
				t_form.elements[items][i].checked = status = (sel==len) ? false : ((sel==0) ? true : selectAllNoneStatus);
			}
		}
		selectAllNoneStatus = status;
		SelectedRowsCount = (status==true) ? len : 0;
		var row_style = (status) ? row_on : '';
		selectTableRows(tbl_id,row_odd,row_even,row_style);
	} else {
		alert('Eror! Element "'+items+'" not found!')
		result = false;
	}
}

// Count selected checkboxes
function getNumSelected(this_form,items) {
	/*
	var result = 0;
	var t_form = document.forms[this_form];
	if (t_form.elements[items]!=undefined) {
		var len = t_form.elements[items].length;
		if (len==undefined) {
		 	result = (t_form.elements[items].checked) ? '1' : '0';
		} else {
			for(var i=0; i<len; i++){
				if (t_form.elements[items][i].checked) {
					result++;
				}
			}
		}
	} else {
		alert('Eror! Element "'+items+'" not found!')
		result = false;
	}
	return result;
	*/
	return SelectedRowsCount;
}

// Get list of selected checkboxes items id (ex: 1,2,3)
function getSelectedToString(this_form,items) {
	var result = '';
	var t_form = document.forms[this_form];
	if (t_form.elements[items]!=undefined) {
		var len = t_form.elements[items].length;
		if (len==undefined) {
			result = t_form.elements[items].value;
		} else {
			for(var i=0; i<len; i++){
				if (t_form.elements[items][i].checked) {
					if (result!='') result += ',';
					result += t_form.elements[items][i].value;
				}
			}
		}
	} else {
		alert('Eror! Element "'+items+'" not found!')
		result = false;
	}
	return result;
}

function button_status(this_form,items,status) {
	var status = (status) ? false : true;
	var t_form = document.forms[this_form];
	if (t_form.elements[items]!=undefined) {
		var len = t_form.elements[items].length;
		if (len==undefined) {
			t_form.elements[items].disabled = status;
		} else {
			for(var i=0; i<len; i++){
				t_form.elements[items][i].disabled = status;
			}
		}
	} else {
		alert('Eror! Element "'+items+'" not found!')
		result = false;
	}
}

// Disable and Enable buttons if checkboxes are selected
function setButtonStatusIfSelected(this_form,items,buttons) {
	var status = (getNumSelected(this_form,items)>0) ? true : false;
	button_status(this_form,buttons,status);
}

// Load select option from array
function loadOptionsArray(this_form,element,items,active) {
	obj = this_form.elements[element];
	obj.length = 0;
	var sel_i = 0;
	for (var i=0; i < items.length; i++) {
		sel = (items[i][1]==active) ? 1 : 0;
		if (sel==1) sel_i = i;
		obj.options[i] = new Option(items[i][0],items[i][1],0,sel)
	}
	if (obj.selectedIndex!=sel_i) obj.options[sel_i].selected=true; // fix IE 6 bug(?) when selected previouse option
	obj.options[obj.selectedIndex].style.backgroundColor = '#EDEDED';
}

function disable_form_buttons(theform,status) {
	var status = (status!=undefined) ? status : true;
	if (document.all || document.getElementById) {
		for (i = 0; i < theform.length; i++) {
			var tempobj = theform.elements[i];
			if (tempobj.type && (tempobj.type.toLowerCase() == "submit" || tempobj.type.toLowerCase() == "reset" || tempobj.type.toLowerCase() == "button"))
				tempobj.disabled = status;
		}
	}
}

function ConfirmMessage(link,item,message) {
	 if (confirm(message)) {
		document.open('text/html')
		document.write('<html><head></head><body onload="document.confirm.submit()">')
		document.write('<form name="confirm" action="'+link+'" method=post>')
		document.write('<input type="hidden" name="confirm" value="yes">')
		document.write('<input type="hidden" name="item" value="'+item+'">')
		document.write('</form>')
		document.write('</body></html>')
		document.close()
	}
	return false;
}

/* Language drop down select */
var lang_timeout = null;
function language_select() {
	
	/*// Change element width to match hidden block width
	var siw = $("#selectLang").innerWidth();
	var sw = $("#selectLang").width();
	$("#menu-lang ul").show();
	var liw = $("#menu-lang ul").innerWidth();
	var lw = $("#menu-lang ul").width();
	$("#menu-lang ul").hide();
	//alert(siw+', '+sw+'. '+liw+'='+(sw+(liw-siw)));
	if(siw < liw) $("#selectLang").width((sw+(liw-siw))+'px');
	else $("#menu-lang ul").width((lw+(siw-liw))+'px');*/
	// Show/Hide menu
	$("#menu-lang").hover(function(){
		clearTimeout(lang_timeout);
		$("#menu-lang ul").stop(true,true).slideDown();
	},function(){
		lang_timeout = setTimeout(function(){ $("#menu-lang ul").slideUp(); }, 700);
    });
}

$(document).ready(function(){
	// Switch Full and Short search form
	var search_form_load_show = $("#csf").val() || "short";
	var search_form_load_hide = show_form_switch(search_form_load_show);
	show_form_toggle(search_form_load_show,true);
	show_form_toggle(search_form_load_hide,false);
	var search_form_show = $("#csf").val() || "short";
	if($(".cargo_search_short").is(':visible')) $(".cargo_search_full").hide();
	$(".cargo_search_switch").click(function(){ 
		var search_form_curr = $(this).attr('rel');
		var search_form_show = show_form_switch(search_form_curr);
		show_form_toggle(search_form_show,true);
		show_form_toggle(search_form_curr,false);
		$("#csf").val(search_form_show);
	});
});
function show_form_switch(item) {
	return (item == "short") ? "full" : "short";
}
function show_form_toggle(item,status) {
	var disabled = (status == false);
	if(status === true) $(".cargo_search_"+item).show();
	else $(".cargo_search_"+item).hide();
	$(".cargo_search_"+item+" :input").attr('disabled',disabled);
	$(".cargo_search_"+item+" :select").attr('disabled',disabled);
}
