﻿/* JavaScriptサンプル */

function getSignature(strkeyword,lngpage,targetElementID){
  var str_imestamp = getISO8601Timestamp();
  var access_key = "AKIAIK76WUTXM26IYMEA";
  var secret_key = "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";
  var associate_tag = "kigin-22";
  var url = "xml-jp.amznxslt.com";
  var xslurl = "http://kig.in/amazon/amazon200908231927.xsl";

  var para = {
    "Service":"AWSECommerceService",
    "AWSAccessKeyId":access_key,
    "Operation":"ItemSearch",
/*    "ResponseGroup":"ItemAttributes",	*/
    "ResponseGroup":"Small,Images",
    "Keywords":strkeyword,
    "AssociateTag":associate_tag,
    "ItemPage":lngpage,
    "SearchIndex":"All",
    "Version":"2009-07-01",
    "Timestamp":str_imestamp,
    "ContentType":"text/html",
    "Style":xslurl

  };

  var para_array = [];

  for(var pname in para){
    var tmp = encodeURIComponent(para[pname]);
    tmp = tmp.replace("(", "%28");
    tmp = tmp.replace(")", "%29");
    tmp = tmp.replace("!", "%21");
    para_array.push(pname + "=" + tmp);
  }

  para_array.sort();

  var str_para = para_array.join('&');
  var str_signature = "GET" + "\n" + url + "\n" + "/onca/xml" + "\n" + str_para;

  HMAC_SHA256_init(secret_key);
  HMAC_SHA256_write(str_signature);
  var array_hash = HMAC_SHA256_finalize();

  var str_hash = "";
  for (var i = 0; i < array_hash.length; i++) {
    str_hash += String.fromCharCode(array_hash[i]);
  }

  var signature = Base64.encode(str_hash);
  var para_signature = "&Signature=" + encodeURIComponent(signature);

  var amazonurl = "http://" + url + "/onca/xml?" + str_para + para_signature;  

  doAction( targetElementID, amazonurl);

}

// *********************************************************
// 関数
// *********************************************************
function getISO8601Timestamp(){
  var d = new Date();

  var ye = d.getUTCFullYear();
  var mo = zeroPlus(d.getUTCMonth() + 1);
  var da = zeroPlus(d.getUTCDate());
  var ho = zeroPlus(d.getUTCHours());
  var mi = zeroPlus(d.getUTCMinutes());
  var se = zeroPlus(d.getUTCSeconds());

  return ye + "-" + mo + "-" + da + "T" + ho + ":" + mi + ":" + se + "Z";
}

// *********************************************************
// 関数
// *********************************************************
function zeroPlus(value){
  return ("0" + value).slice(-2);
}

// *********************************************************
// 関数
// *********************************************************
function doAction( strValue,amazonurl ) {

	var base;
	var obj;

	base = document.getElementById(strValue);
	base.innerHTML = "";

	// IFRAME 作成
	obj = document.createElement("iframe");
	// IFRAME の見栄え属性をセット
	obj.setAttribute("frameBorder", "0");
	obj.setAttribute("scrolling", "no");

	// IFRAME の配置属性をセット
	obj.style.position = "relative";
	obj.style.width = "200px";
	obj.style.height = "1000px";

	// IFRAME の内容をセット
	obj.src = amazonurl;

	// IFRAME を実装
	base.appendChild(obj);

}


