/* background fit
-----------------------------------------------------------*/
function backgroundAdjuster() {
	$(window).load(backgroundfitHandler);
	$(window).scroll(backgroundfitHandler);
	$(window).resize(backgroundfitHandler);
}
function backgroundfitHandler() {

	var posiY;

	if ($(window).height() < 1000) {
		posiY = $(window).scrollTop() + $(window).height() - 1000;
	}
	else if ($("#pagebody").height() < 1000) {
		posiY = $(window).scrollTop() + $("#pagebody").height() - 1000;
	}
	else {
		posiY = $(window).scrollTop();
	}

	$("#pagebody").css({ background:"url(/store/user_data/packages/cfjapon/common/pagebody_bg.gif) no-repeat 0 " + posiY + "px" });
}

/* accordion
-----------------------------------------------------------*/
function accordion(k, t) {
	$(t).hide();
	$(k).click(function() {	
		if (navigator.userAgent.indexOf("MSIE 6") > -1) {
			$(t).toggle();
		}
		else {
			$(t).slideToggle(500, "easeInOutCirc");
		}
		$(k).toggleClass("open");
		return false;
	});
}
function accordionOpened(k, t) {
	$(t).show();
	$(k).addClass("open");
}

/* image preview
-----------------------------------------------------------*/
var target;
var hoverclass;
function preview(t, h) {
	target = "." + t;
	hoverclass = h;
	$(target).hover(previewOverHandler, previewOutHandler);
	$(target).click(pageOpenHandler);
}
function previewOverHandler() {
	$(this).addClass(hoverclass);
}
function previewOutHandler() {
	$(this).removeClass(hoverclass);
}
function pageOpenHandler() {
	window.location.href = $("a", $(this)).attr("href");
}

/* image zoom
-----------------------------------------------------------*/
var intervalID;
var zoomMask = $(document.createElement("div"));
var zoomBase = $(document.createElement("div"));
var zoomImage = $(document.createElement("img"));
var zoomLoad = $(document.createElement("img"));

function imagezoom(t) {

	zoomLoad.attr("src", "/store/user_data/packages/cfjapon/common/ic_loader.gif");

	$(t).parent().parent().bind("click", zoomHandler);
	$(t).parent().parent().hover(zoomRollOverHandler, zoomRollOutHander);
}

function zoomHandler() {

	var w = $(window).width();
	var h = $(window).height();
	var t = $(window).scrollTop();
	var l = $(window).scrollLeft();
	if (navigator.userAgent.indexOf("Version/3.") > -1 && navigator.userAgent.indexOf("Safari") > -1) {
		h = window.innerHeight;
	}

	$("a", this).blur();
	$("select").hide();

	zoomImage.attr({"src":$("a", this).attr("href"), "title":"Click to Close"});

	$("body").append(zoomMask);
	$("body").append(zoomBase);
	zoomBase.append(zoomLoad);

	zoomMask.css({ cursor:"pointer", opacity:0.5, position:"absolute", top:t, left:l, width:w, height:h, zIndex:100, margin:0, padding:0, border:0, background:"#fff" });
	zoomBase.css({ cursor:"pointer", opacity:1.0, position:"absolute", top:t + h / 2 - zoomLoad.height() / 2, left:l + w / 2 - zoomLoad.width() / 2, width:zoomLoad.width(), height:zoomLoad.height(), zIndex:200, padding:3, background:"#d2d2d7" });

	$(window).bind("scroll", zoomAdjustHandler);
	$(window).bind("resize", zoomAdjustHandler);

	intervalID = setInterval(zoomImageLoadHandler, 1000);

	return false;
}

function zoomImageLoadHandler() {

	clearInterval(intervalID);

	zoomLoad.remove();
	zoomBase.append(zoomImage);

	var w = $(window).width();
	var h = $(window).height();
	var t = $(window).scrollTop();
	var l = $(window).scrollLeft();
	if (navigator.userAgent.indexOf("Version/3.") > -1 && navigator.userAgent.indexOf("Safari") > -1) {
		h = window.innerHeight;
	}

	var imageW = zoomImage.width();
	var imageH = zoomImage.height();

	zoomImage.css({ opacity:0, background:"#d2d2d7" });	
	zoomBase.animate({ top:t + h / 2 - imageH / 2, left:l + w / 2 - imageW / 2, width:imageW, height:imageH }, 500, "easeInOutCirc", zoomImageOpenHandler);
}

function zoomImageOpenHandler() {
	zoomImage.animate({ opacity:1 }, 250, "easeInOutCirc", function() {
		zoomMask.bind("click", zoomRemoveHandler);
		zoomBase.bind("click", zoomRemoveHandler);
		zoomImage.hover(zoomImageRollOverHander, zoomImageRollOutHandler);
	});	
}

function zoomAdjustHandler() {

	var w = $(window).width();
	var h = $(window).height();
	var t = $(window).scrollTop();
	var l = $(window).scrollLeft();
	if (navigator.userAgent.indexOf("Version/3.") > -1 && navigator.userAgent.indexOf("Safari") > -1) {
		h = window.innerHeight;
	}

	zoomMask.css({ top:t, left:l, width:w, height:h });
	zoomBase.css({ top:t + h / 2 - zoomBase.height() / 2, left:l + w / 2 - zoomBase.width() / 2 });
}

function zoomRemoveHandler() {

	var w = $(window).width();
	var h = $(window).height();
	var t = $(window).scrollTop();
	var l = $(window).scrollLeft();
	if (navigator.userAgent.indexOf("Version/3.") > -1 && navigator.userAgent.indexOf("Safari") > -1) {
		h = window.innerHeight;
	}


	$(window).unbind("scroll", zoomAdjustHandler);
	$(window).unbind("resize", zoomAdjustHandler);
	
	zoomMask.unbind("click", zoomRemoveHandler);
	zoomBase.unbind("click", zoomRemoveHandler);

	zoomLoad.remove();
	zoomImage.remove();

	zoomMask.animate({ opacity:0 }, 500, "easeInOutCirc", function() {
		zoomMask.remove();	
	});
	
	zoomBase.css({ background:"#d2d2d7" });
	zoomBase.animate({ opacity:0, top:t + h / 2 - zoomImage.height() / 2, left:l + w / 2 - zoomImage.width() / 2, width:0, height:0 }, 500, "easeInOutCirc", function() {
		zoomBase.remove();
		$("select").show();
	});
}

function zoomImageRollOverHander() {
	zoomBase.css({ background:"#b45f78" });
}
function zoomImageRollOutHandler() {
	zoomBase.css({ background:"#d2d2d7" });
}
function zoomRollOverHandler() {	
	$(this).css({ cursor:"pointer", color:"#b45f78", borderColor:"#b45f78" });
}
function zoomRollOutHander() {
	$(this).css({ color:"#1e1e28", borderColor:"#d2d2d7" });
}

/* pageSlider
-----------------------------------------------------------*/
function pageSlider(t, s, e) {
	var targetOffset = $(t).offset().top;
	$("html, body").animate({scrollTop: targetOffset}, s, e);
}

