            
            var ptah_global_is_localstorage_possible = false;
            var ptah_global_is_cookies_enabled = false;
            var ptah_global_cookies_id = '';
            
            // ************************************************
            // temp compatibility wrapper
            function ptah_getStorageItem(cname)
            {
				return ptah_getCookie(cname);
			}
			
			function ptah_setStorageItem(cname,cvalue)
			{
				ptah_setCookie(cname, cvalue, 365*24*60*60) ;
			}
			
			function ptah_isStorageItem(cname)
			{
				return ptah_isCookieExists(cname);
			}
            // ************************************************			
			
			
			
            function ptah_getCookie(cname) 
            {
				if(ptah_global_is_localstorage_possible)
			  	{
					return localStorage.getItem(ptah_global_cookies_id+'_'+cname);
				}
				else if(ptah_global_is_cookies_enabled)
				{
					var name = ptah_global_cookies_id+'_'+cname + "=";
					var decodedCookie = decodeURIComponent(document.cookie);
					var ca = decodedCookie.split(';');
					for(var i = 0; i <ca.length; i++) {
						var c = ca[i];
						while (c.charAt(0) == ' ') {
							c = c.substring(1);
					    }
					    if (c.indexOf(name) == 0) {
					      return c.substring(name.length, c.length);
					    }
					}
					return "";
				}
				else
				{
					console.log("ptah_ERROR no user navigator storage available");
					
				}
            }

            function ptah_isCookieExists(cname)
            {
				if(ptah_global_is_localstorage_possible)
			  	{
					if(localStorage.getItem(ptah_global_cookies_id+'_'+cname)===null)
						return false;
					else
						return true;
				}
				else if(ptah_global_is_cookies_enabled)
				{
	                var retour = false;
	                if(ptah_getCookie(ptah_global_cookies_id+'_'+cname)!='')
	                {
	                    retour = true;
	                }
	
	                return retour;
                }
               	else
				{
					console.log("ptah_ERROR no user navigator storage available");
					
				}
                
            }
            

            function ptah_setCookie(cname, cvalue, time) 
            {
				if(ptah_global_is_localstorage_possible)
			  	{
					localStorage.setItem(ptah_global_cookies_id+'_'+cname, cvalue);				
				}
				else if( ptah_global_is_cookies_enabled)
				{
	
	              var d = new Date();
	              d.setTime(d.getTime() + time); // (exdays*24*60*60*1000)
	              var expires = "expires="+ d.toUTCString();
	              document.cookie = ptah_global_cookies_id+'_'+cname + "=" + cvalue + ";" + expires + ";path=/";
              	}
              	else
				{
					console.log("ptah_ERROR no user navigator storage available");
					
				}
            }
            
            function ptah_isLocalStorageEnabled()
            {
				var test = 'test';
			    try {
			        localStorage.setItem(test, test);
			        localStorage.removeItem(test);
			       	ptah_global_is_localstorage_possible = true;
			        return true;
			    } catch(e) {
			        return false;
			    }
			} 
			
			function ptah_isCookiesEnabled()
			{
				if (!navigator.cookieEnabled) 
				{
					ptah_global_is_cookies_enabled = false;
					return false;
				}
				else
				{
					ptah_global_is_cookies_enabled = true;
					return true;
				}
				
			}
			
			function ptah_isUserStorageAvailable()
			{
				if(ptah_isLocalStorageEnabled() || ptah_isCookiesEnabled())
				{
					console.log("ptahcms user storage available");
					return true;
				}
				else
				{
					console.log("ptah_ERROR user storage not available");
					return false;
				}
			}
			
			
			
            
            