
function closeSubContent() {
  var subContentOpened = document.getElementById('sub-content');
  if (subContentOpened != null) {
    subContentOpened.id = 'sub-content-hidden';
  }
}

function openSubContent() {
  var subContentClosed = document.getElementById('sub-content-hidden');
  if (subContentClosed != null) {
    subContentClosed.id = 'sub-content';
  }
}

/* 文字列置換 */
function allReplace(src, from, to) {
  parts = src.split(from);
  dest = '';
  for(i=0;parts.length>i;i++) {
    dest += parts[i];
    if (parts.length-1 > i) {
      dest += to;
    }
  }
  return dest;
}
/* &,=,+を含めてURLエンコードを行います。 */
function encodeURIPlus(src) {

  src = src.replace(/\r\n/g,"\n");
  var utftext = "";

  for (var n = 0; n < src.length; n++) {
    var c = src.charCodeAt(n);
    if (c < 128) {
      utftext += String.fromCharCode(c);
    } else if((c > 127) && (c < 2048)) {
      utftext += String.fromCharCode((c >> 6) | 192);
      utftext += String.fromCharCode((c & 63) | 128);
    } else {
      utftext += String.fromCharCode((c >> 12) | 224);
      utftext += String.fromCharCode(((c >> 6) & 63) | 128);
      utftext += String.fromCharCode((c & 63) | 128);
    }
  }
  return escape(utftext);
}

/* 文字列をhtmlエスケープして返します。<>&" */
function htmlEscape(str) {
  return str.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}

/* 現在表示ブラウザの画面高さをpxで返します. */
function getWindowHeight(defaultHeight) {
  var browser_height = 1024;
  if (defaultHeight != null) {
    browser_height = defaultHeight;
  }
  if(jQuery.browser.opera) { // Opera
    browser_height = document.body.clientHeight;
  } else if(typeof document.documentElement.clientHeight == 'number') { // Firefox IE Safari
    browser_height = document.documentElement.clientHeight;
  } else if(typeof window.innerHeight == 'number') {　// Safari
    browser_height = window.innerHeight;
  } 
  return browser_height;
}
/* 現在表示ブラウザの画面幅をpxで返します. */
function getWindowWidth(defaultWidth) {
  var browser_width = 1024;	
  if (defaultWidth != null) {
    browser_width = defaultWidth;
  }
  if(jQuery.browser.opera) { // Opera
    browser_width = document.body.clientWidth;
  } else if(typeof document.documentElement.clientWidth == 'number') { // Firefox IE Safari
    browser_width = document.documentElement.clientWidth;
  } else if(typeof window.innerWidth == 'number') {　// Safari
    browser_width = window.innerWidth;
  } 
  return browser_width;
}

/* 連想配列から指定した値のKEYを返します。 */
function getKey(map, value) {
  for (var key in map) {
    if (map[key] == value) {
      return key;
    }
  }
  return null;
}

