var next_pic=0;

/* pngfix.js */
function fixPNG(element) {if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
var src;
if (element.tagName=='IMG') {
        if (/\.png$/.test(element.src)) {
    src = element.src;
    element.src = "/img/px.gif"; }
        }
else {
        src = element.currentStyle.backgroundImage.match(/url\("(.+\.png)"\)/i);
        if (src) {
    src = src[1];
    element.runtimeStyle.backgroundImage="none";}
        }
if (src) element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')"; } }




function showLayer(id, w, h) {
	var pic = $(id);
	var viewportwidth;
	var viewportheight;

	// the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

	if (typeof window.innerWidth != 'undefined')
	{
		viewportwidth = window.innerWidth,
		viewportheight = window.innerHeight
	}

	// IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

	else if (typeof document.documentElement != 'undefined'
	&& typeof document.documentElement.clientWidth !=
	'undefined' && document.documentElement.clientWidth != 0)
	{
		viewportwidth = document.documentElement.clientWidth,
		viewportheight = document.documentElement.clientHeight
	}

	// older versions of IE

	else
	{
		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
		viewportheight = document.getElementsByTagName('body')[0].clientHeight
	}



	// get the x and y coordinates to center the newsletter panel
	xc = Math.round((viewportwidth/2)-(w/2));
	yc = Math.round((viewportheight/2)-(h/2)) + $(window).scrollTop();
	// show the newsletter panel
	pic.style.left = xc + 'px';
	pic.style.top = yc + 'px';
	//grayOut(true, {'zindex':'50', 'bgcolor':'#000000', 'opacity':'50'});
	pic.style.zIndex=100;
	pic.show();
	return false;
}

function showPic2(id, w, h) {
	var pic = $('#'+id);
	// get the x and y coordinates to center the newsletter panel
	//Position.prepare();
	xc = Math.round((document.body.clientWidth/2)-(w/2));
	yc = 100 + $(window).scrollTop();
	// show the newsletter panel
	pic.css('left', xc + 'px');
	pic.css('top', yc + 'px');
	//	alert(screen.availHeight+'px / '+document.body.clientHeight+'px');
	grayOut(true, {'zindex':'50', 'bgcolor':'#000000', 'opacity':'50'});
	pic.css('zIndex','100');
	pic.show();
	return false;
}

function grayOut(vis, options) {
	// Pass true to gray out screen, false to ungray
	// options are optional.  This is a JSON object with the following (optional) properties
	// opacity:0-100         // Lower number = less grayout higher = more of a blackout
	// zindex: #             // HTML elements with a higher zindex appear on top of the gray out
	// bgcolor: (#xxxxxx)    // Standard RGB Hex color code
	// grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
	// Because options is JSON opacity/zindex/bgcolor are all optional and can appear
	// in any order.  Pass only the properties you need to set.
	var options = options || {};
	var zindex = options.zindex || 50;
	var opacity = options.opacity || 70;
	var opaque = (opacity / 100);
	var bgcolor = options.bgcolor || '#000000';
	var dark=document.getElementById('darkenScreenObject');
	if (!dark) {
		// The dark layer doesn't exist, it's never been created.  So we'll
		// create it here and apply some basic styles.
		// If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
		var tbody = document.getElementsByTagName("body")[0];
		var tnode = document.createElement('div');           // Create the layer.
		tnode.style.position='absolute';                 // Position absolutely
		tnode.style.top='0px';                           // In the top
		tnode.style.left='0px';                          // Left corner of the page
		tnode.style.overflow='hidden';                   // Try to avoid making scroll bars
		tnode.style.display='none';                      // Start out Hidden
		tnode.id='darkenScreenObject';                   // Name it so we can find it later
		tbody.appendChild(tnode);                            // Add it to the web page
		dark=document.getElementById('darkenScreenObject');  // Get the object.
	}
	if (vis) {
		// Calculate the page width and height
		if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
			var pageWidth = document.body.scrollWidth+'px';
			var pageHeight = document.body.scrollHeight+'px';
		} else if( document.body.offsetWidth ) {
			var pageWidth = document.body.offsetWidth+'px';
			var pageHeight = document.body.offsetHeight+'px';
		} else {
			var pageWidth='100%';
			var pageHeight='100%';
		}
		//set the shader to cover the entire page and make it visible.
		dark.style.opacity=opaque;
		dark.style.MozOpacity=opaque;
		dark.style.filter='alpha(opacity='+opacity+')';
		dark.style.zIndex=zindex;
		dark.style.backgroundColor=bgcolor;
		dark.style.width= pageWidth;
		dark.style.height= pageHeight;
		dark.style.display='block';
	} else {
		dark.style.display='none';
	}
}


