/* - Impress Watch Common javascript - */
if(typeof(ipwtop) == 'undefined') ipwtop = {};

// =========================================================================
/* - ajax libraly - */
if(typeof(ipwtop.ajax) == 'undefined') ipwtop.ajax = {};
if(typeof(ipwtop.ajax.objs) == 'undefined') ipwtop.ajax.objs = new Array();

ipwtop.ajax.obj_replace = function (elem_id){
  var ajaxobj = null;
  try{
    ajaxobj = new XMLHttpRequest();
  }catch(e){
    try{
      ajaxobj = new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
      try{
        ajaxobj = new ActiveXObject("Microsoft.XMLHTTP");
      }catch(e){
        return null;
      }
    }
  }
  if (ajaxobj) ajaxobj.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200){
      document.getElementById(elem_id).innerHTML = this.responseText;
      // - reset tepco tag
      var elem = document.getElementById('box-tepco');
      elem.style.display = "none";
      elem = document.getElementById('tab-tepco');
      elem.className = elem.className.replace('tab-selected', 'tab-notselected');
      elem.innerHTML = ipwtop.epco.name_notselected['tepco'];
      ipwtop.epco.set_tab(ipwtop.epco.current_epco);
    }
  };
  return ajaxobj;
};

ipwtop.ajax.load = function (elem_id, url){
  if(!elem_id || !url) return null;
  if(!ipwtop.ajax.objs[elem_id]){
    ipwtop.ajax.objs[elem_id] = ipwtop.ajax.obj_replace(elem_id);
  }
  if(ipwtop.ajax.objs[elem_id]){
    url = url+'?elem='+elem_id+'&rnd='+Math.floor(Math.random()*10000);
    ipwtop.ajax.objs[elem_id].open('GET', url, true);
    ipwtop.ajax.objs[elem_id].setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    ipwtop.ajax.objs[elem_id].setRequestHeader("Accept-Charset", "Shift-JIS");
    ipwtop.ajax.objs[elem_id].send(null);
  }
};


// =========================================================================
/* - cookie libraly - */
if(typeof(ipwtop.cookie) == 'undefined') ipwtop.cookie = {};

if(typeof(ipwtop.cookie.page_cookie) == 'undefined') ipwtop.cookie.page_cookie = new Array();

// == light weight versoin set cookie
ipwtop.cookie.set_cookie_light = function (name, value, domain){
  document.cookie = name+'='+value+'; expires=Tue, 1-Jan-2030 00:00:00 GMT; domain='+domain+';';
  //document.cookie = name+'='+value+'; expires=Tue, 1-Jan-2030 00:00:00 GMT; domain=.impress.co.jp;';
  //document.cookie = name+'='+value+'; expires=Tue, 1-Jan-2030 00:00:00 GMT;';
};

// == light weight versoin get cookie
ipwtop.cookie.get_cookie_light = function (name){
  var arr = document.cookie.split(';');
  var s = "";
  var key_value = null;
  for(i=0; i<arr.length; i++){
    s = arr[i].replace(' ', '');
    key_value = s.split('=');
    if(key_value[0] == name) return key_value[1];
  }
  return false;
}

// =========================================================================
/* - tab switcher -*/
if(typeof(ipwtop.tab) == 'undefined') ipwtop.tab = {};

ipwtop.tab.switch_2pane_tab = function (onElemId, offElemId, dispElemId, hiddenElemId){
  document.getElementById(onElemId).setAttribute('class', 'selected');
  document.getElementById(offElemId).removeAttribute('class');
  document.getElementById(dispElemId).style.display = 'block';
  document.getElementById(hiddenElemId).style.display = 'none';
}

// =========================================================================
/* - epco power info - */
if(typeof(ipwtop.epco) == 'undefined') ipwtop.epco = {};

if(typeof(ipwtop.epco.initialized) == 'undefined') ipwtop.epco.initialized = false;
if(typeof(ipwtop.epco.current_epco) == 'undefined') ipwtop.epco.current_epco = 'th-epco';
if(typeof(ipwtop.epco.epco_symbols) == 'undefined') ipwtop.epco.epco_symbols = new Array();
if(typeof(ipwtop.epco.name_selected) == 'undefined') ipwtop.epco.name_selected = new Array();
if(typeof(ipwtop.epco.name_notselected) == 'undefined') ipwtop.epco.name_notselected = new Array();

