
// SPECIAL FRONTEND FUNCTIONS
var agt 				= navigator.userAgent.toLowerCase();
var host 				= 'http:\/\/'+document.location.host;
var tickers			= new Object();

// IF NAVIGATOR IS SAFARI HANDLE SMALLER IMAGES WITH CARE
if(agt.match(/safari/))
{
	window.addEventListener('load', check_images, false);
}

function write_image(image_str)
{
	var browser_ok = true;
	
	var rand 		= Math.random();
	var rand_id = 'rand_' + rand;
	
	// WRITE RANDOM CONTAINER
	document.write('<span id="' + rand_id +  '">&nbsp;</span>');
	
	// GET PARENT WIDTH
	
	// CHECK IF PARENT IS BLOCK ELEMENT -> GET NEXT BLOCK ELEMENT
	var parent = getobj(rand_id).parentNode;
	if(parent.tagName.toLowerCase() != 'p' && parent.tagName.toLowerCase() != 'div') parent = parent.parentNode;
	if(parent.tagName.toLowerCase() != 'p' && parent.tagName.toLowerCase() != 'div') parent = parent.parentNode;
	if(parent.tagName.toLowerCase() != 'p' && parent.tagName.toLowerCase() != 'div') parent = parent.parentNode;
	

	var new_width = parent.offsetWidth;		
	
	// REMOVE RANDOM SPAN
	rm(rand_id);
	
	
	// WRITE NEW SOURCE
	if(new_width > 0 && browser_ok)
	{
		var img_style = '';
		
		// GET SCRIPT HOST
		var my_host = document.location.hostname;
		var tmp_arr = my_host.split('.');
		tmp_arr.reverse();
		my_host = tmp_arr[1] + '.' + tmp_arr[0];
		
		// GET PICTURE HOST
		var src = /src="([^"]*)"/;
		var src_hits = src.exec(image_str);
		
		var re = new RegExp('^(?:f|ht)tp(?:s)?\://([^/]+)', 'im');
		var src_host_arr = src_hits[1].match(re);
		
		// IF SAFARI WRITE A CLASS TO FIND BACK SMALLER IMAGES
		if(agt.match(/safari/))
		{
			if(image_str.match('class="'))
			{
				image_str = image_str.replace('class="', 'class="smaller_vers ');	
			}
			else
			{
				image_str = image_str.replace('<img', '<img class="smaller_vers"');
			}
		}
		
		// IF PICTURE HOST IS SET
		if(src_host_arr && src_host_arr[1] != undefined)
		{
			var src_host = src_host_arr[1];
			var tmp_arr = src_host.split('.');
			tmp_arr.reverse();
			src_host = tmp_arr[1] + '.' + tmp_arr[0];

			// IF PICTURE IS NOT AT WEB CTRL (REMOTE PICTURE)
			if(my_host != src_host)
			{
				// PRELOAD IMAGE TO GET WIDTH
				var pre = new Array();
				pre[0]	=	new Image();
				pre[0].src = src_hits[1];
				pre[0].new_width = new_width;
				
				if(window.remote_img_counter === undefined) window.remote_img_counter = 0;
				window.remote_img_counter++;
				var remote_img_id = 'remote_img_' + window.remote_img_counter;
				
				// WRITE REMOTE IMAGE AND HIDE IT				
				document.write(image_str.replace(/src="/, 'id="' + remote_img_id + '" src="'));
				getobj(remote_img_id).style.visibility = 'hidden';
				
				pre[0].remote_img_id = remote_img_id;
				
				pre[0].onload = function(){
					
					// RESIZE REMOTE IMAGE
					if(this.width > this.new_width)
					{
						getobj(this.remote_img_id).style.width = this.new_width + 'px'; 
					}
					// SHOW IMAGE
					getobj(this.remote_img_id).style.visibility = 'visible';
					
				};

				return true;
			}
		}
		
		image_str = image_str.replace(/src="([^"]*)"/, 'src="$1?w=' + new_width + '"');		
	}
	document.write(image_str);
	return true;
}

function check_images()
{
	// GET ALL SMALLER IMAGES
	var images = getElementsByClassName('smaller_vers', getobj('content'));
	
	for(var i = 0; i < images.length; i++)
	{
		if(images[i].tagName.toLowerCase() == 'img')
		{
			// GET PARENT
			var parent = images[i].parentNode;
			if(parent.tagName.toLowerCase() != 'p' && parent.tagName.toLowerCase() != 'div') parent = parent.parentNode;
			if(parent.tagName.toLowerCase() != 'p' && parent.tagName.toLowerCase() != 'div') parent = parent.parentNode;
			if(parent.tagName.toLowerCase() != 'p' && parent.tagName.toLowerCase() != 'div') parent = parent.parentNode;

			var parent_width = parent.offsetWidth;			
			if(parent_width < images[i].offsetWidth)
			{
				images[i].style.width = parent_width + 'px';
			}
		}
	}
}

