function fx_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=fx_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function fx_lmenu( strMID ) {


	
	//本番環境ではブランクでも問題ない
	//baseHref = 'http://www.saisoncard.co.jp/amexpt';
	baseHref = '/amex';
	var lmenus		= new Array();
	var submenus	= new Array();


	//コンシェルジュ
    lmenus[0]		= new clsMenus('mnu01','/concierge/index.html'	,'/img/common/b_feature01.gif'		,'/img/common/b_feature01_f2.gif','コンシェルジュ');

	//プリビレッジ
    lmenus[1]		= new clsMenus('mnu02','/privilege/index.html'	,'/img/common/b_feature02.gif'		,'/img/common/b_feature02_f2.gif','プリビレッジ');
	lmenus[1].subMenuIdx = 3;
	lmenus[1].subMenu[0]	= new clsMenus('mnu02_01'	,'/privilege/index.html'		,'/img/common/b_p/b_p101.gif'	,'/img/common/b_p/b_p101_f2.gif','アメリカン･エキスプレス　プレミアム･プリビレッジ');
	lmenus[1].subMenu[1]	= new clsMenus('mnu02_02'	,'/privilege/privilege02.html'	,'/img/common/b_p/b_p102.gif'	,'/img/common/b_p/b_p102_f2.gif','アメリカン･エキスプレス･セレクト');
//	lmenus[1].subMenu[2]	= new clsMenus('mnu02_03'	,'/privilege/privilege03.html'	,'/img/common/b_p/b_p103.gif'	,'/img/common/b_p/b_p103_f2.gif','SAISON MILE CLUB');

	lmenus[1].subMenu[2]	= new clsMenus('mnu02_04'	,'/privilege/privilege02.html#002'	,'/img/common/b_p/b_p104.gif'	,'/img/common/b_p/b_p104_f2.gif','アメリカン・エキスプレス ポイント優遇');

	//トラベル
    lmenus[2]		= new clsMenus('mnu03','/travel/index.html'		,'/img/common/b_feature03.gif'		,'/img/common/b_feature03_f2.gif','トラベル');

	//プロテクション
//    lmenus[3]		= new clsMenus('mnu04','/protection/index.html'	,'/img/common/b_feature04.gif'		,'/img/common/b_feature04_f2.gif','プロテクション');
//	lmenus[3].subMenuIdx = 3;
//	lmenus[3].subMenu[0]	= new clsMenus('mnu04_01'		,'/protection/index.html'	,'/img/common/b_p/b_p301.gif'	,'/img/common/b_p/b_p301_f2.gif','海外損害保険　国内損害保険');
//	lmenus[3].subMenu[1]	= new clsMenus('mnu04_02'		,'/protection/index2.html'	,'/img/common/b_p/b_p303.gif'	,'/img/common/b_p/b_p303_f2.gif','ショッピングプロテクション');
//	lmenus[3].subMenu[2]	= new clsMenus('mnu04_03'		,'/protection/index2.html'	,'/img/common/b_p/b_p304.gif'	,'/img/common/b_p/b_p304_f2.gif','オンライン･プロテクション');

	//アンドモア
    lmenus[3]		= new clsMenus('mnu05','/andmore/index.html'	,'/img/common/b_feature05.gif'		,'/img/common/b_feature05_f2.gif','アンドモア');


//	for (var i = 0; i <= fx_lmenu.arguments.length - 1; i++) {
//		
//	}


	strLeftMenu ='';
	strLeftMenu ='<div class="menu_pt1">';
	strLeftMenu += '<table width="100%"  border="0" cellspacing="0" cellpadding="0">';
	strLeftMenu += '<tr>';
	strLeftMenu += '<td><img src="' + baseHref +'/img/common/b_feature.gif" alt="カード特徴" width="149" height="18"></td>';
	strLeftMenu += '<td>&nbsp;</td>';
	strLeftMenu += '</tr>';
	strLeftMenu += '</table>';


    for ( i = 0; i < lmenus.length; i++)
    {

		if ( lmenus[i].MID == strMID.substr(0,5) ) {
			strImg1 	 	= lmenus[i].Img2;
			strImg2 	 	= lmenus[i].Img2;
		} else {
			strImg1 	 	= lmenus[i].Img2;
			strImg2 	 	= lmenus[i].Img1;
		}

		blSubMenu		= 0;
		if ( lmenus[i].subMenuIdx > -1 ) {
			blSubMenu		= 1;
		}

		strLeftMenu += '<table width="100%"  border="0" cellspacing="0" cellpadding="0">';
		strLeftMenu += '<tr>';
		strLeftMenu += sprintf('<td><a href="%s%s" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'%s\',\'\',\'%s%s\',1)"><img src="%s%s" alt="%s" name="%s" width="149" height="18" border="0" id="b01"></a></td>'
						,baseHref
						,lmenus[i].Href
						,lmenus[i].MID
						,baseHref
						,strImg1
						,baseHref
						,strImg2
						,lmenus[i].Alt
						,lmenus[i].MID
		 );

		if ( blSubMenu) {
			strLeftMenu += sprintf('<td align="right"><A HREF="JavaScript:onClick=Display(\'dsp%s\');"><img src="%s/img/common/b_submenu.gif" width="21" height="18" border="0"></a></td>'
						,lmenus[i].MID
						,baseHref
			);
			strLeftMenu += '</tr>';
			strLeftMenu += '</table>';




			strSubMenu = '';
			strDsplay = 'display:none';
			for ( j = 0; j < lmenus[i].subMenuIdx; j++) {
				submenu = lmenus[i].subMenu[j];

				if ( submenu.MID == strMID ) {
					strImg1 	 	= submenu.Img2;
					strImg2 	 	= submenu.Img2;
					strDsplay		= 'display: block';
				} else {
					strImg1 	 	= submenu.Img2;
					strImg2 	 	= submenu.Img1;
				}


				strSubMenu += sprintf('<a href="%s%s" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'%s\',\'\',\'%s%s\',1)"><img src="%s%s" alt="%s" name="%s" width="162" height="30" border="0"></a><br>'
						,baseHref
						,submenu.Href
						,submenu.MID
						,baseHref
						,strImg1
						,baseHref
						,strImg2
						,submenu.Alt
						,submenu.MID
			 );

			}

			strLeftMenu += sprintf('<DIV ID="dsp%s" STYLE="%s">%s</div>'
				,lmenus[i].MID
				,strDsplay
				,strSubMenu);


		} else{
			strLeftMenu += '<td>&nbsp;</td>';
			strLeftMenu += '</tr>';
			strLeftMenu += '</table>';
		}
	}


	strLeftMenu += '</div>';

//	strLeftMenu += '<div class="menu_pt2">';
//	strLeftMenu += sprintf('<p><a href="http://www.saisoncard.co.jp/lineup/ca103.html" target="_blank" onMouseOver="MM_swapImage(\'b11\',\'\',\'%s/img/common/b07_f2.gif\',1)" onMouseOut="MM_swapImgRestore()"><img src="%s/img/common/b07.gif" alt="カードのお申し込み" name="b11" width="149" height="20" border="0"></a>'
//						,baseHref
//						,baseHref
//					); 
	
			strLeftMenu += sprintf('<a href="/amex/netanswer/index.html" target="_blank" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'b09\',\'\',\'%s/img/common/b09_f2.gif\',1)"><img src="%s/img/common/b09.gif" alt="Netアンサーについて" name="b09" width="149" height="20" border="0"></a>'
						,baseHref
						,baseHref
						,baseHref
					);

		strLeftMenu += sprintf('<a href="https://na.sgsaison.co.jp/PC-SG/welcomeSCR.do" target="_blank" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'b11\',\'\',\'%s/img/common/b11_f2.gif\',1)"><img src="%s/img/common/b11.gif" alt="Netアンサーログイン" name="b11" width="149" height="20" border="0"></a>'
						,baseHref
						,baseHref
						,baseHref
					);
	
	strLeftMenu += sprintf('<a href="%s/concierge/index.html" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'b10\',\'\',\'%s/img/common/b05_f2.gif\',1)"><img src="%s/img/common/b05.gif" alt="お問い合わせ" name="b10" width="149" height="20" border="0"></a></p>'
						,baseHref
						,baseHref
						,baseHref
					); 
/*
	strLeftMenu += '<p>&nbsp;</p>';
	strLeftMenu += sprintf('<a href="http://www.saisoncard.co.jp/amexpt/campaign/hanabi/" target="_blank"><img src="%s/img/common/banner04.gif" border="0" alt="《セゾン》プラチナ・アメリカン・エキスプレス・カード 横浜花火大会2006＆Yokohama Bay Sheraton Stay｜SAISONCARD"></a>'

						,baseHref
					); 
	
	strLeftMenu += '<p>&nbsp;</p>';
	strLeftMenu += sprintf('<a href="%s/campaign/cp060718.html"><img src="%s/img/common/banner05.jpg" border="0" alt="ご紹介キャンペーン"></a>'
						,baseHref
						,baseHref
					); 
		strLeftMenu += '<p>&nbsp;</p>';
	strLeftMenu += sprintf('<a href="http://www.saisoncard.co.jp/amex/cp2/"><img src="%s/img/common/banner06.jpg" border="0" alt="永久不滅ポイント2倍キャンペーン"></a>'
						,baseHref
						,baseHref
					); 
	*/
	strLeftMenu += '</div>';

	fx_findObj("idLMenu").innerHTML = strLeftMenu;
	


}



