	var rotation_to_save = -1;
	var initial_rotation = 0;

	var base_image = null;
	var new_image = null;
	var image_frame = null;
	var infobar = null;
	var frame = null;
	var back = null;
	var toolbar = null;
	var placeholder = null;
	var frame_border = '0px';
	var scale_factor = 1;
	var is_processing = 0;

	var move_step = 15;
	var fgrow_step = 7;
	var ires_step = 4;
	var placeholder_width = 350;
	var default_dest_width = 550;
	var dest_width = default_dest_width;
	var infobar_h = 80;
	var toolbar_h = 60;
	var flash_dst = null;
	var img_dst = null;

//	setInterval('stopgrow()',500);

function stopgrow(event,forceclose)
{

	if(forceclose && placeholder)
	{
			placeholder.style.display = 'none';
			new_image.src = '0';

		if(rotation_to_save != -1 && initial_rotation != rotation_to_save)
		{
			image_id = base_image.id.search(/[0-9]/);
			image_id = base_image.id.substr(image_id);
			storePhotoRotation(image_id,rotation_to_save);
		}
	}

	var close_window = false;
	if(event)
	{
		var target = event.target?event.target:event.srcElement;
		if(target.id == 'grw_back' || (is_processing & ~(16 | 32)))
		{
			if(placeholder)
			{
				//close_window = true;
			}
		}
	}

	if(!is_processing && placeholder && placeholder.style.display != 'none')
	{

		var placeholder_w = mstd_getSWidth(placeholder);
		var placeholder_h = mstd_getSHeight(placeholder);
		var placeholder_t = mstd_getSTop(placeholder);
		var placeholder_b = placeholder_t + placeholder_h;
		var placeholder_l = mstd_getSLeft(placeholder);
		var placeholder_r = placeholder_l + placeholder_w;

		/*
		var mouse_pos = mstd_getMousePosition();

		if( mouse_pos[0] < placeholder_l ||
			 mouse_pos[0] > placeholder_r ||
			 mouse_pos[1] < placeholder_t ||
			 mouse_pos[1] > placeholder_b)
		//close_window = 'true';
		close_window = false;
*/
	}


	if(close_window)
	{
		if(placeholder)
		{
			placeholder.style.display = 'none';
			new_image.src = '0';
		}

		if(rotation_to_save != -1 && initial_rotation != rotation_to_save)
		{
			image_id = base_image.id.search(/[0-9]/);
			image_id = base_image.id.substr(image_id);
			storePhotoRotation(image_id,rotation_to_save);
		}
	}
}

