/**
 * javascript for recent
 *
 * @copyright toneri
 */

$(function() {
    
    // get new estate info
    function loadEstate(recents) {
        var json = {};
        
        json = {
        	"recents": recents
        };
        
        // Ajax
        $.ajax({
            type: "POST",
            dataType: "xml",
            data: {"json": $.toJSON(json)},
            cache: false,
            url: "/recent/",
            timeout: 10000,
            beforeSend: function() {
            	$('#recent').empty();
            	$('#recent').append($('<p/>').addClass('loading').append($('<img/>').attr({'src':'/img/ajax-loading.gif', 'width':16, 'height':16, 'alt':'loading'})));
            },
            success: function(xml) {
           		$('#recent').empty();
                var estates = $(xml).find('estate');
                if (estates.length > 0) {
                	estates.each(function() {
	                    var id = $(this).find('id').text();
	                    var title = $(this).find('title').text();
	                    var fname = $(this).find('fname').text();
	                    var price = $(this).find('price').text();
	                    var status = $(this).find('status').text();
	                    
	                    var div = $('<div/>')
	                    		 .append($('<p/>').append($('<a/>').attr('href', '/re/' + id + '/').append($('<img/>').attr({'alt': title, 'src': fname}))))
	                    		 .append($('<p/>').append(title))
	                    		 .append($('<p/>').addClass('price').append(price));
	                    
	                    if (status == '商談中' || status == '成約済') {
	                    	$(div).append($('<p/>').addClass('status').append(status));
	                    }
	                    
	                    $('#recent').append(div);
					});
				} else {
					$('<p/>').addClass('msg').text('履歴がありません。').appendTo($('#recent'));
				}
            },
            error: function() {
                $('#recent').empty();
                $('<p/>').addClass('msg').text('履歴の取得に失敗しました。').appendTo($('#recent'));
            },
            complete: function() {
            }
        });
    }
    
    // set recent view
    function setRecentView() {
    	var url = location.href;
    	var recentArray = new Array();
    	var options = {path: '/', expires: 7};
    	
    	if($.cookie('recents')) {
    		recentArray = $.cookie('recents').split(',');
    	}
    	
    	if (url.match(/\/re\/(\d+)\/?/)) {
    		var id = RegExp.$1;
    		for (var i = 0; i < recentArray.length; i++) {
    			if (recentArray[i] == id) {
    				recentArray.splice(i, 1);
    			}
    		}
    		recentArray.unshift(id);
    		if (recentArray.length > 3) {
    			recentArray = recentArray.slice(0, 3);
    		}
    		$.cookie('recents', recentArray.join(','), options);
    	}
    	
    	if (recentArray.length > 0) {
    		loadEstate(recentArray);
    	}
    }
    
    // init
    $('#recent').append($('<p/>').addClass('msg').text('閲覧履歴を表示'));
    
    setRecentView();
});

