window.onload=systemSetup; oldtabid=document.getElementById('defaulttab'); //adv proplist settings lastselected=""; advPropselectedid=""; lasthighlightedColor="white"; var advPropFolderState=new Array(); var advfielddata=""; var pageselectedid=""; var oldHighLightColor=""; var browser=""; var linkline=''; var groupSelected; var oldStatusBarMessage=''; var suggestCompany=''; var suggestElem; var loadedAdData=''; var prevTodogrid; var nlGroupsSelected=new Array(); var nlPathSelected=''; var nlTitleSelected=''; var totalTodoCount=0; var globaltodoid; var mouseStartY; var mouseHandle; var calStartYpos; var calStartHeight; var cal_scroll; var cal_hourly; var cal_halfday; var cal_allday; var searchTodogrid; var browserVersion; var statsList; var myDate=new Date(); var dbToday=myDate.format("Y-m-d"); var duoDesktop=''; var searchNLValue; var searchNLid; var searchNLType; var domain=''; var csvTempFile; var sendTODOEmail="0"; var adminBookingDate=myDate.format("d/m/Y"); if(cookieVal('calyear')){ var calMonth=cookieVal('calmonth'); if(calMonth.lenth>2){//fix 0 before 10,11,12 calMonth=calMonth.substring(1,3); } adminBookingDate=cookieVal('calday')+"/"+calMonth+"/"+cookieVal('calyear')+"/"; } //---------------------------------- function systemSetup(){ if(document.getElementById('duoClientSetup')){ duoTestSetup(); } if(document.getElementById('csvUploadFrame')){ objectListen(document.getElementById('csvUploadFrame'),"load",csvUserUpload); } if ('function' == typeof whichBrs){ browser=whichBrs(); } if(browser=="ie"){ var userAgent=navigator.userAgent.toLowerCase(); var bv=userAgent.match(/msie ([0-9.]*);/); browserVersion=bv[1]; } if(!browserVersion){ var bods=document.getElementsByTagName('BODY'); bods[0].id=browser; } if(document.getElementById('pagelist')){ //load upload file list for banner manager pageListId='pagelist'; pathAddressBar='pagelist'; //loadPageList('0'); loadPageListFromPath('/images/banners/') } todoAlerts(); panelCollapseSetup(); if(document.getElementById('siteLogs')){ //setupLogs(); var fields = {"logs|when": 1, "logs|type": 0, "pages|title": 1,"structure|path": 0, "users|username": 1,"structure|publish": 1}; var headers=new Array("Date Modified","Page Title","Username","Published?"); logsgrid=new duoDataGrid('siteLogs','logs','siteLogToPath(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'','logsgrid'); } if(document.getElementById('userList')){ var fields = {"users|id": 1, "users|username": 1, "users|company": 1}; var headers=new Array("User Id","Username","Company"); usersgrid=new duoDataGrid('userList','users','showUserInfo(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'','usersgrid'); } //booking new setup if(document.getElementById('bd_username')){ var userComplete=new duoAutoComplete(document.getElementById('bd_username'),'/duocms/calendar/getUsers/','compSuggest','bd_user_id'); userComplete.setStorageId=bookingCompanyDetails; } if(document.getElementById('bookingList')){ var fields = {"bookings|id": 0, "users|username": 1, "users|company": 1, "pages|title": 1, "bookings|start_dt": 1, "bookings|end_dt": 1}; var headers=new Array("Username","Company","Title","Start Date / Time","End Date / Time"); bookinggrid=new duoDataGrid('bookingList','calendar','showBookingInfo(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'start_dt>="'+dbToday+'"','bookinggrid'); } if(document.getElementById('prevBookingList')){ var fields2 = {"bookings|id": 0, "users|username": 1, "users|company": 1, "pages|title": 1, "bookings|start_dt": 1, "bookings|end_dt": 1}; var headers2=new Array("Username","Company","Title","Start Date / Time","End Date / Time"); prevBookinggrid=new duoDataGrid('prevBookingList','calendar','showBookingInfo(e)','highlightLine(e)','unhighlightLine(e)',fields2,headers2,'start_dt<="'+dbToday+'"','prevBookinggrid'); } //TODO Setup if(document.getElementById('todoList')){ var fields = {"todos|id": 0, "users|username": 1, "users|company": 1, "todos|reported_dt": 1, "todos|lastupdated_dt": 1, "todos|status": 1, "todos|location": 1}; var headers=new Array("Username","Company","Reported","Updated","Status","Location"); todogrid=new duoDataGrid('todoList','todos','showTodo(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'status <> 4','todogrid'); //locations list with jquery - filters faults with cookie setting $('.locfilter').click(function(event){ if(event.target.checked){ cookieMaker(event.target.id,'1'); }else{ cookieMaker(event.target.id,''); } //reload list? todogrid.loadedrows=''; todogrid.getRowCount(); totalTodoCount=0; todoGetAlertUpdate(); }); $('#td_status').change(todoCompleted); //update tablecount but don't alert } if(document.getElementById('prevTodoList')){ var fields = {"todos|id": 0, "users|username": 1, "users|company": 1, "todos|reported_dt": 1, "todos|lastupdated_dt": 1, "todos|status": 1, "todos|location": 1}; var headers=new Array("Username","Company","Reported","Updated","Status","Location"); prevTodogrid=new duoDataGrid('prevTodoList','todos','showTodo(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'status = 4','prevTodogrid'); } if(document.getElementById('searchTodoList')){ var fields = {"todos|id": 0, "users|username": 1, "users|company": 1, "todos|reported_dt": 1, "todos|lastupdated_dt": 1, "todos|status": 1, "todos|location": 1}; var headers=new Array("Username","Company","Reported","Updated","Status","Location"); searchTodogrid=new duoDataGrid('searchTodoList','todos','showTodo(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'status = 4','prevTodogrid'); } if(document.getElementById('adList')){ //setupLogs(); var fields = {"ads|id": 0,"users|company": 1, "ads|startdate": 1, "ads|enddate": 1, "ads|type": 1}; var headers=new Array("company","start date","end date","type"); adgrid=new duoDataGrid('adList','ad_manager','showAdInfo(e)','highlightLine(e)','unhighlightLine(e)',fields,headers,'','adgrid'); } if(document.getElementById('pp_treeholder')){ getAdvancedFieldsTickList(); userFieldTickChangeSetup(); } if(document.getElementById('tranactionList')){ loadSuccessfulTransactions(); } if(document.getElementById('fileTreeParent0')){ loadSiteTreeBranch('0'); } if ('function' == typeof setupTooltips){ setupTooltips(); } if($('#postageBlock').length>0){ $('#postageBlock input').live('change',postCostUpdated); $('.postagerow').live('mouseup',selectPostageRow); $('#deletePostageButton').hide(); } } /*-------------------------------------------------------------------------------- Todo functions --------------------------------------------------------------------------------*/ function showTodo(e){ if(browser=="ie"){var item=window.event.srcElement;}else{var item=e.target;} var safecount=0; while((item.tagName!="TR" && item.className!="dgrow") && safecount<10){ item=item.parentNode; safecount++; } var rowid=item.id.replace('rowid',''); //check which grid you're in var gridid=item; while(gridid.className!="tableContainer" && safecount<10){ gridid=gridid.parentNode; safecount++; } if(gridid.id=='prevTodoList'){ var todoid=prevTodogrid.storedData[rowid].id }else if(gridid.id=='todoList'){ var todoid=todogrid.storedData[rowid].id }else{ var todoid=searchTodogrid.storedData[rowid].id } globaltodoid=todoid; var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Loading To-do Data'; myConn.connect("/duocms/todos/getTodo/"+todoid, "POST", "", res_showTodo); var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; document.getElementById('todoTitle').innerHTML='Update To-do'; document.getElementById('deleteTodo').style.display="block"; //autocomplete on user id } function todoSearch(){ if(document.getElementById('todosearchterm')){ //show search tab showTab('searchtodoui',document.getElementById('searchTodoTab'));showStatus(true);searchTodogrid.loadedrows=''; var newwhere=0; var term=document.getElementById('todosearchterm').value; var field="`"+document.getElementById('searchfield').value.replace('todos|','')+"`"; if(field && term && term!='keyword'){ newwhere=field+" like '%"+term+"%'"; } if(field && term && newwhere!=searchTodogrid.sqlwhere){ searchTodogrid.sqlwhere=newwhere; searchTodogrid.loadedrows=''; searchTodogrid.getRowCount(); } } } function locationFilter(){ //allow for two panels var mainpanelState=document.getElementById('maingenui').style.display; if(document.getElementById('locationFilter')){ var newwhere; var term=document.getElementById('locationFilter').value; var filter; if(mainpanelState=="" || mainpanelState=="block"){ filter="status <> 4"; var grid=todogrid; }else{ filter="status = 4"; var grid=prevTodogrid; } if(term==''){ newwhere='status <> 4'; }else{ newwhere="location = "+term+" and "+filter; } if(newwhere!=grid.sqlwhere){ grid.sqlwhere=newwhere; grid.loadedrows=''; grid.getRowCount(); } } } function res_showTodo(data){ if(!data.responseText){return;} sendTODOEmail=0; var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } var bd_data=data.info; for(row in bd_data){ if(document.getElementById("td_"+row)){ if(document.getElementById("td_"+row).tagName!="INPUT" && document.getElementById("td_"+row).tagName!="SELECT" && document.getElementById("td_"+row).tagName!="TEXTAREA"){ document.getElementById("td_"+row).innerHTML=bd_data[row].replace(/\n+/g,"
");//" }else{ if(document.getElementById('td_'+row).type=="checkbox" && bd_data[row]=="1"){ document.getElementById('td_'+row).checked=true; }else if(document.getElementById('td_'+row).type=="checkbox"){ document.getElementById('td_'+row).checked=false; }else{ document.getElementById('td_'+row).value=bd_data[row]; } } } } document.getElementById('statusbar').innerHTML=oldStatusBarMessage; var userComplete=new duoAutoComplete(document.getElementById('td_username'),'/duocms/todos/getUsers/','compSuggest','td_user_id'); userComplete.setStorageId=todoCompanyDetails; var actoinByComplete=new duoAutoComplete(document.getElementById('td_feedbackname'),'/duocms/todos/getUsers/','compSuggest','td_feedback_id'); } function todoCompleted(e){ if(document.getElementById('td_status') && document.getElementById('td_status').value==4){ sendTODOEmail="1"; } } function saveTodo(){ var myConn = new XHConn(); if (myConn){ savingData=buildPOST('todoForm',document); //disable by cris 24 jun 2010 //if(sendTODOEmail=='1' && confirm('Would you like an email sent to the fault reporter with your feedback?\n(this is development)')){ // sendTODOEmail='1'; //}else{ sendTODOEmail='0'; //} //alert(savingData); if(document.getElementById('td_id')){ if(document.getElementById('td_id').value){ myConn.connect("/duocms/todos/update/"+sendTODOEmail+"/", "POST", savingData, res_saveTodoInfo); }else{ myConn.connect("/duocms/todos/adminAdd/", "POST", savingData, res_saveTodoInfo); } } } } function res_saveTodoInfo(data){ //alert(data.responseText); var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); } if(data && data.info){ //alert(data.info.message); var todoid=data.info.id; //reload user oldStatusBarMessage=document.getElementById('statusbar').innerHTML; var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Loading To-do Data'; myConn.connect("/duocms/todos/getTodo/"+todoid, "POST", "", res_showTodo); var mainpanelState=document.getElementById('maingenui').style.display; if(mainpanelState=="" || mainpanelState=="block"){ var grid=todogrid; }else{ var grid=prevTodogrid; } grid.loadedrows=''; grid.getRowCount(); } } function addTodo(){ //clear fields document.getElementById('todoForm').reset(); var textareas=document.getElementsByTagName('TEXTAREA'); for (i=0;itotalTodoCount && totalTodoCount!=0){ if(data.info.total-totalTodoCount==1){ alert('A new fault has been reported.'); }else{ var count=data.info.total-totalTodoCount; alert(count+' new faults has been reported.'); } todogrid.loadedrows=''; todogrid.getRowCount(); totalTodoCount=data.info.total; } if(totalTodoCount==0){ totalTodoCount=data.info.total; } todoAlerts(); } function deleteTodo(){ if(!globaltodoid){alert('please select which item to delete');} if(!confirm('Are you sure you want to delete the selected fault?')){return;} var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Deleting Fault'; myConn.connect("/duocms/todos/delete/"+globaltodoid+"/", "POST", "", res_deleteTodo); } function res_deleteTodo(data){ todogrid.loadedrows=''; todogrid.getRowCount(); } function todoCompanyDetails(val){ if(document.getElementById('td_user_id')){document.getElementById('td_user_id').value=val;} var myConn = new XHConn(); if (myConn){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Loading Company Data'; myConn.connect("/duocms/todos/getCompanyDetails/"+val, "POST", "", res_todoCompanyDetails); } } function res_todoCompanyDetails(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } if(data.info){ var Data=data.info; document.getElementById('td_company').innerHTML=Data['bd_companyname']; document.getElementById('td_address').innerHTML=Data['td_address'].replace(/(\n|\r)/g,'
'); document.getElementById('td_phone1').innerHTML=Data['td_phone1']; }else{ document.getElementById('td_company').innerHTML=''; document.getElementById('td_address').innerHTML=''; document.getElementById('td_phone1').innerHTML=''; } } /*-------------------------------------------------------------------------------- Room Booking functions (old?) --------------------------------------------------------------------------------*/ function showBookingInfo(e){ if(browser=="ie"){var item=window.event.srcElement;}else{var item=e.target;} var safecount=0; while((item.tagName!="TR" && item.className!="dgrow") && safecount<10){ item=item.parentNode; safecount++; } var rowid=item.id.replace('rowid',''); //check which grid you're in var gridid=item; while(gridid.className!="tableContainer" && safecount<10){ gridid=gridid.parentNode; safecount++; } if(gridid.id=='prevBookingList'){ var eventid=prevBookinggrid.storedData[rowid].id }else{ var eventid=bookinggrid.storedData[rowid].id } var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Loading Booking Data'; myConn.connect("/duocms/calendar/getRoomBooking/"+eventid, "POST", "", res_showBookingInfo); var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; //autocomplete on user id var userComplete=new duoAutoComplete(document.getElementById('bd_username'),'/duocms/calendar/getUsers/','compSuggest','bd_user_id'); userComplete.setStorageId=bookingCompanyDetails; } function bookingCompanyDetails(val){ if(document.getElementById('bd_user_id')){document.getElementById('bd_user_id').value=val;} var myConn = new XHConn(); if (myConn){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Loading Company Data'; myConn.connect("/duocms/todos/getCompanyDetails/"+val, "POST", "", res_bookingCompanyDetails); } } function res_bookingCompanyDetails(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } if(data.info){ var Data=data.info; document.getElementById('bd_company').innerHTML=Data['companyname']; document.getElementById('bd_address').innerHTML=Data['address'].replace(/(\n|\r)/g,'
'); document.getElementById('bd_phone1').innerHTML=Data['phone']; }else{ document.getElementById('bd_company').innerHTML=''; document.getElementById('bd_address').innerHTML=''; document.getElementById('bd_phone1').innerHTML=''; } } function res_showBookingInfo(data){ if(!data.responseText){return;} var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } //clear old contact data document.getElementById('bd_company').innerHTML=''; document.getElementById('bd_address').innerHTML=''; document.getElementById('bd_phone1').innerHTML=''; var bd_data=data.info; for(row in bd_data){ if(document.getElementById("bd_"+row) && bd_data[row]){ if(document.getElementById("bd_"+row).tagName!="INPUT" && document.getElementById("bd_"+row).tagName!="SELECT"){ document.getElementById("bd_"+row).innerHTML=bd_data[row].replace(/\n+/g,"
");//" }else{ document.getElementById("bd_"+row).value=bd_data[row]; } } } document.getElementById('statusbar').innerHTML=oldStatusBarMessage; } function deleteBookingInfo(){ //delete this element var id=document.getElementById('bd_id').value; if(confirm('Are you sure you want to delete this booking?\nThis cannot be undone')){ var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Loading Booking Data'; myConn.connect("/duocms/calendar/deleteRoomBooking/"+id+"/", "POST","", res_saveBookingInfo); } } function saveBookingInfo(){ //update booking info //get form var id=document.getElementById('bd_id').value; var startdate=document.getElementById('bd_startdate').value; var enddate=document.getElementById('bd_enddate').value; var start_dt=bookingFormatDate(startdate); var end_dt=bookingFormatDate(enddate); var vending=document.getElementById('bd_vendingcount').value; var cost=document.getElementById('bd_bookingcost').value; var userid=document.getElementById('bd_user_id').value; var strucid=document.getElementById('bd_structure_id').value; if(!userid){alert('You must select a valid user to assign this booking to');return;} // var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Loading Booking Data'; myConn.connect("/duocms/calendar/setRoomBooking/"+start_dt+"/"+end_dt+"/"+strucid+"/"+userid+"/"+id+"/"+cost+"/"+vending+"/", "POST", "", res_saveBookingInfo); } function res_saveBookingInfo(data){ if(!data.responseText){return;} var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); } closeBookingPanel(); } function closeBookingPanel(){ document.getElementById('centerpanel2').style.display='none'; var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midhalfblock','midfullblock'); bookinggrid.loadedrows=''; bookinggrid.getRowCount(); prevBookinggrid.loadedrows=''; prevBookinggrid.getRowCount(); } function bookingFormatDate(indate){ var hour=indate.match(/[0-9]*/); var minute=indate.match(/:([0-9]{2}) /);minute=minute[1]; var day=indate.match(/ ([0-9]{1,2})\//);day=day[1]; var month=indate.match(/\/([0-9]{1,3})\//);month=month[1]; if(month.length>2){month=month.substring(1,3);} var year=indate.match(/[0-9]{1,2}\/[0-9]{1,3}\/([0-9]{2,4})/);year=year[1]; return(year+"-"+month+"-"+day+" "+hour+":"+minute+":00"); } function addBooking(){ document.getElementById('bookingForm').reset(); document.getElementById('bd_id').value=''; document.getElementById('bd_company').innerHTML=''; document.getElementById('bd_address').innerHTML=''; document.getElementById('bd_phone1').innerHTML=''; var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; //autocomplete on user id var userComplete=new duoAutoComplete(document.getElementById('bd_username'),'/duocms/calendar/getUsers/','compSuggest','bd_user_id'); //set todays date var myDate=new Date(); var thisMonth=parseInt(myDate.getMonth())+1; var today=myDate.format("d/m/Y"); document.getElementById('bd_startdate').value="09:00 "+today; document.getElementById('bd_enddate').value="09:30 "+today; } function bookingSearch(){ if(document.getElementById('usersearchterm')){ var newwhere=0; var term=document.getElementById('usersearchterm').value; var field=document.getElementById('searchfield').value; if(field && term && term!='keyword'){ newwhere=field+" like '%"+term+"%' and start_dt>='"+dbToday+"'"; newwhere2=field+" like '%"+term+"%' and start_dt<='"+dbToday+"'"; }else{ newwhere=field+" start_dt>='"+dbToday+"'"; newwhere2=field+" start_dt<='"+dbToday+"'"; } if(newwhere!=bookinggrid.sqlwhere){ bookinggrid.sqlwhere=newwhere; bookinggrid.loadedrows=''; bookinggrid.getRowCount(); } if(newwhere2!=prevBookinggrid.sqlwhere){ prevBookinggrid.sqlwhere=newwhere2; prevBookinggrid.loadedrows=''; prevBookinggrid.getRowCount(); } } } /*-------------------------------------------------------------------------------- Room Booking functions (new?) --------------------------------------------------------------------------------*/ function cal_selDate(seldate){ if(seldate){//remove from db adminBookingDate=seldate; var id=document.getElementById('roomid').value;//get id from dropdown var myConn = new XHConn(); myConn.connect("/duocms/calendar/adminoutput/"+seldate+"/"+id+"/", "POST", '', cal_showLoadedCal); } } function cal_addbooking(obj){ var top=obj.offsetTop; var cal=document.getElementById('caltimes'); cal_clearForm(); cal.innerHTML+='
NEW BOOKING
'; cal_getDetails(0,document.getElementById('newbooking')); } function cal_selRoom(){ var id=document.getElementById('roomid').value;//get id from dropdown var myConn = new XHConn(); myConn.connect("/duocms/calendar/adminoutput/"+adminBookingDate+"/"+id+"/", "POST", '', cal_showLoadedCal); } function cal_showLoadedCal(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); } if(data.info){ document.getElementById('bookingcalendarinner').innerHTML=unt8Decode(data.info.cal); document.getElementById('daylist').innerHTML=unt8Decode(data.info.daylist); cal_hourly=data.info.prices.hourly; cal_halfday=data.info.prices.halfday; cal_allday=data.info.prices.allday; } document.getElementById('caltimes').scrollTop=cal_scroll; } function cal_deleteBooking(){ var id=document.getElementById('bd_id').value; if(confirm('Are you sure you want to delete this booking?\nThis cannot be undone')){ var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Deleting Booking Data'; myConn.connect("/duocms/calendar/deleteRoomBooking/"+id+"/", "POST","", res_cal_bookRoom); cal_closePanel(); } } function cal_clearForm(){ cal_resetTicks(); document.getElementById('bookingForm').reset(); document.getElementById('bd_id').value=''; document.getElementById('bd_username').value=''; document.getElementById('bd_company').innerHTML=''; document.getElementById('bd_address').innerHTML=''; document.getElementById('bd_phone1').innerHTML=''; } function cal_getDetails(eventid,obj){ if(eventid=="0"){ document.getElementById('bd_id').value=''; cal_clearForm(); } if(document.getElementById('calSelBlock')){ var oldselected=document.getElementById('calSelBlock'); if(oldselected==obj){return;} oldselected.removeAttribute('id'); if(oldselected.className.match(/newbooking/i) && oldselected!=obj){ oldselected.parentNode.removeChild(oldselected); } } document.getElementById('maingenui').className='partcal'; obj.id='calSelBlock'; if(eventid){ var myConn = new XHConn(); document.getElementById('statusbar').innerHTML='Loading Booking Data'; myConn.connect("/duocms/calendar/getRoomBooking/"+eventid, "POST", "", res_cal_getDetails); } var handles=obj.getElementsByTagName('DIV'); for(i=0;i");//" }else{ document.getElementById("bd_"+row).value=bd_data[row]; } } } document.getElementById('cal_starttime').value=bd_data['startdate'].match(/[0-9]{1,2}:[0-9]{2}/); document.getElementById('cal_endtime').value=bd_data['enddate'].match(/[0-9]{1,2}:[0-9]{2}/); document.getElementById('statusbar').innerHTML=oldStatusBarMessage; } } function cal_updateTime(hourlyprice){ var cal_starttime=document.getElementById('cal_starttime').value.split(':'); var cal_endtime=document.getElementById('cal_endtime').value.split(':'); var caltimeDurationH=cal_endtime[0]-cal_starttime[0]; var caltimeDurationM=cal_endtime[1]-cal_starttime[1]; if(caltimeDurationM<1){ caltimeDurationM=30; caltimeDurationH--; } //update position of calendar item if(document.getElementById('calSelBlock')){ document.getElementById('calSelBlock').style.top=((cal_starttime[0]-6)*52)+((cal_starttime[1]/60)*52)+9+"px"; document.getElementById('calSelBlock').style.height=((caltimeDurationH)*52)+((caltimeDurationM/60)*52)+"px"; } var caltimeDuration=''; if(caltimeDurationH){ caltimeDuration+=caltimeDurationH+" Hour"; } if(caltimeDurationH>1){ caltimeDuration+="s"; } if(caltimeDurationH && caltimeDurationM){ caltimeDuration+=" and "; } if(caltimeDurationM){ caltimeDuration+=caltimeDurationM+" minutes "; } document.getElementById('caltimeDuration').innerHTML=caltimeDuration; if(hourlyprice){ var price=parseFloat((caltimeDurationH+(caltimeDurationM/60))*hourlyprice); document.getElementById('bd_bookingcost').value=price.toFixed(2); cal_resetTicks(); } } function cal_resetTicks(){ var allInputs=document.getElementsByTagName('INPUT'); for(i=0;i9){ retval=hour+":"+minute; }else{ retval="0"+hour+":"+minute; } return (retval); } function cal_closePanel(){ document.getElementById('maingenui').className='fullcal'; cal_clearForm(); cal_selRoom();//reload to remove changes / added but unsaved } function cal_download(){ window.location.href='/duocms/calendar/download/'+document.getElementById('accountsdate').value+'/'; } /*-------------------------------------------------------------------------------- User functions --------------------------------------------------------------------------------*/ function csvUserUpload(e){ //alert('uploaded'); var raw=new Object(); document.getElementById('import2').style.display="block"; document.getElementById('import3').style.display="none"; raw.responseText=document.getElementById('csvUploadFrame').contentWindow.document.getElementsByTagName("body")[0].innerHTML; data=parseJSON(raw); if(data.error){ alert(data.error); return; } csvTempFile=data.temp; var fieldList=document.getElementById('fieldList'); var ourFields=document.getElementById('searchfield').innerHTML; var html=''; if(data.info){ var count=0; var rows=data.info; for (var row in rows){ if(typeof(rows[row])=="string"){ html+=""; count++; } } html+="
Uploaded CSV Fields Website Fields
"+rows[row]+"   =  

Use the drop downs above to match the fields between your data and that of the website

"; fieldList.innerHTML=html; } //have a educated guess at row names var count=0; var ddown; for (var row in rows){ if(typeof(rows[row])=="string"){ ddown=document.getElementById('field'+count).getElementsByTagName('option'); for(var i=0;i"; count++; } } html+="

