/**
 * @author asami
 */
function callSimpleHotelSearch() { 
     // CONSTANTS 
     var developerId = '3128dcb69c997d966cd3f3001e7c09ec'; // ※※ あなたのデベロッパーIDに変更してください ※※ 
     var affiliateId = '0a5f6eb1.601c3539.0a5f6eb2.56b95cf8'; // ※※ あなたのアフィリエイトIDに変更してください ※※ 
     var callBack = 'showResult'; 
     var operation = 'SimpleHotelSearch'; 
     var version = '2008-11-13'; 
     var requestUrl = 'http://api.rakuten.co.jp/rws/2.0/json?'; 
     var param = []; 
     param.push('developerId='+developerId); 
     param.push('callBack='+callBack); 
     param.push('operation='+operation); 
     param.push('version='+version); 
     if(affiliateId) { 
          param.push('affiliateId='+affiliateId); 
     } 

     var query = ""; 
     query = appendParam(query, "largeClassCode"); 
     query = appendParam(query, "middleClassCode"); 
     query = appendParam(query, "smallClassCode"); 
     query = appendParam(query, "detailClassCode"); 
     query = appendParam(query, "hotelNo"); 
     query = appendParam(query, "latitude"); 
     query = appendParam(query, "longitude"); 
     query = appendParam(query, "searchRadius"); 
     query = appendCheckParamCsv(query, "squeezeCondition"); 
     query = appendParam(query, "carrier"); 
     query = appendParam(query, "hits"); 
     query = appendParam(query, "datumType"); 

     var scriptTag = document.createElement('script'); 
     scriptTag.src = requestUrl + param.join('&') + query; 
     document.body.appendChild(scriptTag); 
} 
function appendParam(query, key) { 
     var param = document.getElementById(key); 
     if(!param || !param.value) { 
          return query; 
     } 
     query += "&" + key + "=" + param.value ; 
     return query; 
} 
function appendCheckParamCsv(query, key) { 
     var paramList = document.getElementsByName(key); 
     if(paramList == null || paramList.length == 0) { 
          return query; 
     } 
     var param = []; 
     for (var i = 0; i < paramList.length; i++) { 
          if (paramList[i].checked == true) { 
               param.push(paramList[i].value); 
          } 
     } 
     if (0 < param.length) { 
          query += "&" + key + "=" + param.join(','); 
     } 
     return query; 
} 
function showResult(data) { 
     var contents = ''; 
     if(data.Header.Status == "Success") { 
          var hotelList = data.Body.SimpleHotelSearch.hotel; 
          contents = '<table class="result"><tr>'; 
          for(var i = 0; i < hotelList.length; i++) { 
               if(i > 0 && i % 4 == 0) { 
                    contents += "</tr><tr>"; 
               } 
               var hotelImageUrl = hotelList[i].hotelImageUrl; 
               var hotelInformationUrl = hotelList[i].hotelInformationUrl; 
               var hotelName = hotelList[i].hotelName; 
               contents += '<td><img src="' + hotelImageUrl + '" width="100px" /><br><a href="' + hotelInformationUrl + '">' + hotelName + "</a></td>"; 
          } 
          contents += '</tr></table>'; 
     } else { 
          contents = '<p align="center">この検索条件に該当する施設が見つかりませんでした。</p>'; 
     } 
     document.getElementById('trvResultList').innerHTML = contents; 
     document.getElementById('searchBox').style.display = "none"; 
     document.getElementById('result').style.display = "block"; 
} 
