var listOfProviders = new Array(); var CalendarJSOK = true; var browserV = navigator.appVersion; var millis_per_day = 86400000; var millis_per_hour = 3600000; var millis_per_min = 60000; var DATES = new Array(); var CALTOP= '
'; //var CALTOP= '
'; var OUTPUT = ''; var CALFOOT= '
'; var SPLITTER = '^'; var FIRSTMONTH = -1; var LASTMONTH = -1; var ENDMONTH = -1; var FIRSTDATE = -1; var LASTDATE = -1; var ENDDATE = -1; function AJAXInteraction(host, url, callback) { var req = init(); req.onreadystatechange = processRequest; function init() { if (window.XMLHttpRequest) { return new XMLHttpRequest(); } else if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP"); } } function processRequest () { if (req.readyState == 4) { if (req.status == 200) { if (callback) callback(req.responseText); } } } this.doGet = function() { req.open("GET", host+'?'+url, true); req.send(null); } this.doPost = function(body) { req.open("POST", host, true); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); req.send(body); } } function makeGetRequest(h,u,lab) { //alert("Doing makeGetRequest"); var ai = new AJAXInteraction(h, u, function() { document.getElementById(lab).innerHTML=arguments[0];}); ai.doGet(); } function makeGetRequest2(h,u,lab) { //alert("Doing makeGetRequest2"); var ai2 = new AJAXInteraction(h, u, function() { document.getElementById(lab).innerHTML=arguments[0];}); ai2.doGet(); } function makePostRequest(h, u, lab) { var ai3 = new AJAXInteraction(h, u, function() { document.getElementById(lab).innerHTML=arguments[0];}); ai3.doPost(u); } //document.getElementById(lab).innerHTML=req.responseText;} var myRequestCount = 0; var start = ''; // URL of server script must be in same domain as this page function callServer(myHost,myUrl,arealabel) { var myRequest = false; myRequestCount = myRequestCount + 1; myRequest = createXMLHTTPRequest(); // get an object to call the server try { myRequest.open("POST", myHost, true); myRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); // POST //myRequest.open("GET", myUrl, true); myRequest.send(myUrl); } catch (err4) { alert('failed to open a connection to the server'); return; } // callback this anonymous inner function myRequest.onreadystatechange = function() { if (myRequest.readyState == 4) { if (myRequest.status == 200) { // update page with results //alert(myRequest.responseText); document.getElementById(arealabel).innerHTML=myRequest.responseText; return; } else { alert('error '+myRequest.status); return; } } } // end anonymous inner function (callback) } var ODDROWS = true; var DATE = new Array(6); var DATABITS = new Array(25); DATABITS[0] = ''; DATABITS[1] = ''; DATABITS[2] = ''; DATABITS[3] = ''; DATABITS[4] = ''; DATABITS[5] = ''; DATABITS[6] = ''; DATABITS[7] = ''; DATABITS[8] = ''; DATABITS[9] = ''; DATABITS[10] = ''; DATABITS[11] = ''; DATABITS[12] = ''; DATABITS[13] = ''; DATABITS[14] = ''; DATABITS[15] = ''; DATABITS[16] = ''; DATABITS[17] = ''; DATABITS[18] = ''; DATABITS[19] = ''; DATABITS[20] = ''; DATABITS[21] = ''; DATABITS[22] = ''; DATABITS[23] = ''; DATABITS[24] = ''; var CHANGECOLOUR = false; var ROWLEN = 3; var ROWLENl = 2; var LINE=new Array(); var HROW = ''; var DROW = ''; var newdate = true; var newmonth = true; var datenum = -1; var monthnum = -1; var curyear = 2005; var yearnum = -1; var startmark = -1; var endmark = -1; var startyearnum = -1; var endyearnum = -1; var startmonthnum = -1; var endmonthnum = -1; var yearadjust = 1900; if(browserV.indexOf('MSIE')!=-1) { yearadjust = 0; } var CELLCOUNT = 0; // You can easily customize what years can be used var months = new Array("Pick a Month","January","February","March","April","May","June","July","August","September","October","November","December"); var smonths = new Array("Month","Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"); // You can easily customize what years can be used var shortmonths = new Array("Pick a Month","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); var nicenumbers = new Array("00","01","02","03","04","05","06","07","08","09"); var hours = new Array("Hour","12 night","01","02","03","04","05","06","07","08","09","10","11","12 midday","13","14","15","16","17","18","19","20","21","22","23"); function printCalendar ( rl , style ) { //alert('st'+style); if(style==undefined || style.indexOf('bymonth')==0) { printCalendarByMonth(rl); } else { printCalendarByDay(); } } function printCalendarByMonth ( rl ) { var space = ''; var count = 1; if(rl!=undefined && rl!=-1) { ROWLEN = rl; ROWLENl = ROWLEN-1; } if((ROWLEN%2)==0) { ODDROWS = false; } for(i=0;i'+DATE[2]+' '+LINE[2]+'-'+LINE[1]+'
'; } else { DATABITS[monthnum] += '   '+LINE[2]+'-'+LINE[1]+'
'; } } } document.write(CALTOP); LASTMONTH = LASTMONTH - FIRSTMONTH + 1; NEXTMONTH = FIRSTMONTH; while(LASTMONTH>CELLCOUNT) { CELLCOUNT+=ROWLEN ENDMONTH = NEXTMONTH+ROWLEN; HROW = ''; DROW = ''; for(j=NEXTMONTH;j12) { thismonth -= 12; } //alert(modt); if(!ODDROWS && (count%ROWLEN)==1) { if(CHANGECOLOUR) { CHANGECOLOUR = false; } else { CHANGECOLOUR = true; } } count++; if(CHANGECOLOUR) { CHANGECOLOUR = false; HROW += ''+smonths[thismonth]+' '+curyear+''; DROW += ''+DATABITS[j]+' '; } else { CHANGECOLOUR = true; HROW += ''+smonths[thismonth]+' '+curyear+''; DROW += ''+DATABITS[j]+' '; } } HROW += ''; DROW += ''; document.write(HROW); document.write(DROW); NEXTMONTH = j; } document.write(CALFOOT); } function mySetSpan () { var datestr = DATES[0]; startyearnum = myParseInt(datestr.substring(0,4)); startmonthnum = myParseInt(datestr.substring(4,6)); datestr = DATES[DATES.length-1]; endyearnum = myParseInt(datestr.substring(0,4)); endmonthnum = myParseInt(datestr.substring(4,6)); if(endyearnum==startyearnum) { } else { endmonthnum += 12*(endyearnum-startyearnum); } //startmark = startyearnum+''+startmonthnum; //endmark = endyearnum+''+endmonthnum; //alert('startmonthnum'+startmonthnum+' endmonthnum '+endmonthnum); } function printCalendarByDay ( ) { ROWLEN = 7; ROWLENl = ROWLEN-1; if((ROWLEN%2)==0) { ODDROWS = false; } mySetSpan(); document.write(CALTOP); var m = ''; var y = ''; var monthmatcher = ''; var datematcher = ''; var datesindex = 0; for(i=startmonthnum;i<=endmonthnum;i++) { if(i>12) { modt = i%12; m = new String(modt); //alert('modt'+modt+' m'+m); y = startyearnum+1; } else { modt = i; m = new String(i); y = startyearnum; } if(m.length==1) { m = '0'+m;} monthmatcher = y+''+m; //alert('m'+m+' mm'+monthmatcher); //print month header if(CHANGECOLOUR) { document.write(''+smonths[modt]+' '+y+''); datacolour = 'caldata'; CHANGECOLOUR = false; } else { document.write(''+smonths[modt]+' '+y+''); datacolour = 'caldatao'; CHANGECOLOUR = true; } for(j=1;j<=35;j++) { if(j<29) { datestr = j;} else { datestr = ' '; } if(j<10) { datematcher = monthmatcher+'0'+j;} else {datematcher = monthmatcher+j} document.write(''+datestr); while(datesindex'+LINE[2]+'-'+LINE[1]); } datesindex++; } if((j%7)==0) { document.write(''); } else { document.write(''); } } } document.write(CALFOOT); } function setDateArray (datestr) { yearnum = myParseInt(datestr.substring(0,4)); monthnum = myParseInt(datestr.substring(4,6)); DATE[0]=yearnum; DATE[1]=monthnum; DATE[2]=myParseInt(datestr.substring(6,8)); DATE[3]=myParseInt(datestr.substring(8,10)); thisdatenum=DATE[0]+''+DATE[1]+''+DATE[2]; if(datenum == thisdatenum){ newdate = false; } else { newdate = true; } datenum = thisdatenum; DATE[4]=myParseInt(datestr.substring(10,12)); if(yearnum>curyear) { monthnum+=(yearnum-curyear)*12; } if(monthnum < 1) { return -1; } if(FIRSTMONTH == -1 || monthnum < FIRSTMONTH) { FIRSTMONTH = monthnum; } if(LASTMONTH == -1 || monthnum > LASTMONTH) { LASTMONTH = monthnum; } return monthnum; } function populate_ymd(objForm_y,objForm_m,objForm_d,selectIndex,dateflag,nowdate,preset,freshdate) { timeA = new Date(objForm_y.options[objForm_y.selectedIndex].text, objForm_m.options[objForm_m.selectedIndex].value,1); //first of whatever month it is var setMonthDateFlag = true; timeDifference = timeA - 86400000; timeB = new Date(timeDifference); var daysInMonth = timeB.getDate(); var dayval; if(nowdate==null || nowdate.length<1) { mtimenow = new Date(); nowdate = mtimenow.getDate(); } var lastselecteddate; if(!dateflag) { setMonthDateFlag = false; } if(preset) { lastselecteddate = nowdate; } else { if(freshdate) { lastselecteddate = nowdate; } else { lastselecteddate = objForm_d.options[objForm_d.selectedIndex].value; } } if( objForm_m[objForm_m.selectedIndex].text.indexOf('Any')==-1) { for (var i = 0; i < objForm_d.length; i++) { objForm_d.options[i] = null; } objForm_d.options[0] = new Option("Date"); for (var i = 0; i < daysInMonth; i++) { dayval = i + 1; objForm_d.options[dayval] = new Option(dayval,dayval); } } else { setMonthDateFlag = false; } if(dateflag) { if(lastselecteddate && !freshdate) { //alert('setting '+lastselecteddate); objForm_d.options[lastselecteddate].selected = true; } else { objForm_d.options[0].selected = true; } } else { //alert('lastselecteddate '+lastselecteddate+ 'objForm_d.length '+objForm_d.length); var sl = new String(lastselecteddate); if(lastselecteddate && sl.indexOf('Date')==-1 && sl.indexOf('Any')==-1 && sl.indexOf('XXXX')==-1 && sl.indexOf('00')==-1) { if(preset == 1) { objForm_d.options[nowdate].selected = true; } else { //nowdate if its just been generated - or use last index if it doesnt need to change objForm_d.options[lastselecteddate].selected = true; } } else { if(setMonthDateFlag) { objForm_d.options[nowdate].selected = true; } } } } function populate_ymdhm(objForm_y,objForm_m,objForm_d,objForm_h,objForm_min,selectIndex) { timeA = new Date(objForm_y.options[objForm_y.selectedIndex].text, objForm_m.options[objForm_m.selectedIndex].value,1); timeDifference = timeA - 86400000; timeB = new Date(timeDifference); var daysInMonth = timeB.getDate(); var dayval; mtimenow = new Date(); nowdate = mtimenow.getDate() - 1; //nowdate = mtimenow.getDate(); for (var i = 0; i < objForm_d.length; i++) { objForm_d.options[0] = null; } for (var i = 0; i < daysInMonth; i++) { dayval = i + 1; objForm_d.options[i] = new Option(dayval,dayval); if(i == nowdate) { objForm_d.options[i].selected = true; } } } function populateCalendar_ym (objForm_y,objForm_m) { var maxyinc = 4; timenow = new Date(); nowyear = timenow.getYear() + yearadjust; nowmonth = timenow.getMonth() + 1; var years = new Array(); years[0] = nowyear; //now add some future years for(var y = 1;y < maxyinc;y++) { years[y] = nowyear + y; } for (var i = 0; i < objForm_y.length; i++) { objForm_y.options[0] = null; } timeC = new Date(); currYear = timeC.getFullYear(); for (var i = 0; i < years.length; i++) { objForm_y.options[i] = new Option(years[i],years[i]); if(years[i] == nowyear) { objForm_y.options[i].selected = true; } } objForm_m.options[0] = new Option(months[0]); for (var i = 1; i < months.length; i++) { objForm_m.options[i] = new Option(months[i],i); if(i == nowmonth) { objForm_m.options[i].selected=true; } } } function populateCalendar_ymd (objForm_y,objForm_m,objForm_d) { var maxyinc = 4; timenow = new Date(); nowyear = timenow.getYear() + yearadjust; nowmonth = timenow.getMonth() + 1; nowhours = timenow.getHours(); nowmins = timenow.getMinutes(); var years = new Array(); years[0] = nowyear; //now add some future years for(var y = 1;y < maxyinc;y++) { years[y] = nowyear + y; } for (var i = 0; i < objForm_y.length; i++) { objForm_y.options[0] = null; } timeC = new Date(); currYear = timeC.getFullYear(); for (var i = 0; i < years.length; i++) { objForm_y.options[i] = new Option(years[i],years[i]); if(years[i] == nowyear) { objForm_y.options[i].selected = true; } } objForm_m.options[0] = new Option(months[0]); for (var i = 1; i < months.length; i++) { objForm_m.options[i] = new Option(months[i],i); if(i == nowmonth) { objForm_m.options[i].selected=true; } } populate_ymd(objForm_y,objForm_m,objForm_d,nowmonth); } //default is to set time to now function setTimeElements () { timenow = new Date(); nowyear = timenow.getYear() + yearadjust; nowmonth = timenow.getMonth() + 1; nowhours = timenow.getHours() + 1; nowmins = timenow.getMinutes(); nowsecs = timenow.getSeconds(); } function trim (date_element) { if(date_element.length == 2 && date_element.indexOf("0") == 0) { return date_element.substring(1,date_element.length) } return date_element } //strip leading zeroes from time strings - 04 type values cam get interpreted as octal, which is bad news for 08 and 09 - thanks Kevin. function myParseInt ( time_string ) { if(time_string == '00') { return 0; } else { while(time_string.indexOf('0') == 0) { time_string = time_string.substring(1,time_string.length); } return parseInt(time_string); } } var numExp = new RegExp("^[0-9]+$"); function isNumber (val) { return numExp.exec(val); } //strip leading zeroes from time strings - 04 type values cam get interpreted as octal, which is bad news for 08 and 09 - thanks Kevin... but then put the zeroes back on function myParseIntToString ( time_string ) { var ti = 0; if(!isNumber(time_string)) { return ''; } time_string = new String(time_string); if(time_string == '00') { return "00"; } else { while(time_string.indexOf('0') == 0) { time_string = time_string.substring(1,time_string.length); } ti = parseInt(time_string); if(ti<10) { return nicenumbers[ti]; } else { return ti; } } } function genTime ( tim ) { //expect the time string to be 15 characters - last one "Z" if(tim.length!=15) { return ""; } else { y = tim.substring(0,4); m = tim.substring(4,6); d = tim.substring(6,8); h = tim.substring(8,10); min = tim.substring(10,12); s = tim.substring(12,14); //return myParseInt(d)+'/'+shortmonths[myParseInt(m)]+'/'+myParseInt(y)+' '+myParseInt(h)+':'+myParseInt(min)+':'+myParseInt(s); return shortmonths[myParseInt(m)]+ ' '+myParseInt(d)+', '+myParseInt(y)+' '+myParseIntToString(h)+':'+myParseIntToString(min)+':'+myParseIntToString(s); } } function genTimeDMY ( tim ) { //expect the time string to be 15 characters - last one "Z" if(tim!=undefined) { if(tim.length!=15) { } else { if(tim.indexOf('98Z')!=-1) { return shortmonths[myParseInt(tim.substring(4,6))]+ ' '+myParseInt(tim.substring(0,4)); } else { return shortmonths[myParseInt(tim.substring(4,6))]+ ' '+myParseInt(tim.substring(6,8))+', '+myParseInt(tim.substring(0,4)); } } } return ""; } //difference between ldap times in millis function genTimeDiff ( first , second , format) { firstdate = new Date(); firstdate.setYear(myParseInt(first.substring(0,4))); firstdate.setMonth(myParseInt(first.substring(4,6)) -1 ); firstdate.setDate(myParseInt(first.substring(6,8))); firstdate.setHours(myParseInt(first.substring(8,10))+1); firstdate.setMinutes(myParseInt(first.substring(10,12))); firstdate.setSeconds(myParseInt(first.substring(12,14))); firstmillis = firstdate.getTime(); seconddate = new Date(); seconddate.setYear(myParseInt(second.substring(0,4))); seconddate.setMonth(myParseInt(second.substring(4,6)) -1 ); seconddate.setDate(myParseInt(second.substring(6,8))); seconddate.setHours(myParseInt(second.substring(8,10))+1); seconddate.setMinutes(myParseInt(second.substring(10,12))); seconddate.setSeconds(myParseInt(second.substring(12,14))); secondmillis = seconddate.getTime(); if(format == 'days') { return Math.round(Math.abs(firstmillis - secondmillis)/millis_per_day); } else if(format == 'minutes') { return Math.abs(firstmillis - secondmillis)/millis_per_min; } else { return Math.abs(firstmillis - secondmillis); } } function genTimeDiffFromNow ( second , format) { firstdate = new Date(); firstdate.setHours(firstdate.getHours()+1); firstmillis = firstdate.getTime(); seconddate = new Date(); seconddate.setYear(myParseInt(second.substring(0,4))); seconddate.setMonth(myParseInt(second.substring(4,6)) - 1); seconddate.setDate(myParseInt(second.substring(6,8))); seconddate.setHours(myParseInt(second.substring(8,10))+1); seconddate.setMinutes(myParseInt(second.substring(10,12))); seconddate.setSeconds(myParseInt(second.substring(12,14))); secondmillis = seconddate.getTime(); //alert('nowtime'+firstdate.toGMTString()+'livetime'+seconddate.toGMTString()); if(format == 'days') { return Math.round(Math.abs(firstmillis - secondmillis)/millis_per_day); } else if(format == 'minutes') { return (secondmillis-firstmillis)/millis_per_min; } else { return secondmillis-firstmillis; } } function getGenTimeYear () { timenow = new Date(); return timenow.getYear() + yearadjust; } function getGenTimeY (inc) { timenow = new Date(); return timenow.getYear() + yearadjust + inc; } function getGenTimeMonth (decrement) { getGenTimeMonthL(decrement); } //given a year, month and day - add/sub the incdays nd return an ldap timestring eg 20040523 function getGenTimeDayFromYMD ( y, m, d, incdays) { firstdate = new Date(); firstdate.setYear(myParseInt(y)); firstdate.setMonth(myParseInt(m) -1 ); firstdate.setDate(myParseInt(d)); nowdate = new String(firstdate.getDate()); now_millis = firstdate.getTime(); last_day_millis = now_millis + ( incdays*millis_per_day ) ; //alert(' now_millis'+now_millis+'\n\rnext_millis'+last_day_millis); timelastday = new Date(last_day_millis); nowyear = new String(timelastday.getYear() + yearadjust); nowmonth = new String(timelastday.getMonth() + 1); if(nowmonth.length==1) { nowmonth = "0"+nowmonth; } nowdate = new String(timelastday.getDate()); //alert(' nowdate'+nowdate); if(nowdate.length==1) { nowdate = "0"+nowdate; } return nowyear + nowmonth + nowdate; } function getGenTimeDay (decrement) { if(decrement==null || decrement==0) { timenow = new Date(); nowyear = new String(timenow.getYear() + yearadjust); nowmonth = new String(timenow.getMonth() + 1); if(nowmonth.length==1) { nowmonth = "0"+nowmonth; } nowdate = new String(timenow.getDate()); if(nowdate.length==1) { nowdate = "0"+nowdate; } } else { timenow = new Date(); nowdate = new String(timenow.getDate()); now_millis = timenow.getTime(); last_day_millis = now_millis + ( decrement*millis_per_day ) ; timelastday = new Date(last_day_millis); nowyear = new String(timelastday.getYear() + yearadjust); nowmonth = new String(timelastday.getMonth() + 1); if(nowmonth.length==1) { nowmonth = "0"+nowmonth; } nowdate = new String(timelastday.getDate()); if(nowdate.length==1) { nowdate = "0"+nowdate; } } return nowyear + nowmonth + nowdate; } function getGenTimeHour (decrement) { if(decrement==null || decrement==0) { timenow = new Date(); nowyear = new String(timenow.getYear() + yearadjust); nowmonth = new String(timenow.getMonth() + 1); if(nowmonth.length==1) { nowmonth = "0"+nowmonth; } nowdate = new String(timenow.getDate()); if(nowdate.length==1) { nowdate = "0"+nowdate; } nowhour = new String(timenow.getHours()); if(nowhour.length==1) { nowhour = "0"+nowhour; } } else { timenow = new Date(); nowdate = new String(timenow.getDate()); now_millis = timenow.getTime(); last_day_millis = now_millis + ( decrement*millis_per_hour ) ; timelastday = new Date(last_day_millis); nowyear = new String(timelastday.getYear() + yearadjust); nowmonth = new String(timelastday.getMonth() + 1); if(nowmonth.length==1) { nowmonth = "0"+nowmonth; } nowdate = new String(timelastday.getDate()); if(nowdate.length==1) { nowdate = "0"+nowdate; } nowhour = new String(timelastday.getHours()); if(nowhour.length==1) { nowhour = "0"+nowhour; } } return nowyear + nowmonth + nowdate + nowhour; } function populateCalendar_ymdhm (objForm_y,objForm_m,objForm_d,objForm_h,objForm_min,dateflag,hoursminsflag,ldapgentime,objForm_sec) { var maxyinc = 4; var preset = false; var freshdate = false; var firstyear = -1; var time_presented = false; //set time elements if(ldapgentime==null || ldapgentime.length < 15 || ldapgentime.charAt(0) == "<") { //dont really want to do anything actually timenow = new Date(); nowyear = timenow.getYear() + yearadjust; nowmonth = timenow.getMonth() + 1; nowdate = timenow.getDate(); //alert('Date nowdate'+nowdate); thisyear = nowyear; nowhours = timenow.getHours() + 1; nowmins = timenow.getMinutes(); nowsecs = timenow.getSeconds(); preset = false; freshdate = true; } else { time_presented = true; nowyear = myParseInt(ldapgentime.substring(0,4)); nowmonth = myParseInt(ldapgentime.substring(4,6)); nowdate = myParseInt(ldapgentime.substring(6,8)); //alert('str nowdate'+nowdate); nowhours = myParseInt(ldapgentime.substring(8,10))+1; nowmins = myParseInt(ldapgentime.substring(10,12)); nowsecs = myParseInt(ldapgentime.substring(12,14)); timenow = new Date(); thisyear = timenow.getYear() + yearadjust; preset = true; } var years = new Array(); var pre_x = 0; var x = 0; var y = 0; if(nowyear>thisyear) { years[0] = thisyear; firstyear = thisyear; //add some years to get up to date for(x = 1;x <= nowyear - thisyear;x++) { years[x] = thisyear + x; } //now add some future years maxyinc = x + 4; for(y = x;y < maxyinc;y++) { years[y] = thisyear + y; } } else { firstyear = nowyear; ///years[0] = thisyear; years[0] = nowyear; //add some years to get up to date for(x = 1;x < thisyear - nowyear;x++) { years[x] = nowyear + x; } //now add some future years maxyinc = x + 4; for(y = x;y < maxyinc;y++) { years[y] = nowyear + y; } } //add on at least 'bd' previous years var bd = 9; objForm_y.options[0] = new Option(firstyear-9,firstyear-9); objForm_y.options[1] = new Option(firstyear-8,firstyear-8); objForm_y.options[2] = new Option(firstyear-7,firstyear-7); objForm_y.options[3] = new Option(firstyear-6,firstyear-6); objForm_y.options[4] = new Option(firstyear-5,firstyear-5); objForm_y.options[5] = new Option(firstyear-4,firstyear-4); objForm_y.options[6] = new Option(firstyear-3,firstyear-3); objForm_y.options[7] = new Option(firstyear-2,firstyear-2); objForm_y.options[8] = new Option(firstyear-1,firstyear-1); for (var i = 0; i < years.length; i++) { objForm_y.options[i+9] = new Option(years[i],years[i]); if(years[i] == nowyear) { objForm_y.options[i+9].selected = true; } } // You can easily customize what years can be used //var lmonths = new Array("Month","January","February","March","April","May","June","July","August","September","October","November","December"); var months = new Array("Month","Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"); objForm_m.options[0] = new Option(months[0]); for (var i = 1; i < months.length; i++) { objForm_m.options[i] = new Option(months[i],i); } //alert(nowmonth); if(dateflag && !time_presented) { objForm_m.options[0].selected=true; } else { objForm_m.options[nowmonth].selected=true; } // You can easily customize what years can be used var hours = new Array("Hour","12 night","01","02","03","04","05","06","07","08","09","10","11","12 midday","13","14","15","16","17","18","19","20","21","22","23"); // You can easily customize what years can be used if(hoursminsflag && !time_presented && objForm_h!=undefined) { objForm_h.options[0] = new Option(hours[0]); objForm_h.options[0].selected=true; for (var i = 1; i < hours.length; i++) { objForm_h.options[i] = new Option(hours[i],i); } var mins = new Array("Mins","00","15","30","45"); objForm_min.options[0] = new Option(mins[0]); objForm_min.options[0].selected=true; for (var i = 1; i < mins.length; i++) { objForm_min.options[i] = new Option(mins[i],i); } } else { if(objForm_h!=undefined) { for (var i = 0; i < hours.length; i++) { objForm_h.options[i] = new Option(hours[i],i); if(i == nowhours) { objForm_h.options[i].selected=true; } } } if(objForm_min!=undefined) { var mins = new Array(); for(var m = 0;m < 60;m++) { mins[m]=m; } for (var i = 0; i < mins.length; i++) { objForm_min.options[i] = new Option(mins[i],i); if(i == nowmins) { objForm_min.options[i].selected=true; } } } } //if its a TBC 97Z - add TBC to hours and mins if(time_presented && ldapgentime.indexOf("97Z")!=-1 && objForm_sec != undefined) { objForm_h[objForm_h.length] = new Option('TBC','00','1','1'); objForm_min[objForm_min.length] = new Option('TBC','00','1','1'); objForm_sec.value='97'; } //alert('nowdate1' +nowdate); populate_ymd(objForm_y,objForm_m,objForm_d,nowmonth,dateflag,nowdate,preset,freshdate); } //for advanced search function populateCalendarYMD (objForm_y,objForm_m,objForm_d,yearsback,yearsforward) { var maxyinc = 4; var preset = ''; var freshdate = ''; endyear = -1; startyear = -1; //set time elements //dont really want to do anything actually timenow = new Date(); nowyear = timenow.getYear() + yearadjust; nowmonth = timenow.getMonth() + 1; nowdate = timenow.getDate(); //alert('Date nowdate'+nowdate); thisyear = nowyear; preset = ''; freshdate = 1; var years = new Array(); if(yearsback!=null) { startyear = nowyear - yearsback; } else { startyear = nowyear - 4; } if(yearsforward!=null) { endyear = nowyear + parseInt(yearsforward); } else { endyear = nowyear + 4; } years[0] = startyear; //add some years to get up to date for(var x = 1;x < endyear - startyear;x++) { years[x] = startyear + x; } for (var i = 0; i < years.length; i++) { objForm_y.options[i] = new Option(years[i],years[i]); if(years[i] == nowyear) { objForm_y.options[i].selected = true; } } // You can easily customize what years can be used objForm_m.options[0] = new Option(smonths[0]); for (var i = 1; i < smonths.length; i++) { objForm_m.options[i] = new Option(smonths[i],i); } objForm_m.options[nowmonth].selected=true; // You can easily customize what years can be used populate_ymd(objForm_y,objForm_m,objForm_d,nowmonth); } //for advanced search function populateCalendarYM (objForm_y,objForm_m,yearsback,yearsforward) { var maxyinc = 4; var preset = ''; var freshdate = ''; endyear = -1; startyear = -1; //set time elements //dont really want to do anything actually timenow = new Date(); nowyear = timenow.getYear() + yearadjust; nowmonth = timenow.getMonth() + 1; nowdate = timenow.getDate(); //alert('Date nowdate'+nowdate); thisyear = nowyear; preset = ''; freshdate = 1; var years = new Array(); if(yearsback!=null) { startyear = nowyear - yearsback; } else { startyear = nowyear - 4; } if(yearsforward!=null) { endyear = nowyear + parseInt(yearsforward); } else { endyear = nowyear + 4; } years[0] = startyear; //add some years to get up to date for(var x = 1;x < endyear - startyear;x++) { years[x] = startyear + x; } for (var i = 0; i < years.length; i++) { objForm_y.options[i] = new Option(years[i],years[i]); if(years[i] == nowyear) { objForm_y.options[i].selected = true; } } // You can easily customize what years can be used objForm_m.options[0] = new Option(smonths[0]); for (var i = 1; i < smonths.length; i++) { objForm_m.options[i] = new Option(smonths[i],i); } //objForm_m.options[nowmonth].selected=true; objForm_m.options[0].selected=true; } function getSimpleMins (objForm_min) { // You can easily customize what years can be used var mins = new Array(); for(var m = 0;m < 60;m++) { mins[m]=m; } objForm_min.options.length = null; for (var i = 10; i <= mins.length; i+=10) { objForm_min.options[i] = new Option(mins[i],i); } } function getGenTimeMonthL (decrement) { date = new Date(); current_month = date.getMonth(); var sign = 'pos'; var month; if( decrement<0 ) { for(month=current_month;decrement<0;month--,decrement++) { if(month==0) { month = 11; } } } else { for(month=current_month;decrement>0;month++,decrement--) { if(month==11) { month = 0; } } } date.setMonth(month); return getGeneralizedTime(date); } function populateCalendar_ymdG (objForm_y,objForm_m,objForm_d,ldapgentime) { var maxyinc = 4; var preset = ''; var freshdate = ''; timenow = new Date(); //set time elements if(ldapgentime==null || ldapgentime.charAt(0) == "<") { //dont really want to do anything actually nowyear = timenow.getYear() + yearadjust; thisyear = nowyear; nowmonth = timenow.getMonth() + 1; nowdate = timenow.getDate(); nowhours = timenow.getHours() + 1; nowmins = timenow.getMinutes(); nowsecs = timenow.getSeconds(); preset = ''; freshdate = 1; } else { nowyear = myParseInt(ldapgentime.substring(0,4)); if(ldapgentime.length>5) { nowmonth = myParseInt(ldapgentime.substring(4,6)); } else { nowmonth = timenow.getMonth() + 1; } nowdate = myParseInt(ldapgentime.substring(6,8)); if(ldapgentime.length>8) { nowhours = myParseInt(ldapgentime.substring(8,10))+1; nowmins = myParseInt(ldapgentime.substring(10,12)); nowsecs = myParseInt(ldapgentime.substring(12,14)); } else { nowhours = '00'; nowmins = '00'; nowsecs = '00'; } timenow = new Date(); thisyear = timenow.getYear() + yearadjust; preset = 1; } //alert(' nowmonth '+nowmonth); var years = new Array(); var pre_x = 0; var x = 0; var y = 0; if(nowyear>thisyear) { years[0] = thisyear; firstyear = thisyear; //add some years to get up to date for(x = 1;x <= nowyear - thisyear;x++) { years[x] = thisyear + x; } //now add some future years maxyinc = x + 4; for(y = x;y < maxyinc;y++) { years[y] = thisyear + y; } } else { firstyear = nowyear; years[0] = nowyear; //add some years to get up to date for(x = 1;x < thisyear - nowyear;x++) { years[x] = nowyear + x; } //now add some future years maxyinc = x + 4; for(y = x;y < maxyinc;y++) { years[y] = nowyear + y; } } /* years[0] = nowyear; //add some years to get up to date for(var x = 1;x < thisyear - nowyear;x++) { years[x] = nowyear + x; } //now add some future years maxyinc = x + 4; for(var y = x;y < maxyinc;y++) { years[y] = nowyear + y; } */ for (var i = 0; i < objForm_y.length; i++) { objForm_y.options[0] = null; } //add on at least 'bd' previous years var bd = 3; objForm_y.options[0] = new Option(firstyear-3,firstyear-3); objForm_y.options[1] = new Option(firstyear-2,firstyear-2); objForm_y.options[2] = new Option(firstyear-1,firstyear-1); for (var i = 0; i < years.length; i++) { objForm_y.options[i+3] = new Option(years[i],years[i]); if(years[i] == nowyear) { objForm_y.options[i+3].selected = true; } } // You can easily customize what years can be used //var lmonths = new Array("Month","January","February","March","April","May","June","July","August","September","October","November","December"); var months = new Array("Month","Jan","Feb","Mar","Apr","May","June","July","Aug","Sept","Oct","Nov","Dec"); objForm_m.options[0] = new Option(months[0]); for (var i = 1; i < months.length; i++) { objForm_m.options[i] = new Option(months[i],i); } objForm_m.options[nowmonth].selected=true; populate_ymd(objForm_y,objForm_m,objForm_d,nowmonth,'',nowdate,'1',freshdate); } function getStringFromTimeSelects ( el1 , el2 , el3 ) { return myParseIntToString(el1.options[el1.selectedIndex].value)+''+myParseIntToString(el2.options[el2.selectedIndex].value)+''+myParseIntToString(el3.options[el3.selectedIndex].value); } function getStringFromYMSelects ( el1 , el2 ) { //alert(el1.options[el1.selectedIndex].value); if(el1.options[el1.selectedIndex].value=='') { return '0'; } if(el2.options[el2.selectedIndex].value=='') { return myParseIntToString(el1.options[el1.selectedIndex].value); } else { return myParseIntToString(el1.options[el1.selectedIndex].value)+''+myParseIntToString(el2.options[el2.selectedIndex].value); } } //get an ldap datetime string from a Date function getGeneralizedTime (date) { y = date.getYear() + yearadjust; m = date.getMonth() + 1; d = date.getDate(); h = date.getHours() + 1; min = date.getMinutes(); s = date.getSeconds(); return y+''+myParseIntToString(m)+''+myParseIntToString(d)+''+myParseIntToString(h)+''+myParseIntToString(min)+''+myParseIntToString(s)+'Z'; } //To be confirmed dates //set the calendar to have TBC in hour/min //set the hidden seconds field to have 97 function tbc (secEl , minEl , hourEl, dateEl) { var hsi = hourEl.selectedIndex; var msi = minEl.selectedIndex; var dsi; if(dateEl == undefined || dateEl.selectedIndex>0) { //alert('msi: '+msi); //alert('minEl[msi].text: '+minEl[msi].text); if(secEl.value!='97' || hourEl[hsi].text!='TBC' || minEl[msi].text!='TBC') { secEl.value='97'; hourEl[hourEl.length] = new Option('TBC','00','1','1'); minEl[minEl.length] = new Option('TBC','00','1','1'); hourEl[hourEl.length-1].selected=true; minEl[minEl.length-1].selected=true; //alert('tbc: set'); } else { //alert('tbc: already set'); secEl.value='97'; } } else { var dsi = dateEl.selectedIndex; //alert('dsi: '+dsi); //alert('msi: '+msi); //alert('minEl[msi].text: '+minEl[msi].text); if(secEl.value!='98' || dateEl[dsi].text!='TBC' || hourEl[hsi].text!='TBC' || minEl[msi].text!='TBC') { secEl.value='98'; dateEl[dateEl.length] = new Option('TBC','00','1','1'); hourEl[hourEl.length] = new Option('TBC','00','1','1'); minEl[minEl.length] = new Option('TBC','00','1','1'); dateEl[dateEl.length-1].selected=true; hourEl[hourEl.length-1].selected=true; minEl[minEl.length-1].selected=true; } else { //alert('tbc: already set'); } } } function setLDAPTimeFieldsFromCalendars (calform , target_field) { //all calendar elements are select-ones and end in day, month, year,min ,hour,sec var yearindex = -1; var gooddate; var base; var realbase; for(i=0;i9) { ldapdate = ldapdate + ldapdateval; } else if(ldapdateval<13) { ldapdate += '0'; ldapdate += ldapdateval; } else { continue; } } else { //no month - just do year continue; } //alert('ymldapdateval'+ldapdate); if( (el = getElement(calform,dayname)) != null ) { ldapdateval = el.options[el.selectedIndex].value; if(ldapdateval == 'Date') { if(target_field==undefined) { el.value = ldapdate+'01010198Z'; } else { target_field.value=ldapdate+'01010198Z'; return; } } else if(ldapdateval == '0' || ldapdateval == '00') { //continue; ldapdate += '01'; } else if(ldapdateval>9) { ldapdate += ldapdateval; } else if(ldapdateval<10) { ldapdate += '0'; ldapdate += ldapdateval; } else { continue; } } else { continue; } if( (el = getElement(calform,hourname)) != null) { if(el.type.indexOf('elect') != -1) { ldapdateval = el.options[el.selectedIndex].value; } else { ldapdateval = el.value; } ldapdateval -= 1; //alert('hour 00 ldapdateval'+ldapdateval); if(ldapdateval == '0' || ldapdateval == '-1' || ldapdateval == '00') { ldapdate += '00'; } else if(ldapdateval>9) { ldapdate += ldapdateval; } else if(ldapdateval<10) { ldapdate += '0'; ldapdate += ldapdateval; } else { ldapdate += '00'; //continue; } } else { //assume a date only if(target_field==undefined) { if( (el = getElement(calform,realbase)) != null ) { el.value = ldapdate+'010197Z'; //alert('cal el name '+el.name); } else { continue; } } else { target_field.value=ldapdate+'010197Z'; } continue; } //alert('ymdHldapdateval'+ldapdate); if( (el = getElement(calform,minname)) != null ) { if(el.type.indexOf('elect') != -1) { if( (ldapdateval = el.options[el.selectedIndex].text) != undefined) { } else if( (ldapdateval = el.options[el.selectedIndex].value) != undefined) { } else { continue; } } else { ldapdateval = el.value; } //alert('min'+ldapdateval); if(ldapdateval == '0' || ldapdateval == '-1' || ldapdateval == '00') { ldapdate += '00'; } else if(ldapdateval.length==2) { ldapdate += ldapdateval; } else if(ldapdateval.length==1) { ldapdate += '0'; ldapdate += ldapdateval; } else { ldapdate += '00'; //continue; } } else { continue; } //alert('ymdHMldapdateval'+ldapdate); if( (el = getElement(calform,secname)) != null ) { //seconds is probably a text/hidden field not a menu if(el.type.indexOf('select')!=-1) { ldapdateval = el.options[el.selectedIndex].text; } else { ldapdateval = el.value; } if(ldapdateval.length==2) { ldapdate += ldapdateval; } else if(ldapdateval.length==1) { ldapdate += '0'; ldapdate += ldapdateval; } else { ldapdate += '00'; } } else { ldapdate += '00'; } ldapdate += "Z"; //alert('sldapdate:'+ldapdate); if(target_field==undefined) { if( (el = getElement(calform,realbase)) != null ) { //alert('pre el value '+el.value); el.value = ldapdate; //alert('cal el name '+el.name+'el value '+el.value); } else { continue; } } else { target_field.value=ldapdate; } } } //if we end up here with a 4 length ldapdate - year only, set as best we can eg 20050101010199Z //alert('endldapdate:'+ldapdate); //alert('endldapdateval:'+ldapdateval); //alert('setcals finished'); } function getElement ( theform , candidatename ) { for(l=0;l0) { selectEl.length = 0; if(tID==null && tVal!=null) { selectEl[0] = new Option(tVal,'','',''); } for(i=0;i0) { for(i=0;i  0) { for(i=0;i   '; grouptext[curPtr] = hdr; lines[curPtr] += lsd+ ' '; if(dsml.indexOf('ext')!=-1) { lines[curPtr] += ' '+ssn+' '+url; lines[curPtr] += ' 0) { if((message = document.getElementById('getGroupDocsCount')) != null ) { message.className = 'showtitle'; message.innerHTML = elements.length; } for(i=0;i'; if(elementsN[i].firstChild!=undefined) { grp = unescape(trimString(elementsN[i].firstChild.data)); if(elementGID[i].firstChild!=undefined) { txt += ' '+grp+' '; } else { txt += ' '+grp+' '; } } else { txt += ': '; } //add title if(elementsT[i].firstChild!=undefined) { txt += ''+unescape(elementsT[i].firstChild.data)+''+br; } txt += unescape(trimString(elements[i].firstChild.data)); odd ? rs = roweven : rs = rowodd; odd ? odd = false : odd = true; txt += re; } } txt += ''; area.innerHTML = txt; } else { //area.innerHTML = url; area.innerHTML = NO_VALUE_TEXT; } } return myOCZ; } ////getGroupDocsRunner(this,document.docform,'printGroupDocsS',this[this.selectedIndex].text + ' updates'); function printGroupDocsS (tID,titleID,titleVal,titleURL) { //alert('printGroupDocsS titleURL'+titleURL); myOCZ = function (responseText, responseXML) { area = document.getElementById(tID); area.className = 'showdocs'; if(area.type==undefined) { br = '
'; } else { br = '\r'; } alert(titleURL); if(titleID!=null && (title = document.getElementById(titleID)) != null ) { title.className = 'showtitle'; if(titleURL!=undefined) { title.innerHTML = titleVal + ' >>group info'; //title.innerHTML = titleVal; } else { title.innerHTML = titleVal; } } else if((title = document.getElementById(titleID)) != null ) { title.className = 'hidden'; } var rs = rowodd, re = ''; var odd = true; txt = ''; elements = responseXML.documentElement.getElementsByTagName('description'); elementsRLSD = responseXML.documentElement.getElementsByTagName('relatedlivestartdate'); elementsLSD = responseXML.documentElement.getElementsByTagName('livestartdate'); elementsT = responseXML.documentElement.getElementsByTagName('title'); //alert(elements.length); if(elements!=null && elements.length>0) { for(i=0;i'+br; } txt += unescape(trimString(elements[i].firstChild.data)); odd ? rs = roweven : rs = rowodd; odd ? odd = false : odd = true; txt += re; //txt += br; } } txt += '
'; area.innerHTML = txt; } else { area.innerHTML = 'There are no current activity updates.
Registered local group members can add activity updates here'; } } return myOCZ; } function printGroupDocs (tID,titleID,titleVal) { myOCZ = function (responseText, responseXML) { var rs = rowodd, re = ''; var odd = true; txt = ''; area = document.getElementById(tID); area.className = 'showdocs'; if(area.type==undefined) { br = '
'; } else { br = '\r'; } if(titleID!=null && (title = document.getElementById(titleID)) != null ) { title.className = 'showtitle'; title.innerHTML = titleVal; } else if((title = document.getElementById(titleID)) != null ) { title.className = 'hidden'; } elementsDID = responseXML.documentElement.getElementsByTagName('documentidentifier'); elements = responseXML.documentElement.getElementsByTagName('description'); elementsRLSD = responseXML.documentElement.getElementsByTagName('relatedlivestartdate'); elementsLSD = responseXML.documentElement.getElementsByTagName('livestartdate'); elementsT = responseXML.documentElement.getElementsByTagName('title'); //alert(elements.length); if(elements!=null && elements.length>0) { for(i=0;i'+br; } // txt += trimString(elements[i].firstChild.data); txt += unescape(trimString(elements[i].firstChild.data)); if(elementsDID[0].firstChild!=undefined) { member = trimString(elementsDID[i].firstChild.data); txt += ' edit'; } odd ? rs = roweven : rs = rowodd; odd ? odd = false : odd = true; txt += re; } } txt += '
'; area.innerHTML = txt; } else { area.innerHTML = NO_VALUE_TEXT; } } return myOCZ; } function printGroupFields(tID,titleID,titleVal) { myOCZ = function (responseText, responseXML) { var member = '',txt = ''; var elements; // Response mode for(t=0;t0) { area.value = ''; //list.style.height = elements.length*18; for(i=0;i0) { area.value = ''; //list.style.height = elements.length*18; for(i=0;i0) { for(i=0;i0) { for(i=0;i0) { for(i=0;i0) { member = trimString(elements[0].firstChild.data); emember = unescape(member); area.innerHTML = emember; area.className = 'visible'; //do anything with postcode? if(matchbit = emember.match(postcodePat)) { if((pcel = document.getElementById('postcodeel'))!=null && pcel.value != undefined) { pcel.value = matchbit; } } } elements = responseXML.documentElement.getElementsByTagName('cn'); area = document.getElementById('cnarea'); if(elements!=null && elements.length>0) { member = trimString(elements[0].firstChild.data); area.innerHTML = unescape(member); area.className = 'visible'; } elements = responseXML.documentElement.getElementsByTagName('coordinator'); area = document.getElementById('coordinatorarea'); if(elements!=null && elements.length>0) { member = trimString(elements[0].firstChild.data); area.innerHTML = unescape(member); area.className = 'visible'; if((formel = document.getElementById('coordinatorel'))!=null && formel.value!=undefined) { formel.value = unescape(member); } } if((message = document.getElementById('coordinatorDetails'))!=null) { message.className = 'visible'; } } return myOCZ; } function getCoordinator(input, response, form) { if(input=='') { id = myCook.get('login_group_id'); if(id!=undefined && id!='undefined') { runner(getCoordinatorUrl(id),"outputLog","e",printCoordinator('','','')); } } else { runner(getCoordinatorUrl(input),"outputLog","e",printCoordinator('','','')); } } function processReqChange() { // only if req shows "complete" if (req.readyState == 4) { // only if "OK" //alert('req.readyState' + req.readyState); if (req.status == 200) { // ...processing statements go here... response = req.responseXML.documentElement; responseObj = response; method = response.getElementsByTagName('method')[0].firstChild.data; result = response.getElementsByTagName('result')[0].firstChild.data; //alert('result:' + result); //alert('method is:' + method); eval(method + '(\'\', result)'); } else { alert("There was a problem retrieving the XML data:\n" + req.statusText); } } } //set value function loadXMLDoc(url) { // branch for native XMLHttpRequest object if (window.XMLHttpRequest) { req = new XMLHttpRequest(); req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(null); // branch for IE/Windows ActiveX version } else if (window.ActiveXObject) { req = new ActiveXObject("Microsoft.XMLHTTP"); if (req) { req.onreadystatechange = processReqChange; req.open("GET", url, true); req.send(); } } } function trimString(str) { str = str.replace(new RegExp("^[\n\r ]*","g"),""); str = str.replace(new RegExp("[\n\r ]*$","g"),""); return str; } ////getGroupDocsRunner(this,document.docform,'printGroupDocsS',this[this.selectedIndex].text + ' updates'); function getGroupDocsRunner(list,pageform,output_method,title,templateurl) { //clear title clearElements(titleElements); if(pageform==undefined || pageform == '') { pageform = ''; } //put holding text/image in the docarea if((a = document.getElementById('docarea')) != null) { a.innerHTML = 'searching for documents....'; } if((a = document.getElementById('getGroupDocsTitle')) != null) { a.className = 'hidden'; a.innerHTML = ''; } if(matchbit = groupidmatcher.exec(list)) { //alert('0'); // getGroupDocs(list,'',pageform,output_method,title); list = 'careorganisationnumber='+list+',ou=local groups,ou=remote contacts,dc=foe,dc=co,dc=uk'; //runner(getLocalGroupActivityDocsUrl(list,templateurl),"outputLog","e",printGroupDocsS('docarea','getGroupDocsTitle',title,'http://community.foe.co.uk/localgroups?action=display&groupid='+matchbit)); //alert('new1'); runner(gLocalGroupActivityDocsUrl(list,templateurl),"outputLog","e",pGroupDocsS('docarea','getGroupDocsTitle',title,'http://community.foe.co.uk/localgroups?action=display&groupid='+matchbit)); } else if(list.type!=undefined && list.type.indexOf('elect')!=-1 && list.selectedIndex>-1 && list[list.selectedIndex].value!='') { //alert('1'); dn = list[list.selectedIndex].value; start = list[list.selectedIndex].value.indexOf('='); end = list[list.selectedIndex].value.indexOf(','); groupid = list[list.selectedIndex].value.substring(start+1,end); //clear the target list //getGroupDocs(dn,'',pageform,output_method,title); if(output_method!=undefined) { //runner(getLocalGroupActivityDocsUrl(dn),"outputLog","e",printGroupDocsS('docarea','getGroupDocsTitle',title)); //alert('new2'); runner(gLocalGroupActivityDocsUrl(dn,templateurl),"outputLog","e",pGroupDocsS('docarea','getGroupDocsTitle',title,'http://community.foe.co.uk/localgroups?action=display&groupid='+groupid)); } else { //alert('new3a'); runner(getLocalGroupActivityDocsUrl(dn),"outputLog","e",printGroupDocs('docarea','outputLog','errorLog')); //runner(gLocalGroupActivityDocsUrl(dn),"outputLog","e",pGroupDocsS('docarea','getGroupDocsTitle',title)); } } else if(list!='') { //getGroupDocs(list,'',pageform,output_method,title); //runner(getLocalGroupActivityDocsUrl(list),"outputLog","e",printGroupDocsS("docarea",'getGroupDocsTitle',title)); //alert('new4'); runner(gLocalGroupActivityDocsUrl(list,templateurl),"outputLog","e",pGroupDocsS('docarea','getGroupDocsTitle',title)); } else { getGroupDocs('','',pageform,output_method,title); //runner(getLocalGroupActivityDocsUrl(list),"outputLog","e",printGroupDocsS("docarea",'getGroupDocsTitle',title)); //alert('new5'); runner(gLocalGroupActivityDocsUrl(list,templateurl),"outputLog","e",pGroupDocsS('docarea','getGroupDocsTitle',title)); } } function getGroupFieldsRunner(list,pageform) { if(pageform==undefined || pageform == '') { pageform = ''; } if(matchbit = groupidmatcher.exec(list)) { list = matchbit; //getGroupFields(list,'',pageform); runner(getGroupFieldsUrl(list),"outputLog","e",printGroupFields('','','')); } else if(list.type!=undefined && list.type.indexOf('elect')!=-1 && list.selectedIndex>-1 && list[list.selectedIndex].value!='') { dn = list[list.selectedIndex].value; start = list[list.selectedIndex].value.indexOf('='); end = list[list.selectedIndex].value.indexOf(','); groupid = list[list.selectedIndex].value.substring(start+1,end); //clear the target list //alert(groupid); //getGroupFields(groupid,'',pageform); runner(getGroupFieldsUrl(groupid),"outputLog","e",printGroupFields('','','')); } else if(list!='') { //getGroupFields(list,'',pageform); runner(getGroupFieldsUrl(list),"outputLog","e",printGroupFields('','','')); } } //cookie stuff /* DISCLAIMER: THESE JAVASCRIPT FUNCTIONS ARE SUPPLIED 'AS IS', WITH NO WARRANTY EXPRESSED OR IMPLIED. YOU USE THEM AT YOUR OWN RISK. PAUL STEPHENS DOES NOT ACCEPT ANY LIABILITY FOR ANY LOSS OR DAMAGE RESULTING FROM THEIR USE, HOWEVER CAUSED. Paul Stephens' cookie-handling object library Version 2.1 2.0 - Introduces field names 2.1 - Fixes bug where undefined embedded fields[] elements weren't written to disk www.paulspages.co.uk TO USE THIS LIBRARY, INSERT ITS CONTENTS IN THE SECTION OF YOUR WEB PAGE SOURCE, BEFORE ANY OTHER JAVASCRIPT ROUTINES. (C) Paul Stephens, 2001-2003. Feel free to use this code, but please leave this comment block in. This code must not be sold, either alone or as part of an application, without the consent of the author. */ function cookieObject(name, expires, accessPath) { var i, j this.name = name this.fieldSeparator = "#" this.found = false this.expires = expires this.accessPath = accessPath this.rawValue = "" this.fields = new Array() this.fieldnames = new Array() if (arguments.length > 3) { // field name(s) specified j = 0 for (i = 3; i < arguments.length; i++) { this.fieldnames[j] = arguments[i] j++ } this.fields.length = this.fieldnames.length } this.read = ucRead this.write = ucWrite this.remove = ucDelete this.get = ucFieldGet this.put = ucFieldPut this.namepos = ucNamePos this.read() } function ucFieldGet(fieldname) { var i = this.namepos(fieldname) if (i >=0) { return this.fields[i] } else { return "BadFieldName!" } } function ucFieldPut (fieldname, fieldval) { var i = this.namepos(fieldname) if (i >=0) { this.fields[i] = fieldval return true } else { return false } } function ucNamePos(fieldname) { var i for (i = 0; i < this.fieldnames.length; i++) { if (fieldname == this.fieldnames[i]) { return i } } return -1 } function ucWrite() { var cookietext = this.name + "=" // concatenate array elements into cookie string // Special case - single-field cookie, so write without # terminator if (this.fields.length == 1) { cookietext += escape(this.fields[0]) } else { // multi-field cookie for (i= 0; i < this.fields.length; i++) { cookietext += escape(this.fields[i]) + this.fieldSeparator } } // Set expiry parameter, if specified if (this.expires != null) { if (typeof(this.expires) == "number") { // Expiry period in days specified var today=new Date() var expiredate = new Date() expiredate.setTime(today.getTime() + 1000*60*60*24*this.expires) cookietext += "; expires=" + expiredate.toGMTString() } else { // assume it's a date object cookietext += "; expires=" + this.expires.toGMTString() } // end of typeof(this.expires) if } // end of this.expires != null if // add path, if specified if (this.accessPath != null) { cookietext += "; PATH="+this.accessPath } // write cookie // alert("writing "+cookietext) document.cookie = cookietext return null } function ucRead() { var search = this.name + "=" var CookieString = document.cookie this.rawValue = null this.found = false if (CookieString.length > 0) { offset = CookieString.indexOf(search) if (offset != -1) { offset += search.length end = CookieString.indexOf(";", offset) if (end == -1) { // cookie is last item in the string, so no terminator end = CookieString.length } this.rawValue = CookieString.substring(offset, end) this.found = true } } if (this.rawValue != null) { // unpack into fields var sl = this.rawValue.length var startidx = 0 var endidx = 0 var i = 0 // Special case - single-field cookies written by other functions, // so without a '#' terminator if (this.rawValue.substr(sl-1, 1) != this.fieldSeparator) { this.fields[0] = unescape(this.rawValue) } else { // separate fields do { endidx = this.rawValue.indexOf(this.fieldSeparator, startidx) if (endidx !=-1) { this.fields[i] = unescape(this.rawValue.substring(startidx, endidx)) i++ startidx = endidx + 1} } while (endidx !=-1 & endidx != (this.rawValue.length -1)); } } // end of unpack into fields if block return this.found } // end of function function ucDelete() { this.expires = -10 this.write() return this.read() } /* *********** IT'S OK TO REMOVE THE CODE BELOW HERE IF YOUR PAGE DOESN'T USE cookieList() OBJECTS OR THE findCookieObject() FUNCTION. */ function findCookieObject(cName, cObjArray) { /* This function finds a named cookie among the objects pointed to by a cookieList array (see below). Parameters are the cookie name to search for (a string), and an array created with the new cookieList() constructor (see below) NOTE - if you're only dealing with a specific, named cookie, then it's more efficient to ceate a single cookieObject directly with that name, and check its .found property to see if it already exists on this client. This function is for when you've created an all-cookies array anyway, and now want to check whether a specific cookie is present. It returns a pointer to the cookieObject if found, or null if not found. */ var cpointer = null, i for (i in cObjArray) { if (cName == cObjArray[i].name) { cpointer = cObjArray[i] } } return cpointer } function cookieList() { /* This constructor function creates a cookieObject object (see below) for each cookie in document.cookie, and returns an array of pointers to the objects. You can use it to load all the cookies available to a page, then walk through them. Example usage: cookList = new cookieList() for (i in cookList) { document.write(cookList[i].name + " " + cookList[i].fields[0] + " ") } */ var i = 0, rawstring, offset = 0, start, newname cpointers = new Array() rawstring = document.cookie if (rawstring.length > 0) { do { start = rawstring.indexOf("=", offset) if (start != -1) { // another cookie found in string // get cookie string up to end of current cookie name newname = rawstring.substring(0, start) if (offset > 0) { // if not first cookie in string, remove previous cookie data from substring // subsequent cookie names have a space before them (just a little browser foible!) newname = newname.substring(newname.lastIndexOf(";")+2, start) } cpointers[i] = new cookieObject(newname) offset = start + 1 i++ } } while (start != -1) } // end rawstring.length > 0 return cpointers } //end function //sticky note functions var storedVal = ''; var MAXMX = 10; //max number of multi cookie //get a new id, sticky notes labels are like, sn0,sn1,sn2 function getNextNameMx (prefix) { for(i=0;i-1) { v = list[list.selectedIndex].value; if((start=v.indexOf('='))!=-1 && (end = v.indexOf(','))!=-1) { id = v.substring(start+1,end); //alert(id); //window.location='/localgroups?action=display&groupid='+id; window.location='http://community.foe.co.uk/localgroups?action=display&groupid='+id; } } } function delete_collection_item_from_menu_selected (menu,collection) { if(menu.type.indexOf('elect')!=-1) { vtext_to_select = menu.options[menu.selectedIndex].text.toLowerCase(); } else { vtext_to_select = menu.value; } obracket = -1; if((obracket = vtext_to_select.indexOf(' (')) != -1) { vtext_to_select = vtext_to_select.substring(0,obracket); } for (i = 0; i< collection.options.length; i++){ if (collection.options[i].text.toLowerCase().indexOf(vtext_to_select) != -1){ if(collection.length==1) { collection[i].value = " "; collection[i].text = "~~none~~"; } else { collection.options[i] = null; } return; } } //try value if text hasnt worked if(menu.type.indexOf('elect')!=-1) { vtext_to_select = menu.options[menu.selectedIndex].value.toLowerCase(); } else { vtext_to_select = menu.value; } for (i = 0; i< collection.options.length; i++){ if (collection.options[i].value.toLowerCase().indexOf(vtext_to_select) != -1){ if(collection.length==1) { collection[i].value = " "; collection[i].text = "~~none~~"; } else { collection.options[i] = null; } return; } } } function retarget_selection(fromlist , tolist) { var tovalue = ''; var totext = ''; var htovalue = ''; if(fromlist.options[fromlist.options.selectedIndex].value != null) { tovalue = fromlist.options[fromlist.options.selectedIndex].value.toLowerCase(); totext = fromlist.options[fromlist.options.selectedIndex].text.toLowerCase(); } else { tovalue = fromlist.options[fromlist.options.selectedIndex].text.toLowerCase(); } for (i = 0; i < fromlist.length; i++){ if(fromlist.options[i].selected = true){ fromlist.options[i].selected = false; } } if(tolist.type.indexOf('elect')!=-1) { if(tovalue != '') { for (i = 0; i -1;i--,j++) { newl[j] = new Option ( l[i].text , l[i].value , '' , '' ); l[i] = null; } l.options[0] = new Option ( newl[0].text , newl[0].value , '' , '' ); for(j=newl.length-1;j>0;j--) { l.options[l.length] = new Option ( newl[j].text , newl[j].value , '' , '' ); } } function reverseList( l ) { var newl = new Array(l.length); for(j=0,i=l.length-1;i>-1;i--,j++) { newl[j] = new Option ( l[i].text , l[i].value , '' , '' ); l[i] = null; } for(j=0;j
lgat-oddrowlgat-evenrow lgat-titlelink#
'; lg_xsl += '
'; var myXslStylesheet = null; var ieXmlDoc = null; var mozXmlDoc = null; function getGroupNews (oid,async) { //alert(oid); if(async==undefined) { async = false; } var myXslProc,myXMLHTTPRequest,fragment,xmlDoc,ieXmlDoc; var finishedHTML = ""; var i = 0; if(document.implementation.createDocument) { //alert('ff'+myXslStylesheet); //xmlDoc = document.implementation.createDocument('','',xmlDoc2); // load the xsl text myXslProc = new XSLTProcessor(); var parser = new DOMParser(); myXslStylesheet = parser.parseFromString(myXslStylesheet, "text/xml"); if(mozXmlDoc == null) { myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest.open("GET", "/library/all_lgat.xml", async); myXMLHTTPRequest.send(null); mozXmlDoc = myXMLHTTPRequest.responseXML; } myXslProc.importStylesheet(myXslStylesheet); try { fragment = myXslProc.transformToFragment(mozXmlDoc, document); var tmpBox = document.createElement("div"); tmpBox.appendChild(fragment); finishedHTML = tmpBox.innerHTML; } catch (e) { //alert('caught exception in transformToFragment'+e.toString()); } } else { //alert('ie4'+myXslStylesheet); try { /* var xslt = new ActiveXObject("Msxml2.XSLTemplate"); var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument"); xslDoc.async = false; xslDoc.loadXML(myXslStylesheet); xslDoc.validateOnParse = false; xslt.stylesheet = xslDoc; ieXmlDoc = new ActiveXObject("Msxml2.DOMDocument"); ieXmlDoc.async = async; ieXmlDoc.load("/library/all_lgat.xml"); myXslProc = xslt.createProcessor(); myXslProc.input = ieXmlDoc; myXslProc.transform(); finishedHTML = myXslProc.output; */ var xslDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); xslDoc.validateOnParse = false; xslDoc.async = false; xslDoc.loadXML(myXslStylesheet); ieXmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); ieXmlDoc.validateOnParse = false; ieXmlDoc.async = async; ieXmlDoc.load("/library/all_lgat.xml"); finishedHTML = ieXmlDoc.transformNode(xslDoc); if(ieXmlDoc.parseError.errorCode != 0) { //alert('xmlparse error'+ieXmlDoc.parseError.reason); } if(xslDoc.parseError.errorCode != 0) { //alert('xslDoc error'+xslDoc.parseError.reason); } } catch (ie) { //alert('caught iexception in ie block'+ie.toString()); } } if(finishedHTML.indexOf('8pt;">')!=-1 || finishedHTML == ""){ finishedHTML = PARAMS['noresults']; } var a; if((a = document.getElementById(oid))!=null) { a.innerHTML = finishedHTML; } else { document.write(finishedHTML); } if((a = document.getElementById('getGroupDocsTitle')) != null) { if(a.innerHTML == '') { a.innerHTML = 'title'; } } if((a = document.getElementById('getGroupDocsCount')) != null) { } } var leadingSpace = new RegExp("^\\s+"); var trailingSpace = new RegExp("\\s+$"); function getDocsByMatchingString (i,v,matchlabel,targetDiv,async) { if(async==undefined) { async = false; } // // i is group or region dn , v is group name or region name, matchlabel is the xml element name to match, targetDiv is where to output the results i = i.substring(i.indexOf('=')+1,i.indexOf(',')); i = i.replace(leadingSpace,""); i = i.replace(trailingSpace,""); if(targetDiv == undefined || targetDiv == '') { targetDiv = 'docarea'; } var a; if((a = document.getElementById(targetDiv)) != null) { a.innerHTML = 'searching for documents....'; } if((a = document.getElementById('getGroupDocsTitle')) != null) { a.innerHTML = 'Latest activity from '+v; } if((a = document.getElementById('getGroupDocsCount')) != null) { a.className = 'hidden'; } myXslStylesheet = lg_xsl; myXslStylesheet = myXslStylesheet.replace('_targetvalue_',i); myXslStylesheet = myXslStylesheet.replace('_targetelement_',matchlabel); getGroupNews(targetDiv, async); } function TChunk () { myXslProc.transform(); finishedHTML = myXslProc.output; alert('ie TChunk finishedHTML'+finishedHTML); if(finishedHTML.indexOf('8pt;">')!=-1 || finishedHTML == ""){ finishedHTML = PARAMS['noresults']; } var a; if((a = document.getElementById('docarea'))!=null) { a.innerHTML = finishedHTML; } else { document.write(finishedHTML); } if((a = document.getElementById('getGroupDocsTitle')) != null) { if(a.innerHTML == '') { a.innerHTML = 'title'; } } if((a = document.getElementById('getGroupDocsCount')) != null) { } } function ReadyStateChange () { if(ieXmlDoc.readyState == 4) { TChunk(); } } function getXByURL (u,t,elLabel) { if((a = document.getElementById(elLabel)) != null) { a.innerHTML = 'searching for events....'; } runner(u,"outputLog2","e2",pX(elLabel,'getGroupDocsTitle','Activity from region')); } function getLatestDocs2 (n,t) { var a; if(t==undefined) { t = 'Latest activity'; } if(n==undefined || n==null || (n.indexOf('/')==-1 && n < 1)) { n = D_MAX; } if((a = document.getElementById('docarea')) != null) { a.innerHTML = 'searching for documents....'; } if((a = document.getElementById('getGroupDocsTitle')) != null) { a.className = 'hidden'; } if((a = document.getElementById('getGroupDocsCount')) != null) { a.className = 'hidden'; } runner(sLatestGroupDocUrl(n),"outputLog","e",pGroupsDocs("docarea",'getGroupDocsTitle',t)); } function sLatestGroupDocUrl (n) { if(n==undefined || n==null || (n.indexOf('/')==-1 && n < 1)) { n = D_MAX; } //alert('n'+n); if(n.indexOf('/')!=-1) { STATIC_URL = n; } else { STATIC_URL = '/app/ls?template_output_type=text/xml&context=f_1&f_1_action=search&f_1_handler=foe.ldap.Document&f_1_return=name&f_1_return=documentidentifier&f_1_return=foelocalgroupname&f_1_return=description&f_1_return=regionrcc&f_1_return=umbrellaauthor&f_1_return=relatedlivestartdate&f_1_return=title&f_1_return=livestartdate&f_1_sortkey=relatedlivestartdate&f_1_sortorder=desc&f_1_filter='+escape('(&(lifecyclelink=cn=live,ou=lifecycles,ou=resources,dc=foe,dc=co,dc=uk)(documenttypelink=cn=campaign latest news,ou=document types,ou=resources,dc=foe,dc=co,dc=uk)(relatedlivestartdate>=2006))')+'&f_1_max_results='+n+'&template_url=/templates/entities/foedocument/desc_date_html.html'; } return STATIC_URL; } function pGroupsDocs (tID,titleID,titleVal) { myOCZ = function (responseText, responseXML) { //alert('0printGroupsDocs - titleVal:'+titleVal); var ctext = '')!=-1) { ctext = '
'); } else { rows = responseText.split(''); } //alert('pGroupDocsS:'+rows.length); if(rows.length<2) { area.innerHTML = GROUP_NO_RECORDS_TEXT; } else if(rows.length==2 && rows[1].indexOf('f_1_title')!=-1) { //alert(rows[1]); area.innerHTML = GROUP_NO_RECORDS_TEXT; } else { txt = rows[0]; for(i=1;i'+rows[i] : txt += ctext+'class="lgat-evenrow">'+rows[i]; } area.innerHTML = txt; } } else { //area.innerHTML = url; area.innerHTML = NO_VALUE_TEXT; } } return myOCZ; } function pX (tID,titleID,titleVal) { myOCX = function (responseText, responseXML) { var ar = null; if(responseText!=null && responseText!='' && (ar = document.getElementById(tID))!=null) { ar.innerHTML = responseText; } } return myOCX; } var GROUP_NO_RECORDS_TEXT = 'There are no current activity updates.
Registered local group members can add activity updates here'; function pGroupDocsS (tID,titleID,titleVal,titleURL) { myOCZ = function (responseText, responseXML) { var ctext = '>>contact this group'; //title.innerHTML = titleVal; } else { title.innerHTML = titleVal; } } else if((title = document.getElementById(titleID)) != null ) { title.className = 'hidden'; } if(responseText!=null && responseText!='') { var rows; if(responseText.indexOf('
')!=-1) { ctext = '
'); } else { rows = responseText.split(''); } if(rows.length<2) { area.innerHTML = GROUP_NO_RECORDS_TEXT; } else if(rows.length==2 && rows[1].indexOf('f_1_title')!=-1) { //alert(rows[1]); area.innerHTML = GROUP_NO_RECORDS_TEXT; } else { txt = rows[0]; for(i=1;i'+rows[i] : txt += ctext+'class="lgat-evenrow">'+rows[i]; } area.innerHTML = txt; } } else { //area.innerHTML = url; area.innerHTML = GROUP_NO_RECORDS_TEXT; } } return myOCZ; } function gLocalGroupActivityDocsUrl (id,t) { if(t==undefined) { t = '/templates/entities/foedocument/desc_date_html.html'; } var filter = escape('(&(umbrellaauthor='+id+')(documenttypelink=cn=campaign latest news,ou=document types,ou=resources,dc=foe,dc=co,dc=uk)(lifecyclelink=cn=live,ou=lifecycles,ou=resources,dc=foe,dc=co,dc=uk))'); return '/app/ls?template_output_type=text/xml&context=f_1&f_1_action=search&f_1_handler=foe.ldap.Document&f_1_return=name&f_1_return=documentidentifier&f_1_return=description&f_1_return=foelocalgroupname&f_1_return=relatedlivestartdate&f_1_return=title&f_1_return=umbrellaauthor&f_1_return=livestartdate&f_1_sortkey=relatedlivestartdate&f_1_sortorder=desc&f_1_filter='+filter+'&template_url='+t; } function gByRegionGroupDocUrl (v,t) { if(t==undefined) { t = '/templates/entities/foedocument/desc_date_html.html'; } var filter = escape('(&(regionrcc='+v+')(documenttypelink=cn=campaign latest news,ou=document types,ou=resources,dc=foe,dc=co,dc=uk)(lifecyclelink=cn=live,ou=lifecycles,ou=resources,dc=foe,dc=co,dc=uk))'); STATIC_URL = '/app/ls?template_output_type=text/xml&context=f_1&f_1_action=search&f_1_handler=foe.ldap.Document&f_1_return=name&f_1_return=documentidentifier&f_1_return=description&f_1_return=foelocalgroupname&f_1_return=relatedlivestartdate&f_1_return=title&f_1_return=umbrellaauthor&f_1_return=livestartdate&f_1_sortkey=relatedlivestartdate&f_1_sortorder=desc&f_1_filter='+filter+'&template_url='+t; return STATIC_URL; } function gByRegionGroupDocUrl2 (v,t) { if(t==undefined) { t = '/templates/entities/foedocument/desc_date_html.html'; } var filter = escape('(&(regionrcc='+v+')(documenttypelink=cn=campaign latest news,ou=document types,ou=resources,dc=foe,dc=co,dc=uk)(lifecyclelink=cn=live,ou=lifecycles,ou=resources,dc=foe,dc=co,dc=uk))'); STATIC_URL = '/app/ls?template_output_type=text/xml&context=f_1&f_1_action=search&f_1_handler=foe.ldap.Document&f_1_return=name&f_1_return=documentidentifier&f_1_return=description&f_1_return=foelocalgroupname&f_1_return=relatedlivestartdate&f_1_return=title&f_1_return=umbrellaauthor&f_1_return=livestartdate&f_1_sortkey=relatedlivestartdate&f_1_sortorder=desc&f_1_filter='+filter+'&template_url='+t; return STATIC_URL; } function gByCampaignGroupDocUrl (v,t) { if(t==undefined) { t = '/templates/entities/foedocument/desc_date_html.html'; } var filter = escape('(&(campaignpubliclabellink='+v+')(documenttypelink=cn=campaign latest news,ou=document types,ou=resources,dc=foe,dc=co,dc=uk)(lifecyclelink=cn=live,ou=lifecycles,ou=resources,dc=foe,dc=co,dc=uk))'); STATIC_URL = '/app/ls?template_output_type=text/xml&context=f_1&f_1_action=search&f_1_handler=foe.ldap.Document&f_1_return=name&f_1_return=documentidentifier&f_1_return=description&f_1_return=foelocalgroupname&f_1_return=relatedlivestartdate&f_1_return=title&f_1_return=umbrellaauthor&f_1_return=livestartdate&f_1_sortkey=relatedlivestartdate&f_1_sortorder=desc&f_1_filter='+filter+'&template_url='+t; return STATIC_URL; } function gByIssueGroupDocUrl (v,t) { if(t==undefined) { t = '/templates/entities/foedocument/desc_date_html.html'; } var filter = escape('(&(posissuelink='+v+')(documenttypelink=cn=campaign latest news,ou=document types,ou=resources,dc=foe,dc=co,dc=uk)(lifecyclelink=cn=live,ou=lifecycles,ou=resources,dc=foe,dc=co,dc=uk))'); STATIC_URL = '/app/ls?template_output_type=text/xml&context=f_1&f_1_action=search&f_1_handler=foe.ldap.Document&f_1_return=name&f_1_return=documentidentifier&f_1_return=description&f_1_return=foelocalgroupname&f_1_return=relatedlivestartdate&f_1_return=title&f_1_return=umbrellaauthor&f_1_return=livestartdate&f_1_sortkey=relatedlivestartdate&f_1_sortorder=desc&f_1_filter='+filter+'&template_url='+t; return STATIC_URL; } var miniXH; var minioid = ''; function loadMini(oid,url) { minioid = oid; miniXH=GetXmlHttpObject(); if (miniXH==null) { alert ("Your browser does not support AJAX!"); return; } //var url="/app/ldapcontrol?template_url_endpart=me.xml&template_output_type=text/xml"; miniXH.onreadystatechange=stateChanged; miniXH.open("GET",url,true); miniXH.send(null); } function stateChanged() { if (miniXH.readyState==4) { if((el = document.getElementById(minioid))!=null) {el.innerHTML=miniXH.responseText;} } } function GetXmlHttpObject() { var miniXH=null; try { // Firefox, Opera 8.0+, Safari miniXH=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { miniXH=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { miniXH=new ActiveXObject("Microsoft.XMLHTTP"); } } return miniXH; } function homelinks (ip) { if(ip.indexOf("172.16.1")==0 || ip.indexOf("193.114.240")==0) { var el = document.getElementById("homelinks"); if(el!=null) { el.style.display = 'inline'; } } } function updateGroupCMSSite () { myOCZ = function (responseText, responseXML) { var els, el; var els = responseXML.documentElement.getElementsByTagName('up'); if(els!=null) { if(els[0].firstChild!=undefined ) { if(els[0].firstChild.data=="true") { //this url exists //display the cmsinfo, hide the rest if((el = document.getElementById('cmsinfo'))!=null) { el.style.display = 'inline'; } } } } } return myOCZ; } function checkGroupCMSSite (groupid,groupname) { if(groupname==undefined) { groupname = 'hull'; } runner('/cgi-bin/check_url.pl?content-type=text/xml&u=/groups/'+groupname+'/index.html',"outputLog","e",updateGroupCMSSite()); }