function prepare1stage(id,infobar_c_id,toolbar_c_id,link_href,dst_width)
{
	if(is_processing)return;

	if(dst_width) dest_width = dst_width;
		else dest_width = default_dest_width;

 	base_image = mstd_getObjectPtr(id);
	if(!base_image.complete) return;
	new_image = mstd_getObjectPtr('grw_image');
	image_frame = mstd_getObjectPtr('grw_image_frame');
	infobar = mstd_getObjectPtr('grw_infobar');
	frame = mstd_getObjectPtr('grw_frame');
	back = mstd_getObjectPtr('grw_back') ;
	toolbar = mstd_getObjectPtr('grw_toolbar');
	placeholder = mstd_getObjectPtr('grw_placeholder');

	var image_link = mstd_getObjectPtr('grw_image_link');
	var coded_tb = mstd_getObjectPtr('t_' + image_id);
	var image_id = id.substr(id.indexOf('_')+1);
	/*
	if(!link_href)
	{
		var image_id = id.substr(id.indexOf('_')+1);
		var link_arr = image_link.href.split(',');
		link_arr[link_arr.length - 2] = image_id;
		image_link.href = link_arr.join(',');
	}
	else
	{
		image_link.href = link_href;
	}
	*/

	var rot = (new_image.src.search(/\,[0-9]\./));
	if(rot == -1)
		rot = 0
	else
		rot = parseInt(new_image.src.substr(rot+1,1));
	initial_rotation = rot;
	rotation_to_save = -1;

	placeholder.style.display = "none";

	new_image.style.width = base_image.style.width;
	new_image.style.height = base_image.style.height;
//	new_image.style.marginLeft 	= '2px';
//	new_image.style.marginRight 	= '2px';
//	new_image.style.marginTop 		= '2px';
//	new_image.style.marginBottom 	= '2px';
	new_image.useMap="#miasta";
	if (img_dst)
	{
	   new_image.src = img_dst;
	}
	else
	{
	   new_image.src = base_image.src;
	}

	var image_w = mstd_getSWidth(new_image);
	var image_h = mstd_getSHeight(new_image);
	scale_factor =  dest_width/image_w;
	var dest_image_h = Math.round(image_h * scale_factor,0);
	dest_image_h = (dest_image_h % 2)?dest_image_h + 1:dest_image_h;

	var placeholder_w = placeholder_width;

	var placeholder_h =  dest_image_h
						 + 2*2
						 + 2*1
						 + 2*1
						 + 2*6
						 + infobar_h
						 + toolbar_h;

	placeholder.style.width = placeholder_w+'px';
	placeholder.style.height = placeholder_h+'px';

	infobar.style.display = 'none';
	toolbar.style.display = 'none';
	infobar.style.height = '1px';
	toolbar.style.height = '1px';
	infobar_src = mstd_getObjectPtr(infobar_c_id);
	toolbar_src = mstd_getObjectPtr(toolbar_c_id);

	if(infobar_src)
	{
		for(var i = 0;i < infobar.childNodes.length;i++)
		{
			if(infobar.childNodes[i].nodeName == 'DIV' && infobar.childNodes[i].id == 'grw_infobar_c')
			{
					var infobar_c = infobar_src.cloneNode(true);
					infobar.replaceChild(infobar_c,infobar.childNodes[i]);
					infobar.childNodes[i].style.display = 'block';
					infobar.childNodes[i].id = 'grw_infobar_c';
					break;
			}
		}
	}

	if(toolbar_src)
	{
		for(var i = 0;i < toolbar.childNodes.length;i++)
		{
			if(toolbar.childNodes[i].nodeName == 'DIV' && toolbar.childNodes[i].id == 'grw_toolbar_c')
			{
					var toolbar_c = toolbar_src.cloneNode(true);
					toolbar.replaceChild(toolbar_c,toolbar.childNodes[i]);
					toolbar.childNodes[i].style.display = 'block';
					toolbar.childNodes[i].id = 'grw_toolbar_c';
					break;
			}
		}
	}

	frame.style.border = '0px';
	var image_frame_w = image_w + 2*2;
	var image_frame_h = image_h + 2*2;
	var frame_w = image_frame_w + 2;
	var frame_h = image_frame_h + 2;

	image_frame.style.width = image_frame_w + 'px';
	image_frame.style.height = image_frame_h + 'px';

	frame.style.width = frame_w + 'px';
	frame.style.height = frame_h + 'px';
	mstd_setSMargins(image_frame,0,0,0,0);
	mstd_setSMargins(frame,0,0,0,0);

	back.style.width = frame_w + 'px';
	back.style.height = frame_h + 'px';
	var back_m_l = (placeholder_w - (image_frame_w + 2))/2;
	var back_m_r = (placeholder_w - (image_frame_w + 2))/2;
	var back_m_t = (dest_image_h + 4 + 2 + - frame_h)/2 + 7 + infobar_h;
	mstd_setSMargins(back,back_m_t,back_m_r,0,back_m_l);

	var base_pos_top = mstd_getAbsTop(base_image);
	var base_pos_left = mstd_getAbsLeft(base_image);
	placeholder.style.top = (base_pos_top - back_m_t - 2 - 1) + 'px';
	placeholder.style.left = (base_pos_left - back_m_l - 2 - 1) + 'px';

	placeholder.style.display = 'block';

	do1stage(ires_step*2);
}

