Foros del Web » Programando para Internet » Javascript »

Calendario emergente, problema firefox

Estas en el tema de Calendario emergente, problema firefox en el foro de Javascript en Foros del Web. Hola amigos, tengo un calendario emergente que anda muy bien en IE, pero en firefox no me funciona. Lo inspeccione con el firebug debbuger y ...
  #1 (permalink)  
Antiguo 01/09/2010, 22:51
 
Fecha de Ingreso: diciembre-2008
Mensajes: 101
Antigüedad: 15 años, 4 meses
Puntos: 0
Calendario emergente, problema firefox

Hola amigos, tengo un calendario emergente que anda muy bien en IE, pero en firefox no me funciona.
Lo inspeccione con el firebug debbuger y dice que "crossobj is not defined".
La instruccion donde se define es la siguiente:

crossobj=(dom)?document.getElementById("calendar") .style : ie? document.all.calendar : document.calendar

tal vez hay q modificar algo en ella.. la verdad nose.
Dejo las primeras lineas del codigo por si alguien encuentra el verdadero problema y me puede ayudar a q el calendario funcione en firefox.

Código PHP:
    var    fixedX = -1            // x position (-1 if to appear below control)
    
var    fixedY = -1            // y position (-1 if to appear below control)
    
var startAt 1            // 0 - sunday ; 1 - monday
    
var showWeekNumber 1    // 0 - don't show; 1 - show
    
var showToday 1        // 0 - don't show; 1 - show
    
var imgDir "images/"            // directory for images ... e.g. var imgDir="/img/"

    
var gotoString "Go To Current Month"
    
var todayString "Hoy es"
    
var weekString "Sem"
    
var scrollLeftMessage "Click to scroll to previous month. Hold mouse button to scroll automatically."
    
var scrollRightMessage "Click to scroll to next month. Hold mouse button to scroll automatically."
    
var selectMonthMessage "Click to select a month."
    
var selectYearMessage "Click to select a year."
    
var selectDateMessage "Select [date] as date." // do not replace [date], it will be replaced by date.

    
var    crossobjcrossMonthObjcrossYearObjmonthSelectedyearSelecteddateSelectedomonthSelectedoyearSelectedodateSelectedmonthConstructedyearConstructedintervalID1intervalID2timeoutID1timeoutID2ctlToPlaceValuectlNowdateFormatnStartingYear

    
var    bPageLoaded=false
    
var    ie=document.all
    
var    dom=document.getElementById

    
var    ns4=document.layers
    
var    today =    new    Date()
    var    
dateNow     today.getDate()
    var    
monthNow today.getMonth()
    var    
yearNow     today.getYear()
    var    
imgsrc = new Array("drop1.gif","drop2.gif","left1.gif","left2.gif","right1.gif","right2.gif")
    var    
img    = new Array()

    var 
bShow false;

    
/* hides <select> and <applet> objects (for IE only) */
    
function hideElementelmIDoverDiv )
    {
      if( 
ie )
      {
        for( 
0document.all.tagselmID ).lengthi++ )
        {
          
obj document.all.tagselmID )[i];
          if( !
obj || !obj.offsetParent )
          {
            continue;
          }
      
          
// Find the element's offsetTop and offsetLeft relative to the BODY tag.
          
objLeft   obj.offsetLeft;
          
objTop    obj.offsetTop;
          
objParent obj.offsetParent;
          
          while( 
objParent.tagName.toUpperCase() != "BODY" )
          {
            
objLeft  += objParent.offsetLeft;
            
objTop   += objParent.offsetTop;
            
objParent objParent.offsetParent;
          }
      
          
objHeight obj.offsetHeight;
          
objWidth obj.offsetWidth;
      
          if(( 
overDiv.offsetLeft overDiv.offsetWidth ) <= objLeft );
          else if(( 
overDiv.offsetTop overDiv.offsetHeight ) <= objTop );
          else if( 
overDiv.offsetTop >= ( objTop objHeight ));
          else if( 
overDiv.offsetLeft >= ( objLeft objWidth ));
          else
          {
            
obj.style.visibility "hidden";
          }
        }
      }
    }
     
    
/*
    * unhides <select> and <applet> objects (for IE only)
    */
    
function showElementelmID )
    {
      if( 
ie )
      {
        for( 
0document.all.tagselmID ).lengthi++ )
        {
          
obj document.all.tagselmID )[i];
          
          if( !
obj || !obj.offsetParent )
          {
            continue;
          }
        
          
obj.style.visibility "";
        }
      }
    }

    function 
HolidayRec (dmydesc)
    {
        
this.d
        this
.m
        this
.y
        this
.desc desc
    
}

    var 
HolidaysCounter 0
    
var Holidays = new Array()

    function 
addHoliday (dmydesc)
    {
        
Holidays[HolidaysCounter++] = new HolidayRec dmydesc )
    }

    if (
dom)
    {
        for    (
i=0;i<imgsrc.length;i++)
        {
            
img[i] = new Image
            img
[i].src imgDir imgsrc[i]
        }
        
document.write ("<div onclick='bShow=true' id='calendar'    style='z-index:+999;position:absolute;visibility:hidden;'><table    width="+((showWeekNumber==1)?250:220)+" style='font-family:arial;font-size:11px;border-width:1;border-style:solid;border-color:#a0a0a0;font-family:arial; font-size:11px}' bgcolor='#ffffff'><tr background='images/calback.jpg'><td background='images/calback.jpg'><table width='"+((showWeekNumber==1)?248:218)+"'><tr><td style='padding:2px;font-family:arial; font-size:11px;'><font color='#FFFFFF'><B><span id='caption'></span></B></font></td><td align=right><a href='javascript:hideCalendar()'><IMG SRC='"+imgDir+"close.gif' BORDER='0' ALT='Close the Calendar'></a></td></tr></table></td></tr><tr><td style='padding:5px' bgcolor=#ffffff><span id='content'></span></td></tr>")
            
        if (
showToday==1)
        {
            
document.write ("<tr bgcolor=#f0f0f0><td style='padding:5px' align=center><span id='lblToday'></span></td></tr>")
        }
            
        
document.write ("</table></div><div id='selectMonth' style='z-index:+999;position:absolute;visibility:hidden;'></div><div id='selectYear' style='z-index:+999;position:absolute;visibility:hidden;'></div>");
    }

