$.fn.opacity = function(amount) {
        if (amount > 1) amount = 1;
        if (amount < 0) amount = 0;
        if ($.browser.msie) {
                amount = (parseFloat(amount) * 100);
                this.css('filter', 'alpha(opacity='+amount+')');
        } else {
                this.css('opacity', amount);
                this.css('-moz-opacity', amount);
        }
        return this;
}
//js-home
var box_vert = function() {
	var box_height = $('#box').height();
	var body_height = $(window).height();
	//console.log("BOX:"+box_height+" BODY:"+body_height);
	$('#box').css({top: (body_height-box_height)/2});
}
var opening = function() {
	//init
	$('#logo').hide();
	$('#navbar').hide();
	
	//for logo
	var img_logo = new Image();
	img_logo.src = 'static/h-logo.png';
	var show_logo = function() {
		$('#logo').css({backgroundImage: 'url(static/h-logo.png)'});
		$('#logo').fadeIn('slow');
		//start navbar
		var img_nav = new Image();
		img_nav.src = 'static/h-navbar.png';
		var show_navbar = function() {
			$('#navbar ul li a').css({backgroundImage: 'url(static/h-navbar.png)'});
			$('#navbar ul li').opacity(.3).css({top: 97});
			$('#navbar').fadeIn('slow',function(){
				var time_out = 200, time_out_step = 200;
				var pop_out_navbar = function(which,delay){
					$(which).animate({opacity:1},delay).animate({top:20,opacity: 1},'normal','swing').animate({top:30,opacity: .7},'normal');
				}
				var buttons = new Array('about','blog','journal','portfolio','contact');
				var i;
				for(i=0;i<buttons.length;i++) {
					pop_out_navbar('#'+buttons[i],(i+1)*time_out_step);
				}
			});
			//bound the hover event
			$('#navbar ul li').hover(function(){
					$(this).animate({top: 25,opacity: 1},'fast');
				},function(){
					$(this).animate({top: 30,opacity: 0.7},'fast');
				});
		}
		if (img_nav.complete) {
			show_navbar();
		} else {
			$(img_nav).load(show_navbar);
		}
	}
	if (img_logo.complete) {
		show_logo();
	} else {
		$(img_logo).load(show_logo);
	}
}
var passcode = new function(){
	this.code = "";
	this.reset = function() {
		this.code = "";
		$("#pc-text").get(0).value = "";
		passcode.stylish_pc();
	};
	this.listen_on = function() {
		$("#pc-text").focus().keyup(passcode.press_key);
		$(".pc").click(function(){$("#pc-text").focus();});
	};
	this.listen_off = function() {
		$("#pc-text").blur();
	};
	this.press_key = function(e) {
		passcode.code = $("#pc-text").get(0).value;
		passcode.stylish_pc();
		if (passcode.code.length == 8) {
			alert("Sorry, your code cannot be verified.");
		}
	};
	this.input = function(chr) {
	};
	this.backsp  = function() {
		if (passcode.code.length <= 0) return false;
			passcode.code = passcode.code.substr(0,passcode.code.length-1);
		passcode.stylish_pc();
	};
	this.stylish_pc = function() {
		var a = passcode.code.length;
		var a_active = a<8?a+1:0;
		var pc;
		for(var i=1;i<=8;i++) {
			pc = $("#pc-"+i);
			pc.removeClass('active');
			pc.removeClass('star');
			if (i==a_active) pc.addClass('active');
			if (i<=a) pc.addClass('star');
		}
	}
};
$.tools.addTipEffect("slidedown-passcode",   
     
    // opening animation 
    function() {  
        var opacity = this.getConf().opacity; 
        this.getTip().css({opacity:0}).animate({top: '+=15', opacity:opacity}, 300).show(); 
		passcode.reset();
		passcode.listen_on();
    },  
     
    // closing animation 
    function() { 
        this.getTip().animate({top: '+=15', opacity:0}, 300, function() {  
                $(this).hide().animate({top: '+=30'}, 0); 
        });
		passcode.listen_off();
    } 
);
$(document).ready(function(){
	box_vert();
	$(window).resize(box_vert);
	opening();
	$("#a-journal").tooltip({effect: 'slidedown-passcode'}).click(function(){return false;});
});