// (B)asic (D)OM (O)perations

var datetime = "&datetime="+new Date().getTime();


function openpopup( href, title, w, h ) {
	var wl = screen.width/2  - w/2;
	var wt = screen.height/2 - h/2 - h/4;
	window.open( href, title, 'toolbar=no,status=no,height='+h+',width='+w+',left='+wl+',top='+wt+',toolbar=no,resizable=no');
}    

function findPosX(obj) {
  var curleft = 0;

  if(obj.offsetParent) {
    while(1) {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
  } else if(obj.x) {
    curleft += obj.x;
  }

  obj.style.position = "static";

  return curleft;
}

function findPosY(obj) {
  var curtop = 0;

  if(obj.offsetParent) {
    while(1) {
      curtop += obj.offsetTop;
      if(!obj.offsetParent)
        break;
      obj = obj.offsetParent;
    }
  } else if(obj.y) {
    curtop += obj.y;
  }

  return curtop;
}

function findPos(obj) {
  var left = findPosX(obj);
  var top = findPosY(obj);

  return [left , top];
}

function findPosition( oElement ) {
  if( typeof( oElement.offsetParent ) != 'undefined' ) {
    for( var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent ) {
      posX += oElement.offsetLeft;
      posY += oElement.offsetTop;
    }
    return [ posX, posY ];
  } else {
    return [ oElement.x, oElement.y ];
  }
}

function changeLang( lang )
{
	document.getElementById('langinput').value = lang;
	document.getElementById('langform').submit();
}

function getObj( id )
{
	return document.getElementById( id );
}

function email_validate(src)
{
  var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
  return regex.test(src);
};


function updateDateTime(){
	datetime = "&datetime="+new Date().getTime();
}
	setInterval( 'updateDateTime()', 	1000 );



var dc_REPORT_AJAX 	= true;
var dc_REPORT_FULL 	= true;
var dc_REPORT		= false;

function dcThrow( msg, type, attr_class )
{
if( dc_REPORT == true )
{
	var d = new Date();

	var s = d.getSeconds();
	if( s < 10 ){ s = '0'+s; }

	var m = d.getMinutes();
	if( m < 10 ){ m = '0'+m; }

	var timestamp = '<span class="dc-timestamp">' + d.getHours() +':'+ m +':'+ s + ' # </span>';

	msg = timestamp + msg;
	switch( type )
	{
		case 'newline'	:	msg = '<p class="'+attr_class+'">'+msg+'</p>';	break;
		case 'error'	: 	msg = '<p class="dc-error '+attr_class+'">'+msg+'</p>'; break; 
		default:

		break;
	}

	document.getElementById( 'DEBUG_CONSOLE' ).innerHTML = msg + document.getElementById( 'DEBUG_CONSOLE' ).innerHTML;
}
}

function getfrmval( id )
{
	if(window.XMLHttpRequest) // Mozilla
	{
		return document.getElementsByName(id)[0].value;
	}else
	{
		return document.getElementById(id).value;
	}
}
function  setfrmval( id, val )
{
	if(window.XMLHttpRequest) // Mozilla
	{
		document.getElementsByName(id)[0].value = val;
	}else
	{
		document.getElementById(id).value = val;
	}
}

function httpRequest( url, target, mode, shadow ){
	
	var http_request = false;

	if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType) {
			http_request.overrideMimeType('text');
	}
	}else if(window.ActiveXObject){
		try{
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
		try{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){}
		}
	}
	
	if (!http_request) 
	{
		alert('was unable to create instance of XMLHTTP');
		return false; 
	}
	  
	  
	http_request.onreadystatechange = function(){
 	if(http_request.readyState == 4)
	{
		if(http_request.status == 200){
			if(mode == "add")
				document.getElementById(target).innerHTML += http_request.responseText;
			if(mode == "append")
				document.getElementById(target).innerHTML = http_request.responseText;
		}
	}else
	{
			if( shadow != true )
				document.getElementById(target).innerHTML = "<img src='images/ckaal.gif' align=left valign=middle  /> zapis...";
	}

};
		http_request.open('GET', url+datetime, true);
		if( dc_REPORT_AJAX ){
			 if( dc_REPORT_FULL ){ dcThrow( 'httpRequest( '+url+', '+target+', '+mode+', '+shadow+' )', 'newline', 'ajax' ); }
		}

		http_request.send(null);
}

function isDefined(object){
	return (typeof(object) == 'undefined')? false : true;
}

function httpAltRequest( url, target, loader, mode, old )
{
	
	var http_request = false;

	if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType) {
			http_request.overrideMimeType('text');
	}
	}else if(window.ActiveXObject){
		try{
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
		try{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){}
		}
	}
	
	if (!http_request) 
	{
		alert('was unable to create instance of XMLHTTP');
		return false; 
	}
	  
	if( !isDefined(old)  )
		var ohtml = document.getElementById(loader).innerHTML;
	else
		var ohtml = old;

	http_request.onreadystatechange = function(){
	
	
 	if(http_request.readyState == 4)
	{
		if(http_request.status == 200){
			if(mode == "add")
			{				
				document.getElementById(target).innerHTML += http_request.responseText;
				document.getElementById(loader).innerHTML = ohtml;
			}
			if(mode == "append")
			{
				document.getElementById(target).innerHTML = http_request.responseText;
				document.getElementById(loader).innerHTML = ohtml;
			}
		}
	}else
	{
			document.getElementById(loader).innerHTML = "<img src='images/loader2.gif' align=left valign=middle  />";
	}

};
		http_request.open('GET', url+datetime, true);
		http_request.send(null);
}

