function openPopUp(url, width, height){
   url+='&urlstring='+window.document.forms[0].urlstring.value;
   PopUp=openPopUpBase (url, width, height, PopUp, 'Description');
}
function openPopUpHelp(){
   var url='Help.do'+getJsession()+'?method=load&cmd=process&process=';
   url+=window.document.forms[0].process.value+'&entry='+window.document.forms[0].step.value;
   url+='&step='+window.document.forms[0].step.value;
	if (arguments.length>0 && arguments[0]!=null) {
		url+='&helpfilename='+arguments[0];
	}
   popUpHelp = openPopUpBase(url, 700, 500, popUpHelp, 'help');
}

function oAD(appointmentId){
	var url='AppointmentDetails.do'+getJsession()+'?method=load&appointmentId='+appointmentId;
	openPopUp(url, 700, 500);
}
function oWD(appointmentId){
	var url='AppointmentDetails.do'+getJsession()+'?method=load&waitList=true&appointmentId='+appointmentId;
	openPopUp(url, 700, 500);
}
function oCAD(appointmentId){
	var url='AppointmentDetails.do'+getJsession()+'?method=loadCompound&appointmentId='+appointmentId;
	if(arguments.length>1) url+='&groupNumber='+arguments[1];
	if(arguments.length>2) url+='&delete=false';
	openPopUp(url, 700, 500);
}
function oCWD(appointmentId){
	var url='AppointmentDetails.do'+getJsession()+'?method=loadCompound&waitList=true&appointmentId='+appointmentId;
	openPopUp(url, 700, 500);
}
function oMAD(multiLocationId){
	var url='MultiLocationAppointmentDetail.do'+getJsession()+'?method=detail&multiLocationId='+multiLocationId;
	openPopUp(url, 700, 500);
}
function openPopUpCancellation(){
   var url='receptionist/cancellationPolicy.jsp'+getJsession();
   popUpCancellation = openPopUpBase(url, 640, 450, popUpCancellation, 'Cancellation');
}
function openPopUpReport(url, width, height){
   PopUpReport= openPopUpBase(url, width, height, PopUpReport, 'Report');
}
function openPopUpClient(url){
   popUpClient=openPopUpBase (url, 750, 500, popUpClient, 'Client');
}
function openPopUpCalendar(url, width, height){
   popUpCalendar=openPopUpBase (url, width, height, popUpCalendar, 'Calendar');
}
function openPopUpLocation(url){
   popUpLocation=openPopUpBase (url, 750, 500, popUpLocation, 'Location');
}
function openPopUpRegistration(url){
   popUpRegistration=openPopUpBase (url, 750, 500, popUpRegistration, 'Registration');
}

