/* Function library */

var MRTimer;

function deleteMyReport(n){
	if(confirm('Do you want to delete this report?')){
		$('myRepID_'+n).remove();
		new Ajax.Request(('processMyReports.asp?mycmd=kill&id='+n),{ method : 'get' });
	}
}

function saveThisReport(section){
	if(document.mainForm.oktosave.value!='y'){
		alert('You have to run report before you can save it!'); 
		return;
	}
	if($('SaveStatus')!=null) $('SaveStatus').update("");
	var inf = $('disp').innerHTML;
	var qry = "";
	var name = document.mainForm.MyReportName.value;
	var sec = section;
	
	var ignore = 'oktosave,dfld,dfldD,dfldA,fromdate,todate,dlist,llist,clist,elist,keylist,deplist,arrlist,MyReportName,';
	ignore += 'locInput_param,locQuick_param,locMode,eqptInput_param,eqptQuick_param,eqptMode,';
	ignore += 'DepInput_param,depQuick_param,depMode,ArrInput_param,arrQuick_param,arrMode,carrInput_param,carrQuick_param,carrMode,';
	ignore += 'dtype,fm_m,fy_m,tm_m,ty_m,fy_y,ty_y,ytype,fm_r,fd_r,fy_r,tm_r,td_r,ty_r,logical,';
	ignore += 'fltype,phclass,wtclass,usclass,rjet,bjet,oceanic,maxalt,smMax,smMin,seatsMax,seatsMin,state,region,ftype,hubsize,isforeign,ustower,';
	ignore += 'compdfld,compdlist,compfromdate,comptodate,compdtype,compytype,complogical,rank,';
	ignore += 'compfm_m,compfy_m,comptm_m,compty_m,compfy_y,compty_y,compfm_r,compfd_r,compfy_r,comptm_r,comptd_r,compty_r,';
	ignore += 'iti_ifr,iti_vfr,ove_ifr,ove_vfr,iti,vfr,loc,ifr,act,dom,oce';


	var obj;
	var lst='',nm='';
	for(var i=0; i<document.mainForm.length; i++){
		if(ignore.toUpperCase().indexOf(document.mainForm.elements[i].name.toUpperCase())>=0){
			continue;
		}
		if(document.mainForm.elements[i].type=='radio'){
			nm = document.mainForm.elements[i].name;
			if(lst.indexOf(nm)>=0)
				continue;
			obj = eval('document.mainForm.'+nm);
			lst += (nm + ',');
			for(var n=0; n < obj.length; n++){
				if(obj[n].checked){
					qry += (qry==""?"":"&") + nm + '=' + obj[n].value;
					break;
				}
			}
		}else{
			qry += (qry==""?"":"&") + document.mainForm.elements[i].name + '=' + document.mainForm.elements[i].value;
		}
	}
	new Ajax.Updater('SaveStatus', 'processMyReports.asp', { parameters: { mycmd: 'save', section: sec, info: inf, line: qry, label: name }, insertion: Insertion.Bottom }); 
}

function removeMyReport(ID) {
	$("myRepID_"+ID).remove();
	if ($('myReportsList').empty()){
		$('nomyreports').show();
	}
}

function removeAllMyReports() {
	var IDs = $('myReportsList').immediateDescendants().collect(function (li) {return li.id.substring(li.id.indexOf('_')+1,li.id.length);});
	IDs.each(removeMyReport);
}

function getMyReports(id){
	if(MRTimer!=null) clearTimeout(MRTimer);
	removeAllMyReports();
	new Ajax.Updater('myReportsList', 'processMyReports.asp', { parameters: { mycmd: 'load', infid: id }, insertion: Insertion.Bottom }); 
	checkMyReportsList();
}

function checkMyReportsList(){
	if ($('myReportsList').empty())	{
		$('nomyreports').show();
	}else{
		$('nomyreports').hide();
	}
	MRTimer = setTimeout("checkMyReportsList()",500);
}

var myInfoArray=new Array();

function getMyLoadedInfo(key){
	var ret='';
	for(var i=0;i<myInfoArray.length;i++){
		if(myInfoArray[i][0]==key){
			ret=myInfoArray[i][1];
			break;
		}
	}
	return ret;
}

function addMyInfo(key,info){
	myInfoArray.length++;
	myInfoArray[myInfoArray.length-1]=new Array(key,info);
}

function showMyInfo(id,e){
	var X=0,Y=0;
	var scrollTop = document.body.scrollTop;
	var scrollLeft = document.body.scrollLeft;
	hideMyInfo();
	new Insertion.Bottom('myRepAssist', '<span id="inf"></span>');
	getMyRepInfo(id);
	X= ((e.clientX+200)>$('FrameSize').getWidth()?(e.clientX-200+scrollLeft):(e.clientX+scrollLeft));
	Y= ((e.clientY+$('myRepAssist').getHeight())>$('FrameSize').getHeight()?(e.clientY-$('myRepAssist').getHeight()+scrollTop):(e.clientY+scrollTop));
	$('myRepAssist').setStyle({
		top:Y,
		left:X,
		width:200
	});
	$('myRepAssist').show();
}

function hideMyInfo(){
	$('myRepAssist').hide();
	$('myRepAssist').setStyle({
		top:0,
		left:0
	});
	if($('inf')!=null)
	$('inf').remove();
}

function getMyRepInfo(id){
	var tmp=getMyLoadedInfo(id);
	if(tmp!=''){
		$('inf').update(tmp).setStyle({'font-size':'7pt', 'font-family':'Arial, Helvetica, sans-serif' });
	}else{
		var url = 'processMyReports.asp?mycmd=info&id=' + id;
		new Ajax.Request(url,{
				method: 'get',
				onSuccess: function(transport){
					$('inf').update(transport.responseText).setStyle({'font-size':'7pt', 'font-family':'Arial, Helvetica, sans-serif' });
					addMyInfo(id,transport.responseText); 
				},
				onFailure: function(transport){
					$('inf').update('Information is not available.').setStyle({'font-size':'7pt', 'font-family':'Arial, Helvetica, sans-serif' });
				}
		}); 
	}
}