"+data.total+" users imported / updated successfully."; document.getElementById('import3').innerHTML=html; } function showUserInfo(e){ var userid=usersgrid.storedData[usersgrid.selectedId].id; var myConn = new XHConn(); if (myConn){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Loading User Data'; myConn.connect("/duocms/users/getUserData/"+userid, "POST", "", res_showUserInfo); //var myConn2 = new XHConn();//combined with getUserData //myConn2.connect("/duocms/users/getUserGroups/"+userid, "POST", "", res_showUserGroups); } var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; } function res_showUserInfo(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } if(document.getElementById('companies_companyname')){//for company link table if it exists var userCompComplete=new duoAutoComplete(document.getElementById('companies_companyname'),'/duocms/users/getCompanys/','compSuggest','users_structure_id'); userCompComplete.setStorageId=userCompanyUpdate; } if(data && data.info){ document.getElementById('userinfoform').reset();//clear all, esp checkboxes var Data=data.info; for (var Row in Data){ if(document.getElementById('users_'+Row) && Row!="password"){ if(document.getElementById('users_'+Row).type=="checkbox" && Data[Row]=="1"){ document.getElementById('users_'+Row).checked=true; }else{ document.getElementById('users_'+Row).value=Data[Row]; } } } //populate groups - was sep function originally var Data=data.info.groups; var groupslist=document.getElementById('panel_groups').getElementsByTagName('input'); for(i=0;iupdate group"; //selected.parentNode.parentNode.setAttribute('id','groupSelected'); }else{ alert('Please select a group to edit'); } } function groupUpdate(){ var selected=document.getElementById('groupNewInput'); if(selected && groupSelected && selected.value){ var myConn = new XHConn(); if (myConn){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Updating Group Name'; var name=selected.value; myConn.connect("/duocms/users/updateGroup/"+escape(name)+"/"+groupSelected+"/", "POST", "", groupNewSave_res); } } } function groupNewSave(){ if(document.getElementById('groupNewInput')){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Saving New Group'; var name=document.getElementById('groupNewInput').value; var myConn = new XHConn(); if (myConn && name){ myConn.connect("/duocms/users/addGroup/"+escape(name)+"/", "POST", "", groupNewSave_res); } } } function groupNewSave_res(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } var name=document.getElementById('groupNewInput').value; var id=data.info.id; var permGroupList=document.getElementById('permGroupList').getElementsByTagName('LI'); if(permGroupList.length/2==Math.floor(permGroupList.length/2)){ document.getElementById('groupSelected').className='odd'; } document.getElementById('groupSelected').innerHTML=''+name+''; document.getElementById('statusbar').innerHTML=oldStatusBarMessage; if(document.getElementById('groupCheckBox'+id)){ document.getElementById('groupCheckBox'+id).innerHTML=' '+name; }else{ for(i=id;i>0;i--){ if(document.getElementById('groupCheckBox'+i)){ document.getElementById('groupCheckBox'+i).parentNode.innerHTML+='