function do1stage(step)
{
	is_processing =  1;
	var iwidth = mstd_getSWidth(new_image);

	if(iwidth == dest_width)
	{
		prepare2stage();
		is_processing = is_processing & ~1;
		return;
	}

	iwidth = iwidth + step;
	if(iwidth > dest_width)
	{
		step = dest_width - (iwidth - step);
		iwidth = dest_width;
	}

	var base_width = mstd_getSWidth(base_image);
	scale_factor = iwidth / base_width;
	var base_height = mstd_getSHeight(base_image);
	var itheight = mstd_getSHeight(new_image);
	var iheight = Math.round((base_height * scale_factor),0);
	iheight = (iheight % 2)?iheight + 1:iheight;
	steph = iheight - itheight;

	var iframe_w = mstd_getSWidth(image_frame) + step;
	var iframe_h = mstd_getSHeight(image_frame) + steph;

	var frame_w = mstd_getSWidth(frame) + step;
	var frame_h = mstd_getSHeight(frame) + steph;

	var back_w = mstd_getSWidth(back) + step;
	var back_h = mstd_getSHeight(back) + steph;

	var back_m_l = mstd_getSMarginLeft(back) - step/2;
	var back_m_r = mstd_getSMarginRight(back) - step/2;
	var back_m_t = mstd_getSMarginTop(back) - steph/2;

	new_image.style.width = iwidth + 'px';
	new_image.style.height = iheight + 'px';

	image_frame.style.width = iframe_w + 'px';
	image_frame.style.height = iframe_h + 'px';

	frame.style.height = frame_h + 'px';
	frame.style.width = frame_w + 'px';

	back.style.height = back_h + 'px';
	back.style.width = back_w + 'px';

	back.style.marginTop = back_m_t + 'px';
	back.style.marginRight = back_m_r + 'px';
	back.style.marginLeft = back_m_l + 'px';

	setTimeout('do1stage('+step+')',1);
}

function prepare2stage()
{
	var dest_grow_w = mstd_getSWidth(back) + 12;
	var dest_grow_h = mstd_getSHeight(back) + 12;
	do2stage(fgrow_step * 2,fgrow_step*2,dest_grow_w,dest_grow_h);
}

function do2stage(step_w,step_h,dest_grow_w,dest_grow_h)
{
	is_processing =  2;

	var back_w = mstd_getSWidth(back);
	var back_h = mstd_getSHeight(back);

	if(back_w >= dest_grow_w && back_h >= dest_grow_h)
	{
		is_processing = is_processing & ~2;
		prepare3stage();
		return;
	}

	back_w = back_w + step_w;
	back_h = back_h + step_h;

	if(back_w > dest_grow_w)
	{
		step_w = dest_grow_w - (back_w - step_w);
		back_w = dest_grow_w;
	}

	if(back_h > dest_grow_h)
	{
		step_h = dest_grow_h - (back_h - step_h);
		back_h = dest_grow_h;
	}

	var back_m_t = mstd_getSMarginTop(back) - step_h/2;
	var back_m_r = mstd_getSMarginRight(back) - step_w/2;
	var back_m_l = mstd_getSMarginLeft(back) - step_w/2;

	var frame_m_t = mstd_getSMarginTop(frame) + step_h/2;
	var frame_m_r = mstd_getSMarginRight(frame) + step_w/2;
	var frame_m_b = mstd_getSMarginBottom(frame) + step_h/2;
	var frame_m_l = mstd_getSMarginLeft(frame) + step_w/2;

	back.style.width = back_w + 'px';
	back.style.height = back_h + 'px';

	mstd_setSMargins(back,back_m_t,back_m_r,0,back_m_l);
	mstd_setSMargins(frame,frame_m_t,frame_m_r,frame_m_l,frame_m_b);

	setTimeout('do2stage('+step_w+','+step_h+','+dest_grow_w+','+dest_grow_h+')',1);
}

