var base_url = 'http://www.janskehombergen.nl/'; //  'http://janske.mediamogul.nl/';//
function init_tips() {
	if(in_iHell==false) {
		var work_info_tips = new Tips('a.work_thumb_link',{
			className: 'tip_work_info',
			fixed: false,
			hideDelay: 50,
			showDelay: 50
		});
	}
}
var elements_animated = false;
var content_loaded = false;

//////////////////////////////////////////////////////////////////
/////////////////// HOOK LINKS TO AJAX CONTENT LOADING //////////////////////////
//////////////////////////////////////////////////////////////////

var instant_loader_links;
function trigger_links() {
	if(
		(typeof instant_loader_links!='undefined') 
		&& 
		(instant_loader_links.length>0)
		) 
		{ 
		// output(instant_loader_links.length+' reset');
		instant_loader_links.removeEvents('click');
		instant_loader_links.length=0; 
	}
	instant_loader_links = $$('a.instant_load');
	instant_loader_links.addEvent('click', function() { 
		//output('zoom_percentage = '+zoom_percentage);
		if(this.rel!='content_cv') {
			instant_link_action(this); 
		} else {
			if(zoom_percentage==1) {
				instant_link_action(this); 
			}
		}
		return false; 
	});
}

var content_part, load_new, this_content_holder;
var reload_thumbs = true;

function instant_link_action(link) {
	first_content_loaded = false;
	var link_rel = link.getProperty('rel');
	// PAK REL
	var link_part = link.href.replace(base_url, '');
	var url_parts = link_part.split('/');
	content_part = 'content_'+url_parts[0];
	
	this_content_holder = $(content_part).getChildren('div.holder_content')[0];

	// WORK FOCUS ?
	if(!link.hasClass('prev_next_work')) {
		reload_thumbs = true;
		EL_work_focus_hold.innerHTML = '';
		work_focus_content = '';
	}
	if(link.hasClass('instant_load')) {
		elements_animated = true;
		load_new = true;
		show_loader();
		if(link.hasClass('work_thumb_link')) {
			reload_thumbs = false;
		}
	} else if(link.hasClass('sub_menu_link')) {
		load_new = true;
		// show_loader();
	} else if(this_content_holder.innerHTML=='') {
		load_new = true;
	// CONTENT WAS AL GELADEN
	} else {
		load_new = false;
	}
	
	output('load_new = '+load_new+' - content_part = '+this_content_holder);
	// LOAD CONTENT ALS ER NOG NIET IS
	if(load_new==true) {
		load_content(link);
	}
	return false;
}

//////////////////////////////////////////////////////////////////
/////////////////// LOAD CONTENT //////////////////////////
//////////////////////////////////////////////////////////////////
function load_content(url) {
	content_loaded = false;
	var url_to_load = escape(url.href);
	var load_file = base_url+'_inc/_content_readers/content_reader.inc.php?load_page='+url_to_load;
	// output('load_file = '+load_file);
	sendRequest(load_file, handleRequest);
}

//////////////////////////////////////////////////////////////////
/////////////////// AJAX  //////////////////////////
//////////////////////////////////////////////////////////////////
/* -----------------------------------------------------
	INSTANT EDIT CALLBACK FUNCTIONS
 -----------------------------------------------------*/
var html_to_show;
var work_focus_content = '';
function handleRequest(req) {
	
	if(req.responseText.indexOf('<!--EXTRA-->')==-1) {
		html_to_show = req.responseText;
		work_focus_content = '';
	} else {
		var content_data = req.responseText.split('<!--EXTRA-->');
		html_to_show = content_data[0];
		work_focus_content = content_data[1];
	}
//	alert('html_to_show = '+req.responseText);
	content_loaded = true;
	output('content_loaded');
	if(elements_animated==true) {
		insert_content();
	}
}
function insert_content() {
	hide_loader();
	if((load_new==true) && (reload_thumbs==true)) {
		this_content_holder.innerHTML = html_to_show;
	}
	if((load_new==true) && (work_focus_content!='')) {
		EL_work_focus_hold.innerHTML = work_focus_content;	
		trigger_work_focus_bits();
		// alert('work_focus_content = '+work_focus_content)
	}
	if(reload_thumbs==true) { init_tips(); }
	// if(in_iHell==true) { position_stuff(true, document.body.id, true); }
	trigger_links();
}
var work_focus_open
function trigger_work_focus_bits() {
	init_item_galleries();
	if($('focus_close')!=null) {
		var focus_closer = $('focus_close');
		focus_closer.addEvent('click', function() {
			close_work_focus();
			return false;
		});	
	}
}
function close_work_focus() {
	EL_work_focus_hold.innerHTML = '';
	work_focus_content = '';
}

/* ------ LOADING BUSINESS ------------------------------------- */

var EL_loader;
function show_loader() {
	if(typeof EL_loader=='undefined') { EL_loader = $('ajax_loading'); }
	// ZET IN CENTRUM
	var top_val = Math.round((page_dims.window_h / 2)) - 20; 
	var left_val = Math.round((page_dims.window_w / 2)) - 20;
	// output('loader top: '+top_val+' left: '+left_val)
	// output('SHOW');
	EL_loader.setStyles({
		top: top_val,
		left: left_val,
		display: 'block'
	});
}
function hide_loader(){
	if(typeof EL_loader=='undefined') { EL_loader = $('ajax_loading'); }
	EL_loader.setStyle('display', 'none');
	// output('HIDE');
} 
/* -----------------------------------------------------
	XMLHTTP Functions
	As found on Quirksmode. You hero.
 -----------------------------------------------------*/

function sendRequest(url,callback,postData) {
	var req = createXMLHTTPObject();
	if (!req) return;
	var method = (postData) ? "POST" : "GET";
	req.open(method,url,true);
	req.setRequestHeader('User-Agent','XMLHTTP/1.0');
	if (postData)
		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
	req.onreadystatechange = function () {
		if (req.readyState != 4) return;
		if (req.status != 200 && req.status != 304) {
		//	alert('HTTP error ' + req.status);
			return;
		}
		callback(req);
	}
	if (req.readyState == 4) return;
	req.send(postData);
}

function XMLHttpFactories() {
	return [
		function () {return new XMLHttpRequest()},
		function () {return new ActiveXObject("Msxml2.XMLHTTP")},
		function () {return new ActiveXObject("Msxml3.XMLHTTP")},
		function () {return new ActiveXObject("Microsoft.XMLHTTP")}
	];
}

function createXMLHTTPObject() {
	var xmlhttp = false;
	var factories = XMLHttpFactories();
	for (var i=0;i<factories.length;i++) {
		try {
			xmlhttp = factories[i]();
		}
		catch (e) {
			continue;
		}
		break;
	}
	return xmlhttp;
}
/* 
////////////////////////////////////////////////
CLOSE ON ESCAPE
////////////////////////////////////////////////
*/
function start_key_functions() {
 	document.onkeydown = check_key;
}
function check_key(event) {
	// IE hack
	if (window.event) { event = window.event; }
	var keycode = event.keyCode;
	var escapeKey;
	if (event.DOM_VK_ESCAPE) {  // mozilla
		escapeKey = event.DOM_VK_ESCAPE;
	} else { // ie
		escapeKey = 27;
	}
	var key = String.fromCharCode(keycode).toLowerCase();
	if (keycode == escapeKey){ // close lightbox
		close_work_focus();
	}
}
start_key_functions();

