/*
	$Copyright Trinity Mirror $Date: 2009-10-19 12:20:30 +0100 (Mon, 19 Oct 2009) $
	$Revision: 54155 $
*/

var a_months=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];var a_days=['Sun','Mon','Tue','Wed','Thu','Fri','Sat','Sun'];function myDateString(dt)
{return dt.getDate().toString()+' '+a_months[dt.getMonth()]+' '+dt.getFullYear();}
function hasClassName(node,classname)
{var re=new RegExp("\\b"+classname+"\\b");return re.test(node.className);}
function addClassName(node,classname)
{if(!hasClassName(node,classname))
{node.className=node.className+' '+classname;}}
function delClassName(node,classname)
{if(node.className)
{var re=new RegExp("[\\s]*\\b"+classname+"\\b","g");node.className=node.className.replace(re,'');}}
var elSelectedTD;var a_HilitedTDs=[];var title_sel;function setMonth(idx,prefix)
{for(var i=0,l=a_table_ids[prefix].length;i<l;i++)
{var elt=document.getElementById(a_table_ids[prefix][i]);if(elt)
{if(idx==i){delClassName(elt,'EventNotShown');}
else{addClassName(elt,'EventNotShown');}}}}
function clearSchedTable()
{var elSched=document.getElementById('adbSchedElt');if(elSched){elSched.parentNode.removeChild(elSched);}
addClassName(document.getElementById('adbSchedFeedback'),'adbNotShown');clearHilites();}
function clearHilites()
{for(var i=0,l=a_HilitedTDs.length;i<l;i++)
{delClassName(a_HilitedTDs[i],'adbDateInRange');}
a_HilitedTDs=[];}
function hiliteTD(elTD)
{if(!elTD)return;addClassName(elTD,'adbDateInRange');a_HilitedTDs[a_HilitedTDs.length]=elTD;}
function clearSelectDateTD(elDate,elDate)
{if(elSelectedTD)delClassName(elSelectedTD,'adbDateSelected');elSelectedTD=null;if(elDate)
{elDate.value='';}}
function makeDate(strDateString,separator)
{var dt=strDateString.split(separator);var year=parseInt(dt[0],10);var month=parseInt(dt[1],10);var day=parseInt(dt[2],10);if(typeof year=='number'&&typeof month=='number'&&typeof day=='number')
{return new Date(year,month-1,day);}}
function compareDates(date1,date2)
{return((date1.getDate()==date2.getDate())&&(date1.getMonth()==date2.getMonth())&&(date1.getYear()==date2.getYear()));}
function parseRun(run_start,run_end)
{if(run_end==undefined){run_end=run_start;}
now=new Date();current_year=now.getFullYear();if((run_start.getDate()==run_end.getDate())&&(run_start.getMonth()==run_end.getMonth())&&(run_start.getYear()==run_end.getYear())){var result=a_days[run_end.getDay()]+' '+run_end.getDate()+' '+a_months[run_end.getMonth()];if(run_end.getFullYear()==current_year){return result;}else{return result+' '+run_end.getFullYear();}}else if((run_start.getMonth()==run_end.getMonth())&&(run_start.getYear()==run_end.getYear())){var result=a_days[run_start.getDay()]+' '+run_start.getDate()+' - '+a_days[run_end.getDay()]+' '+run_end.getDate()+' '+a_months[run_end.getMonth()];if(run_end.getFullYear()==current_year){return result;}else{return result+' '+run_end.getFullYear();}}else if(run_start.getYear()==run_end.getYear()){var result=a_days[run_start.getDay()]+' '+run_start.getDate()+' '+a_months[run_start.getMonth()]+' - '+a_days[run_end.getDay()]+' '+run_end.getDate()+' '+a_months[run_end.getMonth()];if(run_end.getFullYear()==current_year){return result;}else{return result+' '+run_end.getFullYear();}}else{return a_days[run_start.getDay()]+' '+run_start.getDate()+' '+a_months[run_start.getMonth()]+' '+run_start.getFullYear()+' - '+a_days[run_end.getDay()]+' '+run_end.getDate()+' '+a_months[run_end.getMonth()]+' '+run_end.getFullYear();}}
function getPrettyDateString(strDateList)
{var last_date="";var pretty_dates="";var run_start="";var run_end="";if(strDateList==''){return'';}
a_dates=strDateList.split(',');for(i=0;i<a_dates.length;i++){var date=makeDate(a_dates[i],'-');if(last_date!=""){var next_day=new Date(last_date.getFullYear(),last_date.getMonth(),last_date.getDate()+1);}
if((last_date!="")&&(compareDates(next_day,date))){run_end=date;}else{if(run_start!=""){if(run_end==""){run_end=run_start;}
if(pretty_dates!=""){pretty_dates+=', ';}
pretty_dates+=parseRun(run_start,run_end);}
run_start=date;run_end="";}
last_date=date;}
if(run_start!=""){if(run_end==""){run_end=run_start;}
if(pretty_dates!=""){pretty_dates+=', ';}
pretty_dates+=parseRun(run_start,run_end);}
return pretty_dates;}
function addDate(elFB,elSelected,strDBDate)
{newString='';a_db_dates=elSelected.value.split(',');b_inserted=false;for(i=0;i<a_db_dates.length;i++){if(newString.length){newString+=',';}
if((!b_inserted)&&(a_db_dates[i]>strDBDate)){newString+=strDBDate+',';b_inserted=true;}
newString+=a_db_dates[i];}
if(!b_inserted){if(newString.length){newString+=',';}
newString+=strDBDate;}
if(elFB)elFB.innerHTML=getPrettyDateString(newString);elSelected.value=newString;}
function removeDate(elFB,elSelected,strDBDate)
{a_db_dates=elSelected.value.split(',');elSelected.value='';for(i=0;i<a_db_dates.length;i++){if(a_db_dates[i]!=strDBDate){if(elSelected.value.length){elSelected.value+=',';}
elSelected.value+=a_db_dates[i];}}
if(elFB)elFB.innerHTML=getPrettyDateString(elSelected.value);}
function selectDateTD(bMulti,prefix,elTD,elDate,elFeedback)
{if(!elTD||elSelectedTD==elTD)return;var offset=elTD.id.length-10;var selectedYear=elTD.id.substring(offset+0,offset+4);var selectedMonth=elTD.id.substring(offset+5,offset+7);var selectedDay=elTD.id.substring(offset+8,offset+10);var dbDate;if((bMulti)||(elFeedback)){dbDate=selectedYear+'-'+selectedMonth+'-'+selectedDay;}else{dbDate=selectedDay+'/'+selectedMonth+'/'+selectedYear;}
var dt=elTD.id.split('_');var year=parseInt(dt[2],10);var month=parseInt(dt[3],10);var day=parseInt(dt[4],10);if(elTD&&elDate&&typeof year=='number'&&typeof month=='number'&&typeof day=='number')
{if(bMulti){if(hasClassName(elTD,'adbDateSelected')){delClassName(elTD,'adbDateSelected')
removeDate(elFeedback,elDate,dbDate);}else{addClassName(elTD,'adbDateSelected');addDate(elFeedback,elDate,dbDate);}
if(elDate.val)elDate.val();}else{addClassName(elTD,'adbDateSelected');if(o_old_date[prefix]){delClassName(o_old_date[prefix],'adbDateSelected');}
if(elFeedback)elFeedback.value=getPrettyDateString(dbDate);elDate.value=dbDate;o_old_date[prefix]=elTD;}}else{clearSelectDateTD(elDate);}}
function toggleCalendar(id){var elCalendar=document.getElementById(id);if((elCalendar)&&(typeof(elCalendar.hasFocus)!='undefined')&&(elCalendar.hasFocus)){if(elCalendar.style.display=='none'){elCalendar.style.display='inline';}else{elCalendar.style.display='none';}}}
function showCalendar(bVisible,id){var elCalendar=document.getElementById(id);elCalendar.hasFocus=bVisible;if(elCalendar){if(bVisible){elCalendar.style.display='inline';}else{elCalendar.style.display='none';}}}