function prepare3stage()
{

	var back_m_t = mstd_getSMarginTop(back) - 1;
	var back_m_r = mstd_getSMarginRight(back) - 1;
	var back_m_l = mstd_getSMarginLeft(back) - 1;

	var back_w = mstd_getSWidth(back) + 2;
	var back_h = mstd_getSHeight(back) + 2;

	back.style.width = back_w + 'px';
	back.style.height = back_h + 'px';
	mstd_setSMargins(back,back_m_t,back_m_r,0,back_m_l);

	frame.style.border = frame_border;

	var placeholder_w = mstd_getSWidth(placeholder);
	do3stage(fgrow_step*2,placeholder_w);
}

function do3stage(step,dest_width)
{
	is_processing =  4;
	var back_w = mstd_getSWidth(back);
	if(back_w >= dest_width)
	{
		is_processinng = is_processing & ~4;
		prepare4stage();
		return;
	}

	back_w = back_w + step;

	if(back_w > dest_width)
	{
		step = (dest_width - (back_w - step));
		back_w = dest_width;
	}

	var frame_w = mstd_getSWidth(frame) + step;

	var back_m_t = mstd_getSMarginTop(back);
	var back_m_r = mstd_getSMarginRight(back) - step/2;
	var back_m_b = mstd_getSMarginBottom(back);
	var back_m_l = mstd_getSMarginLeft(back) - step/2;

	var iframe_m_t = mstd_getSMarginTop(image_frame);
	var iframe_m_r = mstd_getSMarginRight(image_frame) + step/2;
	var iframe_m_b = mstd_getSMarginBottom(image_frame);
	var iframe_m_l = mstd_getSMarginLeft(image_frame) + step/2;

	back.style.width = back_w + 'px';
	frame.style.width = frame_w + 'px';

	mstd_setSMargins(back,back_m_t,back_m_r,back_m_b,back_m_l);
	mstd_setSMargins(image_frame,iframe_m_t,iframe_m_r,iframe_m_b,iframe_m_l);

	setTimeout('do3stage('+step+','+dest_width+')',1);
}

function prepare4stage()
{

	var back_h = mstd_getSHeight(back) + 2;
	var back_m_t = mstd_getSMarginTop(back) - 1;
	var frame_h = mstd_getSHeight(frame) + 2;

	back.style.height = back_h + 'px';
	back.style.marginTop = back_m_t + 'px';
	frame.style.height = frame_h + 'px';

	toolbar.style.display = 'block';
	infobar.style.display = 'block';

	do4stage(fgrow_step*2,fgrow_step*2);
}

function do4stage(step_ib,step_tb)
{
	is_processing =  8;
	var ib_height = mstd_getSHeight(infobar);
	var tb_height = mstd_getSHeight(toolbar);

	if(ib_height >= infobar_h && tb_height >= toolbar_h)
	{
		is_processing = is_processing & ~8;
		if(flash_dst)
		{
		   ustawFlash(flash_dst);
		}
		prepare5stage();
		return;
	}

	ib_height = ib_height + step_ib;
	if(ib_height > infobar_h)
	{
		step_ib = infobar_h - (ib_height - step_ib);
		ib_height = infobar_h;
	}

	tb_height = tb_height + step_tb;
	if(tb_height >= toolbar_h)
	{
		step_tb = toolbar_h - (tb_height - step_tb);
		tb_height = toolbar_h;
	}

	var back_h = mstd_getSHeight(back) + step_tb + step_ib;

	var frame_h = mstd_getSHeight(frame) + step_tb + step_ib;


	var back_m_t = mstd_getSMarginTop(back) - step_ib;


	back.style.height = back_h + 'px';
	back.style.marginTop = back_m_t + 'px';
	frame.style.height = frame_h + 'px';
	infobar.style.height = ib_height + 'px';
	toolbar.style.height = tb_height + 'px';

	setTimeout('do4stage('+step_ib+','+step_tb+')',1);
}

