/* This function is used to set cookies */
function setCookie(name,value,expires,path,domain,secure) {
  document.cookie = name + "=" + escape (value) +
    ((expires) ? "; expires=" + expires.toGMTString() : "") +
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : "");
}

/* This function is used to get cookies */
function getCookie(name) {
	var prefix = name + "=" 
	var start = document.cookie.indexOf(prefix) 

	if (start==-1) {
		return null;
	}
	
	var end = document.cookie.indexOf(";", start+prefix.length) 
	if (end==-1) {
		end=document.cookie.length;
	}

	var value=document.cookie.substring(start+prefix.length, end) 
	return unescape(value);
}

/* This function is used to delete cookies */
function deleteCookie(name,path,domain) {
  if (getCookie(name)) {
    document.cookie = name + "=" +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function rememberUser(theForm) {
    var expires = new Date();
    expires.setTime(expires.getTime() + 24 * 365 * 60 * 60 * 1000); // sets it for approx 365 days.
    // sets it for entire domain, so freeroller will remember for all users
    setCookie("commentAuthor",theForm.name.value,expires,"/"); 
    setCookie("commentEmail",theForm.email.value,expires,"/");
    setCookie("commentUrl",theForm.url.value,expires,"/");
}

function forgetUser(theForm) {
    deleteCookie("commentAuthor","/");
    deleteCookie("commentEmail","/");
    deleteCookie("commentUrl","/");
}

/* This function is used to show/hide elements with a display:none style attribute */ 
function toggle(targetId) {
    if (document.getElementById) {
        target = document.getElementById(targetId);
    	if (target.style.display == "none") {
    		target.style.display = "";            
    	} else {
    		target.style.display = "none";
    	}
    }
}

/* The toggleFolder and togglePlusMinus functions are for expanding/contracting folders */
function toggleFolder(targetId) {
    var expanded;
    if (document.getElementById) {
        target = document.getElementById(targetId);
    	if (target.style.display == "none") {
    		target.style.display = "";    
            expanded = true;        
    	} else {
    		target.style.display = "none";
            expanded = false;
    	}
        togglePlusMinus("i" + targetId);
        
        // set a cookie to remember this preference
        var expires = new Date();
        expires.setTime(expires.getTime() + 24 * 365 * 60 * 60 * 1000); // sets it for approx 365 days.
        setCookie("rfolder-"+targetId,expanded,expires,"/");
    }
}

function togglePlusMinus(targetId) {
    if (document.getElementById) {
        target = document.getElementById(targetId);
    	if (target.innerHTML == "+") {
    		target.innerHTML = "-";
    	} else {
    		target.innerHTML = "+";
    	}
    }
}

/* This function is to set folders to expand/contract based on a user's preference */
function folderPreference(folderId) {
    var folderCookie = getCookie("rfolder-"+folderId);
    if (folderCookie != null) { // we have user's last setting
        folder = document.getElementById(folderId);
        plusMinus = document.getElementById("i"+folderId);
        if (folderCookie == "true") { // show
            folder.style.display = "";
            plusMinus.innerHTML = "-";
        } else { // hide
            folder.style.display = "none";
            plusMinus.innerHTML = "+"; 
        }
    }
}

function toggleNextRow(e) {
    if (e.type == "checkbox") {
        var checked = e.checked;
    } else if (e.type == "radio") {
        var v = e.value;
        var checked = (v == "1" || v == "y" || v == "true") ? true : false;
    }
    // var nextRow = e.parentNode.parentNode.nextSibling;
    // the above doesn't work on Mozilla since it treats white space as nodes
    var thisRow = e.parentNode.parentNode;
    var tableBody = thisRow.parentNode;
    var nextRow = tableBody.getElementsByTagName("tr")[thisRow.rowIndex+1];
    
    if (checked == true) {
        nextRow.style.display = "";
    } else {
        nextRow.style.display = "none";
    }
}

function toggleControl(toggleId, targetId) {
    var expanded;
    if (document.getElementById) {
        target = document.getElementById(targetId);
        toggle = document.getElementById(toggleId);
    	if (target.style.display == "none") {
    		target.style.display = "";  
    		toggle.style.background = "#e7e7ff";  
            expanded = true;  
                  
    	} else {
    		target.style.display = "none";
    		toggle.style.background = "#f0f0f0";  
            expanded = false;
    	}
        togglePlusMinus("i" + targetId);
        
        // set a cookie to remember this preference
        var expires = new Date();
        expires.setTime(expires.getTime() + 24 * 365 * 60 * 60 * 1000); // sets it for approx 365 days.
        setCookie("control-"+targetId,expanded,expires,"/");
    }
}

function fncComRoller( id, flg )
{
	var vis = "visible";
	var intDifX = 10;
	var intDifY = 5;
	var scrollPosX;
	var scrollPosY;

	if (typeof window.pageYOffset != 'undefined') {
		scrollPosX = window.pageXOffset;
		scrollPosY = window.pageYOffset;
	} 
	else if (typeof document.compatMode != 'undefined' &&
		 document.compatMode != 'BackCompat') {
		scrollPosX = document.documentElement.scrollLeft;
		scrollPosY = document.documentElement.scrollTop;
	} 
	else if (typeof document.body != 'undefined') {
		scrollPosX = document.body.scrollLeft;
		scrollPosY = document.body.scrollTop;
	}

	var intX = event.x + scrollPosX + intDifX;
	var intY = event.y + scrollPosY + intDifY;
	var obj  = document.all( id ).style;
	var intW = document.body.clientWidth  - intX - 10;

	if(intW < 100)
	{
		intW = 100;
	}
	if( intW >400 )
	{
		intW = 400;
	}
	if( flg == 0 )
	{
		vis = "hidden";
	}

	obj.left = intX;
	obj.top  = intY;
	obj.width = intW;
	obj.visibility = vis;

	if(flg == 1)
	{
		var ifm=document.createElement("<iframe id='DivCom' src='javascript:false;' scrolling='no' frameborder='0' style='z-index:9999; position:absolute; top:0px; left:0px; allowtransparency:yes display:none;'></iframe>");
		ifm.style.width = document.getElementById(id).offsetWidth;
		ifm.style.height = document.getElementById(id).offsetHeight;
		ifm.style.top = document.getElementById(id).offsetTop;
		ifm.style.left = document.getElementById(id).offsetLeft;
		obj.zIndex = ifm.style.zIndex + 1;
		ifm.style.display = "block";
		document.body.appendChild(ifm);
	} else {
		var ifrm = document.getElementById("DivCom");
		document.body.removeChild(ifrm);
	}
}

// Show the document's title on the status bar
window.defaultStatus=document.title;

/* ショップ情報ページが表示する */ 
function showShopInfo(contextPath,companycode,name)
{
	
	var theURL   = contextPath+"/customer/ShopInfo.do?companyCode="+companycode;
	var winName  = "shopinfo";
	var features = "toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=600";
	window.open(theURL,winName,features);
}