function clsMenus(sMId,sHref,sImg1,sImg2,sAlt) {
	this.MID		= sMId;
	this.Href 		= sHref;
    this.Img1		= sImg1;
    this.Img2		= sImg2;
	this.Alt		= sAlt;
	this.subMenu	= new Array();
	this.subMenuIdx	= -1;
}


function printf() {
  document.write(va_sprintf(printf.arguments));
}

// str = sprintf(format, ...);
function sprintf() {
  return va_sprintf(sprintf.arguments);
}

function va_sprintf(args) {
  var ch;
  var value;
  var longflag;
  var ljust;
  var len, llen;
  var zpad;
  var p;
  var output;
  var format_index, arg_index;
  var argc, argv;
  var specin;
  var format;

  output = '';
  format_index = 0;
  arg_index = 1;
  argv = args;
  argc = args.length;
  format = args[0];

  while (format_index < format.length) {
    ch = format.substr(format_index++, 1);
    if (ch != '%' || format_index == format.length) {
      output += ch;
    } else {
      // ch == '%'
      ljust = len = zpad = longflag = 0;
      llen = -1;
      p = format_index;
      specin = true;

      while (specin) {
	ch = format.substr(format_index++, 1);
	switch(ch) {
	case '-':
	  ljust = 1;
          continue;

	case '0':         // set zero padding if len not set
	  if(len == 0)
	    zpad = 1;
	  // FALLTHROUGH
	case '1': case '2': case '3':
	case '4': case '5': case '6':
	case '7': case '8': case '9':
	  len = len * 10 + parseInt(ch);
	  continue;

	case '.':
	  llen = len;
	  len = 0;
	  continue;

	case '*':
	  if (arg_index < argc)
	    len = parseInt(argv[arg_index++]);
	  else
	    len = 0;
	  if (len < 0) {
	    ljust = 1;
	    len = -len;
	  }
	  continue;

	case 'l':
	  longflag = 1;
	  continue;

	case 'u': case 'U':
	  if (arg_index < argc) {
	    if (longflag) {
	      value = parseInt(argv[arg_index++]);
	    } else {
	      value = parseInt(argv[arg_index++]);
	      value %= 4294967296;
	    }
	  } else {
	    value = 0;
	  }
	  output += _dopr_fmtnum(value, 10,0, ljust, len, zpad);
	  break;

	case 'o': case 'O':
	  if (arg_index < argc) {
	    if (longflag) {
	      value = parseInt(argv[arg_index++]);
	    } else {
	      value = parseInt(argv[arg_index++]);
	      value %= 4294967296;
	    }
	  } else {
	    value = 0;
	  }
	  output += _dopr_fmtnum(value, 8,0, ljust, len, zpad);
	  break;

	case 'd': case 'D':
	  if (arg_index < argc) {
	    if (longflag) {
	      value = parseInt(argv[arg_index++]);
	    } else {
	      value = parseInt(argv[arg_index++]);
	      value %= 4294967296;
	    }
	  } else {
	    value = 0;
	  }
	  output += _dopr_fmtnum(value, 10,1, ljust, len, zpad);
	  break;

	case 'x':
	  if (arg_index < argc) {
	    if (longflag) {
	      value = parseInt(argv[arg_index++]);
	    } else {
	      value = parseInt(argv[arg_index++]);
	      value %= 4294967296;
	    }
	  } else {
	    value = 0;
	  }
	  output += _dopr_fmtnum(value, 16,0, ljust, len, zpad);
	  break;

	case 'X':
	  if (arg_index < argc) {
	    if (longflag) {
	      value = parseInt(argv[arg_index++]);
	    } else {
	      value = parseInt(argv[arg_index++]);
	      value %= 4294967296;
	    }
	  } else {
	    value = 0;
	  }
	  output += _dopr_fmtnum(value, -16,0, ljust, len, zpad);
	  break;

	case 's':
	  if (arg_index < argc) {
	    value = argv[arg_index++];
	    if(value == null)
	      value = "(null)";
	    else
	      value = value + "";	// toString
	  } else {
	    value = '';
	  }
	  output += _dopr_fmtstr(value, ljust, len, llen);
	  break;

	case 'c':
	  if (arg_index < argc) {
	    value = parseInt(argv[arg_index++]);
	  } else {
	    value = 0;
	  }
	  output += _dopr_fromCharCode(value);
	  break;

	case '%':
	  output += '%';
	  break;

/* Not supported
	case 'f': case 'e': case 'E': case 'g': case 'G':
	  if (arg_index < argc) {
	    value = argv[arg_index++];
	  } else {
	    value = 0.0;
	  }
	  output += _dopr_fmtdouble(format.substr(p, format_index - p), value);
	  break;
*/

	default:
	  if(p + 1 == format_index) {
	    output += '%';
	    output += ch;
	  }
	  else {
	    // alert("format error: " + format);
	  }
	  break;
	}
	specin = false;
      }
    }
  }
  return output;
}

