var D = document;
var nc = ( navigator.userAgent.indexOf("MSIE") == -1 && navigator.userAgent.indexOf("Opera") == -1 ) ? 1 : 0;
var ie = ( navigator.userAgent.indexOf("MSIE") != -1 && navigator.userAgent.indexOf("Opera") == -1 ) ? 1 : 0;
var OFFSET_X = 0;
var OFFSET_Y = 0;
var SLIDESHOW = false;

if( nc ) { D.write('<LINK HREF="css/main_nc.css" REL="StyleSheet">'); }
//if( ie ) { D.write('<'+'SCRIPT LANGUAGE="JavaScript" SRC="jss/ie.js"></'+'SCRIPT>'); }

//#########################################################

function wopen( url, target, w, h, asize, title, res ) 	{
	if( !url ) {
		event.cancelBubble = true;
		event.returnValue = false;
		return;
	}
	if( !target ) target = '_blank';
	if( !w ) w = 550;
	if( !h ) h = 400
	r = res ? 0 : 1;
	if( asize && !title && !res ) r = 0;

	w = parseInt( w, 10 );
	h = parseInt( h, 10 );
	var aw = screen.availWidth;
	var ah = screen.availHeight;
	if( w > aw ) w = aw;
	if( h > ah ) h = ah;

	var left = Math.round( ( aw - w ) / 2 );
	var top = Math.round( ( ah - h ) / 2 );
	var wd = window.open( url, target, 'channelmode= 0, directories=0, fullscreen=0, height='+h+'px, width='+w+'px, location=0, menubar=0, resizable='+r+', scrollbars=1, status=0, toolbar=0, top='+top+'px, left='+left+'px' );
}

//#########################################################

function inPopup( obj, w, h ) {
	if( !obj || !obj.href ) return false;
	event.returnValue = false;
	if( !w ) w = 0; w = parseInt( w ); if( !w || isNaN( w ) ) w = 550; 
	if( !h ) h = 0; h = parseInt( h ); if( !h || isNaN( h ) ) h = 350;
	wopen( obj.href, "", w, h );
	return false;
}

//#########################################################

function go( url, frame ) {
	if( !url ) return;
	if( !frame ) top.location.href = url;
	else top.frames['ifrm'].location.href = url;
}

//#########################################################

function winfull( url, target ) {
	if ( !url ) { return false; }
	if ( !target ) { target = '_blank'; }
    var wd = window.open( url, target, 'fullscreen=1, scrollbars=1, toolbar=0, channelmode= 0, directories=0, location=0, menubar=0' );
}

//#########################################################

function showFullImage( obj ) {
	if( !obj || !obj.src ) return;
	var file  	= obj.src;
	var text  	= obj.alt;
	var slide 	= !SLIDESHOW ? 0 : 1;
	var width	= 1024;
	var height	= 768;
	wopen( SERVER_URL+"show_image.php?file="+file+"&text="+encodeURI( text )+"&slide="+slide, "_blank", width, height );
}

//#########################################################

function showMediaObject( num ) {
	wopen( SERVER_URL+"show_media.php?num="+num, "_blank", 600, 200 );
}

//#########################################################

function showMediaTranslation() {
	wopen( SERVER_URL+"translation.php", "_blank", 700, 350 );
}

//#########################################################

function get_object_offset( obj ) {
	var x = y = 0;
	while ( true ) {
		x += obj.offsetLeft;
		y += obj.offsetTop;
		if ( !obj.offsetParent ) { break; }

		obj = obj.offsetParent;
	}
	OFFSET_X = x;
	OFFSET_Y = y;
}

//#########################################################

function wait( mode ) {
	var obj = D.getElementById( "progress_bar" );
	if( obj ) { 
		obj.className = !mode ? "hide" : "show";  
		h = obj.style.height ? parseInt( obj.style.height ) : 50;
		obj.style.top = ( getDocumentHeightCenter() - h ) + "px";
	}
}

//#########################################################

// Vertical scrolling position
function getBodyScrollTop() { return self.pageYOffset || ( D.documentElement && D.documentElement.scrollTop ) || ( D.body && D.body.scrollTop ); }
// Document height with scrolling
function getDocumentHeight() { return ( D.body.scrollHeight > D.body.offsetHeight ) ? D.body.scrollHeight : D.body.offsetHeight; }
// Get window heght
function getClientHeight() { return D.compatMode=='CSS1Compat' && !window.opera ? D.documentElement.clientHeight : D.body.clientHeight; }
// Vertical document center with scrolling
function getDocumentHeightCenter() { return parseInt( getClientHeight() / 2 ) + getBodyScrollTop(); }

//#########################################################

function setCookie( name, value, path, domain, expires, secure ) {
	// get expires in days, set time in milliseconds
	var today = new Date(); today.setTime(today.getTime());
	var expires_date = new Date( today.getTime() + ( expires ? expires * 1000 * 60 * 60 * 24 : 0 ) );	
	D.cookie = name + "=" + escape( value ) +
	  ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
	  ( ( path ) ? ";path=" + path : "" ) + 
	  ( ( domain ) ? ";domain=" + domain : "" ) +
	  ( ( secure ) ? ";secure" : "" );
}

//#########################################################

function getCookie( name ) {
	var cook = D.cookie;
	var pos = cook.indexOf( name + '=' );
	if( pos == -1 ) { return null; } 
	else {
	  var pos2 = cook.indexOf( ';', pos );
	  if( pos2 == -1 ) return unescape( cook.substring( pos + name.length + 1 ) );
	  else return unescape( cook.substring( pos + name.length + 1, pos2 ) );
	}
}

//##########################################################

function prPlace() {
	var o1 = D.getElementById( "prPlace" );
	var o2 = D.getElementById( "project" );
	if( !o1 || !o2 ) return;
	get_object_offset(o1);
	o2.style.top = OFFSET_Y+"px";
	o2.style.left = ( OFFSET_X - 290 )+"px";
	
}

//##########################################################

function fixPNG(element) {
	if( !element ) return;
	if (/MSIE (5\.5|6).+Win/.test(navigator.userAgent)) {
		var src;
		src = element.currentStyle.backgroundImage.match(/url\("?(.+\.png)"?\)/i);
		if (src) {
			src = src[1]; 
			element.runtimeStyle.backgroundImage="none"; 
	      	element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src+"',sizingMethod='scale')";
		}
	}
}

//##########################################################

function checkSubscribeForm( frm ) {
	if( !frm ) return false;
	if( !frm.ch1.checked && !frm.ch2.checked ) {
		alert( W_46 ); return false;
	}
	if( !frm.email.value || !check_email( frm.email ) ) {
		alert( W_47 ); return false;
	}
	return true;
}

//##########################################################

function check_email( obj ){
	if( !obj.value )return false;
	var CC = /^[._a-z0-9-]+@[._a-z0-9-]+\.[a-z]{2,4}$/i;
	if( !CC.test( obj.value ) ){
		return false;
	}
	return true;
}

