var imprezujUrl="http://imprezuj.org/";

function SubmitForm(id,t,s) {
    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+unescape(id);
    var target = t;
    var myAjax = new Ajax.Updater(target, url, { method: 'post', parameters: pars } );
    return true;
}

function SubmitForm2(id,t,s) {
    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+id;
    var target = t;
    var myAjax = new Ajax.Updater(target, url, { method: 'post', parameters: pars, onComplete:function(req) { $(target).innerHTML = req.responseText; Effect.Appear(target, {duration:.2});} } );
    return true;
}

function SubmitForm3(id,t,t2,s) {
    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+id;
    var target = t;
    var target2 = t2;
    var myAjax = new Ajax.Updater(target, url, { method: 'post', parameters: pars, onComplete:function(req) { $(target).innerHTML = req.responseText; Effect.Appear(target2, {duration:.2});} } );
    return true;
}

function SubmitForm4(id,t,s) {
    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+id;
    var target = t;
    var myAjax = new Ajax.Updater(target, url, { method: 'post', parameters: pars } );
    return true;
}

function SubmitStatus(id,t,s,st) {
    $(st).innerHTML = "<img src='"+imprezujUrl+"gfx/main/ajax-loader.gif'> Zapisuję status...";

    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+id;
    var target = t;
    var myAjax = new Ajax.Updater(target, url, { method: 'post', parameters: pars, onComplete:function(req) {
      $(st).innerHTML = '';
      $(target).innerHTML = req.responseText;
      new Effect.BlindDown(t,{duration:2.0});
    } 
    });
    return true;
}

function GetOlderStatus(id,t,s,st) {
    $(st).innerHTML = "<img src='"+imprezujUrl+"gfx/main/ajax-loader.gif'> Wczytuję aktywności...";

    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+id;
    var target = 'entry-'+id;
    var myAjax = new Ajax.Request(url, { method: 'post', parameters: pars, onSuccess:function(req) {
      $(st).remove();
      new Insertion.After(target, req.responseText);
    } 
    });
    return true;
}

function DelStatus(id,t,s,st) {
    $(st).innerHTML = "<img src='"+imprezujUrl+"gfx/main/ajax-loader.gif'> Usuwam wpis...";

    var url = imprezujUrl+'index.php?a='+s;
    var pars = 'id='+id;
    var target = 'entry-'+id;
    var myAjax = new Ajax.Request(url, { method: 'post', parameters: pars, onSuccess:function(req) {
      $(st).innerHTML='';
      new Effect.Fade($(target),{duration:.5});
    } 
    });
    return true;
}

function Glosuj(id,t,s) {
    var target = t;
    new Effect.Fade(t,{duration:.2});
    window.setTimeout('SubmitForm2(\''+id+'\',\''+t+'\',\''+s+'\')',300);
}

function Glosuj2(id,t,t2,s) {
    var target = t;
    new Effect.Fade(t2,{duration:.2});
    window.setTimeout('SubmitForm3(\''+id+'\',\''+t+'\',\''+t2+'\',\''+s+'\')',300);
}

function Zapisz(id,t,s) {
    var target = t;
    $(target).innerHTML = "<img src='"+imprezujUrl+"gfx/main/ajax-loader.gif'>";
    window.setTimeout('SubmitForm(\''+id+'\',\''+t+'\',\''+s+'\')',300);
}
function Zapisz2(id,t,s) {
    var target = t;
    $(target).innerHTML = "<img src='"+imprezujUrl+"gfx/main/ajax-loader2.gif'>";
    window.setTimeout('SubmitForm(\''+id+'\',\''+t+'\',\''+s+'\')',300);
}
function Zapisz4(id,t,s) {
    var target = t;
    $(target).innerHTML = "<img src='"+imprezujUrl+"gfx/main/ajax-loader.gif'>";
    window.setTimeout('SubmitForm4(\''+id+'\',\''+t+'\',\''+s+'\')',300);
}

function shlogin(l,s) {
    if(Element.getStyle(l,'display')=='none') {
        Effect.Fade(s,{duration:.2});
	window.setTimeout('Element.setStyle(\''+l+'\', {display:\'block\'})',500);
    } else {
	Effect.Fade(l,{duration:.2});
	window.setTimeout('Element.setStyle(\''+l+'\', {display:\'none\'})',500);
	window.setTimeout('Effect.Appear(\''+s+'\', {duration:.2})',700);
    }
}

function goUrl( url ) {
	window.location.replace( url );
	return 0;
}

/* profil */
function checkPwd(co,co2,gdzie) {
  if(document.getElementById(co).value == document.getElementById(co2).value) {
    document.getElementById(gdzie).src=imprezujUrl+'gfx/main/ok.gif';
  } else {
    document.getElementById(gdzie).src=imprezujUrl+'gfx/main/error.gif';
  }
}

