var area,searchword,currentPage,lat,lng,submittype,strongOrder,addressCol,shopCol,region;

/*
 *
 * フリーワード時の処理
 *
 *
 *
 */

// geocoder を使って、フリー検索のキーワードから位置情報を取得
function getData() {

    searchword = $("input[@name=searchword]").val();
    area = $("input[@name=area]:checked").val();

    var  geocoder = new GClientGeocoder();
    geocoder.getLatLng(
        searchword,
        getData_callback
        );
}

function getData_callback(point){
    if (!point) {
        alert("検索ボックスが空白であるか、または、キーワードに対応する場所を見つけることができませんでした。");
    } else {

        submittype = "free";
        lat = point.lat();
        lng = point.lng();
        currentPage = 1;
        strongOrder = "shopname";
        shopCol = "asc";
        addressCol = "asc";
        free_show(currentPage);

        return false;

    }
}

//フリーワード検索のためのデータを introduction_list_show.php に渡して、その結果を displayData ファンクションに渡す。
function free_show(){

    submittype = "free";
    detail_clear();

    var data = $.ajax({
        type: "POST",
        url: "../include/introduction_list_show.php" ,
        async: false ,
        data: {
            "submittype": submittype ,
            "lat": lat,
            "lng": lng,
            "area": area,
            "searchword": searchword ,
            "perPage": $("input[@name=perPage_free]:checked").val() ,
            "pageID": currentPage ,
            "address_col": addressCol ,
            "shop_col": shopCol ,
            "strong_order": strongOrder


        }
    }).responseText;

    displayData(data);

    return false;
}

/*
 *
 * 住所時の処理
 *
 *
 *
 */

//「店名、住所で検索」ボタンが押された場合の処理の入り口
function detail_show_first(){

    strongOrder = "shopname";
    shopCol = "asc";
    addressCol = "asc";
    currentPage = 1;
    
    detail_show();

}

//住所、店名検索のためのデータを introduction_list_show.php に渡して、その結果を displayData ファンクションに渡す。
function detail_show() {
    submittype = "detail";

    free_clear();

    var data = $.ajax({
        type: "POST",
        url: "../include/introduction_list_show.php" ,
        async: false ,
        data: {
            "submittype": submittype,
            "pref":$("select[@name=pref] option:selected").val(),
            "address": $("input[@name=address]").val(),
            "shopname": $("input[@name=shopname]").val(),
            "zip": $("input[@name=zip]").val(),
            "couponflg":$("input[@name='couponflg']:checked").val(),
            "perPage": $("input[@name=perPage_detail]:checked").val() ,
            "pageID": currentPage ,
            "address_col": addressCol ,
            "shop_col": shopCol ,
            "strong_order": strongOrder

        }
    }).responseText;

    displayData(data);

    return false;
}



/*
 *
 * Indexから飛んできた場合
 *
 *
 *
 *
 *
 */

//GETに地区のパラメータがあった場合の処理の入り口
function area_show_first(){

    region = $("input[@name=region]").val();

    if( region == "hoku" || region == "touhoku" || region == "kantou" || region == "toukai" || region == "hokuriku"
        || region == "kansai" || region == "chugoku" || region == "shikoku" || region == "kyusyu" ){

        strongOrder = "shopname";
        shopCol = "asc";
        addressCol = "asc";
        currentPage = 1;
        area_show();

    }

}

//地区検索のためのデータを introduction_list_show.php に渡して、その結果を displayData ファンクションに渡す。
function area_show() {

	submittype = "area";

    free_clear();

    var data = $.ajax({
        type: "POST",
        url: "../include/introduction_list_show.php" ,
        async: false ,
        data: {
            "submittype": submittype ,
            "region": $("input[@name=region]").val(),
            "couponflg":$("input[@name='couponflg']:checked").val(),
            "perPage": $("input[@name=perPage_detail]:checked").val() ,
            "pageID": currentPage ,
            "address_col": addressCol ,
            "shop_col": shopCol ,
            "strong_order": strongOrder

        }
    }).responseText;

    displayData(data);

    return false;
}


/*
 *
 * ソートロジック
 *
 *
 *
 *
 *
 */

//店名、住所の並び替えを行う
function col_change(colname){

    if(colname == "address"){
        strongOrder = "address";
        if(addressCol == "asc"){
            addressCol = "desc";
        }else{
            addressCol = "asc";
        }

    }else if(colname == "shopname"){
        strongOrder = "shopname";
        if(shopCol == "asc"){
            shopCol = "desc";
        }else{
            shopCol = "asc";
        }
    }

    if(submittype == "free"){
        free_show();
    }

    if(submittype == "detail"){
        detail_show() ;

    }
    if(submittype == "area"){
        area_show() ;
    }
}

//ページングを行う
function page_show(pageID) {

    currentPage = pageID;
    if(submittype == "free"){

        free_show();
    }

    if(submittype == "detail"){
        detail_show() ;

    }
    if(submittype == "area"){
        area_show() ;
    }
}


/*
 *
 * 共通
 *
 */

//phpから渡されたデータを表示する。
function displayData(data) {

    $("#listData").html(data);

}

//住所、店名で検索のフォームを初期化
function detail_clear(){
    $("select[@name=pref]").val([""]);
    $("input[@name=address]").val("");
    $("input[@name=shopname]").val("");
    $("input[@name=zip]").val("");
    $("input[@name=perPage_detail]").val(["20"]);
}

//フリー検索のテキストボックス、ラジオボタンなどを初期状態に戻す
function free_clear(){
    searchword = null ;
    area = null ;
    $("input[@name=searchword]").val("") ;
    $("input[@name=perPage_free]").val(["20"]);
    $("input[@name=area]").val(["3000"]);

}


//
function keyCheck(keycode){

    if(keycode == 13){
        getData();
    }

}