That's so cute, and shows that you have patient... (for liking her 3 years) Did you ever give hints to her that you're interested? Sometimes.. well, alot of times, both parties are interested but both are afraid to show their interest because they're afraid of rejection. Who know, she might secretly like you too~ I can't promise you will succeed but if you don't try, you will def. fail

So go ahead and try. Guys that goes for long-term is getting more and more rare now a days, thumbs up for you ^-^
As for birthday gift, it depends on personality, do you notice little things about her? Because color is too general to be able to find something to fit her. Is she a girly-girl, tomboy, or what? If you really want the present to be special, you need to take stuff like that into consideration. A gift can really show how much you care~ (I personally am very picky/perfectionist about giving gifts, I have to make sure it's something the person will like

)
I think i did give her hints o_o. Since she's the only one i've been treating so well. Heh >:D I'm afraid T_T. She likes listening to music... artistes such as ..Leona Lewis, Jason Mraz, Jordin Sparks, Christian Songs, Matchbox Twenty, Switchfoot, se7en, Busted, Mcfly, The Click Five, John Mayer, Chris Daughtry, Lifehouse, Yellowcard, The All-American Rejects, Busted, Simple Plan, Good Charlotte, Jay Chou, Li Sheng Jie, Tank, Mika, Natasha Bedingfield... o_o Can't think of any more from her iPod the last i heard. Maybe i should buy her an album? o_o
how long have you completely stopped talking to her? O____O hopefully not too long cuz she will be confused and think you are just playing with her mind. you should greet her the next time you see her...be like "hey how's it going?"...if she replies, than that is a good start.
is she hosting a party and has invited you? if so, give her what you think she will like. we cant help you with what to give her cuz we dunno about what she is interested in, etc. BUT i would luv if a guy give me one of the following: chocolates, flowers, bags, jewlery, tickets to some concert/shows, gift cards

if she's not hosting a party but has myspace or facebook, you can wish her to have a nice bday and let her know you would like to treat her to lunch sometime, for example.
Oh it was way last year when i tried to give up on her. But we kinda hang out in class together. Like sitting together and stuffs. I don't play with people's mind! :x Although i stalk people o_o ( Look at Sig :x) Nah no party. I don't really buy presents for people because ... REASON1 : If i buy too expensive, My wallet will cry. REASON2: If i buy too cheap, I'll feel bad.. REASON 3: If i think it is nice, She may not think the same.. REASON 4: I'll think of more. HAHA

She doesn't have myspace of facebook ): Sigh. ):
Wow, you are a rare type of guy indeed. XD Well... There's no harm in trying to ask her out. If you ask her out and she says yes, then good for you!

If she says no, at least you won't have any more what if's in your mind (like, "what if she liked me back?"). But if you never ask her out, then you'll never know the answer and you'll keep on waiting and waiting and waiting... >.<;; It took me 7 years to confess to the guy I liked. :x We didn't end up together, but we ended up closer friends after that. And now I got my answer, so I'm moving on with my life now... There are a lot of other guys out there, anyway. ^^;; At least I've got him as a really close friend now. XD That's better than pining for him from afar, in my opinion. ._.;;
As for what to get her for her birthday... Is there anything in particular that she likes? Music, books, food, accessories, whatever? Or maybe you can give her a card you made yourself (if you're into arts and crafts). Or maybe even just a letter (well, I love letters.. ^^;;). It all depends on what she likes.

Is that a compliment? >:D I did ask her out, But she says she has no time, she needs to study because she failed real badly for the mid-year exams >_>. 7Years is long o_o... Oh well xD. I did make something for girls last time.. I bought test-tubes, gel and alphabet soup alphabet ( the kind you cook in soup o_o) then i'd fill the test-tube with the gel, use satay(Really long sticks if you don't know what satay means. It's a traditional malay/indian barbecued-meat-on-a-stick thing. It's called satay. So we call the really long sticks Satay. HAHA ) sticks and paste their name on the inside of the test-tube, then i'd cover the top with candle wax so the gel won't drip out. (: I made like 11 of those for my friend. It was a GOODLUCK FOR EXAMS thing-a-magick o-o Haha. But I'm just too lazy and tired to do anymore arts and crafts stuff. Lol. She loves listening to music o_o. She likes to read fictional romantic kind of stories. o_o.