var COOKIE_NAME = 'akita_mitane_widget';

// jCarouselLite
$(function() {
	$("div.photolist").jCarouselLite({
		visible: 6,
		auto: 4000,
		speed: 2000,
		circular :true
	});
});




// dragbox
$(function(){
    if($('*').is('div#emergency')){
        $('#header p.description').css('top', '365px');
    }
	$('.dragbox')
	.each(function(){
		$(this).hover(function(){
			$(this).find('ul.navigation').addClass('collapse');
		}, function(){
			$(this).find('ul.navigation').removeClass('collapse');
		})
		.find('ul.navigation').hover(function(){
			$(this).find('.configure').css('visibility', 'visible');
		}, function(){
			$(this).find('.configure').css('visibility', 'hidden');
		})
		.find('.tool2').click(function(){
			$(this).closest('ul').siblings('.dragbox-content').toggle();
			/* 最小化の情報をCookieに */
			var cookieArray = getCookieArray($.cookie(COOKIE_NAME));
			for(var i in cookieArray){
				if($(this).closest('div').attr('id') == i){
					if(cookieArray[i]['mini'] == 0){
						cookieArray[i]['mini'] = 1;
					}else{
						cookieArray[i]['mini'] = 0;
					}
				}
			}
			$.cookie(COOKIE_NAME, getCookieValue(cookieArray), {expires:365, path:'/'});
		})
		.end()
		.find('.configure').css('visibility', 'hidden');
	});
	$('.column').sortable({
		connectWith: '.column',
		handle: 'h2',
		cursor: 'move',
		placeholder: 'placeholder',
		forcePlaceholderSize: true,
		opacity: 0.4,
		stop: function(event, ui){
			$(ui.item).find('h2').click();
			var sortorder='';
			$('.column').each(function(){
				var itemorder=$(this).sortable('toArray');
				var columnId=$(this).attr('id');
				sortorder+=columnId+'='+itemorder.toString()+'&';
			});
			//alert('SortOrder: '+sortorder);
			/*Pass sortorder variable to server using ajax to save state*/
		},
		update:function(ev,ui){/*並べ替えられたらCookieに*/
			var cookieArray = getCookieArray($.cookie(COOKIE_NAME));
			var sortArray = $(this).sortable('toArray');
			var cookie = new Array();
			for(var i=0; i<sortArray.length; i++){
				for(var j in cookieArray){
					if(sortArray[i] == j){
						cookie.push(sortArray[i] + '_' + cookieArray[j]['mini'] + '_' + cookieArray[j]['close']);
					}
				}
			}
			
			$.cookie(COOKIE_NAME, cookie.join(','), {expires:365, path:'/'});
		}
	})
	.disableSelection();
	
	if($.cookie(COOKIE_NAME)){/* 読み込み時にCookieがあれば */
		/* Cookieの順番に並べ替え */
		var cookieArray = getCookieArray($.cookie(COOKIE_NAME));
		for(var i in cookieArray){
			$('#'+i).appendTo('.column');
			if(cookieArray[i]['mini'] == 1){
				$('#'+i).find('.dragbox-content').toggle();
			}
			if(cookieArray[i]['close'] == 1){
			
			}
		}
	}else{/* Cookieの初期化 */
		var sortArray = $('.column').sortable('toArray');
		var cookie;
		cookie = sortArray.join(',');
		cookie = cookie.replace(/(item[\d]+)/g, '$1_0_0');
		$.cookie(COOKIE_NAME, cookie, {expires:365, path:'/'});
	}
});

// tooltip
$(function(){
    $("div.photolist li a[title]").tooltip({ position: "center right", offset: [40, -200], tipClass: 'tooltip'});
});


/******************************************************************************
 * itemI    = ダイアログのID
 * mini = 最小化の情報(0=表示,1=非表示)
 * close    = 閉じるの情報(0=表示,1=非表示)
 ******************************************************************************/
/******************************************************************************
 * param string, return Array
 * itemI_J_K, ...のCookieStringを以下の連想配列にして返す。
 * {itemI:{mini:J, close:K}, ...}
 ******************************************************************************/
function getCookieArray(cookieValue){
	var returnArray = {};
	var array = cookieValue.split(',');
	for(var i=0; i<array.length; i++){
		data = array[i].split('_');
		returnArray[data[0]] = {mini:data[1], close:data[2]};
	}
	return returnArray;
}
/******************************************************************************
 * param Array, return string
 * {itemI:{mini:J, close:K}, ...}の連想配列を以下のCookieStringにして返す。
 * itemI_J_K, ...
 ******************************************************************************/
function getCookieValue(cookieArray){
	var array = new Array();
	for(var i in cookieArray){
		array.push(i + '_' + cookieArray[i]['mini'] + '_' + cookieArray[i]['close']);
	}
	return array.join(',');
}
