
lastPanel = 'none';


function makeFunc() {   
  var args = Array.prototype.slice.call(arguments);   
  var func = args.shift();   
  return function() {   
    return func.apply(null, args.concat(Array.prototype.slice.call(arguments)));   
  };   
} 


function fillDays() {
	var tripdays = document.getElementById('tripdays').value;
	//alert('TRIPDAYS FROM FORM: '+tripdays);
	var iex;
	var tsdays = tripdays.split(",");
	for (iex in tsdays) {
		if (tsdays[iex] != null) {
			//alert('runit');
			fillDay('DAY'+tsdays[iex]);
		}
	}
}


function chkObject(theVal) 
{
    if (document.getElementById(theVal) != null)
    {
        return true;
    }
    else
    {
       return false;
    }
}



function fillDay(ineday,closeDay) {
	//alert("'"+ineday+', '+document.getElementById(ineday));
	var checkObject = chkObject(ineday);
		
	if (checkObject != null) {
		var intripid = document.getElementById("tripid").value;
		load('/trips/inc_tripdetail_day.asp?id='+intripid+'&indate='+ineday,ineday);
	}
	
	//alert("'"+closeDay+', '+document.getElementById(closeDay));
	var closeDiv = document.getElementById(closeDay);
	if (closeDiv != null) {
		load('/trips/inc_tripdetail_day.asp?id='+intripid+'&indate='+closeDay,closeDay);
	}
}


function clearPanel(target) {
	if (lastPanel != 'none') {
		document.getElementById(target).innerHTML = '';
	}
}

//OLD AHAH FUNCTION FOR REFERENCE
//function ahah(url, target) {
//  document.getElementById(target).innerHTML = '<img src=/loading.gif>';
//  if (window.XMLHttpRequest) {
//    req = new XMLHttpRequest();
//  } else if (window.ActiveXObject) {
//    req = new ActiveXObject("Microsoft.XMLHTTP");
//  }
//  if (req != undefined) {
//    //req.onreadystatechange = function() {ahahDone(url, target);};
//    req.onreadystatechange = makeFunc(ahahDone, req, target);
//    req.open("GET", url, true);
//    req.send("");
//  }
//}  
//
//function ahahDone(url, target) {
//  if (req.readyState == 4) { // only if req is "loaded"
//    if (req.status == 200) { // only if "OK"
//      document.getElementById(target).innerHTML = req.responseText;
//    } else {
//      document.getElementById(target).innerHTML=" AHAH Error:\n"+ req.status + "\n" +req.statusText;
//    }
//  }
//}