function prepare5stage()
{

	var window_dim = mstd_getWindowSize();
	var window_scr = mstd_getWindowScroll();
	var placeholder_w = mstd_getSWidth(placeholder);
	var placeholder_h = mstd_getSHeight(placeholder);
	if(window_dim[0] <  placeholder_w || window_dim[1] < placeholder_h)
	return;

	var placeholder_t = mstd_getSTop(placeholder);
	var placeholder_b = placeholder_t + placeholder_h;
	var placeholder_l = mstd_getSLeft(placeholder);
	var placeholder_r = placeholder_l + placeholder_w;


	var window_t = window_scr[1];
	var window_b = window_t + window_dim[1];
	var window_l = window_scr[0];
	var window_r = window_l + window_dim[0];

	var dif_w = 0;
	if(placeholder_l < window_l)
	{
		dif_w = window_l - placeholder_l;
	}

	if(placeholder_r > window_r)
	{
		dif_w = window_r - placeholder_r;
	}

	var dif_h = 0;
	if(placeholder_t < window_t )
	{
		dif_h = window_t - placeholder_t;
	}

	if(placeholder_b > window_b)
	{
		dif_h = window_b - placeholder_b;
	}

	if(dif_w || dif_h)
	{
		do5stage(move_step,move_step,placeholder_t + dif_h,placeholder_l + dif_w);
	}
}

function do5stage(step_w,step_h,dest_top,dest_left)
{
	is_processing =  16;
	var cur_l = mstd_getSLeft(placeholder);
	var cur_t = mstd_getSTop(placeholder);

	if(cur_l == dest_left && cur_t == dest_top)
	{
		is_processing = is_processing & ~16;
//		setTimeout('stopgrow()',1000);
      return;
	}

	if(cur_l > dest_left)
	{
		if(cur_l - step_w < dest_left)
		{
			step_w = cur_l - dest_left;
		}
		cur_l = cur_l - step_w;
	}

	if(cur_l < dest_left)
	{
		if(cur_l + step_w > dest_left)
		{
			step_w = dest_left - cur_l;
		}
		cur_l = cur_l + step_w;
	}

	if(cur_t < dest_top)
	{
		if(cur_t + step_h > dest_top)
		{
			step_h = dest_top - cur_t;
		}
		cur_t = cur_t + step_h;
	}

	if(cur_t > dest_top)
	{
		if(cur_t - step_h < dest_top)
		{
			step_h = cur_t - dest_top;
		}
		cur_t = cur_t - step_h;
	}

	placeholder.style.top = cur_t + 'px';
	placeholder.style.left = cur_l + 'px';

	setTimeout('do5stage('+step_w+','+step_h+','+dest_top+','+dest_left+')',1);
}



var rotation_to_save;
var initial_rotation;

function rotateMImage(direction,wait_img_src)
{
	if(is_processing && 32) return;

	if(!wait_img_src) wait_img_src = '_d/lay/kreciol_s.gif';
	direction = direction == 'left'?-1:1;

	var path = new_image.src;
	var rot = (path.search(/\,[0-9]\./));
	if(rot == -1)
		return;

	rot = parseInt(path.substr(rot+1,1));
	rot += direction;
	if(rot > 3) rot = 0;
	if(rot < 0) rot = 3;

	var new_path = path.replace(/\,[0-9]\./, ','+rot+'.');
	rotation_to_save = rot;
	is_processing = 32;



	new_image.base_height = mstd_getSHeight(new_image);
	new_image.base_width = mstd_getSWidth(new_image);

	base_image.base_height = mstd_getSHeight(base_image);
	base_image.base_width = mstd_getSWidth(base_image);

	new_image.src = wait_img_src;
	base_image.src = wait_img_src;

	var rotated_img = new Image();
	rotated_img.src = new_path;
	rotated_img.onload = update_images(rotated_img,new_image,base_image);

}

