function retrieveCookie( cookieName ) {
	/* retrieved in the format
	cookieName4=value; cookieName3=value; cookieName2=value; cookieName1=value
	only cookies for this domain and path will be retrieved */
	var cookieJar = document.cookie.split( "; " );
	
	 //$('testCookies').innerHTML = "";
	for( var x = 0; x < cookieJar.length; x++ ) {
	  var oneCookie = cookieJar[x].split( "=" );
		//$('testCookies').innerHTML = $('testCookies').innerHTML + oneCookie[0] +"="+oneCookie[1]+"<br>";
		
		if (navigator.appName.indexOf("Microsoft ")>=0) {
	     if(oneCookie[0].indexOf(cookieName)>=0) { 
			    //alert(oneCookie[1]);
					return oneCookie[1]  
			 }
    } else {
		   if( oneCookie[0] == escape( cookieName ) ) { return oneCookie[1] ? unescape( oneCookie[1] ) : ''; }
		}
	}
	if (navigator.appName.indexOf("Microsoft ")<0) return null;
}

function setCookie( cookieName, cookieValue, lifeTime, path, domain, isSecure ) {
	if( !cookieName ) { return false; }
	if( lifeTime == "delete" ) { lifeTime = -10; } //this is in the past. Expires immediately.
	/* This next line sets the cookie but does not overwrite other cookies.
	syntax: cookieName=cookieValue[;expires=dataAsString[;path=pathAsString[;domain=domainAsString[;secure]]]]
	Because of the way that document.cookie behaves, writing this here is equivalent to writing
	document.cookie = whatIAmWritingNow + "; " + document.cookie; */

	if (navigator.appName.indexOf("Microsoft ")>=0) {
	   document.cookie = cookieName.toString()+"="+cookieValue.toString()+";" + document.cookie; 
	   //alert("setting\n"+document.cookie)
  }
	 
	document.cookie = escape( cookieName ) + "=" + escape( cookieValue ) +
		( lifeTime ? ";expires=" + ( new Date( ( new Date() ).getTime() + ( 1000 * lifeTime ) ) ).toGMTString() : "" ) +
		( path ? ";path=" + path : "") + ( domain ? ";domain=" + domain : "") + 
		( isSecure ? ";secure" : "");
	//check if the cookie has been set/deleted as required
	if( lifeTime < 0 ) { if( typeof( retrieveCookie( cookieName ) ) == "string" ) { return false; } return true; }
	
	if( typeof( retrieveCookie( cookieName ) ) == "string" ) { return true; } return false;
}

function viewCookie(){
  if ((retrieveCookie("prefered_lang") == null) && (retrieveCookie("itemsViewed") == null) && (retrieveCookie("colorsViewed") == null)   ){
    alert("prefered_lang Cookie is NOT set");
  } else {
	  alert("current language in Cookie is " + retrieveCookie('prefered_lang'));
	  alert("current ItemsViewed in Cookie is " + retrieveCookie('itemsViewed'));
	  alert("current ColorsViewed in Cookie is " + retrieveCookie('colorsViewed'));
  }
}

