/* +----------------------------------------------------------------------------------------------+
' |  °¡Å°¹Ù±¸´Ï¢â 1.0 - Ajax Àå¹Ù±¸´Ï Å¬·¡½º
' +----------------------------------------------------------------------------------------------+*/
var Gaki_minicate_area = "minicate_area"; // »óÇ°À» µå·¡±×ÇØ ³ÖÀ» Ä«Å×°í¸® ¿µ¿ªÀÇ ID

var currentGaki = "";
var cartstatus=0;

GakiCate = function (pno, obj, ev) {
	var ev = (window.event) ? window.event : ev;

	this.removeGaki(ev); // ÀÌ¹Ì »ý¼ºµÈ °¡Å°¹Ù±¸´Ï¢â°¡ ÀÖÀ»°æ¿ì Á¦°Å
	currentGaki = this

	// »õ·Î¿î µ¥ÀÌÅÍ Á¤ÀÇ
	this.pno = pno;
	this.img = obj.src;

	this.gakibody = document.createElement("DIV");
	this.gakibody.id = "aragaki_yui";
	this.gakibody.innerHTML = "<img src='"+this.img+"' width='40px' onmousedown='return false'>";
	this.gakibody.style.position = "absolute";
	this.gakibody.style.filter = "alpha(opacity=60)";
	this.gakibody.style.opacity = .6;
	this.gakibody.style.zIndex = 100;
	this.gakibody.style.left = (ev.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft)+5)+"px";
	this.gakibody.style.top = (ev.clientY + (document.body.scrollTop || document.documentElement.scrollTop)+5)+"px";
	
	// IE Only
	addEvent (document.documentElement, "dragstart", function () { return false });
	addEvent (document.documentElement, "selectstart", function () { return false });

	var This = this;
	addEvent (document.documentElement, "mouseup", removeModule);
	addEvent (document.documentElement, "mousemove", moveModule );

	document.body.appendChild(this.gakibody);
	document.body.style.cursor = "move";

	return false;
}

function removeModule(ev) {
	currentGaki.removeGaki(ev);
}

function moveModule(ev) {
	currentGaki.moveGaki(event);
}

// Å¬·¡½º Á¾·á ÀÌº¥Æ®
GakiCate.prototype.removeGaki = function(ev) {

	var ev = (window.event) ? window.event : ev;
	var gaki = document.getElementById ("aragaki_yui");

	if (gaki) {
		document.body.removeChild(gaki);
		document.body.style.cursor = "";

		removeEvent (document.documentElement, "dragstart", function () { return false });
		removeEvent (document.documentElement, "selectstart", function () { return false });

		removeEvent (document.documentElement, "mouseup", removeModule);
		removeEvent (document.documentElement, "mousemove", moveModule);

		if (cartstatus > 0) this.runGaki(cartstatus, ev);
	}

	return;
}

// ¾ÆÀÌÄÜ ÀÌµ¿ ÄÁÆ®·Ñ
GakiCate.prototype.moveGaki = function(ev) {
	var ev = (window.event) ? window.event : ev;
	this.gakibody.style.left = (ev.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft)+5)+"px";
	this.gakibody.style.top = (ev.clientY + (document.body.scrollTop || document.documentElement.scrollTop)+5)+"px";
}

// ½ÇÇà ºÐ±â
GakiCate.prototype.runGaki = function(status, ev) {
	switch (status) {
		case 1 : // Àå¹Ù±¸´Ï ³Ö±â
			this.optionGaki(ev);
			break;
			// Â÷ÈÄ ´Ù¾çÇÑ ±â´É Ãß°¡
	}
}

// ajax ·Î ¿É¼Ç ¼±ÅÃÃ¢ ¶ç¿ì±â
GakiCate.prototype.optionGaki = function(ev) {
	var gakiWin = document.getElementById("gakiWin");
	if (gakiWin)	 document.body.removeChild(gakiWin);

	this.gakiWin = document.createElement("DIV");
	this.gakiWin.id = "gakiWin";
	this.gakiWin.style.position = "absolute";
	this.gakiWin.style.zIndex = 101;
	this.gakiWin.style.border = "solid 1px #ccc";
	this.gakiWin.style.backgroundColor = "#fff";

	this.gakiWin.innerHTML = getHttpRequest(root_url+"/_include/ajax/cart_option.php?pno="+this.pno);
	
	document.body.appendChild(this.gakiWin);

	this.gakiWin.style.left = (ev.clientX + (document.body.scrollLeft || document.documentElement.scrollLeft)-(this.gakiWin.offsetWidth-20))+"px";
	this.gakiWin.style.top = (ev.clientY + (document.body.scrollTop || document.documentElement.scrollTop)-(this.gakiWin.offsetHeight/2))+"px";
}


/* +----------------------------------------------------------------------------------------------+
' |  Non-class Common Function
' +----------------------------------------------------------------------------------------------+*/
function wincloseGaki() {
	var gakiWin = document.getElementById("gakiWin");
	if (gakiWin)	 document.body.removeChild(gakiWin);	
}

function cateReloadGaki(gakipage) {
	wincloseGaki();

	if (!gakipage) gakipage = "";
	var cateContents = getHttpRequest(root_url+"/_include/ajax/mini_cart.php?gakipage="+gakipage);
	var minicate_area = document.getElementById(Gaki_minicate_area);

	if (minicate_area){
		minicate_area.innerHTML = cateContents;
	}
}

function wishReloadGaki(gakiwish) {
	if (!gakiwish) gakiwish = "";
	var cateContents = getHttpRequest(root_url+"/_include/ajax/mini_wish.php?gakiwish="+gakiwish);
	var miniwish_area = document.getElementById("miniwish_area");

	if (miniwish_area){
		miniwish_area.innerHTML = cateContents;
	}
}


/* +----------------------------------------------------------------------------------------------+
' |  °øÅë JS
' +----------------------------------------------------------------------------------------------+*/
function addEvent(object, event ,listener) {
	if (object.addEventListener) object.addEventListener (event, listener, false); 
	else if (object.attachEvent) object.attachEvent ('on' + event, listener); 
}

function removeEvent (object, event ,listener) {
	if (object.addEventListener) object.removeEventListener (event, listener, false); 
	else if (object.attachEvent) object.detachEvent ('on' + event, listener); 
}