$(function() {
$(document).ready(function () {
function post(form,access){
form.addClass("loading");
var params = form.serialize();
$.ajax({
type: "POST",
url: "http://yabushita-reisetsu.co.jp/elements_php_form/ajax_post.php",
data: params + "&access=" + access,
dataType: "json"
}).done(function(data_json) {
console.log("done");
console.log(data_json);
var form_id = data_json.form_id;
var form_elm = data_json.form_elm;
var elm_body = data_json.elm_body;
var status = data_json.status;
form.empty();
form.append(form_elm);
if( elm_body != "" ){
$("body > #wrapper > #container").append(elm_body);
var target = $("body > #wrapper > #container").children("."+form_id);
target.delay(100).queue(function(){
$(this).addClass("show").dequeue();
});
target.delay(4000).queue(function(){
$(this).removeClass("show").dequeue();
});
target.delay(3000).queue(function(){
$(this).remove().dequeue();
});
}
setTimeout(
function(){
form.removeClass("loading");
if( status == "err" ){
move_err(form);
}
if( status == "success" ){
move_form_top(form);
if( form_id == "account_login" ){
reflesh("login");
}
}
}
, 100);
}).fail(function(data_json) {
console.log("fail");
location.reload(true);
setTimeout(
function(){
form.removeClass("loading");
}
, 100);
});
}
function form_switch(form,switch_to){
form.addClass("loading");
var params = form.serialize();
$.ajax({
type: "POST",
url: "http://yabushita-reisetsu.co.jp/elements_php_form/ajax_form_switch.php",
data: params + "&switch_to=" + switch_to,
dataType: "json"
}).done(function(data_json) {
console.log("done");
console.log(data_json);
var form_elm = data_json.form_elm;
var status = data_json.status;
form.empty();
form.append(form_elm);
setTimeout(
function(){
form.removeClass("loading");
if( status == "err" ){
move_err(form);
}
if( status == "success" ){
move_form_top(form);
}
}
, 100);
}).fail(function(data_json) {
console.log("fail");
setTimeout(
function(){
form.removeClass("loading");
}
, 100);
});
}
function reflesh(key){
var id = $("#container > div#base > article").attr("id");
if( id == "root" ){
id = "";
}
var href = "http://yabushita-reisetsu.co.jp/"+id;
if( typeof ajax_request != "undefined" ){
ajax_request.abort();
}
ajax_request = $.ajax({
url: href,
dataType: "html",
}).done(function(ajax_data) {
var get_article_elm = $('#container > div#base > article', $('
').prepend(ajax_data));
$("#container > div#base > article").remove();
$("#container > div#base").prepend(get_article_elm);
var get_navi_elm = $('#navi', $('
').prepend(ajax_data));
$("#navi").empty();
$("#navi").prepend(get_navi_elm);
$("#container > div#base > article").addClass("ajax");
setTimeout(
function(){
if( key == "login" ){
$("#wrapper").addClass("logged_in");
}
if( key == "logout" ){
$("#wrapper").removeClass("logged_in");
}
}
, 10);
setTimeout(
function(){
var scrollto_val = 0;
scrollto(scrollto_val);
img_load();
}
, 100);
}).fail(function(data_json) {
console.log("fail");
});
}
function logout(){
$.ajax({
type: "POST",
url: "http://yabushita-reisetsu.co.jp/elements_php_form/ajax_logout.php",
dataType: "json"
}).done(function(data_json) {
console.log("done");
console.log(data_json);
var elm_body = data_json.elm_body;
var status = data_json.status;
if( elm_body != "" ){
$("body > #wrapper > #container").append(elm_body);
var target = $("body > #wrapper > #container > .mes.session.complete.popup.logout");
target.delay(100).queue(function(){
$(this).addClass("show").dequeue();
});
target.delay(4000).queue(function(){
$(this).removeClass("show").dequeue();
});
target.delay(3000).queue(function(){
$(this).remove().dequeue();
});
}
reflesh("logout");
}).fail(function(data_json) {
console.log("fail");
});
}
$(document).on("click", "form.nisor:not(.loading) input.submit", function(){
post( $(this).closest('form.nisor'), "submit" );
return false;
});
$(document).on("keydown", "form.nisor:not(.loading) input", function(e) {
if ( e.which == 13 ) {
post( $(this).closest('form.nisor'), "submit" );
return false;
}
});
$(document).on("click", "form.nisor:not(.loading) div.return", function(){
post( $(this).closest('form.nisor'), "return" );
return false;
});
$(document).on("click", "form.nisor:not(.loading) .form_switch", function(){
var switch_to = $(this).attr("data-form_switch");
form_switch( $(this).closest('form.nisor'), switch_to );
return false;
});
$(document).on("click", "div#navi > nav > ul li.class_logout .menu_btn", function(){
logout();
return false;
});
$(document).on("keyup", "form.nisor:not(.loading) input[data-input_type='postcode']", function(e) {
var val = $(this).val().replace( "-", "" );
var str_length = val.length;
var input_id_base = $(this).attr("id").replace("address_postcode","");
if( str_length == 7 ){
var important = $(this).attr("data-important");
postcode_input(val,important,input_id_base);
}
});
function scrollto(val){
$('#container > div#base').stop().animate({
scrollTop: val
}, 1000, "easeOutQuint",function(){
});
}
function move_err(form){
if( form.find(".form_row.err")[0] ){
var target = form.find(".form_row.err").first();
var scroll_val = target.position().top + form.position().top - 100;
scrollto(scroll_val);
}
}
function move_form_top(form){
if( form[0] ){
var target = form;
var scroll_val = form.position().top - 100;
scrollto(scroll_val);
}
}
$(document).on("click", "div.modal > div.overlay, div.modal > div.inner > div.close, div.modal > div.inner > a, #wrapper > div.modal > div.inner > div.inline_scroll > div.content a", function(){
var target = $(this).closest(".modal");
target.addClass("fadeout");
setTimeout(
function(){
target.removeClass("active fadeout");
}
, 500);
});
function stringZentohan(data){
data.replace(/[A-Za-z0-9]/g, function(s) {
return String.fromCharCode(s.charCodeAt(0) - 0xFEE0);
});
return data;
}
function postcard_format(zip){
return zip.substr(0, 3)+'-'+zip.substr(3);
}
function postcode_input(val,important,input_id_base){
var zip = stringZentohan(val);
var important_arr = important.split('/');
var key_postcode = important_arr[0];
var key_state = important_arr[1];
var key_city = important_arr[2];
// var url = 'https://api.zipaddress.net?callback=?';
// var query = {'zipcode': zip};
// $.getJSON(url, query, function(json){
// $('#'+input_id_base+key_postcode).val(postcard_format(zip));
// $('#'+input_id_base+key_state).val(json.pref);
// $('#'+input_id_base+key_city).val(json.address);
// });
var url = 'http://yabushita-reisetsu.co.jp/process/api/zipcode?code=';
var query = {'zipcode': zip};
console.log(url+zip);
$.getJSON(url+zip, function(json){
console.log(json);
if( json.results != null ){
$('#'+input_id_base+key_postcode).val(postcard_format(zip));
$('#'+input_id_base+key_state).val(json.results[0].address1);
$('#'+input_id_base+key_city).val(json.results[0].address2+json.results[0].address3);
}
});
}
function img_load(){
$("img.preload:not('.loaded')").each(function(){
$(this).imagesLoaded(function(){
$(this).addClass("loaded");
});
});
}
});
});