$(document).ready(function(){
	/*BEGIN HIJAX
	$('a').each(replaceLinks);
	initHistory();
	/*END HIJAX*/
	/*BEGIN ANIM MENU*/
	$('#main-menu li a').each(function(){
		$(this).parent().attr('current-status','off');
	});
	$('#main-menu li a.menu-trigger').mouseover(function(){
		var parentLi=$(this).parent();
		var status=parentLi.attr('current-status');
		var bgPos=parentLi.attr('bgPos');
		var bgPosXY=getBGPosArray(this);
		if (status == 'off') {
			$(this).css(
			   {backgroundPosition: bgPosXY[0]+' 0px'}
			).animate({backgroundPosition: '('+bgPosXY[0]+' -30px)'},500,'easeInOutBack',function(){
			});
			
			if(!$.browser.msie ||  parseFloat($.browser.version) > 6.0){
				parentLi.children('ul:first').slideDown('slow');
				parentLi.attr('current-status', 'on');
			}
		}
		if (status == 'on') {
			var to = parentLi.attr('current_to');
			clearTimeout(to);
			parentLi.attr('current_to',null);
		}
	});
	$('#main-menu li li a').mouseover(function(){
		var parentLi=$(this).parent().parent().parent();
		var status=parentLi.attr('current-status');
		if (status == 'on') {
			var to = parentLi.attr('current_to');
			clearTimeout(to);
			parentLi.attr('current_to',null);
		}
	});
	$('#main-menu li a.menu-trigger').mouseout(function(){
		var parentLi=$(this).parent();
		var status=parentLi.attr('current-status');
		if (status == 'on') {
			var to=setTimeout('hideMenuElements("#'+parentLi.attr('id')+'")',400);
			parentLi.attr('current_to',to);
			//hideMenuElements("#"+parentLi.attr('id'))
		}
	});
	$('#main-menu li li a').mouseout(function(){
		var parentLi=$(this).parent().parent().parent();
		var status=parentLi.attr('current-status');
		if (status == 'on') {
			var to=setTimeout('hideMenuElements("#'+parentLi.attr('id')+'")',400);
			parentLi.attr('current_to',to);
			//hideMenuElements("#"+parentLi.attr('id'))
		}
	});
	/*END ANIM MENU*/
});

function getBGPosArray(e){
	try{
		var bgPosXY=($(e).css('background-position').split(' '));
	}catch(err) {
		bgPosXY=Array(
				$(e).css('background-position-x'),
				$(e).css('background-position-y')
		);
	}
	return bgPosXY;
}
function hideMenuElements(elemId){
	var bgPosXY=getBGPosArray($(elemId).children('a:first'));
	var parentLi=$(elemId);
	parentLi.children('a').animate({backgroundPosition: '('+bgPosXY[0]+' -0px)'},200,'easeOutBack');
	//parentLi.children('ul:first').slideUp('slow');
	parentLi.attr('current-status','off');
}

function replaceLinks(){
	var hr = $(this).attr('href');
	var tg = $(this).attr('target');
	var rel = $(this).attr('rel');
	if (hr.slice(0, 7) != "http://"
		&& hr.slice(0, 7) != "mailto:"
		&& hr.slice(0, 11) != "javascript:"
		&& tg!="_blank"
		&& rel==undefined||rel=="internal"
	){
		/*$.ajax({
			url: this.href,
			type: 'GET',
			dataType: 'html',
			timeout: 10000,
			error: function(){
				$('#content').load('/error404');
			},
			success: function(xml){
				$('#content').html(xml);
				$('#content a').click(replaceLinks);
			}
		});*/

		$(this).attr('href','#'+hr);
		$(this).attr('rel','history');
	}else{
		return true;
	}
	return true;
}

function pageload(hash) {
	// hash doesn't contain the first # character.
	if(hash) {
		// restore ajax loaded state
		$('#visual_feedback').fadeIn('fast');
		$("#content").load(hash,function(){
			replaceContentLinks();
			$("a[@rel='history']").unbind('click');
			$("a[@rel='history']").click(function(){
		        $.history.load(this.href.replace(/^.*#/, ''));
		        return false;
		    });
			$('#visual_feedback').fadeOut('fast');
			//$.history.init(pageload);
		});
	} else {
		// start page
		//$("#load").empty();
	}
}
function replaceContentLinks(){
	$('#content a').each(replaceLinks);
}
function initHistory(){
	// Initialize history plugin.
	// The callback is called at once by present location.hash.
	$.history.init(pageload);

	// set onlick event for buttons
	$("a[@rel='history']").click(function(){
		//
		var hash = this.href;
		hash = hash.replace(/^.*#/, '');
		// moves to a new page.
		// pageload is called at once.
		$.history.load(hash);
		return false;
	});
}
/*
$('*').bind('click',function(e){
	alert($(e).attr('type'));
	return false;
})
*/