function showerror(text) {
	$('error').innerHTML=text;
	$('error').show();
	setTimeout("$('error').hide()", 3000);
	return false;
}

var openedlist=false;
function showlist(id, el) {
	$('body').stopObserving('click');
	var lists=$$('table.baloon');
	if ($(id).style.display=='none') {
		$(id).style.left=(Position.cumulativeOffset(el)[0]-35)+'px';
		$(id).style.top=(Position.cumulativeOffset(el)[1] + 10) +'px';
		$(id).show();
		openedlist=id;
		for (var i=0;i<lists.length;i++) if (lists[i].id!=id) $(lists[i]).hide();
	} else {
		$(id).hide();
		openedlist=false;
	}
	setTimeout('start_observe()', 100);
}

function start_observe() {
	Event.observe($('body'), "click", function() {if (openedlist) $(openedlist).hide();});
}

function hidealllists() {
	var lists=$$('table.baloon');
	for (var i=0;i<lists.length;i++) $(lists[i]).hide();
}

var base_url='http://www.nat-geo.ru';
function twitter(url, text)
{
	window.open('http://twitter.com/home/?status='+encodeURIComponent(text)+' '+base_url+url,this.target)
	/*
  window.my_callback = function(response)
  {
    if(response.error_message) window.open('http://twitter.com/home/?status='+encodeURIComponent(text)+' '+url,this.target)
    else window.open('http://twitter.com/home/?status='+encodeURIComponent(text)+' '+response.short_url,this.target)
  };
  var s = document.createElement("script");
  s.src = "http://ggl-shortener.appspot.com/?url=" + encodeURIComponent(url) + "&jsonp=my_callback";
  document.body.appendChild(s);
  */
  return false;
}

function facebook(url, text) {
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(base_url+url)+'&t='+encodeURIComponent(text),'sharer','toolbar=0,status=0,width=626,height=436');
	return false;
}

function vkontakte(url, text) {
	window.open('http://vkontakte.ru/share.php?url='+encodeURIComponent(base_url+url)+'&title='+encodeURIComponent(text)+'','sharer','toolbar=0,status=0,width=626,height=436');
	return false;
}





function Set_Cookie( name, value, expires, path, domain, secure )
{
	// set time, it's in milliseconds
	var today = new Date();
	today.setTime( today.getTime() );

	/*
	if the expires variable is set, make the correct
	expires time, the current script below will set
	it for x number of days, to make it for hours,
	delete * 24, for minutes, delete * 60 * 24
	*/
	if ( expires )
	{
		//expires = expires * 1000 * 60 * 60 * 24;
		expires = expires * 1000;
	}
	var expires_date = new Date( today.getTime() + (expires) );

	document.cookie = name + "=" +escape( value ) +
	( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

// this fixes an issue with the old method, ambiguous values
// with this test document.cookie.indexOf( name + "=" );
function Get_Cookie( check_name ) {
	// first we'll split this cookie up into name/value pairs
	// note: document.cookie only returns name=value, not the other components
	var a_all_cookies = document.cookie.split( ';' );
	var a_temp_cookie = '';
	var cookie_name = '';
	var cookie_value = '';
	var b_cookie_found = false; // set boolean t/f default f

	for ( i = 0; i < a_all_cookies.length; i++ )
	{
		// now we'll split apart each name=value pair
		a_temp_cookie = a_all_cookies[i].split( '=' );


		// and trim left/right whitespace while we're at it
		cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');

		// if the extracted name matches passed check_name
		if ( cookie_name == check_name )
		{
			b_cookie_found = true;
			// we need to handle case where cookie has no value but exists (no = sign, that is):
			if ( a_temp_cookie.length > 1 )
			{
				cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
			}
			// note that in cases where cookie is initialized but no value, null is returned
			return cookie_value;
			break;
		}
		a_temp_cookie = null;
		cookie_name = '';
	}
	if ( !b_cookie_found )
	{
		return null;
	}
}

// this deletes the cookie when called
function Delete_Cookie( name, path, domain ) {
	if ( Get_Cookie( name ) ) document.cookie = name + "=" +
	( ( path ) ? ";path=" + path : "") +
	( ( domain ) ? ";domain=" + domain : "" ) +
	";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