function openPopUpBase (url, width, height, variable, name) {
	
	if(variable!=null&&variable.closed!=true) variable.close();
	var args='toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width='+width+',height='+height;
	var prefix='';
	var uAgent=navigator.userAgent;
	var aName=navigator.appName;
	if(aName.indexOf('Netscape')>=0&&url.indexOf('http')!=0) prefix='../';
	variable= window.open(prefix+url, name, args);
	variable.focus();
	return variable;
}
function displayCalendar(month, date, year) {
   var dayInput;
   var monthInput;
   var yearInput;
   if(arguments.length>0) {
      dayInput=date;
      monthInput=month;
      yearInput=year;
   } else {
      var form=window.document.forms[0];
      dayInput   =form.day;
      monthInput =form.month;
      yearInput  =form.year;
   }
   if(dayInput.type=='select-one')     day=dayInput.options[dayInput.selectedIndex].value;
   else day=dayInput.value;
   if(monthInput.type=='select-one')   month=monthInput.options[monthInput.selectedIndex].value;
   else month=monthInput.value;
   if(yearInput.type=='select-one')    year=yearInput.options[yearInput.selectedIndex].value;
   else year=yearInput.value;
   var url  ='receptionist/calendar.jsp'+getJsession()+'?day='+day+'&month='+month+'&year='+year;
   popUpCalendar=openPopUpCalendar(url, 630, 400); 
}
function displayCalendarPast(month, date, year) {
	var dayInput;
   var monthInput;
   var yearInput;
   if(arguments.length>0) {
      dayInput=date;
      monthInput=month;
      yearInput=year;
   } else {
      var form=window.document.forms[0];
      dayInput   =form.day;
      monthInput =form.month;
      yearInput  =form.year;
   }
   if(dayInput.type=='select-one')     day=dayInput.options[dayInput.selectedIndex].value;
   else day=dayInput.value;
   if(monthInput.type=='select-one')   month=monthInput.options[monthInput.selectedIndex].value;
   else month=monthInput.value;
   if(yearInput.type=='select-one')    year=yearInput.options[yearInput.selectedIndex].value;
   else year=yearInput.value;

   var url  ='receptionist/calendar.jsp'+getJsession()+'?showPast=1&day='+day+'&month='+month+'&year='+year;;
   popUpCalendar=openPopUpCalendar(url, 820, 550); 
}
function setToday(){
   document.forms[0].method.value='today';
   doSave();
}
function getPageUrlString(){
	var method=null;
	var process=null;
	if(arguments.length>0) method=arguments[0];
	if(arguments.length>1) process=arguments[1];
	var formElements=window.document.forms[0].elements;
	var buff='';
	for(var i=0; i<formElements.length;i++) {
		if(method!=null&&formElements[i].name=='method') buff+='method='+encode(method);
		else if(process!=null&&formElements[i].name=='process') buff+='process='+encode(process);
		else if(formElements[i].type=='select-one'&&formElements[i].selectedIndex>=0){
				buff+=formElements[i].name+'=';
				buff+=encode(formElements[i].options[formElements[i].selectedIndex].value);
		} else if (formElements[i].type=='checkbox'&&formElements[i].checked==true){
			buff+=formElements[i].name+'=';
			buff+=encode(formElements[i].value);
		} else {
			buff+=formElements[i].name+'=';
			buff+=encode(formElements[i].value);
		}
		if(i<(formElements.length-1)) buff+="&";
	}
	var act=window.document.forms[0].action;
	if(arguments.length>0) act=arguments[0];
	return act+getJsession()+'?'+buff;
}
function encode(str) {
	var s=new String(str);
	var newStr='';
	for(var i=0; i<s.length; i++) {
		var ch=s.charAt(i);
		switch(ch) {
         case ' ':
							newStr+='%20';
                     break;
         case ';':
							newStr+='%3B';
                     break;
         case '/':
							newStr+='%2F';
                     break;
         case '?':
							newStr+='%3F';
                     break;
         case ':':
							newStr+='%3A';
                     break;
         case '@':
							newStr+='%40';
                     break;
         case '=':
							newStr+='%3D';
                     break;
         case '&':
							newStr+='%26';
                     break;
         case '<':
							newStr+='%3C';
                     break;
         case '>':
							newStr+='%3E';
                     break;
         case '"':
							newStr+='%22';
                     break;
         case '#':
							newStr+='%23';
                     break;
         case '%':
							newStr+='%25';
                     break;
         case '{':
							newStr+='%7B';
                     break;
         case '}':
							newStr+='%7D';
                     break;
         case '|':
							newStr+='%7C';
                     break;
         case '\\':
							newStr+='%5C';
                     break;
         case '^':
							newStr+='%5E';
                     break;
         case '~':
							newStr+='%7E';
                     break;
         case '[':
							newStr+='%5B';
                     break;
         case ']':
							newStr+='%5D';
                     break;
         case '`':
							newStr+='%60';
                     break;
         default:
							newStr+=ch;
		}
	}
	return newStr;
}
function getJsession() {
	var index1=window.location.href.indexOf(';jsessionid=');
	var index2=window.location.href.indexOf('?')
	if(index2<0) index2=window.location.href.length;
	if (index1==-1) index2=-1;
	else index2-=index1;
	return window.location.href.substr(index1, index2);
}
function getLocationDescription(Id, title) {
  var urlString='Description.do'+getJsession()+'?method=load&table=Location&id='+Id+"&title="+encode(title);
  openPopUp(urlString,  640, 420);
}
function getLocationGrDescription(Id, title, name) {
  var urlString='Description.do'+getJsession()+'?method=load&table=LocationGroup&id='+
  					Id+'&title='+encode(title)+'&name='+encode(name);
  openPopUp(urlString,  640, 420);
}
