/**
 * @package GieldaWWW
 *
 * Proste skrypty pomocnicze do różnych dziwnych rzeczy oraz na proste stronki.
 *
 * @author Kamil Sofowora
 */

//Otwieranie okien
function pox_window_8x6(url, name){
	return pox_window_ext(url, name, 1024, 768);
}

function pox_window_ext(url, name, width, height){
	if (!(width > 0 && height > 0)){
		width = 1024; height = 768;
	}
	window.open(url, name, 'align=center,toolbar=no,status=no,location=yes,directories=no,resizable=yes,scrollbars=yes,width='+width+',height='+height+',menubar=no');
	return false;
}

function fulscreen_window_open(xurl){
	window.open(xurl, "nwnd", "width="+screen.availWidth+",height="+screen.availHeight+",scrollbars");
	window.close();
}

function mainpage_redir(){
	//return fulscreen_window_open("index.rst");
	window.open("index.rst", "_self");  
}
function emptypage_redir(){
	//window.open("index.rst?Act=empty_page", "_self");
	document.location.href = "index.rst?Act=empty_page";
}


function show_publication_info() {
	if(!window.dontGoUnloadEvent) {
		pox_window_ext("index.rst?Act=show_publication_requirements", "publication", 600, 600);
		window.close();
		return false;
	}
}

//Spróbuj zamknąć, a jeżeli się nie uda, to przekieruj na stronę główną + Odświeżenie strony nadrzędnej
function advanced_close_window(){	return adv_close_window(1); }
function adv_close_window(mode){
	if (typeof(window.opener) != "undefined"){
		try{

			if (window.opener.getMyURL() != getMyURL())	{
				if (mode == 1) window.opener.open(window.opener.getMyURL(), "_self"); //Automatycznie odświeżaj okno nadrzędne
				window.close();
			}
			//Jeżeli okna mają ten sam URL, to nie zamykaj
			else { setTimeout("mainpage_redir()", 50); }

		}catch(e){
			window.close();
			setTimeout("mainpage_redir()", 50);
		}
	}else{
		setTimeout("mainpage_redir()", 50);
	}

	return false;
}
function url_redir(url){
	document.location.href = url;
}
function custom_close_window(custom_url){

	if (typeof(window.opener) != "undefined"){
		try{

			if (window.opener.getMyURL() != getMyURL())	{
				window.close();
			}
			//Jeżeli okna mają ten sam URL, to nie zamykaj
			else { setTimeout("url_redir('" + custom_url + "')", 50); }

		}catch(e){
			window.close();
			setTimeout("url_redir('" + custom_url + "')", 50);
		}
	}else{
		setTimeout("url_redir('" + custom_url + "')", 50);
	}

	return false;
}


function getMyURL(){
	return window.location.href;
}


function refresh_main_and_close(){

	refresh_opener();

	return window.advanced_close_window();
}



function doRefresh(){
	window.location.reload( false );
}

function refresh_opener(){
	try{
		if(!window.opener.closed)
		{
			window.opener.CloseEventOFF = 1;
			if (window.opener.getMyURL() != getMyURL())
				window.opener.doRefresh2();
		}
	}catch(e){}
}


/**
* funkcja blokuje wpisywanie znakow okreslonych w 2 argumencie funkcji
*
* @usage onkeypress='return BlockKeys(event,reg)'
* @author Tomasz Wegrowski
*/
function BlockKeys(evt, reg)
{
	try{
		var charCode = (evt.which) ? evt.which : event.keyCode
		var keyChar = String.fromCharCode(charCode);
		if (charCode==8) return true;		// zezwol na backspace
		return !reg.test(keyChar);
	}catch(e){return false;}
}

/**
* funkcja usuwa ze schowka znaki podane w argumencie funkcji
*
* onpaste='NoNumberPaste();'
* UWAGA: onpaste dziala tylko na IE
* @author Tomasz Wegrowski
*/
function ReplacePaste(reg)
{
	if (window.clipboardData) {
		SzClipboard=window.clipboardData.getData("Text");
		SzClipboard=SzClipboard.replace(reg,"");
		window.clipboardData.setData("Text",SzClipboard);
	}
}

//Zamykadło okna
function close_window(){
	window.close();
}

function fullscreen_new_window(xurl){
	window.open(xurl, "nwnd", "width="+screen.availWidth+",height="+screen.availHeight);
}

function dirname(path) {
    return path.replace(/\\/g,'/').replace(/\/[^\/]*\/?$/, '');
}

function explode( delimiter, string, limit ) {
    var emptyArray = { 0: '' };

    // third argument is not required
    if ( arguments.length < 2
        || typeof arguments[0] == 'undefined'
        || typeof arguments[1] == 'undefined' )
    {
        return null;
    }

    if ( delimiter === ''
        || delimiter === false
        || delimiter === null )
    {
        return false;
    }

    if ( typeof delimiter == 'function'
        || typeof delimiter == 'object'
        || typeof string == 'function'
        || typeof string == 'object' )
    {
        return emptyArray;
    }

    if ( delimiter === true ) {
        delimiter = '1';
    }

    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}


function curr_time() {
    var d = new Date();
    return Math.round(d.getTime()/1000);
}


function setcookie(name, value, expires, path, domain, secure) {
    expires instanceof Date ? expires = expires.toGMTString() : typeof(expires) == 'number' && (expires = (new Date(+(new Date) + expires * 1e3)).toGMTString());
    var r = [name + "=" + escape(value)], s, i;
    for(i in s = {expires: expires, path: path, domain: domain}){
        s[i] && r.push(i + "=" + s[i]);
    }

		for ( var z in r ){
				if (typeof(r[z]) == "function") delete r[z];
				//alert( typeof(r[z]) );
		}
		return secure && r.push("secure"), document.cookie = r.join(";"), true;
}


function get_cookie(cookie_name) {
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}

/**
 * Wysłanie formularza do wybranego skryptu
 * 
 * @param skrypt
 * @param formularz (nie id formularza)
 * @author RK
 */
function sendFormTo(form,url)
{	
	form.action = url;
	form.submit();
}
/**
 * Przepisanie wartości między dwoma inputami
 *
 * @author RK
 */
function replace(from,to)
{
	document.getElementById(to).value = document.getElementById(from).value;
}
