Problems with written As3 Calendar!

Hi there,

i am currently writing an event calendar in AIR, completely done in As3. Included in this program is a As3 Calendar which is basically a enhanced version of this one here: http://www.kirupa.com/forum/showthread.php?t=281250
i have changed some things but not too much…

Now the calendar with all his functions shows up pretty nice when i Test the Movie directly in Flash, but when i export the whole thing to AIR and install it, the calendar is gone… below is the script which loads the calendar.

Is there anything in AIR to look at or to write different?! Maybe AIR cant handle the date() thing?

The funny thing is that everything works perfect in Flash but ONLY the Calendar is missing in AIR…

Anybody has a solution?!


var monthsOfYear:Array = new Array("Jaenner", "Februar", "Maerz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
var daysOfWeek:Array = new Array("MO", "DI", "MI", "DO", "FR", "SA","SO");
var daysOfMonths:Array = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var currentDate:Date = new Date();
var nextDate:Date = new Date();
var lastDate:Date = new Date();
var aktDate:Date = new Date();
var nowDate:Date = new Date();
var myDate:Date = new Date();
var month_mc:MovieClip = new MovieClip();
var days_mc:MovieClip = new MovieClip();
var daysNo:Number;
var startDay:Number;
var i:Number;
var xmlLoader2:URLLoader;
lastMonth_btn.buttonMode = true;
lastMonth_btn.mouseChildren = false;
nextMonth_btn.buttonMode = true;
nextMonth_btn.mouseChildren = false;
today_btn.buttonMode = true;
today_btn.mouseChildren = false;

xmlLoader2 = new URLLoader();
xmlLoader2.load(new URLRequest("content.xml"));
xmlLoader2.addEventListener(Event.COMPLETE, initCal);

function initCal(event:Event):void {
 //Add current Month to Textfield
 this.txt_month.text = monthsOfYear[currentDate.getMonth()];
 this.txt_year.text = currentDate.getFullYear().toString();
 myDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), 1);
 
 daysNo = (currentDate.getFullYear()%4 == 0 && currentDate.getMonth() == 1 ? 29 : daysOfMonths[currentDate.getMonth()]);
 
 startDay = myDate.getDay();
 
 var row:Number = 0;
 
 days_mc = new MovieClip();
 for (i = 1; i < daysNo+1; i++) {
  //Day MC
  var newDay:day_mc = new day_mc();
  newDay.x = (startDay * 24);
  newDay.y = (row+1) * 22;
  
  days_mc.addChild(newDay);
  
  //Add to Textfields
  var dayLabel:String = i.toString();
  newDay.txt_day.text = dayLabel;
  startDay++;
  if (startDay >= 7) {
   startDay = 0;
   row++;
  }
  //Set a Compare Day (Date)
  var compareDate:Date = new Date(nowDate.getFullYear(), nowDate.getMonth(), i);
  
  //If the same, color it with different mouseEvents!
  if (dateCompare(currentDate, compareDate) == 0) {
    //ReColoring the Day on MouseOut
    var target_cur = newDay.mc_day_bg;
    var color_transR:ColorTransform = target_cur.transform.colorTransform;
    color_transR.color = 0x910D0D;
    target_cur.transform.colorTransform = color_transR;
    
    newDay.addEventListener(MouseEvent.MOUSE_OVER, day_over_cur);
    newDay.addEventListener(MouseEvent.MOUSE_OUT, day_out_cur);
    } else {
    newDay.addEventListener(MouseEvent.MOUSE_OVER, day_over);
    newDay.addEventListener(MouseEvent.MOUSE_OUT, day_out);
    }
    newDay.buttonMode = true;
    newDay.mouseChildren = false;
    
  
  function dateCompare(date1:Date, date2:Date):int {
   // First compare years
   if (date1.getFullYear() > date2.getFullYear()) {return 1;} else if (date1.getFullYear() < date2.getFullYear()) {return -1;
   } else {
    // Years are equal, try comparing months
    if (date1.getMonth() > date2.getMonth()) {return 1;} else if (date1.getMonth() < date2.getMonth()) {return -1;
    } else {
     // Months are equal, try comparing days
     if (date1.getDate() > date2.getDate()) {return 1;} else if (date1.getDate() < date2.getDate()) {return -1;
     } else {
      // The two dates are the same in Year, Month, and Day
      return 0;
     }
    }
   }
  }
  function day_over(event:MouseEvent):void 
  {
   //Coloring the Day on MouseOver
   var target_color = event.target.mc_day_bg;
   var color_trans:ColorTransform = target_color.transform.colorTransform;
   color_trans.color = 0x910D0D;
   target_color.transform.colorTransform = color_trans;
  }
  function day_out(event:MouseEvent):void 
  {
   //ReColoring the Day on MouseOut
   var target_color = event.target.mc_day_bg;
   var color_trans:ColorTransform = target_color.transform.colorTransform;
   color_trans.color = 0x8D9981;
   target_color.transform.colorTransform = color_trans;
  }
  function day_over_cur(event:MouseEvent):void 
  {
   //Coloring the current Day on MouseOver
   var target_color = event.target.mc_day_bg;
   var color_trans:ColorTransform = target_color.transform.colorTransform;
   color_trans.color = 0xE72828;
   target_color.transform.colorTransform = color_trans;
  }
  function day_out_cur(event:MouseEvent):void 
  {
   //ReColoring the current Day on MouseOut
   var target_color = event.target.mc_day_bg;
   var color_trans:ColorTransform = target_color.transform.colorTransform;
   color_trans.color = 0x910D0D;
   target_color.transform.colorTransform = color_trans;
  }
 }
 nextDate.setMonth(currentDate.month + 1);
 lastDate.setMonth(currentDate.month - 1);
 aktDate.setMonth(currentDate.month);
 nextMonth_btn.addEventListener(MouseEvent.CLICK, nextMonth);
 lastMonth_btn.addEventListener(MouseEvent.CLICK, lastMonth);
 today_btn.addEventListener(MouseEvent.CLICK, currentMonth);

 days_mc.x = 5;
 days_mc.y = 26;
 this.addChild(days_mc);
}
//Nächstes Monat
function nextMonth(event:MouseEvent):void {
 this.removeChild(days_mc);
 nextMonth_btn.removeEventListener(MouseEvent.CLICK, nextMonth);
 if (nextDate.month > 11) {
  nextDate.month = 0;
  nextDate.setFullYear(currentDate.fullYear ++);
 }
 lastDate.setFullYear(nextDate.fullYear);
 currentDate.setMonth(nextDate.month);
 currentDate.setFullYear(nextDate.fullYear);
 initCal(event);
}
//Letztes Monat
function lastMonth(event:MouseEvent):void {
 this.removeChild(days_mc);
 lastMonth_btn.removeEventListener(MouseEvent.CLICK, lastMonth);
 if (nextDate.month < 0) {
  lastDate.month = 11;
  lastDate.setFullYear(currentDate.fullYear --);
 }
 nextDate.setFullYear(lastDate.fullYear);
 currentDate.setMonth(lastDate.month);
 currentDate.setFullYear(lastDate.fullYear);
 initCal(event);
}
//Aktuelles Monat
function currentMonth(event:MouseEvent):void {
 this.removeChild(days_mc);
 today_btn.removeEventListener(MouseEvent.CLICK, currentMonth);
 
 currentDate = new Date();
 nextDate.setFullYear(currentDate.fullYear);
 lastDate.setFullYear(currentDate.fullYear);
 
 initCal(event);
}