	// The Cookie Handler main object
	function cookieGet(n){  // Function for getting cookies
		var re=new RegExp(n+'=([^;]*);?','gi');  // Create regex for cookies fetching
		var r=re.exec(document.cookie)||[];  // Fetch cookie using regex
		return unescape(r.length>1?r[1]:null)  // Return unescaped cookie
	}

	function cookieSet(n,v,e,p,d,s){  // Function for setting cookies
		var t=new Date;  // Get current time and date
		if(e)  // If days to expiry is set
		t.setTime(t.getTime()+(e*8.64e7));  // calculate expiry date
		document.cookie=n+'='+v+(!e?'':'; expires='+t.toUTCString())+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+(!s?'':'; secure')  // Set cookie
	}

	function cookieDel(n,p,d){  // Function for deleting cookies
		var t=cookie.Get(n);  // Get cookie
		document.cookie=n+'='+(!p?'':'; path='+p)+(!d?'':'; domain='+d)+'; expires=Monday, 01-Jan-01 00:00:01 GMT';  // Delete cookie
		return t  // Return the deleted cookie
	}

	function cookieSupp(){  // Function for detecting a BV cookie support
		var val = cookie.Get('world_test');  // Return whether dummy was written
		return ((val != "null" && val != "") ? true : false);
	}

	function cookieObj() {
		this.Get = cookieGet;
		this.Set = cookieSet;
		this.Del = cookieDel;
		this.Supp = cookieSupp;
	}

	function Remember(el) {
		if (do_you_want_to_remember) {
			el.style.backgroundImage = "url(sec_global/sec_checkbox00.gif)";
			do_you_want_to_remember = false;
		} else {
			el.style.backgroundImage = "url(sec_global/sec_checkbox01.gif)";
			do_you_want_to_remember = true;
		}
	}

	function cookieSupp(){  // Function for detecting a BV cookie support
		var val = cookie.Get('world_test');  // Return whether dummy was written
		//alert("cookie value : " + val + " domain : " + document.domain);
		return ((val != "null" && val != "") ? true : false);
	}
	
	function setColour(){
		var today = new Date();
		var c = 0;
		switch(today.getUTCDate()%3) {
			case 1 :
				c = 1;
			break;
			case 2 :
				c = 2;
			break;
		}		
		return c;
	}

	var cookie= new cookieObj();

	var do_you_want_to_remember = true;
	var can_you_remember_anything = true;
	
	var from_epson=new RegExp("epson", "i");  // Create regex for cookies fetching
	var dont_skip_this_page = from_epson.test(document.referrer);
	
	cookie.Set("world_test", "you_can_do_it", null, "/" , document.domain);

	var country_that_you_wanted = cookie.Get("country_that_you_wanted");
	var country_name = cookie.Get("country_name");
	var map_region = cookie.Get("map_region"); // remembered region
	var sColour = setColour(); // colour used by the flash, stored it cookie
	var sVisitCount = cookie.Get("skipIntro"); // visit counter
	var sSkipIntro = "0"; // skip intro marker
	
	function updateIntCookies(){


		if (sVisitCount=="null" || sVisitCount=="" || sVisitCount==null || sVisitCount=="NaN")
		{
			sVisitCount = 0;
			sSkipIntro = 0;
		}
		else 
		{
			var iVisitCount = parseInt(sVisitCount);
			iVisitCount++;
			sSkipIntro = (iVisitCount>2) ? 1 : 0;	// on third visit set sSkipIntro to true.	
			sVisitCount = iVisitCount;
		}	

		cookie.Set("skipIntro", sVisitCount, null, "/" , document.domain);		
	
		return true;
	}
	

	var temp = updateIntCookies();
	
	
	// Determine whether or not the page contains the Flash object
	var domain = "http://www.epson.com/";
	var indexurl = domain + "index.html";

	var isFlash = false;
	if ((this.location == domain) || (this.location == indexurl)) { isFlash = true; }
	
	if (isFlash != true) {
		if (dont_skip_this_page) {
			if (country_that_you_wanted != null){
				loghit_f(country_that_you_wanted, country_name);
			}
		} else {
			if ((country_that_you_wanted != "") && (country_that_you_wanted != null) && (country_that_you_wanted != "null")){
				loghit_s(country_that_you_wanted, country_name);
			}
		}
	}


	if (!cookie.Supp()) {
		can_you_remember_anything = false;
	} else {
		 new Image().src = "sec_global/sec_checkbox01.gif";
	}
	
	function goToSelectedCountry(url,country_name,map_region)
	{
		if (url.indexOf("http://")==-1){url= "http://"+url}
		//var r = loghit_r(url, country_name, map_region);
		var r = setRememberCookie(url, country_name, map_region);
		//if (confirm("You selected \n\n"+ country_name +"\n"+ url +"\n\nContiune?"))
		location.href = url;
	}
	
	
	function setRememberCookie(page_url, page_title, map_region) {
		if (do_you_want_to_remember) {
			cookie.Set("country_that_you_wanted", page_url , 90 , "/", document.domain);
			cookie.Set("country_name", page_title , 90 , "/", document.domain);
			if (map_region){
				cookie.Set("map_region",  map_region, 90 , "/", document.domain);
			}
		}
	}
	
	
	function writeRememberMeLink(w)
	{
		/* link for javascript enabled browers only  */
		if (!can_you_remember_anything) {return ;}
		var l = '<p class="r"><a onclick="Remember(this); return false;" href="#">';
		l+= 'Remember my country';
		l+= '</a></p>';
		if (w)
		{
			document.write(l);
		}
		else
		{
			return l;
		}
	}	
	
	function appendRememberMe()
	{
		// append the "Country selecter" if high end user
		if (!document.getElementById){return;}
		if (!country_that_you_wanted){return;}
		if (country_that_you_wanted=="null"){return;}
		if (navigator.userAgent.toLowerCase().indexOf("mac")!=-1){return;}// mac problem
		var objUl = document.getElementById('ulRegion');
		var objRmli = document.createElement("LI");
		objRmli.className = "selected noprint";
		var objRma = document.createElement("A");
		objRma.style.marginTop = (country_name.length>14) ? "7px" : "20px";
		objRma.href = country_that_you_wanted;
		objRma.onclick = "loghit_s('"+country_that_you_wanted+"', '"+ country_name +"'))";
		objRma.innerHTML = "<span>Visit "+ country_name +"?</span>";
		objRmli.appendChild(objRma);
		objUl.appendChild(objRmli);
	}
	
	