function ahah2(url, target, funcname) {
		//alert('ahha2'); 
        function ahahDone2() { 
          if(req.readyState == 4){ 
            if(req.status == 200){ 
                  if(!(target == undefined)){ 
                    document.getElementById(target).innerHTML = req.responseText; 
                  } 
                  if(!(funcname == undefined)){ 
                    eval(funcname+"(req.responseText);"); 
                  } 
            }else{ 
                  if(!(target == undefined)){ 
                    document.getElementById(target).innerHTML = "ahah error:\n"+req.statusText; 
                  } 
              if(!(funcname == undefined)){ 
                    eval(funcname+"(req.responseText);"); 
                  } 
            } 
          } 
        } 


        if(!(target == undefined)){ 
            //document.getElementById(target).innerHTML = 'caricamento dati in corso...'; 
            document.getElementById(target).innerHTML = '<img src=/loading.gif>';
        } 
        if(window.XMLHttpRequest){ 
                var req = new XMLHttpRequest(); 
        }else if(window.ActiveXObject) { 
                var req = new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        if(req){ 
                req.onreadystatechange = function() { 
                        ahahDone2(); 
                }; 
                req.open("GET", url, true); 
                req.send(""); 
        } 


}


function load(name, div) {
	ahah2(name,div);
	return false;
}





function openCommentsBox(inid) {
	//document.getElementById('stop'+inid).innerHTML='<iframe width=100% height=80 frameborder=0 framespacing=0 src=/users/inc_commentform.asp?id='+inid+'></iframe>';
	//load('/users/inc_commentform.asp?id='+inid,'mcomments'+inid);
	}

function openRescheduleBox(inid,stopid) {
	//document.getElementById('lcomments'+inid).innerHTML='<iframe width=100% height=100% frameborder=0 framespacing=0 src=/users/inc_showcomments.asp?id='+inid+'></iframe>';
	//alert('stop'+stopid);
	//alert('trip'+inid);
	clearPanel(lastPanel);
	if (lastPanel != 'stop'+stopid) {
		load('/trips/inc_reschedulebox.asp?tripid='+inid+'&stopid='+stopid,'stop'+stopid);		
		lastPanel='stop'+stopid;
		} else {
		lastPanel='none';
		}
	}
	
function clearCommentsBox(inid) {
	document.getElementById('mcomments'+inid).innerHTML='';
	}	

function doneComments(inid) {
	showCommentsBox(inid);
	clearCommentsBox(inid);
	}
	

var logAry = new Array();
function changetrip(in_tripid,in_stopid,num_status,dat_start_date,sourceday){
	//alert('got here: '+num_status);
	stopid = document.getElementById('stopid').value;
	//alert("NEW STOPID: " + stopid);
	
	var logImg = new Image(1,1);
	logImg.src = "/trips/inc_changetrip.asp?tripid=" + in_tripid + "&stopid=" + in_stopid + "&num_status="+num_status+"&dat_start_date="+dat_start_date;
	logAry[logAry.length] = logImg;
	
	clearPanel(lastPanel);
	
	fillDay('DAY'+dat_start_date);
	fillDay(sourceday);
	}
	
function updatePage() {
	clearPanel(lastPanel);
}


//function dochange(sourceday) {
//	num_status = document.getElementById('num_status').value;
//	tripid = document.getElementById('tripid').value;
//	stopid = document.getElementById('stopid').value;
//	dat_start_date = document.getElementById('dat_start_date').value;
//	changetrip(tripid,stopid,num_status,dat_start_date,sourceday);
	//alert('haha');
//}


function pausecomp(millis) 
{
var date = new Date();
var curDate = null;

do { curDate = new Date(); } 
while(curDate-date < millis);
} 



//Browser Support Code
function dochange(sourceday){
	var ajaxRequest;  // The variable that makes Ajax possible!
	
	try{
		// Opera 8.0+, Firefox, Safari
		ajaxRequest = new XMLHttpRequest();
	} catch (e){
		// Internet Explorer Browsers
		try{
			ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try{
				ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e){
				// Something went wrong
				alert("Your browser broke!");
				return false;
			}
		}
	}
	// Create a function that will receive data sent from the server
	ajaxRequest.onreadystatechange = function(){
		//alert(ajaxRequest.readyState);
		if(ajaxRequest.readyState == 4){
			if(ajaxRequest.status == 200) {
				fillDay('DAY'+dat_start_date,sourceday);
			} else {
				alert("error!");
			}
			clearPanel(lastPanel);
			
		}
	}
	
	
	
	var in_tripid = document.getElementById('tripid').value;
	var in_stopid = document.getElementById('stopid').value;
	var num_status = document.getElementById('num_status').value;
	var dat_start_date = document.getElementById('dat_start_date').value;
	
	if (chkObject('num_preferred')) {
		var num_preferred = document.getElementById('num_preferred').value;
	}
	
	//----GET TIME FROM DROPDOWN
	var w = document.reschedule.in_start_time.selectedIndex;
	in_start_time = document.reschedule.in_start_time.options[w].text;
	//var in_start_time = document.getElementById('in_start_time').text;
	
	var num_duration = document.getElementById('num_duration').value;
	var mem_notes = document.getElementById('mem_notes').value;
	
	var queryString = '?';
	queryString = queryString + 'tripid=' + in_tripid; 
	queryString = queryString + '&stopid=' + in_stopid;
	queryString = queryString + '&num_status='+ num_status;
	queryString = queryString + '&dat_start_date=' + dat_start_date;
	queryString = queryString + '&num_preferred=' + num_preferred;
	queryString = queryString + '&in_start_time=' + in_start_time;
	queryString = queryString + '&num_duration=' + num_duration;
	queryString = queryString + '&mem_notes=' + mem_notes;
	//alert(queryString);
	
	//var ceed = prompt('error here',queryString);
	ajaxRequest.open("GET", "/trips/inc_changetrip.asp" + queryString, true);
	ajaxRequest.send(null); 
}


//--------------------------------------------------------------->
// SUPRESS ALL ERROR MESSAGES
//--------------------------------------------------------------->
//function handleError() {
//	return true;
//}
//window.onerror = handleError;