function httpSelfRequest( url, loader ){
	
	var http_request = false;

	if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType) {
			http_request.overrideMimeType('text');
	}
	}else if(window.ActiveXObject){
		try{
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
		try{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){}
		}
	}
	
	if (!http_request) 
	{
		alert('was unable to create instance of XMLHTTP');
		return false; 
	}
	  

	var ohtml = document.getElementById(loader).innerHTML;

	http_request.onreadystatechange = function(){
	
	
 	if(http_request.readyState == 4)
	{
		if(http_request.status == 200){
				document.getElementById(loader).innerHTML = ohtml;
		}
	}else
	{
			document.getElementById(loader).innerHTML = "<img style='width:100%' src='images/loader3.gif' align=left valign=middle  />";
	}

	};
		http_request.open('GET', url+datetime, true);
		http_request.send(null);
}


function mutedRequest( url, usefunc, func ){
	
	http_request = false;
	
	if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType) {
			http_request.overrideMimeType('text');
	}
	}else if(window.ActiveXObject){
		try{
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
		try{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){}
		}
	}
	
	if (!http_request) 
	{
		alert('was unable to create instance of XMLHTTP');
		return false; 
	}

	http_request.onreadystatechange = function(){
 	if(http_request.readyState == 4)
	{
		if(http_request.status == 200){

				dcThrow( http_request.responseText, 'newline' );
				if( usefunc == true ) func(http_request.responseText);
		}
	}else
	{
	}

	};
	  
	http_request.open('GET', url+datetime, true);

	if( dc_REPORT_AJAX ){
		 if( dc_REPORT_FULL ){ dcThrow( 'httpMutedRequest( '+url+datetime+', '+usefunc+' )', 'newline', 'ajax' ); }
	}


	http_request.send(null);
}

function requestiframe( url, target, send ){
	
	http_request = false;
	
	if(window.XMLHttpRequest)
	{
		http_request = new XMLHttpRequest();
		if(http_request.overrideMimeType) {
			http_request.overrideMimeType('text');
		}
	}else if(window.ActiveXObject){
		try{
		http_request = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
		try{
		http_request = new ActiveXObject("Microsoft.XMLHTTP");
		}catch(e){}
		}
	}
	
	if (!http_request) 
	{
		alert('was unable to create instance of XMLHTTP');
		return false; 
	}
	  
	  
		http_request.onreadystatechange = function(){
 	if(http_request.readyState == 4)
	{
		if(http_request.status == 200){
				document.getElementById(target).contentWindow.document.write(http_request.responseText);
		}
	}
};
		http_request.open('GET', url+datetime, true);
		http_request.send(null);
}



function zdiv( divid )
{
		var div = document.getElementById(divid);
		
		if( div.style.z_index == "1" )
		{
			div.style.z_index = "6";
		}else
		{
			div.style.z_index = "1";
		}
}

function frontdiv( divid )
{
		var div = document.getElementById(divid);
			div.style.zIndex = 6;
			div.style.visibility = "visible";
			
}

function backdiv( divid )
{
		var div = document.getElementById(divid);
			div.style.zIndex = 1;
			div.style.visibility = "hidden";
}

function addToBookmarks( sTitle, sHref ) 
	{
	//Wersja skryptu 1.0
	//Modyfikacji dokonał: Krzysztof Samelko
	//Data: 2008-05-12

	if( window.sidebar && window.sidebar.addPanel ) 
		{
		//Gecko (Netscape 6 etc.) - add to Sidebar
		window.sidebar.addPanel( sTitle, sHref, '' );
		} 
	else if( window.external && ( navigator.platform == 'Win32' || ( window.ScriptEngine && ScriptEngine().indexOf('InScript') + 1 ) ) ) 
		{
		//IE Win32 or iCab - checking for AddFavorite produces errors for no
		//good reason, so I use a platform and browser detect.
		//adds the current page page as a favourite; if this is unwanted,
		//simply write the desired page in here instead of 'location.href'
		window.external.AddFavorite( window.location.href, document.title );
		} 
	else if( window.opera && window.print ) 
		{
		//Opera 6+ - add as sidebar panel to Hotlist
		return true;
		} 
	else if( document.layers ) 
		{
		//NS4 & Escape - tell them how to add a bookmark quickly (adds current page,
		//not target page)
		window.alert( 'Proszę kilknąć OK a pu&#65533;niej Ctrl+D aby dodać strone do ulubionych' );
		} 
	else 
		{
		//other browsers - tell them to add a bookmark (adds current page, not target page)
		window.alert( 'Proszę użyć menu przeglądarki by utworzyć dodać strone do ulubionych' );
		}
	return false;
	}

