//<![CDATA[
/* ====================================================================================== * 
 * Project : JavaScript 関数ライブラリ
 * File    : funclib.js
 * Author  : System House ACT
 * History : 1.00.00 初版 ($Rev: 11 $)
 *           $Date:: 2008-12-28 18:26:43 #$ $Author: tyamaguchi $
 *
 * mirror(src, title) ............ 文字列を反転させる
 * makeAnchor(url) ............... アンカータグを作成する
 * makeMAnchor(domain, addr) ..... mailtoアンカータグを作成する
 * openImageWindow(src, title) ... 画像を別ウィンドウで開く
 * 
 * Copyright 2010 System House ACT All rights reserved.
 * ====================================================================================== *
 */  
/* ====================================================================================== *
 * 文字列を反転させる
 *   引数 : srcstr ... 反転させる文字列
 *   戻値 : 反転された文字列
 * ====================================================================================== *
 */
function mirror(srcstr) {
  resultstr = "";
  for (i = 0; i < srcstr.length; i++) {
    resultstr = srcstr.charAt(i) + resultstr;
  }
  return resultstr;
}

/* ====================================================================================== *
 * アンカータグを作成する
 *   引数 : url ...... サイトURL
 *   戻値 : なし
 * ====================================================================================== *
 */
function makeAnchor(url) {
  document.write("<a href=\"" + url + "\">" + url + "</a>");
}

/* ====================================================================================== *
 * mailtoアンカータグを作成する
 *   引数 : domain ... ドメイン
 *          addr ..... アドレス
 *   戻値 : なし
 * ====================================================================================== *
 */
function makeMAnchor(domain, addr) {
  var strAddr = mirror(addr) + "@" + mirror(domain);
  document.write("<a href=\"mailto:" + strAddr + "\">" + strAddr + "</a>");
}

/* ====================================================================================== *
 * 画像を別ウィンドウで開く
 *   引数 : src ..... 画像ファイルのURI
 *          title ... 画像ファイルのタイトル
 *   戻値 : なし
 * ====================================================================================== *
 */
function openImageWindow(src, title) {
  var img = new Image();

  // タイトルが省略された場合は、画像ファイルのURIのファイル名を設定する
  var file;
  if (title == undefined) {
    file = src.substring(src.lastIndexOf("/") + 1, src.length);
  } else {
    file = title;
  }

  // 画像のonloadハンドラを定義する
  img.onload = function() {
    var popup = window.open(
                  img.src,
                  "popup",
                  "width=" + img.width + ", height=" + img.height
              + ", scrollbars=no, resizable=yes"
                  );
    if (popup) {
      // ポップアップウィンドウが開けた場合は画像を表示する
      popup.window.document.open();
      popup.window.document.write(
        '<html>'
      + '<head><title>' + file + '</title></head>'
      + '<body style="margin:0; padding:0; border:0;">'
      + '<img src="' + img.src + '" width="100%" alt="' + file + '" />'
      + '</body>'
      + '</html>'
        );
      popup.window.document.close();
    } else {
      // ポップアップウィンドウがブロックされた場合は画像へ遷移する
      location.href = img.src;
    }
    // ポップアップループを抑止する
    img.onload = function(){};
  }
  img.src = src;
}
//]]>
