/*
Filename: julia_ajax_attach.js beta 4
	This file is the part of Julia 1.05 - Simply Programming Universe.

License:
	Please do not use any part of julia without written permission by the authors.

Copyright:
	Copyright (c) 2009 (www.e-future.pl).
*/

function diff_from_time()
{
	var n = new Date();         
	var s = n.getTime();          
	var diff = s - julia_benchmark_start;        
	return diff;                  
}



function activate_area(area)
{
	
	if($(area))
	{
		var temp = $(area).getElements('a');
		MainAnchors=MainAnchors.combine(temp);
		temp.each(function(e){
				e.addEvent('click',function(){
					this.setProperty('jma','true');
					this.addClass('jActive');
				});		
		})
	}
}


function juliaParseURL(hash) // not optimized!
{
	if(hash.contains(':90')){
		hash = hash.replace('juliaFinal/','');
	}
	array_hash = hash.split('/');
	array_hash[2]=julia_HTTP_HOST;
	hash = array_hash.join('/');
	array_hash = hash.split(julia_HTTP_HOST);
	//alert(julia_HTTP_HOST)
	return array_hash[1] //.replace('/'+julia_APP_NAME+'/content','');
}


function julia_parse_links(area) //0.011sec! on wasielak.pl
{
	//julia_benchmark_start = new Date().getTime();
	if($('noajax')) return true;
	$j("a[j!='noajax'],area[j!='noajax']",area).not("a[target~='_blank']").not("a[class^='noajax']").not("a[href^='mailto:']").click(function(e){
		if(!Browser.Engine.trident&&this.hasClass('jActive')) return false;
		var hash = this.href;
		hash = hash.replace(/^.*#/, '');
		var dest=$j(this).attr('destination');
		if(dest&&_page_active == ''){
			if( document.location.href.split('#')[1]){
				_page_active = document.location.href.split('#')[1].split('-juliasep-')[0];
			}
		}
		if(!dest)_page_active = '';
		if($j.historyLoad){
			hash = juliaParseURL(hash)
			$$('.julia_validation_error').each(function(e){
				e.dispose();					
			})
			$j.historyLoad(hash+'-juliasep-'+(dest?dest:default_container)+'-juliasep-'+_page_active);
		}
		return false;
	});
	//var time_temp=diff_from_time()/1000;
	//alert(time_temp);
}

function juliaGetPage(page,destination,fn,scrolling_off){
	
	if(!page)return;
	if(!page.contains(julia_HTTP_HOST))
	{
		page = 'http://'+julia_HTTP_HOST+'/'+page;	
	}
	$j.ajax({
	  url: page+'/type/_ajax/'+now(),
	  beforeSend: function(){
		julia_message(jlang_LoadingPage+', '+jlang_PleaseWait+'..');
		var st = $('julia_scroll_to');
		if(julia_scroll_to&&$('user_nav_id')&&!scrolling_off&&!st)
		{
			julia_scroll_to('user_nav_id');
		}
		if(st&&julia_scroll_to&&!scrolling_off)
		{
			julia_scroll_to(st.value);
		}

	  },
	  success: function(html){
		jShowContent(html,destination,function(){julia_message(jlang_PageLoadedSuccessfuly);});
		if(page.contains('public_html'))
		{
			var temp_arr =page.split('public_html')[1].split('/');
			//console.log(temp_arr);
			page = temp_arr[1];
		}
		else
		{
			var temp_arr =page.split('/');
			page = temp_arr[temp_arr.length-1];
		}
		clearActives();
		$$('.jl'+page).addClass('jActive');
		if(fn)fn();
	  }
	});

}
//$j(function(){
//	julia_parse_links();
//})



var MainAnchors=Array(); 
function clearActives(){
	if(MainAnchors) MainAnchors.each(function(e){
		e.removeClass('jActive');
	});
}
window.addEvent('domready',function(){
	julia_parse_links();
	
	var e=null;
	e=$$('.jl'+julia_page_name);
	if(e)
	{
		e.each(function(el){
			el.addClass('jActive');		
		})	
	}
	$$('a').addEvent('click',function(){
		clearActives();
	});
	activate_area('topnavigation');
	activate_area('topnavigation2');
	activate_area('bottomnavigation');
});
