var opc = 0.8;
var currentPickup = 0;
var lockFlag = true;
var intervalID;

//ピックアップの表示時間（1/1000秒単位）
var pickupTime = 5000;


jQuery.easing.def = "easeOutQuart";

/*======================================================

ドキュメント読み込み後の処理

======================================================*/
$(document).ready(function(){
	$('a').focus(function(e){
		this.blur();
	});
	
	//Information用MXLを読み込み
	$.ajax({
		url: 'information.xml',
		type: 'GET',
		dataType: 'xml',
		timeout: 1000,
		error: function(){
			alert("Information用xmlファイルの読み込みに失敗しました");
		},
		success: parseInfo
	});

	//Pickup用MXLを読み込み
	$.ajax({
		url: 'pickup.xml',
		type: 'GET',
		dataType: 'xml',
		timeout: 1000,
		error: function(){
			alert("Pickup用xmlファイルの読み込みに失敗しました");
		},
		success: startPickup
	});

	//Staff用MXLを読み込み
	$.ajax({
		url: 'staff.xml',
		type: 'GET',
		dataType: 'xml',
		timeout: 1000,
		error: function(){
			alert("Pickup用xmlファイルの読み込みに失敗しました");
		},
		success: parseStaff
	});

});

/*======================================================

新着情報をパース

======================================================*/
//表示するInformationの最大数
var maxInfo=5;

function parseInfo(xml,status){
    if(status!='success')return;
	$('div#information div').html("<table></table>");
	$(xml).find('info').each(function(n){
		if(n>=maxInfo){
			return false;
		}
		var title=$(this).children('infotitle').text();
		var dt=$(this).children('date').text();
		var url=$(this).children('url').text();
		var info=$(this).children('info').text();
		if(url){
			$('div#information table').append('<tr><th>' +dt + '</th><td><a href="'+url+'">' + title + '</a></td></tr>');
		}else{
			$('div#information table').append('<tr><th>' + dt + '</th><td>' + title + '</td></tr>');
		}
	});
}


/*======================================================

日付を変換

======================================================*/
function dateParse(str){
    var objDate = new Date(str);
    var nowDate = new Date();
	var newMsg = '';
    var year = objDate.getFullYear();
    var month = objDate.getMonth() + 1;
    var date = objDate.getDate();
    if ( month < 10 ) { month = "0" + month; }
    if ( date < 10 ) { date = "0" + date; }
    str = year + '.' + month + '.' + date;
    rtnValue = new Array(2);
    rtnValue[0] = str;
    rtnValue[1] = newMsg;
	str=str.substr(2);
    return str;
}

/*======================================================

ピックアップをパース

======================================================*/
function startPickup(xml,status){
    if(status!='success')return;
	var preloadimages = new Array();
	var loaded = 0;
	$(xml).find('item').each(function(n){
		preloadimages[n] = new Image();
		preloadimages[n].src = 'pickup_images/'+$(this).children('mainphoto').text();
		preloadimages[n].onload =function(){
			loaded++;
			if(loaded>=10){
				$('ul#pickupMain').html('');
				parsePickup(xml,status);
			}
		}
	});
}
function parsePickup(xml,status){
	$(xml).find('item').each(function(n){
		if(n>=10){
			return false;
		}
		var title=$(this).children('itemtitle').text();
		var url=$(this).children('url').text();
		var shop=$(this).children('shop').text();
		var price=addComma($(this).children('price').text());
		var note=$(this).children('note').text();
		var photo=$(this).children('mainphoto').text();
		var thumb=$(this).children('subphoto').text();
		if(note.length>130){
			note = note.substring(-1,130)+'...';
		}

		$('ul#pickupMain').append('<li></li>');
		if(url==""){
			$('ul#pickupMain li').eq(n).append('<div class="puPhoto"><img src="pickup_images/'+photo+'" alt="" /></div>');
		}else{
			$('ul#pickupMain li').eq(n).append('<div class="puPhoto"><a href="'+url+'"><img src="pickup_images/'+photo+'" alt="" /></a></div>');
		}
		$('ul#pickupMain li').eq(n).append('<dl><dt></dt><dd></dd></dl>');
		$('ul#pickupMain li').eq(n).append('<div class="puDetail"><a href="#"><img src="top_images/btn_detail.gif" alt="Detail" width="50" height="15" /></a></div>');

		if(url==""){
			$('ul#pickupMain dt').eq(n).html(title+'［￥'+price+'］<span> - '+shop+'</span>');
		}else{
			$('ul#pickupMain dt').eq(n).html('<a href="'+url+'">'+title+'</a>［￥'+price+'］<span> - '+shop+'</span>');
		}
		$('ul#pickupMain dd').eq(n).html(note);
		
		if(url){
			$('ul#pickupMain div.puDetail a').eq(n).attr('href',url);
		}else{
			$('ul#pickupMain div.puDetail').eq(n).css('display','none');
		}
	});
	intervalID=setInterval('pickupSlide('+(currentPickup+1)+')', pickupTime);
	lockFlag=false;
}

