/**
 * common.js
 *
 * @package   lets-groonga
 * @copyright Tokyo Metro Co.,Ltd. & Gourmet Navigator Inc.
 */

/**
 * 検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function searchSubmit(name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}
  var action;
  var params = [];
  var i = 0;
  var f0 = $('f0');


  if (name != null && value != null) {
        searchParams[name] = value;  // セットもしくは上書き
        if (name == 'area') {
          searchParams['stn'] = '';  // エリアを新しく選択されたら駅を初期化
        }
  }

  for (var mem in searchParams) {
    if (mem=="currentUrl") {
      action = searchParams[mem];
    } else if (mem=="cate" || mem=="field" || mem=="area" || mem=="stn") {
      if (searchParams[mem] != '') {
        if (mem == 'area' && (typeof(searchParams["stn"]) != 'undefined' && searchParams["stn"].length > 0)) {
          continue;
        }
        action += mem + '-' + encodeURIComponent(searchParams[mem]) + '/';
      }
    } else if (mem=="page") {
    } else {
      if (searchParams[mem].length > 0) {
        var val = searchParams[mem];
        var surfix = '';
        if (val instanceof Array) {
          for (var i=0; i<val.size(); i++) {
            params.push(mem + "[]=" + encodeURIComponent(val[i]));
          }
        } else {
          if (mem == "tarea" || mem == "tcate"){
	          params.push(mem.slice(1) + "=" + encodeURIComponent(val));
          } else {
	          params.push(mem + "=" + encodeURIComponent(val));
	      }
        }
      }
    }
  }
  if (params.size() > 0) {
    action += '?' + params.join('&');
  }
  location.href = action;

  return false;
}

/**
 * スポット用検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function spotSearchSubmit(name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}


  searchParams['sname'] = $('sname').value;

  if (searchParams['sname'].length > 0) {
    var keyjoin = "0";
    if (document.getElementsByName('keyjoin')[1].checked) {
      keyjoin = "1";
    }
    searchParams['keyjoin'] = keyjoin;
  } else {
    searchParams['keyjoin'] = "";
  }

  searchSubmit(name, value);

  return false;
}


/**
 * イベント用検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function eventSearchSubmit(name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}

  searchParams['ename'] = $('ename').value;

  if (searchParams['ename'].length > 0) {
    var keyjoin = "0";
    if (document.getElementsByName('keyjoin')[1].checked) {
      keyjoin = "1";
    }
    searchParams['keyjoin'] = keyjoin;
  } else {
    searchParams['keyjoin'] = "";
  }
  searchSubmit(name, value);

  return false;
}

/**
 * 映画タイトル用検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function movieTitleSearchSubmit(id, name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}

  if (name == "area" || name == "stn") {
    searchParams['date'] = "";
  }

  searchParams['title'] = $(id).value;

  searchSubmit(name, value);

  return false;
}

/**
 * 講座検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function lessonSearchSubmit(name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}

  var sysChecked = $A($('f1')['system[]']).findAll(function(element) {
    return element.checked;
  });
  var sysCheckedValues = [];
  for (var i=0; i < sysChecked.size(); i++) {
    sysCheckedValues[i] = sysChecked[i].value;
  }
  searchParams['system'] = sysCheckedValues;

  searchSubmit(name, value);

  return false;
}


/**
 * クーポン用検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function couponSearchSubmit(name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}

  searchParams['keywd'] = $('keywd').value;

  if (searchParams['keywd'].length > 0) {
    var keyjoin = "0";
    if (document.getElementsByName('keytype')[1].checked) {
      keyjoin = "1";
    } else if (document.getElementsByName('keytype')[2].checked) {
      keyjoin = "2";
    }
    searchParams['keytype'] = keyjoin;
  } else {
    searchParams['keytype'] = "";
  }

  var action;
  var category = $('lcate').value;
  if (category == 2) {        action = baseUri + "shopping/coupon/";
  } else if (category == 3) {  action = baseUri + "hotel/coupon/";
  } else if (category == 4) {  action = baseUri + "movie/coupon/";
  } else if (category == 5) {  action = baseUri + "concert/coupon/";
  } else if (category == 6) {  action = baseUri + "stageplay/coupon/";
  } else if (category == 7) {  action = baseUri + "museum/coupon/";
  } else if (category == 8) {  action = baseUri + "amuse/coupon/";
  } else if (category == 9) {  action = baseUri + "beauty/coupon/";
  } else if (category == 10) { action = baseUri + "sports/coupon/";
  } else if (category == 11) { action = baseUri + "events/coupon/";
  } else if (category == 13) { action = baseUri + "school/coupon/";
  } else if (category == 14) { action = baseUri + "life/coupon/";
  } else { action = baseUri + "coupon/";
  }

  searchParams['currentUrl'] = action;

  searchSubmit(name, value);

  return false;
}



/**
 * 特派員用検索項目送信
 *
 * @param  string name
 * @param  mixed  value
 * @return false
 */
function tokuhainSearchSubmit(name, value) {

  if (typeof name =="undefined") {name =  null;}
  if (typeof value =="undefined") {value =  null;}

  searchParams['keywd']   = $('keywd').value;
  searchParams['tarea']   = ($('tarea')) ? $('tarea').value : '';
  searchParams['emotion'] = $('emotion').value;
  searchParams['tcate']   = ($('tcate')) ? $('tcate').value : '';
  searchParams['user']    = $('user').value;
  searchParams['sort']    = $('sort').value;
  searchParams['view']    = $('view').value;

  searchSubmit(name, value);

  return false;
}