// == epco tab selector
ipwtop.epco.set_tab = function (symbol) {
  ipwtop.epco.for_mac();
  if(symbol == ipwtop.epco.current_epco){
    var elem = document.getElementById('tab-'+symbol);
    elem.className = elem.className.replace('tab-notselected', 'tab-selected');
    elem.innerHTML = ipwtop.epco.name_selected[symbol];
    elem = document.getElementById('box-'+symbol);
    elem.style.display = "block";
    ipwtop.epco.webkit_tshoot(symbol);
    ipwtop.cookie.set_cookie_light('_ipw_epco',symbol, '.impress.co.jp');
    return;
  }
  var elem = document.getElementById('box-'+ipwtop.epco.current_epco);
  elem.style.display = "none";
  elem = document.getElementById('box-'+symbol);
  elem.style.display = "block";
  //
  //
  elem = document.getElementById('tab-'+ipwtop.epco.current_epco);
  elem.className = elem.className.replace('tab-selected', 'tab-notselected');
  elem.innerHTML = ipwtop.epco.name_notselected[ipwtop.epco.current_epco];
  elem = document.getElementById('tab-'+symbol);
  elem.className = elem.className.replace('tab-notselected', 'tab-selected');
  elem.innerHTML = ipwtop.epco.name_selected[symbol];
  //
  // Webkit-base js engine probrem
  ipwtop.epco.webkit_tshoot(symbol);
  //
  ipwtop.epco.current_epco = symbol;
  ipwtop.cookie.set_cookie_light('_ipw_epco',symbol, '.impress.co.jp');
  //
  ipwtop.ajax.load('epco-section', '/include/auto/watch/toppage/epco_bar.utf8');
};

ipwtop.epco.webkit_tshoot = function(symbol){
  if(symbol != 'tepco'){
    elem = document.getElementById('tab-tepco');
    elem.className = elem.className.replace('tab-selected', 'tab-notselected');
    elem.innerHTML = ipwtop.epco.name_notselected['tepco'];
    elem = document.getElementById('box-tepco');
    elem.style.display = "none";
  }
}

// == epco tab initializer
ipwtop.epco.initialize = function () {
  if(document.location.href.indexOf('energy-saving1106') >= 0){
    return;
  }
  if(ipwtop.epco.initialized){
    return;
  }
  // - initialize ok
  ipwtop.epco.initialized = true;
  //
  var name_elems = document.getElementsByName('epco-key-name');
  var i = 0;
  var symbol = "";
  for(i=0; i < name_elems.length; i++){
    symbol = name_elems[i].id.replace("epco-key-name-", "");
    ipwtop.epco.name_selected[symbol] = name_elems[i].innerHTML;
    ipwtop.epco.epco_symbols[i] = symbol;
  }
  name_elems = document.getElementsByName('epco-key-shortname');
  for(i=0; i < name_elems.length; i++){
    symbol = name_elems[i].id.replace("epco-key-shortname-", "");
    ipwtop.epco.name_notselected[symbol] = name_elems[i].innerHTML;
  }
  // - - cookie
  symbol = ipwtop.cookie.get_cookie_light('_ipw_epco');
  if(symbol != false){
    ipwtop.epco.set_tab(symbol);
  }else{
    ipwtop.epco.set_tab('tepco');
  }
};

ipwtop.epco.for_mac = function(){
  // - - for MAC
  if(navigator.userAgent.toUpperCase().indexOf("MAC") >= 0){
    var name_elems = document.getElementsByName('epco-info-wrap');
    for(i=0; i<name_elems.length; i++){
      name_elems[i].style.fontSize='11px';
    }
    name_elems = document.getElementsByName('epco-percent');
    for(i=0; i<name_elems.length; i++){
      name_elems[i].style.fontSize='16px';
      name_elems[i].style.paddingTop='4px';
    }
  }
};