/*======================================================

スタッフ情報をパース

======================================================*/
function parseStaff(xml,status){
    if(status!='success')return;

		var staffname=$(xml).find('staffname').text();
		var blogurl=$(xml).find('blogurl').text();
		var profileurl=$(xml).find('profileurl').text();
		var recurl=$(xml).find('recurl').text();
		var rectitle=$(xml).find('rectitle').text();
		var recitemurl=$(xml).find('recitemurl').text();
		var recnote=$(xml).find('recnote').text();
		var staffphoto=$(xml).find('staffphoto').text();
		var recphoto=$(xml).find('recphoto').text();
		if(recnote.length>40){
			recnote = recnote.substring(-1,40)+'...';
		}

	$('div#staffinfo div.saffPhoto img').attr('src','pickup_images/'+staffphoto);
	$('div#staffinfo p.saffName').eq(0).html(staffname);
	$('div#staffinfo ul li.stProfile a').attr('href',profileurl);
	$('div#staffinfo ul li.stBlog a').attr('href',blogurl);
	$('div#staffinfo ul li.stRec a').attr('href',recurl);
	$('div.recInfo div.recPhoto').eq(0).html('<a href="'+recitemurl+'"><img src="pickup_images/'+recphoto+'" alt="" width="60" height="60" /></a>');
	//$('div.recInfo div.recPhoto img').attr('src','pickup_images/'+recphoto);
	$('div.recInfo dt').html('<a href="'+recitemurl+'">'+rectitle+'</a>');
	$('div.recInfo dd').html(recnote);
	$('div.recInfo dd').append('<div class="recDetail"><a href="'+recitemurl+'"><img src="top_images/btn_detail.gif" alt="" width="50" height="15" /></a></div>');
}


/*======================================================

ピックアップ情報のスライド

======================================================*/

function pickupSlide(n,elm){
	clearInterval(intervalID);
	if(lockFlag){
		return
	}
	lockFlag=true;
	$('ul#thumbnail li').removeClass('active');
	$('ul#pickupMain').animate({ 
		marginLeft: 640*n*-1
	}, 800, "easeOutQuart",function(){
		currentPickup=n;
		$('ul#thumbnail li:eq('+currentPickup+')').addClass('active');
		lockFlag=false;
		if(currentPickup>=9){
			intervalID=setInterval('pickupSlide(0)', pickupTime);
		}else{
			intervalID=setInterval('pickupSlide('+(currentPickup+1)+')', pickupTime);
		}
	});
}


/*======================================================

数値の位取り

======================================================*/
function addComma(value){
    var i;
    for(i = 0; i < value.length/3; i++){
        value = value.replace(/^([+-]?\d+)(\d\d\d)/,"$1,$2");
    }
    return value;
}



/*======================================================

Google AJAX Feed API

======================================================*/
google.load("feeds", "1");
 
function initialize() {
	var feed = new google.feeds.Feed("http://casagucca.blog96.fc2.com/?xml");
	feed.setNumEntries(4);
	feed.load(function(result) {
		if (!result.error) {
			$('div#blogEntries div').html("<table></table>");
			var container = document.getElementById("feed");
			for (var i = 0; i < result.feed.entries.length; i++) {
				var entry = result.feed.entries[i];
				var dt=dateParse(entry.publishedDate);
				$('div #blogEntries table').append('<tr><th>' +dt + '</th><td><a href="'+entry.link+'">' + entry.title + '</td></tr>');
			}
		}
	});
}
google.setOnLoadCallback(initialize);