function loop_ticker(id, speed, init)
{
	var p = getobj('ticker_parent_' + id);
	var c = getobj('ticker_child_' + id);
	
	if(p && c)
	{
		p.t_id 	= id;
		p.speed = speed;
		p.onmouseover = function(){clearTimeout(tickers[this.t_id])};
		p.onmouseout  = function(){loop_ticker(this.t_id, this.speed)}; 
		
		var p_width = p.clientWidth;
		var c_width = c.offsetWidth;
		var c_left 	= parseInt(c.style.left.toLowerCase().replace('px', ''));
		if(init != undefined || c_left <= (c_width*(-1)))
		{
			var new_pos = p_width;
		} 
		else var new_pos = c_left - parseInt(speed);

		c.style.left = new_pos + 'px';
		c.style.visibility = 'visible';
		tickers[id] = setTimeout('loop_ticker("' + id + '", "' + speed + '")', 30);			
	}
}

function open_window(url, _width, _height)
{
	if(_width === undefined) _width = 800;
	if(_height === undefined) _height = 600;
	
	var window_name = 'window' + new Date().getTime();
	var options = ',location=no,menubar=no,scrollbars=yes,status=no,toolbar=no';
	
	var new_popup = window.open(url, window_name, 'width=' + _width + ',height=' + _height + options);
	
	// new_popup.blur();
	// new_popup.innerHeight = _height;
	// new_popup.innerWidth 	= _width;

	// var _x = parseInt((screen.width - new_popup.outerWidth) / 2);
	// var _y = parseInt((screen.height - new_popup.outerHeight) / 2);

	// new_popup.moveTo(_x, _y);
	new_popup.focus();
}

function image_preview(file_name, path, files)
{
	// REMOVE OLD PREVIEW
	rm('image_preview');
	var arrs = '';

	if(files != undefined && files != '')
	{
		var file_arr = files.split('::').sort();
		var file_pos = file_arr.array_search(file_name);
		var arrl_click = arrr_click = '';
		var arrl_vis = arrr_vis = 'hidden';
		
		if(file_pos > 0)
		{
			arrl_click 	= 'image_preview(\'' + file_arr[file_pos - 1] + '\', \'' + path + '\', \'' + files + '\');';
			arrl_vis		= 'visible';
		}
		
		if(file_pos != -1 && file_pos < (file_arr.length -1))
		{
			arrr_click 			= 'image_preview(\'' + file_arr[file_pos + 1] + '\', \'' + path + '\', \'' + files + '\');';
			arrr_vis				= 'visible';
		}
		
		var arrl = '<img style="cursor:pointer;position:absolute;top:50%;left:0;margin-top:-12px;visibility:' + arrl_vis + ';" src="http://immo.ctrl.lu/_res/arrl.png" onclick="' + arrl_click + '"/>';
		var arrr = '<img style="cursor:pointer;position:absolute;top:50%;right:0;margin-top:-12px;visibility:' + arrr_vis + ';" src="http://immo.ctrl.lu/_res/arrr.png" onclick="' + arrr_click + '"/>';
		arrs = arrl + arrr + '<br />';
	}

	// CURRENT IMAGE
	var image = '<img style="cursor:pointer;" onclick="rm(\'image_preview\');" src="' + path + file_name + '"/>';

	// CLOSE BTN
	var close = '<div onclick="rm(\'image_preview\');" style="background:url(\'http://immo.ctrl.lu/_res/close_button.png\') no-repeat;cursor:pointer;height:30px;position:absolute;width:30px;z-index:5;"></div>';


	// CREATE PARENT_TABLE
	var par_div = document.createElement('div');
	par_div.innerHTML 				= close + '<table style="position:relative;left:15px;top:15px;border-collapse:collapse;"><tr><td style="background:#FFF;height:570px;text-align:center;vertical-align:middle;width:570px;">' + arrl + image + arrr + '</td></tr><table>';
	par_div.style.position 		= 'absolute';
	par_div.style.height			= '600px';
	par_div.style.width				= '600px';
	par_div.style.top					= '50%';
	par_div.style.left				= '50%';
	par_div.id								= 'image_preview';
	par_div.style.margin			= '-300px 0 0 -300px';
	par_div.style.background 	= 'url(\'http://immo.ctrl.lu/_res/image_preview.png\') no-repeat';
	
	
	document.body.appendChild(par_div);
}

function set_cal_month(month, mid)
{
	var url 		= '/index.php?ax=1&set_cal_month=' + month + '&mid=' + mid;
	var target	= 'cal_grid_' + mid;
	ax('GET', url, target, '', true);
	set_cal_list(month, mid);
}

function set_cal_list(date, mid)
{
	var url 		= '/index.php?ax=1&set_cal_list=' + date + '&mid=' + mid;
	var target = 'cal_list_' + mid;
	ax('GET', url, target, '', true);	
}