/* * * WINDOW LOADING FUNCTIONS * * */

function mainWindow_load_init() {
	//Init AJAX anchor checker
	setInterval("load_pages()", 300);
}


/* * * MAIN LOADING FUNCTION * * */

function load_pages(){
	//*
	hash = document.location.hash.substring(1); 
	hash = hash.replace(/^#+/, ''); 
	if(anchor != hash){
		old_anchor = anchor; 
		anchor = hash;
		if (!anchor) {
			url = '/pages/view/front'; 
		} else {
			url = '/' + anchor;
		}
		
		load_window_content($('#main'), url); 
	}
	/* */
}


function load_window_content(block, url) {
	//var target = block.find('.block_content');
	var target = block.find('.content');
	//*
	$.ajax({
		target: target,
		url:  url, 
		beforeSend:  function() {
			window_rollDown(block); 
			appendAjaxLoading(target.parents('.block_content'), 'load_'+ block.attr('id')); 
		}, 
		success: function(ret) {
			target.html(ret); 
		}, 
		error: function(){
			$(".ajax_load_overlay").remove();
		}, 
		complete: function() {
			$(".ajax_load_overlay").remove();
			init_window_content(target); 
		}
	}); 
}

function init_window_content(target) {
	
	convertUrlsToHashes(target); 
	encryptEmail(); 
	target.parents('.scroll').tinyscrollbar(); 
	//alert('loaded'); 
	var blockname = target.parents('.block').attr('id'); 
	
	// Functions relative to each window
	switch(blockname) {
		case 'main': 
			target.find('a.lb').lightBox( lbOptions ); 
			target.find('form').unbind().submit( function() {
				var target = $('#main .block_content'); 
				
				if($(this).is('#SearchIndexIndexForm')) {
					var terms = $(this).find(':text').fieldValue()[0];
					var scope = $(this).find(':option').fieldValue()[0];
					window.location = '/#search/'+ scope+ '/'+ terms; 
				} else {
					$(this).ajaxSubmit({
						target: target, 
						beforeSend: function(){
							appendAjaxLoading(target); 
						}, 
						success: function(ret) {
							target.html(ret); 
							init_window_content(target); 
						}
					}); 
				}
				return false; 
			}); 
			target.scrollTo(0); 
			break;  
			
		case 'fb':  
			fb_init(fb_app_id); 
			
			$('#FeedWriteForm').unbind().submit( function() {
				var target = $('#fb .content'); 
				$(this).ajaxSubmit({
					target: target, 
					beforeSend: function(){
						appendAjaxLoading(target.parents('.block_content')); 
					}, 
					success: function() {
						load_window_content($('#fb'), '/fb/feeds/view'); 
						target.find('textarea').val(''); 
						$('#fb .ajax_load_overlay').remove(); 
						//load_window_content($('#fb'), '/fb/feeds/write'); 
					}
				}); 
				return false; 
			}); 
			break; 
		
		case 'quick_search_bar': 
			break; 
	}
}

function convertUrlsToHashes(el) {
	el.find('a:not(.nohash)').each(function (i, item) {
		href = $(item).attr('href'); 
		
		if(href) {
			// IE always returns the protocol/domain 
			// prefixed to href. This removes it in case of links
			// pointing to the same domain
			var href_array= $(item).attr('href').split("/");
			prefix = document.domain; 
			
			if(href_array[2] == prefix) {
				clean = href_array.slice(3); 
				url = clean.join('/'); 
			} else {
				url = href; 
			}
			
			if(!url.match( '^/?([a-zA-Z]+://|admin|img)') ){
				if(url.substr(0,1) == '/')
					url = url.substr(1); 
				newurl = '#'+url; 
				$(this).attr('href', newurl); 
			}
		}
	}); 
}


function load_video(res, type) {
	var v_url; 
	if(type == 'file') {
		v_url = "/swf/mplayer.swf"; 
		swfobj_flashvars['file'] = res;
	} else {
		v_url = res; 
		swfobj_params = {}; 
		swfobj_attributes = {}; 
	}; 
	swfobject.embedSWF( v_url, "video_wrap", "544", "325", "9", "expressInstall.swf", swfobj_flashvars, swfobj_params, swfobj_attributes);
}


