
function toMyTitle()
{if(document.title!=MyTitle)
{document.title=MyTitle;}}
if(document.all)
{setInterval('toMyTitle()',200);}
var MonthNumDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);var GRAF_LINEAS=16;var GRAF_AREAS=8;var GRAF_BARRAS=4;var GRAF_BARRASH=2;var GRAF_TARTA=1;var TIME_CACHE_DATA=300;var BGx=700;var BGy=250;var MGx=330;var MGy=225;var GraphColors=new Array('#AFD8F8','#F6BD0F','#8BBA00','#FF8E46','#008E8E','#D64646','#8E468E','#588526','#B3AA00','#008ED6','#9D080D');var LineGraphColors=new Array('#FFC62F','#7DB3DF','#EF5959','#59EF89','#508F82');var cFunctions=false;var http_request=false;function $(obj){if(document.getElementById)
{return document.getElementById(obj);}
else
{return eval('document.all.'+obj);}}
function stats_buttons(graphId)
{this.enabled='';this.Id=graphId;}
stats_buttons.prototype.stats_loadbutton=function(button,graphType,startEnabled)
{var foo=this;button.onclick=function()
{if(typeof(foo.enabled)=='object')
{foo.enabled.className='disabled';}
foo.enabled=this;foo.enabled.className='';cFunctions.ShowGraph(foo.Id,graphType);}
button.onmouseover=function()
{if(foo.enabled!=this)
this.className='over';}
button.onmouseout=function()
{if(foo.enabled!=this)
this.className='disabled';}
if(startEnabled===true)
{if(typeof(this.enabled)=='object')
{this.enabled.className='disabled';}
this.enabled=button;this.enabled.className='';}}
function stats_menuFunctions(hash)
{this.validHash=new Array('summary','traffic','countries','most_visited','referrers','search_engines','google','search_chains','browsers','browser_language','flash','browser_technology','os','screen_resolution','screen_colors','screen_technology');if(!this.validHash.inArray(hash))
{hash=this.validHash[0];}
document.location.hash='#'+hash;this.checked=$('menu_'+hash);this.stats_menu_check(this.checked,hash);}
stats_menuFunctions.prototype.stats_menu_check=function(obj,hash)
{if(!this.validHash.inArray(hash))
{hash=this.validHash[0];}
document.location.hash='#'+hash;var selectedClassOut=new RegExp('(.+) selected$');this.checked.className=this.checked.className.replace(selectedClassOut,'$1');this.checked=obj;this.checked.className=this.checked.className+' selected';if(cFunctions){cFunctions.Exit();cFunctions=false;}
menuLoadCanvas.put_loadCanvas();execScript(JSpath+'/'+hash+'.php');}
function stats_loadCanvas(parentId,imgUrl,imgX,imgY)
{this.toCover=$(parentId);this.loadImage=new Image(imgX,imgY);this.loadImage.src=imgUrl;}
stats_loadCanvas.prototype.put_loadCanvas=function()
{if(typeof(this.enabled)!="object"||this.enabled.parentNode!=this.toCover)
{this.loadImage.className='loadCanvasImg';this.loadImage.style.left=(parseInt(this.toCover.offsetWidth)/2)-(parseInt(this.loadImage.width)/2)+'px';this.loadImage.style.top='150px';this.enabled=document.createElement('DIV');this.enabled.className='loadCanvas';this.enabled.style.width=parseInt(this.toCover.offsetWidth)+'px';this.enabled.style.height=parseInt(this.toCover.offsetHeight)+'px';this.toCover.appendChild(this.enabled);this.toCover.appendChild(this.loadImage);}}
stats_loadCanvas.prototype.remove_loadCanvas=function()
{if(typeof(this.enabled)=="object"&&this.enabled.parentNode==this.toCover)
{this.toCover.removeChild(this.enabled);this.toCover.removeChild(this.loadImage);}}
function stats_infoBox(Title,Content,ExtraClass)
{var dummy=document.createElement('DIV');foo='';if(Title!='')
{foo+='<span class="title">'+Title+'</span>\n';}
foo+='<div class="marco'+((ExtraClass)?' '+ExtraClass:'')+'">'+Content+'</div>\n';dummy.innerHTML=foo;dummy.className='infoBox';return dummy;}
function stats_helpBox(Title,Content)
{var dummy=stats_infoBox(Title,Content," help");return dummy;}
function stats_errorBox(title,errno)
{var content='';content+='<div class="errormsg">'
content+='<table cellpadding="0" cellspacing="0">';content+='<tr>';content+='<td>';content+='<img src="'+_STATS_IMGS_PATH+'/warning.gif" width="128" height="128" class="error" />';content+='</td>';content+='<td>';switch(errno)
{case'conexion':content+=DataError[0];break;case'periodo':content+=DataError[1];break;}
content+='</td>';content+='</tr>';content+='</table>';content+='</div>';return stats_infoBox(title,content);}
function stats_graphField(graph,legend,buttons,check)
{cb='cb'+(++graphnum);foo='<div class="graphParent">\n';eval(cb+'=new stats_buttons(\''+graph+'\');');if(legend!='')
{foo+='<span class="legend">'+legend+'</span>\n';}
foo+='<span class="buttons">';Exp=(graphButtons.length)-1;for(k=0;k<graphButtons.length;k++)
{parseVal=Math.pow(2,(Exp-k));if(buttons&parseVal)
{foo+='<span><img src="'+_STATS_IMGS_PATH+'/'+graphButtons[k][1]+'" title="'+graphButtons[k][2]+'" alt="'+graphButtons[k][2]+'" class="disabled" onload="'+cb+'.stats_loadbutton(this,'+graphButtons[k][0]+','+((check&parseVal)?"true":"false")+')" /></span>';}}
foo+='</span>\n';foo+='<div class="graphField">\n';foo+='<div class="graphSpace" id="'+graph+'"><br /><br /><br /><br /><br /><br /></div>';foo+='<div class="legendSpace" id="'+graph+'_legend">';foo+='</div>';foo+='</div>';foo+='</div>';return foo;}
function graphLegendsButtons(text,func,color,state)
{var foo;foo='';foo+='<span title=\"Visualización On/Off\" class="'+((state)?'graph_legend':'legend_disabled')+'" onclick=\"this.className=(('+func+')?\'graph_legend\':\'legend_disabled\')\">';if(color!='')
{foo+='<span><img src="'+_STATS_IMGS_PATH+'/dot_legend.gif" style="background-color:'+color+'"/></span>';}
foo+='<span>'+text+'</span>';foo+='</span>';return foo;}
function graphLegendsTablesIni(name,pos)
{if(pos=='left'){name.contentDivStyle='divLeft';}
else{name.contentDivStyle='divRight';}
name.contentTableStyle='legendSpacetable';name.contentRowStyles=new Array('legendSpaceRow');name.useRollover=false;}
function stats_twocolumns(firstColumn,secondColumn,fCWidth)
{foo='';foo+='<div class="left" style="width:'+(fCWidth-0.1)+'%;position:relative;">'+firstColumn+'</div>';foo+='<div class="right" style="width:'+(100-fCWidth-0.1)+'%;position:relative;">'+secondColumn+'</div>';foo+=stats_break(2);return foo;}
function stats_break(n)
{foo='';for(i=0;i<n;i++)
{foo+="<br class=\"break\" />";}
return foo;}
function stats_separation(n)
{foo='';for(i=0;i<n;i++)
{foo+="<br class=\"salto\" />";}
return foo;}
function stats_table()
{this.table='';this.rowcont=-1;this.contentRowStyles=new Array('CRow1','CRow2');this.contentRowOverStyle='crowOverDef';this.contentDivStyle='statsTableDiv';this.contentTableStyle='statsTable';this.backRowStyle='backRow';this.contentCellStyles=new Array();this.contentCellTypesData=new Array();this.useRollover=true;this.TableId='';}
stats_table.prototype.getTable=function()
{var dummy='<div class="'+this.contentDivStyle+'"';if(this.TableId!='')
{dummy+=' id="'+this.TableId+'" ';}
dummy+='><table cellpadding="0" cellspacing="0" class="'+this.contentTableStyle+'">'+this.table+'</table></div>';this.table=dummy;return this.table}
stats_table.prototype.headerRow=function(headers)
{this.table+='<tr class="headerRow">';for(k=0;k<headers.length;k++)
{this.table+='<td';this.table+=this.contentCellStyle(k);this.table+='>';this.table+=this.contentCellTypeData(headers[k],k);this.table+='</td>';}
this.table+='</tr>';}
stats_table.prototype.footerRow=function(footer)
{this.table+='<tr class="footerRow">';for(k=0;k<footer.length;k++)
{this.table+='<td';this.table+=this.contentCellStyle(k);this.table+='>';this.table+=this.contentCellTypeData(footer[k],k);this.table+='</td>';}
this.table+='</tr>';}
stats_table.prototype.backRow=function(content)
{this.table+='<tr class="'+this.backRowStyle+'">';for(k=0;k<content.length;k++)
{this.table+='<td';this.table+=this.contentCellStyle(k);this.table+='>';this.table+=this.contentCellTypeData(content[k],k);this.table+='</td>';}
this.table+='</tr>';}
stats_table.prototype.contentRows=function(content)
{var repClassName=new RegExp(' '+this.contentRowOverStyle+'$');this.table+='<tr class="'+this.contentRowStyle()+'"';if(this.useRollover===true)
{this.table+='onmouseover="this.className=this.className+\' '+this.contentRowOverStyle+'\'" onmouseout="this.className=this.className.replace('+repClassName+',\'\');"'}
this.table+='>';for(k=0;k<content.length;k++)
{this.table+='<td';this.table+=this.contentCellStyle(k);this.table+='>';this.table+=this.contentCellTypeData(content[k],k);this.table+='</td>';}
this.table+='</tr>';}
stats_table.prototype.specialRows=function(content)
{this.table+=content;}
stats_table.prototype.contentRowStyle=function()
{this.rowcont++;if(this.rowcont>=this.contentRowStyles.length)
{this.rowcont=0;}
return this.contentRowStyles[this.rowcont];}
stats_table.prototype.contentCellStyle=function(k)
{if(this.contentCellStyles[k]&&this.contentCellStyles[k]!='')
{return' '+this.contentCellStyles[k];}
else
{return'';}}
stats_table.prototype.contentCellTypeData=function(val,pos)
{if(!this.contentCellTypesData[pos]||this.contentCellTypesData[pos]==''||this.contentCellTypesData[pos]=='string')
{return val;}
else if(this.contentCellTypesData[pos]=='int')
{return number_format(val,0,',','.');}
else if(this.contentCellTypesData[pos]=='float')
{return number_format(val,2,',','.');}
return false;}
function stats_calendar(year,month,day,interval,calendar)
{if(year===false){year=viewDate.year;}
if(month===false){month=viewDate.month;}
if(day===false){day=viewDate.day;}
var firstDay=new Date(year,month-1,1);var WeekDay=firstDay.getDay();var CalendarCode="";var nextyear=parseInt(year)+1;var prevyear=parseInt(year)-1;if(month==12)
{var prevmonth=11;var nextmonth=1;}
else if(month==1)
{var prevmonth=12;var nextmonth=2;}
else
{var prevmonth=parseInt(month)-1;var nextmonth=parseInt(month)+1;}
if(year%4==0&&(year%100!=0||year%400==0))
{MonthNumDays[1]=29;}
if(interval=='d')
{dIni=dEnd=mkTS(year,month,day);}
else if(interval=='w')
{if(day<0)
{if((mMonth=prevmonth)==12)
{mYear=prevyear;}
else
{mYear=year;}
mDay=MonthNumDays[mMonth-1]+day+1;dIni=mkTS(mYear,mMonth,mDay);dEnd=mkTS(year,month,7+day);}
else
{if((foo=day+6)>MonthNumDays[month-1])
{mDay=(foo-MonthNumDays[month-1])-7;if((mMonth=nextmonth)==1)
{mYear=nextyear;}
else
{mYear=year;}
stats_calendar(mYear,mMonth,mDay,'w',calendar);return false;}
else
{dIni=mkTS(year,month,day);dEnd=mkTS(year,month,day+6);}}}
else if(interval=='m')
{dIni=mkTS(year,month,1);dEnd=mkTS(year,month,MonthNumDays[month-1]);}
else if(interval=='y')
{dIni=mkTS(year,1,1);dEnd=mkTS(year,12,31);}
trimYear=new RegExp('^([[0-9]{4})[0-9]{4}$');trimMonth0=new RegExp('^[0-9]{4}0?([0-9]+)[0-9]{2}$');trimDay0=new RegExp('^[0-9]{6}0?([0-9]+)$');if(interval!="y")
{viewDate={'year':parseInt(dIni.replace(trimYear,'$1')),'month':parseInt(dIni.replace(trimMonth0,'$1')),'day':parseInt(dIni.replace(trimDay0,'$1')),'interval':interval}}
else
{viewDate={'year':parseInt(dIni.replace(trimYear,'$1')),'month':parseInt(month),'day':1,'interval':interval}}
if(interval=='d'||interval=='m')
{mIni=mEnd=month;}
if(interval=='w')
{if((foo=dIni.substring(4,6))!=(dummy=dEnd.substring(4,6)))
{if(dIni.substring(0,4)!=dEnd.substring(0,4))
{mEnd=mIni=dummy;}
else
{mIni=foo;mEnd=dummy;}}
else
{mEnd=mIni=dummy;}}
else if(interval=='y')
{mIni=1;mEnd=12;}
var LittMonth=new Array();for(k=0;k<calendarMonths.length;k++)
{LittMonth[k]=calendarMonths[k].substring(0,3);}
var LittDay=new Array();for(k=0;k<calendarDays.length;k++)
{LittDay[k]=calendarDays[k].substring(0,1);if(k==2&&(LittDay[k]=="M"||LittDay[k]=="m")){LittDay[k]='X';}}
CalendarCode+='<div style="position:relative;">';CalendarCode+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"yearTable\">";CalendarCode+="<tr>";if(interval=='d'||interval=='m'||interval=='y')
{mYear=prevyear;mMonth=month;mDay=day;}
else if(interval=='w')
{var theDay=new Date(dEnd.substring(0,4)-1,dEnd.substring(4,6)-1,dEnd.substring(6,8));var theWeekDay=theDay.getDay();if(FormatoTime=='24'){if(theWeekDay==0){theWeekDay=6;}else{theWeekDay--;}}
var theDay=new Date(dEnd.substring(0,4)-1,dEnd.substring(4,6)-1,dEnd.substring(6,8)-theWeekDay);mYear=theDay.getFullYear();mMonth=theDay.getMonth()+1;mDay=theDay.getDate();}
CalendarCode+="<td class=\"sDate2\" onclick=\"stats_calendar("+mYear+","+mMonth+","+mDay+",'"+interval+"',"+calendar+");cFunctions.ShowData();\"><b>&nbsp;&nbsp;&lt;&nbsp;&nbsp;</b></td>";if(calendar==4||calendar==5||calendar==6)
{CalendarCode+="<td class=\"xsDate"+((interval=="y")?" selectDate":"")+"\"><div id=\"yearCont\"><b onclick=\"stats_calendar("+year+","+month+",0,'y',"+calendar+");cFunctions.ShowData();\" style=\"cursor:pointer;\">"+year+"</b></div></td>";}
else
{CalendarCode+="<td class=\"sDate"+((interval=="y")?" selectDate":"")+"\"><b style=\"display:block;text-align:center;\" onclick=\"stats_calendar("+year+","+month+",0,'y',"+calendar+");cFunctions.ShowData();\" style=\"cursor:pointer;\">"+year+"</b></td>";}
if(interval=='d'||interval=='m'||interval=='y')
{mYear=nextyear;mMonth=month;mDay=day;}
else if(interval=='w')
{var theDay=new Date(parseInt(dIni.substring(0,4))+1,dIni.substring(4,6)-1,dIni.substring(6,8));var theWeekDay=theDay.getDay();if(FormatoTime=='24'){if(theWeekDay==0){theWeekDay=6;}else{theWeekDay--;}}
var theDay=new Date(parseInt(dIni.substring(0,4))+1,dIni.substring(4,6)-1,dIni.substring(6,8)-theWeekDay);mYear=theDay.getFullYear();mMonth=theDay.getMonth()+1;mDay=theDay.getDate();}
CalendarCode+="<td class=\"sDate2\" onclick=\"stats_calendar("+mYear+","+mMonth+","+mDay+",'"+interval+"',"+calendar+");cFunctions.ShowData();\"><b>&nbsp;&nbsp;&gt;&nbsp;&nbsp;</b></td>";CalendarCode+="</tr>";CalendarCode+="</table>";CalendarCode+="<div id=\"monthCont\">";CalendarCode+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"monthTable\">";for(i=0;i<calendarMonths.length;i++)
{pM=parseInt(i)+1;if(i==0||i==6){CalendarCode+="<tr>";}
CalendarCode+="<td class=\"sDate"+((pM>=mIni&&pM<=mEnd)?" selectDate":"")+"\" onclick=\"stats_calendar("+year+","+(parseInt(i)+1)+",0,'m',"+calendar+");cFunctions.ShowData();\">";if((parseInt(i)+1)==month){CalendarCode+="<b>";}
CalendarCode+=LittMonth[i];if((parseInt(i)+1)==month){CalendarCode+="</b>";}
CalendarCode+="</td>";if(i==5||i==11){CalendarCode+="</tr>";}}
CalendarCode+="</table>";CalendarCode+="</div>";CalendarCode+="<div id=\"calendarCont\">";CalendarCode+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"calendarTable\">";CalendarCode+="<tr>";CalendarCode+="<th>&nbsp;</th>";for(i=0;i<=6;i++)
{CalendarCode+="<th title=\""+calendarDays[i]+"\">"+LittDay[i]+"</th>";}
CalendarCode+="</tr>";if(FormatoTime=='24'){if(WeekDay==0)WeekDay=6;else WeekDay--;}
var iniWeek=0;if(interval=='w')
{iniWeek=parseInt(dIni.replace(trimDay0,'$1'));if(parseInt(dIni.replace(trimMonth0,'$1'))<parseInt(dEnd.replace(trimMonth0,'$1')))
{iniWeek=1}}
for(i=1;i<=MonthNumDays[parseInt(month)-1];i++)
{if(WeekDay==0||i==1)
{CalendarCode+="<tr>";if(WeekDay==0)
{mDay=i;}
else
{mDay=WeekDay*(-1);}
CalendarCode+="<td class=\"sDate2"+((i==iniWeek)?' sWeek':'')+"\" onclick=\"stats_calendar("+year+","+month+","+mDay+",'w',"+calendar+");cFunctions.ShowData();\">&gt;</td>";k=0;mYear=year;if(prevmonth==12)
{mYear=prevyear;}
while(k<WeekDay)
{mDay=MonthNumDays[parseInt(prevmonth)-1]-(WeekDay-k)+1;CalendarCode+="<td class=\"sDate outCurMonth"+((mkTS(mYear,prevmonth,mDay)>=dIni&&mkTS(mYear,prevmonth,mDay)<=dEnd)?" selectDate":"")+"\" onclick=\"stats_calendar("+mYear+","+prevmonth+","+mDay+",'d',"+calendar+");cFunctions.ShowData();\">"+mDay+"</td>";k++;}}
CalendarCode+="<td class=\"sDate"+((mkTS(year,month,i)>=dIni&&mkTS(year,month,i)<=dEnd)?" selectDate":"")+"\" onclick=\"stats_calendar("+year+","+month+","+i+",'d',"+calendar+");cFunctions.ShowData();\">"+i+"</td>";WeekDay++;if(WeekDay==7||i==MonthNumDays[parseInt(month)-1])
{k=1;mYear=year;if(nextmonth==1)
{mYear=nextyear;}
while(WeekDay<7)
{CalendarCode+="<td class=\"sDate outCurMonth"+((mkTS(mYear,nextmonth,k)>=dIni&&mkTS(mYear,nextmonth,k)<=dEnd)?" selectDate":"")+"\" onclick=\"stats_calendar("+mYear+","+nextmonth+","+k+",'d',"+calendar+");cFunctions.ShowData();\">"+k+"</td>";WeekDay++;k++;}
CalendarCode+="</tr>";WeekDay=0;}}
CalendarCode+="</table>";CalendarCode+="</div>";CalendarCode+="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"shortcutTable\">";CalendarCode+="<tr>";if(interval=='d')
{prevDate=new Date(parseInt(dIni.substring(0,4)),parseInt(dIni.replace(trimMonth0,'$1'))-1,parseInt(dIni.replace(trimDay0,'$1'))-1);nextDate=new Date(parseInt(dEnd.substring(0,4)),parseInt(dEnd.replace(trimMonth0,'$1'))-1,parseInt(dEnd.replace(trimDay0,'$1'))+1);labelText=IndexLang['dia'];}
else if(interval=='w')
{prevDate=new Date(parseInt(dIni.substring(0,4)),parseInt(dIni.replace(trimMonth0,'$1'))-1,parseInt(dIni.replace(trimDay0,'$1'))-7);nextDate=new Date(parseInt(dEnd.substring(0,4)),parseInt(dEnd.replace(trimMonth0,'$1'))-1,parseInt(dEnd.replace(trimDay0,'$1'))+1);labelText=IndexLang['semana'];}
else if(interval=='m')
{prevDate=new Date(parseInt(dIni.substring(0,4)),parseInt(dIni.replace(trimMonth0,'$1'))-2,1);nextDate=new Date(parseInt(dEnd.substring(0,4)),parseInt(dEnd.replace(trimMonth0,'$1')),1);labelText=IndexLang['mes'];}
else if(interval=='y')
{prevDate=new Date(parseInt(dIni.substring(0,4))-1,month-1,1);nextDate=new Date(parseInt(dEnd.substring(0,4))+1,month-1,1);labelText=IndexLang['ano'];}
CalendarCode+="<td onclick=\"stats_calendar("+prevDate.getFullYear()+","+(prevDate.getMonth()+1)+","+prevDate.getDate()+",'"+interval+"',"+calendar+");cFunctions.ShowData();\">&lt; "+IndexLang['anterior2']+"</td>";CalendarCode+="<td class=\"labelTd\"><b>"+labelText+"</b></td>";CalendarCode+="<td onclick=\"stats_calendar("+nextDate.getFullYear()+","+(nextDate.getMonth()+1)+","+nextDate.getDate()+",'"+interval+"',"+calendar+");cFunctions.ShowData();\">"+IndexLang['siguiente']+" &gt;</td>";CalendarCode+="</tr>";CalendarCode+="</table>";CalendarCode+="</div>";$('statsCalendar').innerHTML=CalendarCode;var sdateExp=new RegExp('(^|[^a-z0-9])sDate([^a-z0-9]|$)');for(k=0;k<$('statsCalendar').getElementsByTagName('TD').length;k++)
{if($('statsCalendar').getElementsByTagName('TD')[k].className.search(sdateExp)!=-1)
{$('statsCalendar').getElementsByTagName('TD')[k].onmouseover=function()
{this.className=this.className+' sDateOver'}
$('statsCalendar').getElementsByTagName('TD')[k].onmouseout=function()
{var sDateOver=new RegExp(' sDateOver');this.className=this.className.replace(sDateOver,'');}}}
var calendarCanvas;if(calendar==1||calendar==3||calendar==4)
{calendarCanvas=document.createElement('DIV');calendarCanvas.id="calendarDisabledCanvas";calendarCanvas.style.height=($('calendarCont').offsetHeight+2)+'px';$('calendarCont').appendChild(calendarCanvas);}
if(calendar==2||calendar==6)
{calendarCanvas=document.createElement('DIV');calendarCanvas.id="calendarDisabledCanvas";calendarCanvas.className="onlydays";calendarCanvas.style.height=($('calendarCont').offsetHeight+2-22)+'px';calendarCanvas.style.top='20px';$('calendarCont').appendChild(calendarCanvas);}
if(calendar==3)
{calendarCanvas=document.createElement('DIV');calendarCanvas.id="calendarDisabledCanvas";calendarCanvas.style.height=($('monthCont').offsetHeight+2)+'px';$('monthCont').appendChild(calendarCanvas);}
if(calendar==4||calendar==5||calendar==6)
{calendarCanvas=document.createElement('DIV');calendarCanvas.id="calendarDisabledCanvas";calendarCanvas.style.height=($('yearCont').offsetHeight+2)+'px';calendarCanvas.style.width=($('yearCont').offsetWidth+2)+'px';$('yearCont').insertBefore(calendarCanvas,$('yearCont').firstChild);}
return false;}
function mkTS(y,m,d)
{if(m<10){m='0'+m;}
if(d<10){d='0'+d;}
return y+''+m+''+d;}
function execScript(src)
{if(http_request)
{http_request.onreadystatechange=function(){};http_request.abort();http_request=false;}
http_request=(window.ActiveXObject)?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(http_request){http_request.onreadystatechange=function()
{if(http_request.readyState==4)
{if(http_request.status==200)
{cFunctions=eval("("+http_request.responseText+")");cFunctions.Init();}else
{alert("Ha habido un problema con la URL.");}
http_request=null;}}
http_request.open("GET",src,true);http_request.send(null);}else{alert("Tu navegador no admite AJAX.\nTe recomendamos que actualices o instales el navegador firefox.");}}
Array.prototype.inArray=function(value){var i;for(i=0;i<this.length;i++){if(this[i]===value){return true;}}
return false;}
function number_format(a,b,c,d){if(isNaN(a)){a=0;}
if(a=='Infinity'){return'&infin;';}
a=Math.round(a*Math.pow(10,b))/Math.pow(10,b);e=a+'';f=e.split('.');if(!f[0]){f[0]='0';}
if(!f[1]){f[1]='';}
if(f[1].length<b){g=f[1];for(i=f[1].length+1;i<=b;i++){g+='0';}
f[1]=g;}
if(d!=''&&f[0].length>3){h=f[0];f[0]='';for(j=3;j<h.length;j+=3){i=h.slice(h.length-j,h.length-j+3);f[0]=d+i+f[0]+'';}
j=h.substr(0,(h.length%3==0)?3:(h.length%3));f[0]=j+f[0];}
c=(b<=0)?'':c;return f[0]+c+f[1];}
function linkOnClick(anchor,click)
{return'<a href="" onclick="'+click+';return false;">'+anchor+'</a>';}
function paginador(pag,total,intervalo,ToB)
{var cod='';var eleXpag=new Array('10','15','20','30','40','50');cod+='<div class="paginacion">';cod+='<table cellpadding="0" cellspacing="2" border="0" style="float:left;">';cod+='<tr>';cod+='<td class="ver"><b>'+IndexLang['ver']+':</b></td>';var i=0;for(i=0;i<eleXpag.length;i++)
{cod+='<td'+((intervalo==eleXpag[i])?' class="sel"':' onclick="cFunctions.ElementosXPagina('+eleXpag[i]+')" onmouseover="this.className=\'over\'" onmouseout="this.className=\'\'"')+' title="'+eleXpag[i]+' '+elementosXpagina+'">'+eleXpag[i]+'</td>';}
cod+='</tr>';cod+='</table>';if(total>1)
{var mod=3;var ini=1;var fin=total;if(((mod*2)+1)<total)
{if((pag-mod)<0)
{ini=1;fin=pag+mod-(pag-mod)+1;}
else
{if((pag-mod)==0)
{ini=1;fin=pag+mod+1;}
else
{ini=pag-mod;fin=pag+mod;}}
if(fin>total)
{ini=ini+(total-fin);fin=total;}}
cod+='<table cellpadding="0" cellspacing="2" border="0" style="float:right;">';cod+='<tr>';cod+='<td'+((pag!=1)?' onclick="cFunctions.VerPagina(1)" onmouseover="this.className=\'over\'" onmouseout="this.className=\'\'"':' class="disabled"')+' title="'+primerapagina+'"><b>&lt;&lt;</b></td>';cod+='<td'+((pag!=1)?' onclick="cFunctions.VerPagina('+(pag-1)+')" onmouseover="this.className=\'over\'" onmouseout="this.className=\'\'"':' class="disabled"')+' title="'+paginaanterior+'"><b>&lt;</b></td>';for(i=ini;i<=fin;i++)
{cod+='<td'+((i==pag)?' class="sel"':' onclick="cFunctions.VerPagina('+i+')" onmouseover="this.className=\'over\'" onmouseout="this.className=\'\'"')+' title="'+pagina+' '+i+'">'+i+'</td>';}
cod+='<td'+((pag!=total)?' onclick="cFunctions.VerPagina('+(pag+1)+')" onmouseover="this.className=\'over\'" onmouseout="this.className=\'\'"':' class="disabled"')+' title="'+paginasiguiente+'"><b>&gt;</b></td>';cod+='<td'+((pag!=total)?' onclick="cFunctions.VerPagina('+(total)+')" onmouseover="this.className=\'over\'" onmouseout="this.className=\'\'"':' class="disabled"')+' title="'+ultimapagina+'"><b>&gt;&gt;</b></td>';cod+='</tr>';cod+='</table>';}
cod+=stats_break(2);cod+='</div>';if(ToB=="bottom"||ToB=="top")
{cod+=stats_separation(1);}
return cod}
function noDataToDisplay(msg,extraClass)
{var codHTML='';codHTML+='<table cellpadding="0" cellspacing="0" border="0" class="errorTable'+((extraClass)?' '+extraClass:'')+'">';codHTML+='<tr><td>';codHTML+=msg;codHTML+='</td></tr>';codHTML+='</table>';return codHTML;}
function htmlspecialchars(ch){ch=ch+'';ch=ch.replace(/&/g,"&amp;");ch=ch.replace(/\"/g,"&quot;");ch=ch.replace(/\'/g,"&#039;");ch=ch.replace(/</g,"&lt;");ch=ch.replace(/>/g,"&gt;");return ch;}
function xmlspecialchars(ch){ch=ch+'';ch=ch.replace(/&/g,"%26");ch=ch.replace(/\"/g,"&quot;");ch=ch.replace(/\'/g,"%26apos;");ch=ch.replace(/</g,"&lt;");ch=ch.replace(/>/g,"&gt;");return ch;}
function superescape(ch)
{ch=ch+'';ch=ch.replace(/%/g,"%25");return ch;}
function urlencode(ch)
{ch=ch+'';ch=ch.replace(/ /g,'+');ch=escape(ch);return ch;}
function DateFormat(x,y,z){var Return='';if(FormatoTime=='24'){if(x){Return+=x;}
if(y){Return+=((Return!='')?'/':'')+y;}
if(z){Return+=((Return!='')?'/':'')+z;}}else{if(y){Return+=y;}
if(x){Return+=((Return!='')?'/':'')+x;}
if(z){Return+=((Return!='')?'/':'')+z;}}
return Return;}
function TimeFormat(x){if(FormatoTime=='24'){if(x<10){x='0'+x;}
if(x==24){x='00';}
return x+':00';}else{if(x==0){return'12am';}else if(x==12){return'12pm';}else if(x<12){return((x<10)?'0':'')+x+'am';}else{x-=12;return((x<10)?'0':'')+x+'pm';}}}