//---------------------------------------------TRADUCCION EN ESPA�OL-----------------------------------------------------------------------------
    
var    monthName =    new    Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Augosto","Septiembre","Octubre","Noviembre","Diciembre")
    var    
monthName2 = new Array("ENE","FEB","MAR","ABR","MAY","JUN","JUL","AGO","SEP","OCT","NOV","DIC")
    if (
startAt==0)
    {
        
dayName = new Array    ("Lun","Mar","Mie","Jue","Vie","Sab","Dom")
    }
    else
    {
        
dayName = new Array    ("Lun","Mar","Mie","Jue","Vie","Sab","Dom")
    }
    var    
styleAnchor="text-decoration:none;color:black;"
    
var    styleLightBorder="border-style:solid;border-width:1px;border-color:#a0a0a0;"

    
function swapImage(srcImgdestImg){
        if (
ie)    { document.getElementById(srcImg).setAttribute("src",imgDir destImg) }
    }

    function 
init()    {
        if (!
ns4)
        {
            if (!
ie) { yearNow += 1900    }

            
crossobj=(dom)?document.getElementById("calendar").style iedocument.all.calendar document.calendar
            hideCalendar
()

            
crossMonthObj=(dom)?document.getElementById("selectMonth").style iedocument.all.selectMonth    document.selectMonth

            crossYearObj
=(dom)?document.getElementById("selectYear").style iedocument.all.selectYear document.selectYear

            monthConstructed
=false;
            
yearConstructed=false;

            if (
showToday==1)
            {
                
document.getElementById("lblToday").innerHTML =    todayString " <a onmousemove='window.status=\""+gotoString+"\"' onmouseout='window.status=\"\"' title='"+gotoString+"' style='"+styleAnchor+"' href='javascript:monthSelected=monthNow;yearSelected=yearNow;constructCalendar();'>"+dayName[(today.getDay()-startAt==-1)?6:(today.getDay()-startAt)]+", " dateNow " " monthName[monthNow].substring(0,15)    + "    " +    yearNow    "</a>"
            
}

            
sHTML1="<span id='spanLeft'    style='border-style:solid;border-width:1;border-color:#ffffff;cursor:pointer' onmouseover='swapImage(\"changeLeft\",\"left2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+scrollLeftMessage+"\"' onclick='javascript:decMonth()' onmouseout='clearInterval(intervalID1);swapImage(\"changeLeft\",\"left1.gif\");this.style.borderColor=\"#ffffff\";window.status=\"\"' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartDecMonth()\",500)'    onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeLeft' SRC='"+imgDir+"left1.gif' width=10 height=11 BORDER=0>&nbsp</span>&nbsp;"
            
sHTML1+="<span id='spanRight' style='border-style:solid;border-width:1;border-color:#ffffff;cursor:pointer'    onmouseover='swapImage(\"changeRight\",\"right2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+scrollRightMessage+"\"' onmouseout='clearInterval(intervalID1);swapImage(\"changeRight\",\"right1.gif\");this.style.borderColor=\"#ffffff\";window.status=\"\"' onclick='incMonth()' onmousedown='clearTimeout(timeoutID1);timeoutID1=setTimeout(\"StartIncMonth()\",500)'    onmouseup='clearTimeout(timeoutID1);clearInterval(intervalID1)'>&nbsp<IMG id='changeRight' SRC='"+imgDir+"right1.gif'    width=10 height=11 BORDER=0>&nbsp</span>&nbsp"
            
sHTML1+="<span id='spanMonth' style='border-style:solid;border-width:1;border-color:#ffffff;cursor:pointer'    onmouseover='swapImage(\"changeMonth\",\"drop2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+selectMonthMessage+"\"' onmouseout='swapImage(\"changeMonth\",\"drop1.gif\");this.style.borderColor=\"#ffffff\";window.status=\"\"' onclick='popUpMonth()'></span>&nbsp;"
            
sHTML1+="<span id='spanYear' style='border-style:solid;border-width:1;border-color:#fffffff;cursor:pointer' onmouseover='swapImage(\"changeYear\",\"drop2.gif\");this.style.borderColor=\"#88AAFF\";window.status=\""+selectYearMessage+"\"'    onmouseout='swapImage(\"changeYear\",\"drop1.gif\");this.style.borderColor=\"#ffffff\";window.status=\"\"'    onclick='popUpYear()'></span>&nbsp;"
            
            
document.getElementById("caption").innerHTML  =    sHTML1

            bPageLoaded
=true
        
}
    }

    function 
hideCalendar()    {
        
crossobj.visibility="hidden"
        
if (crossMonthObj != null){crossMonthObj.visibility="hidden"}
        if (
crossYearObj !=    null){crossYearObj.visibility="hidden"}

        
showElement'SELECT' );
        
showElement'APPLET' );
    } 

Etiquetas: calendario, emergente, firefox
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:56.