<!--
// vim: set expandtab tabstop=4 shiftwidth=4 fdm=marker:
// +-------------------------------------------------------------------------+
// | SPETS JavaScript Framework                                              |
// +-------------------------------------------------------------------------+
// | Copyright(c)2008 Baijie Dev. All Rights Reserved.                       |
// +-------------------------------------------------------------------------+
// | Authors: Zhang Xuxia <websoft@gmail.com>                                |
// |          Baijie Dev Group.                                              |
// +-------------------------------------------------------------------------+

SPETS = {
	"NAMESPACE": "SPETS"
};

SPETS.get_cookie = function(){
    var argv = SPETS.get_cookie.arguments;
    var argc = argv.length;
    if ( argc < 1 ) {
        return false;
    }
    var name = argv[0];
    var beg = document.cookie.indexOf( "; " + name + "=" );
    if ( beg == -1 ) {
        beg = document.cookie.indexOf( name + "=" );
        if ( beg == 0 ) {
            beg = beg + name.length + 1;
        }
        else {
            return null;
        }
    } else {
        beg = beg + name.length + 3;
    }
    var end = document.cookie.indexOf( ";", beg );
    if ( end == -1 ) {
        end = document.cookie.length;
    }
    var value = document.cookie.substring( beg, end );
    value = SPETS.urldecode( value );
    return value;
};

SPETS.set_cookie = function(){
    var argv = SPETS.set_cookie.arguments;
    var argc = argv.length;
    if ( argc < 2 ) {
        return false;
    }
    var name  = argv[0];
    var value = argv[1];
    if ( argv[2] ) { var expires = argv[2]; }
    if ( argv[3] ) { var path    = argv[3]; }
    if ( argv[4] ) { var domain  = argv[4]; }
    if ( argv[5] ) { var secure  = argv[5]; }
    var today   = new Date();
    var expdate = new Date( today.getTime() + ( expires * 60 * 60 * 1000 ) );
    document.cookie = name + "=" + SPETS.urlencode( value )
    + ( expires ? ";expires=" + expdate.toGMTString() : "" )
    + ( path    ? ";path=" + path : "" )
    + ( domain  ? ";domain=" + domain : "" )
    + ( secure  ? ";secure" : "" );
    return true;
};

SPETS.delete_cookie = function(){
    var argv = SPETS.delete_cookie.arguments;
    var argc = argv.length;
    if ( argc < 1 ) {
        return false;
    }

    var name   = argv[0];
    if ( argv[1] ) { var path   = argv[1]; }
    if ( argv[2] ) { var domain = argv[2]; }

    var cookie = get_cookie( name );
    if ( cookie != null ) {
        document.cookie = name + "="
        + ";expires=Thu, 01 Jan 1970 00:00:01 GMT"
        + ( path    ? ";path=" + path : "" )
        + ( domain  ? ";domain=" + domain : "" );
    }

    return cookie;
};

SPETS.urlencode = function( s ){
    if ( typeof(encodeURIComponent) != "undefined" ) {
        return encodeURIComponent( s );
    }
    return s;
};

SPETS.urldecode = function( s ){
    if ( typeof(decodeURIComponent) != "undefined" ) {
        return decodeURIComponent( s );
    }
    return s;
};
//-->

 
