window.notUseLayer = function(type) {
  document.body.className = document.body.className + ' notuse';

  var install_helper = document.getElementById('install_helper');

  var t = getText();

  var str = [];
  if (type == 'os') {//Mac OS X 10.4.10 under
    str.push('<p class="topspace">' + t.os_info + '</p>');
    str.push('<p class="bottomspace">' + t.os_account + '</p>');
  } else if (type == 'ppc') {//Mac PowerPC
    str.push('<p class="topspace">' + t.ppc_info + '</p>');
    str.push('<p class="bottomspace">' + t.ppc_account + '</p>');
  } else {
    str.push('<p>' + t.browser_info + '</p>');
    str.push('<p class="bottomspace">' + t.browser_account + '</p>');

    if (window.auth_browser_lang != 'en') {
      str.push('<span>' + t.browser_support + '</span>');
    }

    str.push('<ul class="latest_browser">');
    str.push('<li><a href="http://www.microsoft.com/windows/Internet-explorer/default.aspx" target="_blank">Internet Explorer</a></li>');
    str.push('<li><a href="http://www.mozilla.com/en-US/firefox/ie.html" target="_blank">Firefox</a></li>');
    str.push('<li><a href="http://www.google.com/chrome" target="_blank">Google Chrome</a></li>');
    str.push('<li><a href="http://www.apple.com/safari/download/" target="_blank">Safari</a></li>');
    str.push('<li><a href="http://www.opera.com/" target="_blank">Opera</a></li>');
    str.push('</ul>');
    str.push('<p class="bottomspace">' + t.browser_update + '</p>');
  }

  getElClass(install_helper, 'content').innerHTML = str.join('');
  
  install_helper.style.marginTop = '-1px';
  install_helper.style.display = 'block';

  function getText() {
    var arr = ['os_info', 'os_account', 'ppc_info', 'ppc_account', 'browser_info', 'browser_account', 'browser_support', 'browser_update'];
    var obj = {};
    for (var i = 0, str = arr[i]; i < arr.length; i += 1, str = arr[i]) {
      obj[str] = window['svc_GATE1000_warning_' + str] || Macostxt[str];
    }
    return obj;
  }

  function getBrowser() {
    var userAgent = navigator.userAgent.toLowerCase();
    var browserObj = {
      version: (/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/.exec(userAgent) || [0, '0'])[1],
      safari: /webkit/.test(userAgent),
      opera: /opera/.test(userAgent),
      msie: /msie/.test(userAgent) && !/opera/.test(userAgent),
      mozilla: /mozilla/.test(userAgent) && !/(compatible|webkit)/.test(userAgent)
    }

    var _browser = ''; //safari(safari || Chrome), opera, msie, mozilla
    for (var name in browserObj) {
      if (typeof browserObj[name] == 'boolean' && browserObj[name]) _browser = name;
    }

    var agent = navigator.userAgent;

    browserObj.chrome = false;
    if (_browser == 'safari' && agent.match(/chrome/i)) {// refer dojo.js
      browserObj.safari = false;
      browserObj.chrome = true;
      _browser = 'chrome';
    }

    browserObj.version = ({
      'safari': agent.match(/Version[\/\s](\d+\.\d+)/),
      'opera': agent.match(/Version[\/\s](\d+\.\d+)/),
      'mozilla': agent.match(/Firefox[\/\s](\d+\.\d+)/),
      'chrome': agent.match(/Chrome[\/\s](\d+\.\d+)/)
    }[_browser] || ['', browserObj.version])[1];
  
    browserObj.text = {
      'msie': 'Internet Explorer',
      'mozilla': 'Firefox',
      'safari': 'Safari',
      'chrome': 'Chrome',
      'opera': 'Opera'
    }[_browser] + '&nbsp;' + browserObj.version;
    
    return browserObj;
  }
  function getElClass(parent, className, tagName) {
    var arr = parent.getElementsByTagName(tagName || 'div');
    for (var i = 0; i < arr.length; i += 1) {
        if (arr[i].className.indexOf(className) > -1) { return arr[i]; }
    }
  }
}

var checkNotUse = function() {
  //condition : macppc || (Intel Mac OS && 10_4_11 under) -> window.notUseLayer()
  var agent = navigator.userAgent;
//  agent = 'iTunes 7.1.1 (Mac PPC)" useragent="iTunes/7.1.1 (Macintosh; N; PPC)';
//  agent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.30 Safari/532.5';
//  agent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_4_10; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.30 Safari/532.5';
  var ua = agent.toLowerCase();
  var OS = "";
  // OS
  
  if( ua.indexOf("mac")>0 ){
    OS = "macosx";
    if( ua.indexOf("ppc")>0||ua.indexOf("powerpc")>0 ) OS = "macppc";

  } else if ((ua.indexOf("linux 2.2") > 0) || (ua.indexOf("netscape6") && ua.indexOf("linux") > 0)) {
    OS = "linux2.2";
  } else if (ua.indexOf("win") > 0) {
    OS = "win32";
  }
  
  if (OS == "macppc") {
    window.notUseLayer('ppc');
    return true;
  }
  
  var arr = agent.match(/Intel\sMac\sOS\sX\s(\d+[\_|\.]\d+[\_|\.]*\d*)/);
  
  if (OS == "macosx" && arr) {
    var m = arr[1].match(/\d+/g); // Intel Mac OS X -> next version -> Intel Mac OS 10_4_11
    if (m && compareVersion(m)) {      
      window.notUseLayer('os');
      return true;
    }
  }
  
  function compareVersion(version) {
    // 10.4.10 : limit version
    var c = 10 * 1000 * 1000;
    c = c + (4 * 1000);
    c = c + (10);
    
    var m = 0;
    for(var i = 0 ; i < version.length ; i += 1) {
      if (i==0) m = m + (version[i] * 1000 * 1000);
      if (i==1) m = m + (version[i] * 1000);
      if (i==2) m = m + (version[i] * 1);
    }
    return m <= c;
  }
}

var isSafari2 = function() { // can not jQuery
  var na = navigator.userAgent.toLowerCase();
//  na = 'Mozilla/5.0 (Macintosh; N; PPC Mac OS X; de-de) AppleWebKit/412 (KHTML, like Gecko) Safari/412 Privoxy/2.0'.toLowerCase();
  var arr = na.match(/applewebkit\/([\d]+)/);
  if (arr && arr.length > 1 && (arr[1] * 1 <= 500)) { //
    return true;
  }
}

window.onload = function(){
  if (checkNotUse()) {
    return false;
  }
  if (isSafari2()) {
      window.notUseLayer();
  } else {
    $.fn.numeric = function(opt) {
      opt || (opt = []);
      return this.each(function() {
        $(this).keydown(function(e) {
          var key = e.charCode || e.keyCode || 0;
          return ((key >= 48 && key <= 57) || (key >= 96 && key <= 105) || key == 9 || key == 8 || opt.indexOf(key) >= 0);
        });
      });
    };
    
    $(document).ready(function() {
      if (navigator.userAgent.indexOf('Mac') != -1) {
        if (document.getElementById('connectorHelp')) {
          document.getElementById('connectorHelp').parentNode.innerHTML = '';  
        }
      }
      $("#relay_pincode_value").numeric([13]);
    });
  }
}
