What is the different between full-index client to full node? I've read in "Mastering bitcoin" that a wallet can construct a transaction even if offline but is full-index client, I know full node is a client which holds the complete blockchain data.
is there a different between the two ? 
Another question is how do I know I'm running full node? does 40giga of data in the data folder is my confirmation of running full node and having the complete blockchain on the HD ?
"Full-index client" is a term really coined by the author. I've never heard of it in the Bitcoin community. After reading the section in the book, it seems that a full-index client is just a client that holds all the data in the blockchain but is not necessarily a full node. To be a full node you must adhere with all of the bitcoin protocol. A full-index client might not adhere with the entire bitcoin protocol, but would still have the entire blockchain. Full-index simply means "holds all the data", but it might not be a full node. At least that's my interpretation.

To run a full node you must download Bitcoin Core, which is the only supported "full node" I am aware of.