﻿/**
	@file
	cookie.js <br/>
	<br/>
	@breif cookie set get delete
	@author ws
	@version 1.0.0.0
	@since  31/08/2009
	$Revision: $
*/

//有効期間
var date = new Date();
var ms = 7*24*3600*1000;
date.setTime(date.getTime() + ms);
var falg = "#";
//cookieをセット
function setCookie(ekiName, lat, lon)
{	
    //cookieが使用できる
    if(navigator.cookieEnabled)
    {
        var cookiesValue = new Array();
        var cookieValue=unescape(document.cookie);
        //cookieのサイズは4Kより小さい

        if(cookieValue.length<4096)
        { 
           var newcookie=getCookieValue(cookieValue,COOKIENAME,ekiName,lat,lon);
           
           if(newcookie == null){
           		alert(HYP_COOKIE_MESSAGE[ '1' ]);
           		return;
           }
           
           if(newcookie == -1){
           		alert(HYP_COOKIE_MESSAGE[ '101' ]);
           		return;
           }
           
           newcookie = escape(newcookie);
           var escookie=COOKIENAME+"="+newcookie+"; expires=" + date.toGMTString();
           escookie+="; path=/";
           document.cookie = escookie;
           alert(HYP_COOKIE_MESSAGE[ '102' ]);
        }
        else  //cookieのサイズは4Kより大きい
        {
        	alert(HYP_COOKIE_MESSAGE[ '103' ]);
         }
        	
     }
    else  //cookieが使用できない

    {
       alert(HYP_COOKIE_MESSAGE[ '104' ]);
    }
 }

//駅名を取る

function getCookie()

{
       var cookieValue=getEki();
       var ekiName=new Array();
       for(var i=0;i<cookieValue.length;i++)
       {
       	   if(cookieValue[i][1] != "0" && cookieValue[i][2] !="0"){
       	   	   ekiName[i]=cookieValue[i].join("|");
       	   }else{
       	   	   ekiName[i]=cookieValue[i][0];
       	   }       	   
       }
       return ekiName;
}

function getEki()
  {
  	  var cookieMesaage = unescape(document.cookie);
  	  var cookieValue=returnCookieValue(cookieMesaage,COOKIENAME);
  	  if(cookieValue==""||cookieValue==undefined)
     {
        return cookieValue;
     }
    else
     {
       var eki=cookieValue.split("&");
       var ekiValue=new Array();
       var ekiName=new Array();
       for(var i=0;i<eki.length;i++)
       {
       	   var tempArr=eki[i].split(falg);
       	   ekiValue[i]=tempArr;
       	   
       }
       return ekiValue;
     }
  }
  
function getCookieValue(cookieValue,cookieName,name,keido,ido)
{
     var cookieValue=returnCookieValue(cookieValue,cookieName);
     if(cookieValue.length==0)
     {
        cookieValue=name+falg+keido+falg+ido;
     }
     else
     {
         cookieValue = getEki();
	     for(var i=0;i<cookieValue.length;i++)
	     {
            //駅名も存在する
	    	if(cookieValue[i][0]==name)
	    	{
               cookieValue = -1;
               return cookieValue;
	    	}
	     }
	    var cv=unescape(document.cookie);
	    cookieValue=returnCookieValue(cv,cookieName);
	    if(cookieValue.length==0)
	    {
	    	cookieValue=name+falg+keido+falg+ido;
	    }
	    else
	    {
	    	var returnCookie =cookieValue.split("&");
            if(returnCookie.length<5)
           {
              var str=name+falg+keido+falg+ido;
              cookieValue=str+"&"+cookieValue;
           }
          else
           {
             cookieValue = null;
             return;
           }
	    }
        
      }    
     return cookieValue;
}

//特定名称のcookieの値を取る  
function returnCookieValue(cookieValue,cookieName)

{
     var returnCookieValue = "";
     //";"はセパレーターとしてcookieの内容を仕切って配列になります

     var cookies = cookieValue.split("; ");
     var cookiesValue = new Array();
     //循環を通じてcookie名とcookie値は配列に置く

     for (var i=0;i<cookies.length;i++)
      {
         var tempArr = cookies[i].split("=");
         cookiesValue[i] = tempArr;
       }
       //循環を通じてcookie名とcookie値を検索
       for (var i=0;i<cookiesValue.length;i++)
        {
           if (cookiesValue[i][0]==cookieName)
            {
                returnCookieValue = cookiesValue[i][1];
                break;
             }
         }
     return returnCookieValue;
}

//特定名称のcookieを削除
function delCookie(name){
    var date = new Date();
    date.setTime(date.getTime() - 10000);
    document.cookie =escape(name)+"="+ "; expires=" + date.toGMTString()+ ";path=/";
  }

//特定名称のcookieの値の中第K組の値を削除
function del_(k){
    var cookieValue = getEki();
    if(cookieValue.length>1)
    {
	    for(var i=0;i<cookieValue.length;i++)
	    {
	    	if(cookieValue[i][0]==cookieValue[k][0])
	    	{
	    		cookieValue=cookieValue.slice(0,i).concat(cookieValue.slice(i+1,cookieValue.length));//
	    		
	    	}
	    }
    }
    else
    {
    	cookieValue=null;
    }
    var tempArr=new Array();
    var temp=new Array();
    if(cookieValue != null)
    {
	    for(var i=0;i<cookieValue.length;i++)
	    {
	    	temp[i]=cookieValue[i][0]+falg+cookieValue[i][1]+falg+cookieValue[i][2];
	    }
	    tempArr=temp.join("&");
	    document.cookie=COOKIENAME+"="+escape(tempArr) + "; expires=" + date.toGMTString() + ";path=/";
	}
	else
	{
		delCookie(COOKIENAME);
	}
	if($("CKTIPFrm")!=null||$("CKTIPFrm")!=undefined)
    document.body.removeChild($("CKTIPFrm"));
  }