function update_images(src_img,popover_img,base_img)
{
	if(src_img)
	{
		if(popover_img)
		{
			var max_height = mstd_getSHeight(frame) - toolbar_h - infobar_h - 2*3;
			var new_width = dest_width;
			var scale_factor = popover_img.base_height / new_width;
			var new_height = Math.round(popover_img.base_width / scale_factor,0);
			new_height += new_height % 2?1:0;

			if(new_height > max_height)
			{
				scale_factor = popover_img.base_width / max_height;
				new_width = Math.round(popover_img.base_height / scale_factor,0);
				new_height = max_height;
			}

			var img_frame_w = new_width + 4;
			var img_frame_h = new_height + 4;
			var img_frame_m_t = ((max_height + 6) - (img_frame_h+2))/2;
			var img_frame_m_b = img_frame_m_t;
			var img_frame_m_l = (mstd_getSWidth(frame) - (img_frame_w + 2)) /2;
			var img_frame_m_r = img_frame_m_l;

			image_frame.style.width = img_frame_w + 'px';
			image_frame.style.height = img_frame_h + 'px';
			popover_img.src = src_img.src;
			image_frame.style.marginTop = img_frame_m_t + 'px';
			image_frame.style.marginBottom = img_frame_m_b + 'px';
			image_frame.style.marginLeft 	= img_frame_m_l + 'px';
			image_frame.style.marginRight = img_frame_m_r + 'px';

			popover_img.style.width = new_width;
			popover_img.style.height = new_height;


		}
		if(base_img)
		{

			base_img.src = src_img.src;
			var tmp_height = base_img.base_width;
			var tmp_width = base_img.base_height;
			var scale_factor = tmp_width / tmp_height;
			tmp_width = tmp_height;
			tmp_height = Math.round(tmp_height / scale_factor,1);
			base_img.style.height = tmp_height + 'px';
			base_img.style.width = tmp_width + 'px';
		}
	}

	is_processing = is_processing & ~32;
}


//window.document.onmouseout = grw_cursorOutOfBrowser;
//window.grw_mouseOutHandler = 'stopgrow(null,true)';

function grw_cursorOutOfBrowser(e)
{
   if (flash_dst) return;

	var evt = e||event;
	if(evt.pageX) //FF
	{
		var wr = mstd_getWindowRect();

		if (	evt.pageX < wr.left || evt.pageX > wr.right || evt.pageY < wr.top || evt.pageY > wr.bottom )
		{

			if(window.grw_mouseOutHandler) eval(window.grw_mouseOutHandler);

		}
	}
	else
		if(evt.clientX && (evt.clientX < 0 || evt.clientY < 0)) //IE
		{
      if(window.grw_mouseOutHandler) eval(window.grw_mouseOutHandler);
		}
}

function podmien(imgdst,flashdst)
{
	var obj_setFlash = document.getElementById("grw_flash");
	var obj_setImg = document.getElementById("grw_img");
   document.getElementById("grw_image").src = '0';
   obj_setImg.style.display='block';
   obj_setFlash.innerHTML='';
   obj_setFlash.style.display='none';

   flash_dst = flashdst;
   img_dst = imgdst;
}

