var _page_title_original = document.title;
var _page_title_blink = document.title;
var _ptb_interval_id = null;
var _is_flash_active = false;
var _chat_messages_cnt = 0;

function pageTitleRestore() {
  clearInterval(_ptb_interval_id);
  _ptb_interval_id = null;  
  document.title = _page_title_original;
  _page_title_blink = _page_title_original;  
}

function pageTitleBlink() {
  if (document.title == _page_title_original) {
    document.title = _page_title_blink
  } else {
    document.title = _page_title_original;
  }
}


function initSwfObject(params) {
  var version = params['version'].split('.');
  delete params['version'];
  var flashNotFound = params['notfound'];
  delete params['notfound'];
  params['flashvars'] = "";
  for(var key in params['vars']) {
    params['flashvars'] += params['flashvars'].length > 0 ? "&amp;" : "";
    params['flashvars'] += key + "=" + params['vars'][key]; 
  }
  delete params['vars'];
  params['movie'] = params['file'].replace(/\.swf/, '');
  delete params['file'];
  var args = [];
  for(key in params) {
    args[args.length] = key; 
    args[args.length] = params[key]; 
  }
  if(DetectFlashVer(version[0],version[1],version[2])) {
    AC_FL_RunContent.apply(null, args);
  } else {
    document.write(flashNotFound);
  } 
}

function JavaArray() {
  function Number2String(number, digitCount) {
    var res = '';
    res = '' + number;
    while(res.length < digitCount) res = '0' + res;
    return res;
  }

  var res = "" + Number2String(arguments.length,5);
  for(var i=0; i<arguments.length; i++) {
    res = res + Number2String(arguments[i].length,5);
    res = res + arguments[i];
  }
  return res;
}

function flash_focusIn() {
  pageTitleRestore();
  _is_flash_active = true;
}

function flash_focusOut() {
  _is_flash_active = false;
}

function flash_performer_kickedByAdmin() {
  return true;
}

function flash_performer_newMessageInChat(senderName) {
  return flash_customer_newMessageInChat(senderName);
}

function flash_customer_newMessageInChat(senderName) {
  if (senderName != null) {
    if (_chat_messages_cnt != 0 && !_is_flash_active && _ptb_interval_id == null) {
      _page_title_blink = "New message in chat";
      _ptb_interval_id = setInterval(pageTitleBlink, 1500);
    }
    _chat_messages_cnt++;
  }
  return true;
}

function flash_customer_getCurrentChatType() {
  var applet = document.applets['previewApplet'];
  var flash = document.getElementById("customer");
  if(applet != null) {
    return applet.callInstanceMethod('getCurrentTariffType', JavaArray());
  } else if(flash != null) {
    return flash.getCurrentTariffType();
  }
  return -1;
}

function flash_customer_sendChatText(text, send) {
  var applet = document.applets['previewApplet'];
  var flash = document.getElementById("customer");
  if(applet != null) {
    applet.callInstanceMethod('insertChatText', JavaArray(text));
    if(send) applet.callInstanceMethod('sendMessage', JavaArray());
  } else if(flash != null) {
    flash.sendChatText(text, send);
  }
  return true;
}