// Private function
function _dopr_fmtnum(value, base, dosign, ljust, len, zpad)
{
  var signvalue = '';
  var uvalue;
  var place = 0;
  var padlen;		// amount to pad
  var caps = 0;
  var convert;
  var output;

  convert = '';
  output = '';

  if(value >= 0)
    uvalue = value;
  else
    uvalue = (value % 4294967296) + 4294967296;

  if (dosign) {
    if (value < 0) {
      signvalue = '-';
      uvalue = -value;
    }
  }

  if (base < 0) {
    caps = 1;
    base = -base;
  }

  if(uvalue == 0) {
    convert = '0';
    place = 1;
  } else {
    while (uvalue) {
      if(caps)
	convert = '0123456789ABCDEF'.substr(uvalue % base, 1) + convert;
      else
	convert = '0123456789abcdef'.substr(uvalue % base, 1) + convert;
      uvalue = parseInt(uvalue / base);
      place++;
    }
  }

  padlen = len - place;
  if (padlen < 0) padlen = 0;
  if (ljust) padlen = -padlen;

  if (zpad && padlen > 0) {
    if(signvalue) {
      output += signvalue;
      --padlen;
      signvalue = 0;
    }

    while (padlen > 0) {
      output += '0';
      --padlen;
    }
  }

  while (padlen > 0) {
    output += ' ';
    --padlen;
  }
  if (signvalue) {
    output += signvalue;
  }

  output += convert;
        
  while(padlen < 0) {
    output += ' ';
    ++padlen;
  }
  return output;
}

