/**
 * COOKIES
 * $.la.cookie.init()
 * $.la.cookie.getVal(offset)
 * $.la.cookie.get(name)
 * $.la.cookie.set(name, value, expireParam, domain)
 * $.la.cookie.clear(name)
 */


(function($){
    $.la = $.la||{};

    $.la.modules.require('la.utils');
    
    $.extend(true, $.la,
    {
        
        modules:{
            la :{
                modules:{
                	cookie: {
                		active:true
                	}
                }
            	
            }
        },

        cookie:{
            init: function(){
                var pathname=location.pathname;
                var myDomain=pathname.substring(0,pathname.lastIndexOf('/')) +'/';
                var date_exp = new Date();
                var adserver_test=true;
                date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));
                var qs = new $.la.utils.querystring();
                var id_lien=qs.get('id_op');
                if (id_lien !== null){
                    $.la.cookie.set('id_lien', id_lien);
                }
                var regImage=qs.get('img');
                if (regImage !== null){
                    $.la.cookie.set('regImage', regImage);
                }
            },

            getVal: function(offset)
            {
                if(document.cookie){
                    var endstr=document.cookie.indexOf (";", offset);
                    if (endstr==-1){
                        endstr=document.cookie.length;
                    }
                    return unescape(document.cookie.substring(offset, endstr));
                }
                else{
                    return null;
                }
            },

            get: function(name)
            {
                var cookieValue = null;
                if (document.cookie && document.cookie != '') {
                    var cookies = document.cookie.split(';');
                    for (var i = 0; i < cookies.length; i++) {
                        var cookie = $.trim(cookies[i]);
                        // Does this cookie string begin with the name we want?
                        if (cookie.substring(0, name.length + 1) == (name + '=')) {
                        	//cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                        	cookieValue = decodeURIComponent(unescape(cookie.substring(name.length + 1)).replace(/%/g,'%25'));
                        	break;
                        }
                    }
                }
                return cookieValue?cookieValue:false;
            },

            set: function(name, value, expires, domain, path, secure)
            {
                if (typeof name != 'undefined' && typeof value != 'undefined'){
                    path   = '; path=' +  (path ? path : '/');
                    secure = secure ? '; secure' : '';
                    domain = domain ? '; domain=' + (domain) : '';
                    secure = secure ? '; secure' : '';

                    if (expires && (typeof expires == 'number' || expires.toUTCString)) {
                        var date;
                        if (typeof expires == 'number') {
                            date = new Date();
                            date.setTime(date.getTime() + (expires * 24 * 60 * 60 * 1000));
                        } else {
                            date = expires;
                        }
                        expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
                    }
                    else{
                        expires = '';
                    }
                    document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
                }
            },

            clear: function(name, domain, path, secure,session)
            {
                var value = '';
                var expires;
                if(typeof session == 'boolean' && session){
                    expires = '; expires= -1';
                }
                else{
                    var exp=new Date();
                    exp.setTime (exp.getTime() - 100000);
                    expires = '; expires=' + exp.toGMTString();
                }
               
                path   = '; path=' +  (path ? path : '/');
                secure = secure ? '; secure' : '';
                domain = domain ? '; domain=' + domain : '';
                secure = secure ? '; secure' : '';
                document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
            }
        }
    });
})(jQuery);