'+name+'
'; break; } } } } function groupDelete(){ if(!confirm('Are you sure you want to delete this group?')){return;} if(document.getElementById('groupSelected') && groupSelected){ setOuterHTML(document.getElementById('groupSelected').parentNode,'');//remove from groups list if(document.getElementById('groupCheckBox'+groupSelected)){ setOuterHTML(document.getElementById('groupCheckBox'+groupSelected),'');//remove from groups panel } var myConn = new XHConn(); myConn.connect("/duocms/users/deleteGroup/"+groupSelected+"/", "POST", "", groupDelete_res); } } function groupDelete_res(data){ alert(data.responseText); } function listReorder(direc,elem){ var parNode=elem.parentNode; var parNode2=parNode.parentNode; if(direc=='up'){ if(parNode.previousSibling && parNode.previousSibling.tagName=="LI"){ parNode2.insertBefore(parNode,parNode.previousSibling); }else if(parNode.previousSibling){ parNode2.insertBefore(parNode,parNode.previousSibling.previousSibling); }else{ alert('Your\'re at the top'); } }else{ if(parNode.nextSibling && parNode.nextSibling.tagName=="LI" && parNode.nextSibling!=parNode2.lastChild){ parNode2.insertBefore(parNode,parNode.nextSibling.nextSibling); }else if(parNode.nextSibling && parNode.nextSibling!=parNode2.lastChild){ parNode2.insertBefore(parNode,parNode.nextSibling.nextSibling.nextSibling); }else{ alert('Your\'re at the bottom'); } } } /*-------------------------------------------------------------------------------- Newsletter functions --------------------------------------------------------------------------------*/ function nlAddNewsletter(){ window.location.href='/duocms/newsletter/addNewsletter/'; } function nlSelectNewsLetter(obj,path){ nlPathSelected=path; nlTitleSelected=obj.innerHTML; if(document.getElementById('nlSelected')){ document.getElementById('nlSelected').removeAttribute('id'); } obj.id='nlSelected';//highlights in blue } function nlEditNewsletter(){ if(nlPathSelected){ window.open(nlPathSelected); }else{ alert('Please select which newsletter you wish to edit'); } } function nlSelectGroup(obj,groupid){ groupSelected=groupid; if(document.getElementById('groupSelected')){ document.getElementById('groupSelected').removeAttribute('id'); } obj.id='groupSelected';//highlights in blue } function nlUpdateGroupList(obj,groupid){ if(obj.checked==true){ nlGroupsSelected[groupid]=true; cookieMaker('nlgroup'+groupid,'true'); }else{ nlGroupsSelected[groupid]=false; cookieMaker('nlgroup'+groupid,''); } } function nlSendTest(){ if(!nlPathSelected){alert('Please select which newsletter to send');return;} document.getElementById('statusbar').innerHTML='Sending Test Newsletter to You'; var modPath=nlPathSelected.replace(/\//g,'|'); var myConn = new XHConn(); if (myConn){ myConn.connect('/duocms/newsletter/sendTestNewsletter/'+modPath+'/'+escape(nlTitleSelected)+'/', "POST", "", res_nlUpdateNewsletter); } } function nlSendNewsletter(){ if(!nlPathSelected){alert('Please select which newsletter to send');return;} if(nlPathSelected && confirm('Are you sure you want send this newsletter now?')){ document.getElementById('statusbar').innerHTML='Sending Test Newsletter'; var modPath=nlPathSelected.replace(/\//g,'|'); var myConn = new XHConn(); if (myConn){ myConn.connect("/duocms/newsletter/sendNewsletter/"+modPath+"/", "POST", "", res_nlUpdateNewsletter); } } } function res_nlUpdateNewsletter(data){ //alert(data.responseText); document.getElementById('statusbar').innerHTML='Newsletter Sent For Distribution'; } function nlSetAllGroups(val){ var NLGrouplist=document.getElementById('NLGrouplist'); var tickboxes=NLGrouplist.getElementsByTagName('input'); for(i=0;i"+Data[Row]['subject']+"
"+Data[Row]['sentwhen']+""; graphData['graph_data']= new Array(); var nldata=Data[Row]; var count=0; for(var typ in nldata){ if(typeof(nldata[typ])=='string' && typ!='subject' && typ!='id'&& typ!='sentwhen'){ graphData['graph_data'][count] = new Array(); graphData['graph_data'][count]['value'] = nldata[typ]; graphData['graph_data'][count]['label'] = ""+typ+""; count++; } } dataArea.innerHTML+='
'; var graph = new duo_jsGraph(graphData,'grapharea'+graphCount); graphCount++; } } } function nlShowViewer(id){ document.getElementById('nlviewer').style.display="block"; document.getElementById('backgroundFader').style.display="block"; document.getElementById('nlviewerIframe').src="/duocms/newsletter/view/"+id+"/"; } function nlLoadDetailedStats(type,nlid){ document.getElementById('nldstats').style.display="block"; document.getElementById('backgroundFader').style.display="block"; document.getElementById('statsListInner').innerHTML='Loading Data'; document.getElementById('nldstatsTitle').innerHTML='List of emails for '+type+' Newsletters'; document.getElementById('searchBox').value=''; //record globally for use with search later searchNLid=nlid; searchNLType=type; var myConn = new XHConn(); if (myConn){ myConn.connect("/duocms/newsletter/loadNewsLetterStats/"+type+"/"+nlid+"/", "POST", "", nlLoadDetailedStats_res); } } function nlLoadDetailedStats_res(data){ objectListen(document.getElementById('searchBox'),'keyup', startNLSearch); objectListen(document.getElementById('searchCancelButton'),'mousedown', stopNLSearch); var Data=parseJSON(data); if(!statsList){statsList=new optiList();} statsList.listData=Data; statsList.idPrefix='stats'; statsList.listId='statsListInner'; statsList.filter=false; statsList.mouseDown=nlShowUserDetails; /* userList.mouseUp=userSelect; userList.mouseDown=userSelectMD; userList.filterArray=filterArray; userList.filter=filter; if(userSelectedId){ userList.selectedId=userSelectedId; } userList.dblClick=companySelectDbl; */ statsList.makeList(); } function nlShowUserDetails(e){ if(browser=="ie"){var item=window.event.srcElement;}else{var item=e.target;} if(item.tagName=="STRONG"){item=item.parentNode;} if(item.tagName!="LI"){return;} var userid=item.id.replace(/[a-z]*/i,''); window.open('/duocms/users/panel/'+userid); return false; } function nlCloseViewer(){ objectStopListen(document.getElementById('searchBox'),'keyup', startNLSearch); objectStopListen(document.getElementById('searchCancelButton'),'mousedown', stopNLSearch); document.getElementById('nlviewer').style.display="none"; document.getElementById('nldstats').style.display="none"; document.getElementById('backgroundFader').style.display="none"; } function startNLSearch(e){ if(browser=="ie"){var item=window.event.srcElement;}else{var item=e.target;} if (item.value) { //run companies and users list with filter searchNLValue = item.value; setTimeout(searchNLHasChanged,1000);//check in half a second if text has changed } } function searchNLHasChanged(){ if (document.getElementById('searchBox').value == searchNLValue) {//only search if it's still the same var myConn = new XHConn(); if (myConn && searchNLValue){ myConn.connect(domain+"/duocms/newsletter/searchNewsletterStats/"+searchNLType+"/"+searchNLid+"/"+escape(searchNLValue)+"/", "POST", '', searchNLHasChanged_res); } searchNLValue='';//reset to stop repeat search } } function searchNLHasChanged_res(data){ var data=parseJSON(data); statsList.filterArray=data.info; statsList.filter=true; statsList.makeList(); } function stopNLSearch(e){ //console.log('cancelling search'); document.getElementById('searchBox').value=''; statsList.filter=false; statsList.makeList(); } /*-------------------------------------------------------------------------------- Login functions --------------------------------------------------------------------------------*/ function duoLogin(){ var password=hex_md5(hex_md5(document.getElementById('duoPasswordent').value)+document.getElementById('duoPass_hash').value); var editor_name=document.getElementById('editor_name').value; var myConn = new XHConn(); if (myConn){ var savingData="editor_name="+escape(editor_name)+"&password="+escape(password); if(document.getElementById('loginsave')){ savingData+='&loginsave='+document.getElementById('loginsave').value; } //alert(savingData); myConn.connect("/duocms/users/login/", "POST", savingData, duoLoggedIn); } } function duoLoggedIn(data){ //alert(data.responseText); var data=eval(data.responseText); if(data && data[0] && data[0].error){ if(document.getElementById('loginMessage')){ document.getElementById('loginMessage').innerHTML=data[0].error; } }else{ if(document.getElementById('return_path')){ parent.window.location=document.getElementById('return_path').value; }else{ var temp=parent.window.location; parent.window.location=temp; } } } /*-------------------------------------------------------------------------------- Admin Interface Functions --------------------------------------------------------------------------------*/ function showTab(tabid,tabselected,hideClass){ if(!hideClass){ var hideClass="siteinfo"; } if(document.getElementById('productfilters')){ //e-commerce, hide right panels, clear table contents - keep things fast document.getElementById('productfilters').style.display='none'; document.getElementById('orderfilters').style.display='none'; document.getElementById('tableContainer').innerHTML=''; document.getElementById('tableContainer2').innerHTML=''; document.getElementById('tableContainer3').innerHTML=''; document.getElementById('tableContainer4').innerHTML=''; } Targets=document.getElementsByTagName("div"); var allLis=tabselected.parentNode.parentNode.childNodes; for(i=0;i31){ panelid.style.overflow="hidden"; panelShrink(panelid.id); }else{ panelGrow(panelid.id); } } } function panelShrink(identifyer){ panelid=document.getElementById(identifyer); var panelHeight=parseInt(panelid.style.height); if(panelHeight>31){ panelHeightNew=((panelHeight-27)/1.4)+24; panelid.style.height=panelHeightNew+"px"; setTimeout("panelShrink('"+identifyer+"')",1); cookieMaker("panel"+identifyer,"closed"); } } function panelGrow(identifyer){ panelid=document.getElementById(identifyer); var panelHeight=panelid.clientHeight; //alert(eval("document.panelheight_"+identifyer)+" "+panelHeight); if((((panelHeight-18)*1.6)+20)0){ $('#deletePostageButton').show(); } } function delPostageWeight(){ if(!confirm('Are you sure you want to delete this row?\nIt cannot be undone')){return;} var weight=$('#selectedPostageRow').find('input').first().attr('value'); //delete row $('#selectedPostageRow').remove(); if(weight){ $.getJSON('/duocms/transactions/deletePostageWeight/'+weight+'/', function(data) { $('#deletePostageButton').hide(); }); } } function showProductInfo(e){ var productId=productsgrid.storedData[productsgrid.selectedId].id; $.getJSON('/duocms/products/getProductInfo/'+productId+'/', function(data) { var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; document.getElementById('userpanelTitle').innerHTML="Product Details"; var html=' \
\
\
\
'; var col=1; var i=0; for(row in data.info){ html+='
'+row+'
'; if(col==1 && i>5){ html+='
'; col++; } i++; } html+='\
\
\
\ \ \
\
'; $('#detailsBlock').html(html); }); } function saveProductInfo(){ var postData=$('#userinfoform').serialize(); $.post('/duocms/products/saveProductInfo/',postData,function(data){ alert(data.error); },'json'); } /*-------------------------------------------------------------------------------- Advertising Functions --------------------------------------------------------------------------------*/ var ad_selectedPage=''; var ad_selected; function ad_addAdvertisement(){ document.getElementById('adinfoform').reset(); document.getElementById('ad_assignlist').innerHTML=''; document.getElementById('ad_user_id').value=''; document.getElementById('ad_id').value=''; var compComplete=new duoAutoComplete(document.getElementById('ad_company'),'/duocms/ad_manager/getCompanys/','compSuggest','ad_user_id'); var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; document.getElementById('userpanelTitle').innerHTML="Advertisement Details"; loadedAdData=''; pageListId='adpages'; pathAddressBar='adpath'; loadPageList('0');//list files called from filelist.js ad_loadBannerOptions(document.getElementById('ad_type')); } function ad_deleteAdvertisement(){ //get selected from list, if(ad_selected){ //send to server if(!confirm('are you sure you want to delete the selected advertisment?')){return;} var myConn = new XHConn(); if (myConn){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Deleting Advertisement Data'; myConn.connect("/duocms/ad_manager/deleteAdData/"+ad_selected+"/", "POST",'', res_saveAdInfo); } }else{ alert('please select an advertisment to delete'); } } function ad_deleteAdvertisement_res(data){ document.getElementById('statusbar').innerHTML=oldStatusBarMessage; window.location.href="/duocms/ad_manager/";//reset panels with page refresh } function showAdInfo(e){ if(browser=="ie"){var item=window.event.srcElement;}else{var item=e.target;} var safecount=0; while((item.tagName!="TR" && item.className!="dgrow") && safecount<10){ item=item.parentNode; safecount++; } if(safecount<10){ //item.className='active'; var rowid=item.id.replace('rowid',''); ad_selected=adgrid.storedData[rowid].id var myConn = new XHConn(); if (myConn){ oldStatusBarMessage=document.getElementById('statusbar').innerHTML; document.getElementById('statusbar').innerHTML='Loading Advertisement Data'; myConn.connect("/duocms/ad_manager/getAdData/"+ad_selected, "POST", "", res_showAdInfo); } var myConn2 = new XHConn(); if (myConn2){ myConn2.connect("/duocms/ad_manager/monthTotals/"+ad_selected, "POST", "", res_showAdStats); } } var panel=document.getElementById('centerpanel') panel.className=panel.className.replace('midfullblock','midhalfblock'); document.getElementById('centerpanel2').style.display='block'; document.getElementById('userpanelTitle').innerHTML="Advertisement Details"; } function res_showAdInfo(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } if(data && data.info){ document.getElementById('adinfoform').reset();//clear all, esp checkboxes document.getElementById('ad_user_id').value=''; document.getElementById('ad_id').value=''; var Data=data.info; loadedAdData=Data; for (var Row in Data){ if(document.getElementById('ad_'+Row) && Row!="password"){ if(document.getElementById('ad_'+Row).type=="checkbox" && Data[Row]=="1"){ document.getElementById('ad_'+Row).checked=true; }else{ document.getElementById('ad_'+Row).value=Data[Row]; } } } document.getElementById('ad_assignlist').innerHTML=''; if(Data.pages){ Data=Data.pages; for (var Row in Data){ if(Data[Row].title){ ad_AddtoList(Data[Row].title,Data[Row].page_id,Data[Row].inherit); } } } } ad_loadBannerOptions(document.getElementById('ad_type')); pageListId='adpages'; pathAddressBar='adpath'; loadPageList('0');//list files called from filelist.js document.getElementById('statusbar').innerHTML= oldStatusBarMessage; var compComplete=new duoAutoComplete(document.getElementById('ad_company'),'/duocms/ad_manager/getCompanys/','compSuggest','ad_user_id'); } function res_showAdStats(data){ var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } if(data && data.info){ var Data=data.info; var graphbar=''; for (var Row in Data){ if(document.getElementById(('adstats_'+Row))){ graphbar=document.getElementById('adstats_'+Row); if(Data[Row]!='0'){ graphbar.style.height=((Data[Row]/Data['highest']*90)+1)+"%"; }else{ graphbar.style.height="1%"; } graphbar.innerHTML= Data[Row]; } } } } function pageListSetup(pageListId,data){//called by loadPageList_res in filelist.js pageListData=data.info; //reorder alphabetically for image list if(pageListId=='pagelist'){ listPages(pageListId,pageListData,'ad_highLightSelected','loadPageListBannerUpload');//id,data,singleClick,doubleClick }else{ listPages(pageListId,pageListData,'ad_highLightSelected','loadPageListBannerSelect');//id,data,singleClick,doubleClick } } function ad_highLightSelected(elem,id,e){ if(document.getElementById('ad_page_selected')){ var selected=document.getElementById('ad_page_selected'); selected.removeAttribute('id'); } elem.id='ad_page_selected'; ad_selectedPage=id; } function ad_Add(){ if(document.getElementById('ad_page_selected') && document.getElementById('ad_assignlist')){ var selected=document.getElementById('ad_page_selected'); ad_AddtoList(selected.innerHTML,ad_selectedPage); } } function ad_AddtoList(title,id,tick){ if(tick=="1"){var checked="checked";}else{var checked="";} var list=document.getElementById('ad_assignlist'); var count=list.getElementsByTagName('DIV').length; if(count/2!=Math.round(count/2)){ list.innerHTML+="
"+title+"
"; }else{ list.innerHTML+="
"+title+"
"; } } function ad_Remove(){ if(document.getElementById('ad_ad_selected')){ var selected=document.getElementById('ad_ad_selected'); selected.parentNode.removeChild(selected); } } function ad_hightlight(elem){ if(document.getElementById('ad_ad_selected')){ var selected=document.getElementById('ad_ad_selected'); selected.removeAttribute('id'); } elem.id='ad_ad_selected'; } function ad_loadBannerOptions(elem){ var chosen=elem.value; var myConn = new XHConn(); if (myConn){ document.getElementById('statusbar').innerHTML='Loading Banner Options'; myConn.connect("/duocms/ad_manager/loadBannerFileList/"+chosen+"/", "POST",'', ad_loadBannerOptions_res); } } function ad_loadBannerOptions_res(data){ //once loaded, populate file choice drop down var data=eval('('+data.responseText+')'); if(data && data.error){ alert(data.error); return; } var select=document.getElementById('ad_filename'); //clear options for (i = select.length; i>=0; i--) { select.remove(i); } if(data && data.info){ var Data=data.info; //add new ones var lastpathbit=''; for (var Row in Data){ if(Data[Row]['path']){ elOptNew = document.createElement('option'); lastpathbit=Data[Row]['path'].match(/\/([^/]*)\/$/i); elOptNew.text = lastpathbit[1]; elOptNew.value = Data[Row]['path']; select.options[select.options.length]= elOptNew; } } } //need to highlight selected one, if there is one if(loadedAdData){ var Data=loadedAdData; for (var Row in Data){ if(document.getElementById('ad_'+Row) && 'ad_'+Row=='ad_filename'){ document.getElementById('ad_'+Row).value=Data[Row]; } } } } function saveAdInfo(){ //get ad details if(document.getElementById('ad_user_id').value==''){ alert('A valid advertiser has not been assigned.\nPlease add an advertiser in the advertiser field which appears in the drop down.\nIf the correct advertiser does not appear please add them to the user management system'); return; } var savingData="&"+buildPOST('adinfoform',document); //get pages to put ad on var list=document.getElementById('ad_assignlist'); var inputs=list.getElementsByTagName('INPUT'); var qstring=''; var counter=0; for(i=0;i

"; if(parseInt(flver)<9){ html+='

You need flash version 9 or above to use certain features of the CMS. Click here to install

'; } if(browser[0]=="Safari" && parseInt(browser[1])<3){ html+='

You need Safari version 3 or above to use certain features of the CMS. Click here to upgrade

'; } if(browser[0]=="Firefox" && parseInt(browser[1])<3){ html+='

You need Firefox version 3 or above to use certain features of the CMS. Click here to upgrade

'; } if(browser[0]=="Internet Explorer" && parseInt(browser[1])<7){ html+='

You need Internet Explorer version 7 or above to use certain features of the CMS. Click here to upgrade

'; } if(browser[0]=="unknown"){ html+='

The browser you are using is unknown. Duo CMS is compatible with IE 7/8+, Firefox 3+, Safari 3/4+. If you are not using one these browsers please upgrade.

'; } panel.innerHTML=html; } function duoTestBrowser(){ var userAgent=navigator.userAgent.toLowerCase(); var version; if (userAgent.indexOf("firefox") != -1){ version=userAgent.match(/firefox\/([0-9.]*)/); return new Array('Firefox',version[1]); } if (userAgent.indexOf("safari") != -1){ version=userAgent.match(/version\/([0-9.]*)/); if(!version){ version=new Array('0','0'); } return new Array('Safari',version[1]); } if (userAgent.indexOf("msie") != -1){ version=userAgent.match(/msie ([0-9.]*);/); return new Array('Internet Explorer',version[1]); } return new Array('unknown',''); }