// Private function
function _dopr_fmtstr(value, ljust, field_len, llen)
{
  var padlen;			// amount to pad
  var slen, truncstr = 0;
  var output = '';

  slen = value.length;

  if (llen != -1) {
    var rlen;

    rlen = field_len;
    if (slen > rlen) {
      truncstr = 1;
      slen = rlen;
    }
    field_len = llen;
  }
  padlen = field_len - slen;
        
  if (padlen < 0)
    padlen = 0;
  if (ljust)
    padlen = -padlen;
  while (padlen > 0) {
    output += ' ';
    --padlen;
  }
  if (truncstr) {
    output += value.substr(0, slen);
  } else {
    output += value;
  }

  while (padlen < 0) {
    output += ' ';
    ++padlen;
  }
  return output;
}

// Private function
var _dopr_fromCharCode_chars = null;
function _dopr_fromCharCode(code)
{
  if(String.fromCharCode)
    return String.fromCharCode(code);
  if(!_dopr_fromCharCode_chars)
    _dopr_fromCharCode_chars =
      "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020" +
      "\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037 !\"#$%&" +
      "'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghi" +
      "jklmnopqrstuvwxyz{|}~\177\200\201\202\203\204\205\206\207\210\211" +
      "\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232" +
      "\233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253" +
      "\254\255\256\257\260\261\262\263\264\265\266\267\270\271\272\273\274" +
      "\275\276\277\300\301\302\303\304\305\306\307\310\311\312\313\314\315" +
      "\316\317\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336" +
      "\337\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357" +
      "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377";
  if(code < 0)
    return "";
  if(code <= 255)
    return _dopr_fromCharCode_chars.substr(code, 1);
  return eval(sprintf("\"\\u%04x\"", code));
}