function ustawFlash(flashdst)
{
   var width=250;
   var height=180;
	var obj_setFlash = document.getElementById("grw_flash");
	var obj_setImg = document.getElementById("grw_img");
   var obj = '<OBJECT classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '+
                  'codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" '+
                  'width="'+width+'" height="'+height+'" id="main_flash" align="middle"> '+
                '<PARAM name="allowScriptAccess" value="always"> '+
                '<PARAM name="movie" value="'+flashdst+'"> '+
                '<PARAM name="quality" value="high"> '+
                '<PARAM name="bgcolor" value="#FFFFFF"> '+
                '<PARAM name="wmode" value="opaque"> '+
                '<EMBED src="'+flashdst+'" quality="high" bgcolor="#FFFFFF" '+
                  'width="'+width+'" height="'+height+'" name="main-flash" align="middle" '+
                  'allowScriptAccess="always" type="application/x-shockwave-flash" '+
                  'pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="opaque"> '+
                '</EMBED>'+
             '</OBJECT>';
   obj_setFlash.innerHTML=obj;

   obj_setImg.style.display='none';
   obj_setFlash.style.display='block';
}
function mstd_getObjectPtr(id)
{
	var obj_ptr = null;
	if(document.getElementById)
	{
		obj_ptr = document.getElementById(id);
	}
	else
	{
		if(document.all)
		{
			obj_ptr = document.all[id];
		}
	}

	return obj_ptr;
}

function mstd_getSWidth(obj_ptr)
{
	if(!obj_ptr) return 0;
	swidth = 0;
	sw = obj_ptr.style.width;
	if(sw.length)
	{
		swidth = parseInt(sw.substr(0,sw.indexOf('px')));
	}
	return swidth;
}

function mstd_getSHeight(obj_ptr)
{
	var sheight = 0;
	var sh = obj_ptr.style.height;
	if(sh.length)
	{
		sheight = parseInt(sh.substr(0,sh.indexOf('px')));
	}
	return sheight;
}

function mstd_getSTop(obj_ptr)
{
	var stop = 0;
	var st = obj_ptr.style.top;
	if(st.length)
	{
		stop = parseInt(st.substr(0,st.indexOf('px')));
	}
	return stop;
}

function mstd_getSLeft(obj_ptr)
{
	var sleft = 0;
	var sl = obj_ptr.style.left;
	if(sl.length)
	{
		sleft = parseInt(sl.substr(0,sl.indexOf('px')));
	}
	return sleft;
}

function mstd_getAbsTop(obj_ptr)
{
	var curtop = 0;
	if (obj_ptr.offsetParent)
	{
		while (obj_ptr.offsetParent)
		{
			curtop += obj_ptr.offsetTop
			obj_ptr = obj_ptr.offsetParent;
		}
	}
	else if (obj_ptr.y)
		curtop += obj_ptr.y;

  return curtop;
}

function mstd_getAbsLeft(obj_ptr)
{
	var curleft = 0;
	if (obj_ptr.offsetParent)
	{
		while (obj_ptr.offsetParent)
		{
			curleft += obj_ptr.offsetLeft
			obj_ptr = obj_ptr.offsetParent;
		}
	}
	else if (obj_ptr.x)
		curleft += obj_ptr.x;
	return curleft;
}

function mstd_getSMarginTop(obj_ptr)
{
	var mt = 0;
	l = obj_ptr.style.marginTop;
	mt = parseInt(l.substr(0,l.indexOf('px')));
	return mt;
}

function mstd_getSMarginRight(obj_ptr)
{
	var mr = 0;
	l = obj_ptr.style.marginRight;
	mr = parseInt(l.substr(0,l.indexOf('px')));
	return mr;
}

function mstd_getSMarginBottom(obj_ptr)
{
	var mb = 0;
	l = obj_ptr.style.marginBottom;
	mb = parseInt(l.substr(0,l.indexOf('px')));
	return mb;
}

function mstd_getSMarginLeft(obj_ptr)
{
	var ml = 0;
	l = obj_ptr.style.marginLeft;
	ml = parseInt(l.substr(0,l.indexOf('px')));
	return ml;
}

function mstd_setSMargins(obj_ptr,margin_top,margin_right,margin_bottom,margin_left)
{
	obj_ptr.style.marginTop = margin_top + 'px';
	obj_ptr.style.marginRight = margin_right + 'px';
	obj_ptr.style.marginBottom = margin_bottom + 'px';
	obj_ptr.style.marginLeft = margin_left + 'px';
}