/* dodaj */
function checkCat(co,gdzie) {
  if(document.getElementById(co).value.substring(0,1)=='0') {
    document.getElementById(gdzie).src=imprezujUrl+'gfx/main/error.gif';
  } else {
    document.getElementById(gdzie).src=imprezujUrl+'gfx/main/ok.gif';
  }
}
function getTags() {
  var text=document.getElementById('tytul').value+' '+document.getElementById('opis').value;
  SubmitForm(text,'tagsugg','tags');
}
function tagSuggest() {
  setTimeout( "getTags()", 50 );
}
function checkWyk(el,i) {
	var t='ckw'+i;
	var val=$(el).value;
	if(val!='')
		Zapisz(escape(val)+'&id2='+i+'&id3=0',t,'checkwyk');
}
function setWyk(val,i) {
	var t='ckw'+i;
	$(t).update('<img src='+imprezujUrl+'gfx/main/ok.gif>');
	$('wyk'+i).value=unescape(val);
}
function addWyk(val,i) {
	if(val!='') {
		var t='ckw'+i;
		Zapisz(escape(val)+'&id2='+i+'&id3=0',t,'addwyk');
	}
}
function checkMie(el,city) {
	var t='ckm';
	var val=$(el).value;
	if(val!='')
		Zapisz(escape(val)+'&id2='+city+'&id3=0',t,'checkmie');
}
function setMie(val) {
	var t='ckm';
	$(t).update('<img src='+imprezujUrl+'gfx/main/ok.gif>');
	$('miejsce').value=unescape(val);
}
function addMie(val,city) {
	if(val!='') {
		var t='ckm';
		Zapisz(escape(val)+'&id2='+city+'&id3=0',t,'addmie');
	}
}

function fieldFocus( field ) {
  Element.setStyle(field, {'background-color':'#fff'} ); return false;
}
function fieldBlur( field ) {
  Element.setStyle(field, {'background-color':'#eee'} ); return false;
}
function poputFade( div1, div2 ) {
  Effect.Fade(div1);
  window.setTimeout('Effect.Fade('+div2+')',500);
  return false;
}

function Hide(el) {
	Element.setStyle(el, {display:'none'});
	return false;
}
function Show(el) {
	Element.setStyle(el, {display:'block'});
	return false;
}

function hideForAwhile(el,t) {
  t*=1000;
  Effect.Fade(el,{duration:.2});
  window.setTimeout('Effect.Appear(\''+el+'\',{duration:.2})',t);
  return false;
}

function showHideElement(el) {
  if(Element.getOpacity(el)==0) {
    Effect.Appear(el,{duration:.2});
    window.setTimeout('Element.setOpacity(\''+el+'\', 1)',500);
  } else {
    Effect.Fade(el,{duration:.2});
    window.setTimeout('Element.setOpacity(\''+el+'\', 0)',500);
  }
  return false;
}

function Wysun2(el) {
	if($(el).getStyle('display')=='none') Effect.BlindDown(el, { duration: 0.1 });
}
function Wysun(el) {
	if($(el).getStyle('display')=='none') Effect.BlindDown(el, { duration: 0.3 });
}

function Wsun(el) {
	if($(el).getStyle('display')!='none') Effect.BlindUp(el, { duration: 0.3 });
}

function Grow(el) {
	new Effect.Morph(el, {
	style: 'width:80px; height:80px;',
	duration: 0.3
	});
	return false;
}
function Shrink(el) {
	new Effect.Morph(el, {
	style: 'width:65px; height:65px;',
	duration: 0.3
	});
	return false;
}

function strip_tags(str, allowed_tags) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Luke Godfrey
    // +      input by: Pul
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman
    // *     example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i>,<b>');
    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
    // *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'

    var key = '', tag = '', allowed = false;
    var matches = allowed_array = [];
    var allowed_keys = {};

    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };

    // Build allowes tags associative array
    if (allowed_tags) {
        allowed_tags  = allowed_tags.replace(/[^a-zA-Z,]+/g, '');;
        allowed_array = allowed_tags.split(',');
    }

    str += '';

    // Match tags
    matches = str.match(/(<\/?[^>]+>)/gi);

    // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;
        }

        // Save HTML tag
        html = matches[key].toString();

        // Is tag not in allowed list? Remove from str!
        allowed = false;

        // Go through all allowed tags
        for (k in allowed_array) {
            // Init
            allowed_tag = allowed_array[k];
            i = -1;

            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}

            // Determine
            if (i == 0) {
                allowed = true;
                break;
            }
        }

        if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }

    return str;
}

var Url = {

    // public method for url encoding
    encode : function (string) {
        return escape(this._utf8_encode(string));
    },

    // public method for url decoding
    decode : function (string) {
        return this._utf8_decode(unescape(string));
    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

/* slideshow - patronaty i inne */
function start_slideshow(start_frame, end_frame, delay) {
        setTimeout(switch_slides(start_frame,start_frame,end_frame, delay), delay);
}
function switch_slides(frame, start_frame, end_frame, delay) {
        return (function() {
                Effect.Fade('slideshow' + frame,{duration:.5});
                if (frame == end_frame) { frame = start_frame; } else { frame = frame + 1; }
                setTimeout("Effect.Appear('slideshow" + frame + "',{duration:.5});", 850);
                setTimeout(switch_slides(frame, start_frame, end_frame, delay), delay + 850);
        })
}