$( function() { if( $( '.favorite' ).length > 0 ) { var fc_string = $.cookie( 'favorite_course' ); var fc_array = []; try { fc_array = JSON.parse( fc_string ); } catch(e) { fc_array = []; } $.each( $( '.favorite' ), function( key, value ) { if( $.inArray( $( value ).data( 'course-id' ), fc_array ) != -1 ) { $( value ).addClass( 'on' ); } } ); } $( '.favorite' ).click( function() { if( $( this ).hasClass( 'on' ) ) { //既にお気に入りになっているものは、削除 var course_id = $( this ).data( 'course-id' ); var logined = $( this ).data( 'logined' ); var fc_string = $.cookie( 'favorite_course' ); var fc_array = []; try { fc_array = JSON.parse( fc_string ); } catch(e) { fc_array = []; } var delete_key = $.inArray( course_id, fc_array ); while( delete_key != -1 ) { fc_array.splice( delete_key, 1 ); delete_key = $.inArray( course_id, fc_array ); } $.cookie( 'favorite_course', JSON.stringify( fc_array ), { expires: 30, path: '/', domain: 'www.app-tour-de-nippon.jp', secure: false } ); $( this ).removeClass( 'on' ); if( logined ) { $.post( 'https://www.app-tour-de-nippon.jp/api/post/deleteFavoriteCourse/', { course_id: course_id } ); } } else { //お気に入りになっていないものは、追加 var course_id = $( this ).data( 'course-id' ); var logined = $( this ).data( 'logined' ); var fc_string = $.cookie( 'favorite_course' ); var fc_array = []; try { fc_array = JSON.parse( fc_string ); } catch(e) { fc_array = []; } fc_array.push( course_id ); $.cookie( 'favorite_course', JSON.stringify( fc_array ), { expires: 30, path: '/', domain: 'www.app-tour-de-nippon.jp', secure: false } ); $( this ).addClass( 'on' ); if( logined ) { $.post( 'https://www.app-tour-de-nippon.jp/api/post/insertFavoriteCourse/', { course_id: course_id } ); } } } ); } );