//==================
// runway
//==================
var runway_timeout = new Array();
var runway_ready = new Array();
var runway_busy = new Array();
var runway_timer_id = new Array();
var runway_num = new Array();
var runway_now = new Array();
var runway_img = new Array();
var runway_obj = new Array();
var runway_ids = new Array();
var runway_partner = '';
var runway_location = 0;

function runway_init() {
  // when partner style, we just parse one indicated location.
  if (runway_partner) {
    i = runway_location;
    runway_num.length = i + 1;
  } else 
    var i = j = 0;
  for (i; i < runway_num.length; i++) {
    for (j = 0; j < runway_num[i]; j++) {
	document.getElementById('runway_item_' + i + '_' + j).innerHTML = runway_obj[i][j].name_br;
    }

    runway_ready[i] = true;
    runway_timeout[i] = false;
    runway_select(i, runway_now[i]);

    document.getElementById('runway_items_' + i).onmouseover = runway_select;
    document.getElementById('runway_items_' + i).onclick = runway_click;

    document.getElementById('runway_panel_' + i).onclick = runway_click_link;
    document.getElementById('runway_panel_' + i).onmouseover = runway_mover_link;
    document.getElementById('runway_panel_' + i).onmouseout = runway_mout_link;
  }

  setTimeout('runway_clear_timer()', 10 * 60 * 1000);
}

function runway_preload_images(arr_img) {
  var ret = new Array();
  var num = arr_img.length;
  for (var i = 0; i < num; i++) {
    ret[i] = _runway_preload_img(arr_img[i]);
  }
  return ret;
}
function _runway_preload_img(url) {
  var img = new Image();
  img.src = url;
  return img;
}

function create_runway_obj(name_br, title1, title2, url, descr, sec, newpage) {
  this.name_br = name_br;
  this.title1 = title1;
  this.title2 = title2;
  this.url = url;
  this.descr = descr;
  this.sec = sec;
  this.newpage = newpage;
  return this;
}

function _runway_parse_args(args) {
  if (args.length == 2) {  // function call
    return args;
  } else if (args.length < 2) {
    var obj = (args.length == 0 ? event.srcElement : args[0].target);
    var mat = obj.id.match(/^runway_item_(\d+)_(\d+)$/);
    if (mat == null || mat.length != 3) return null;
    return (new Array(mat[1], mat[2]));
  } 
  return null;
}

function _runway_parse_args2(args) {
  var obj = (args.length == 0 ? event.srcElement : args[0].target);
  var mat = obj.id.match(/^runway_(img|title1|descr)_(\d+)$/);
  if (mat == null || mat.length != 3) return null;
  return (new Array(mat[1], mat[2], obj));
}

function runway_click() {
  var arr = _runway_parse_args(arguments);
  if (arr == null) return;
  var idx = arr[0];
  var what = arr[1];
  _runway_link(idx, what);
}

function runway_select() {
  var arr = _runway_parse_args(arguments);
  if (arr == null) return;
  var idx = arr[0];
  var what = arr[1];

  if (what < 0 || what >= runway_num[idx] || !runway_ready[idx] || runway_busy[idx]) return;
  runway_busy = true;

  if (what != runway_now[idx]) {
    document.getElementById('runway_td_' + idx + '_' + runway_now[idx]).className = 'runway_td';
    document.getElementById('runway_item_' + idx + '_' + runway_now[idx]).className = 'runway_item';
    runway_now[idx] = what;
  }
  document.getElementById('runway_td_' + idx + '_' + runway_now[idx]).className = 'runway_td_mover';
  document.getElementById('runway_item_' + idx + '_' + runway_now[idx]).className = 'runway_item_mover';
  document.getElementById('runway_title1_' + idx).innerHTML = runway_obj[idx][runway_now[idx]].title1;
  document.getElementById('runway_title2_' + idx).innerHTML = runway_obj[idx][runway_now[idx]].title2;
  document.getElementById('runway_descr_' + idx).innerHTML = runway_obj[idx][runway_now[idx]].descr;
  document.getElementById('runway_img_' + idx).src = runway_img[idx][runway_now[idx]].src;

  if (runway_timer_id[idx] != null) {
    clearTimeout(runway_timer_id[idx]);
    runway_timer_id[idx] = null;
  }
  if (runway_timeout[idx] == false) {
    runway_timer_id[idx] = setTimeout('runway_select(' + idx + ',' + (runway_now[idx] + 1) % runway_num[idx] + ')', runway_obj[idx][runway_now[idx]].sec * 1000);
  }
  runway_busy[idx] = false;
}

function runway_mover_link() {
  var arr = _runway_parse_args2(arguments);
  if (arr == null || arr[0] == 'img') return;
  var obj = arr[2];
  if (obj.className.indexOf('_mover') == -1) {
    obj.className = obj.className + '_mover';
  }
}

function runway_mout_link() {
  var arr = _runway_parse_args2(arguments);
  if (arr == null || arr[0] == 'img') return;
  var obj = arr[2];
  if (obj.className.indexOf('_mover') != -1) {
    obj.className = obj.className.substr(0, obj.className.length -6);
  }
}

function runway_click_link() {
  var arr = _runway_parse_args2(arguments);
  if (arr == null) return;
  var idx = arr[1];
  var what = runway_now[idx];
  _runway_link(idx, what);
}

function _runway_link(idx, what) {
  runway_clear_timer(idx);
  runway_click_cnt(runway_ids[idx][what]);

  if (ap == 'WEB' && runway_obj[idx][what].newpage) {
    window.open(runway_obj[idx][what].url);
  } else {
    document.location.href = runway_obj[idx][what].url;
  }
}

function runway_click_cnt(runway_id) {
  if (document.getElementById('func_frame')) {
    document.getElementById('func_frame').src="/banner_click_cnt.php?type=runway&ch_id="+runway_ch_id+"&id=" + runway_id;
  }
  return true;
}

function runway_clear_timer() {
  var i;
  if (arguments.length > 0) {
    for (i = 0; i < arguments.length; i++) {
      runway_timeout[arguments[i]] = true;
    }
  } else {
    for (i = 0; i < runway_timeout.length; i++) {
      runway_timeout[i] = true;
    }
  }
}