function mstd_getWindowSize()
{

  var w_width = 0, w_height = 0;
  if( typeof( window.innerWidth ) == 'number' )
  {
    w_width = window.innerWidth;
    w_height = window.innerHeight;
  }
  else
	if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) )
	{
		w_width = document.documentElement.clientWidth;
		w_height = document.documentElement.clientHeight;
		}
		else
		if( document.body && ( document.body.clientWidth || document.body.clientHeight ) )
		{
			w_width = document.body.clientWidth;
			w_height = document.body.clientHeight;
		}
	return [w_width,w_height];
}

function mstd_getWindowScroll()
{
  var scr_x = 0, scr_y = 0;
  if( typeof( window.pageYOffset ) == 'number' )
  {
    scr_y = window.pageYOffset;
    scr_x = window.pageXOffset;
  }
  else
	if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) )
	{
		scr_y = document.body.scrollTop;
		scr_x = document.body.scrollLeft;
	}
	else
		if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) )
		{
			scr_y = document.documentElement.scrollTop;
			scr_x = document.documentElement.scrollLeft;
		}
  return [ scr_x, scr_y ];
}

var mstd_obj_coll = new Array();

function addObject(obj_ptr)
{
	mstd_obj_coll[mstd_obj_coll.length] = obj_ptr;
}

function getObject(id)
{
	obj_ptr = null;

	if(msdt_obj_coll[id]) return msdt_obj_coll[id];
	return obj_ptr;
}

/*
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = mstd_captureMouseXY;
var tempX = 0
var tempY = 0
function mstd_captureMouseXY(e) {
  if (IE)
  {
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  }
  else
  {
    tempX = e.pageX
    tempY = e.pageY
  }

  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}
  return true;
}
function mstd_getMousePosition()
{
	return [tempX, tempY];
}
*/

function mstd_getNaturalWidth(image_ptr)
{
	if( image_ptr.naturalWidth ) {
		return image_ptr.naturalWidth;
    }
	else
	{
	    lgi = new Image();
	    lgi.src = image_ptr.src;
	    return lgi.width;
	}
}

function mstd_validateEmail(email)
{
	var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	return (filter.test(email) && email.length);
}

var base64s =
 "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";

function encode64(decStr){
  var bits, dual, i = 0, encOut = '';
  while(decStr.length >= i + 3){
    bits =
    (decStr.charCodeAt(i++) & 0xff) <<16 |
    (decStr.charCodeAt(i++) & 0xff) <<8  |
     decStr.charCodeAt(i++) & 0xff;
    encOut +=
     base64s.charAt((bits & 0x00fc0000) >>18) +
     base64s.charAt((bits & 0x0003f000) >>12) +
     base64s.charAt((bits & 0x00000fc0) >> 6) +
     base64s.charAt((bits & 0x0000003f));
    }
  if(decStr.length -i > 0 && decStr.length -i < 3){
    dual = Boolean(decStr.length -i -1);
    bits =
     ((decStr.charCodeAt(i++) & 0xff) <<16) |
     (dual ? (decStr.charCodeAt(i) & 0xff) <<8 : 0);
    encOut +=
      base64s.charAt((bits & 0x00fc0000) >>18) +
      base64s.charAt((bits & 0x0003f000) >>12) +
      (dual ? base64s.charAt((bits & 0x00000fc0) >>6) : '=') +
      '=';
    }
  return encOut
}

function mstd_getWindowRect()
{
	var wscr = mstd_getWindowScroll();
	var wsiz = mstd_getWindowSize();

	var rect = new Object();
	rect.top = wscr[1];
	rect.bottom = wscr[1] + wsiz[1];
	rect.left = wscr[0];
	rect.right = wscr[0] + wsiz[0];
	return rect;
}

function OBJNAME(n) { return n; }
