// *** CROSS-BROWSER COMPATIBILITY ***

var isDOM = (document.getElementById ? true : false);
var isIE4 = ((document.all && !isDOM) ? true : false);
var isNS4 = (document.layers ? true : false);
var isDyn = (isDOM || isIE4 || isNS4);

function getRef(id) {
	if (isDOM) return document.getElementById(id);
	if (isIE4) return document.all[id];
	if (isNS4) return document.layers[id];
}

function getSty(id) {
	return (isNS4 ? getRef(id) : getRef(id).style);
}
// *** //

function getObj(name)
{
  if (document.getElementById)
  {
  	this.obj = document.getElementById(name);
	this.style = document.getElementById(name).style;
  }
  else if (document.all)
  {
	this.obj = document.all[name];
	this.style = document.all[name].style;
  }
  else if (document.layers)
  {
   	this.obj = document.layers[name];
   	this.style = document.layers[name];
  }
}

var moveStep = 5;
var moveSpeed = 25;
var moveFast = 1;

function moveIt(ile,wys,obj1,obj2) {
	var x = new getObj(obj1);
	if (isDOM) var xHeight = -document.getElementById(obj2).offsetHeight+wys;
	if (isIE4) var xHeight = -document.all[obj2].scrollHeight+wys;
	if (isNS4) var xHeight = -document.layers[obj2].height+wys;

	//alert(xHeight);

	x.style.marginTop = (parseInt(x.style.marginTop)+ile*moveFast) + 'px';
	if( (parseInt(x.style.marginTop)>=0) && ile==1 || (parseInt(x.style.marginTop)<xHeight && ile==-1) ) {
		clearInterval(movie); moveFast = 1;
	}
}

function scrollIt(ile,wys,obj1,obj2) {
	var x = new getObj(obj1);
	if (isDOM) var xHeight = -document.getElementById(obj2).offsetHeight+wys;
	if (isIE4) var xHeight = -document.all[obj2].offsetHeight+wys;
	if (isNS4) var xHeight = -document.layers[obj2].height+wys;
	switch (ile) {
		case -1:
			movie = setInterval("moveIt(-1,"+ wys +",'"+ obj1 +"','"+ obj2 +"')",moveSpeed);
			//x.style.background='#fafafa';
			break;
		case 1:
			movie = setInterval("moveIt(1,"+ wys +",'"+ obj1 +"','"+ obj2 +"')",moveSpeed);
			break;
		default:
			clearInterval(movie);
			moveFast = 1;
			//if( (parseInt(x.style.marginTop)>5) ) {
			//	x.style.scrollTop=0;
			//}
			//x.style.background = 'transparent';
	}
	if( (parseInt(x.style.marginTop)>=0 && ile==1) || (parseInt(x.style.marginTop)<xHeight && ile==-1) )  {
		clearInterval(movie);
	}
}

function moveFaster() {
	moveFast = 2;
}

function cheight(obj2){
	if (isDOM) var xHeight = document.getElementById(obj2).offsetHeight;
	if (isIE4) var xHeight = document.all[obj2].scrollHeight;
	if (isNS4) var xHeight = document.layers[obj2].height;
	return xHeight;
	// return document.getElementById(obj2).offsetHeight;
}

var checkedAllFields = 0;
function checkOn(field) {
	for (i = 0; i < field.length; i++)
		field[i].style.visibility = 'visible';
}
function turnOn(obj2) {
	var obj = document.getElementById(obj2);
	obj.style.visibility = 'visible';
}
function checkAll(field) {
	for (i = 0; i < field.length; i++)
		field[i].checked = true;
}
function uncheckAll(field) {
	for (i = 0; i < field.length; i++)
		field[i].checked = false;
}
function checkAll2(field,id,idClass) {
	for (i = 0; i < field.length; i++)
    {
        var obj = document.getElementById(id+i);
		field[i].checked = true;
        obj.className = idClass;
    }
}
function checkUncheckAll(field,id,checkClass,uncheckClass) {
	for (i = 0; i < field.length; i++)
    {
        var obj = document.getElementById(id+i);
		field[i].checked = (checkedAllFields==1?false:true);
        obj.className = (checkedAllFields==1?checkClass:uncheckClass);
    }
    if (checkedAllFields==1)
    {
        checkedAllFields = 0;
    }
    else
    {
        checkedAllFields = 1;
    }
}
function checkInvert(field,id,uncheckClass,checkClass) {
	for (i = 0; i < field.length; i++)
    {
        var obj = document.getElementById(id+i);
		if (field[i].checked==true) 
        {
            field[i].checked=false;
            obj.className = uncheckClass;
        }
        else
        {
		    field[i].checked=true;
            obj.className = checkClass;
        }
    }
}
function uncheckAll2(field,id,uncheckClass) {
	for (i = 0; i < field.length; i++)
    {
        var obj = document.getElementById(id+i);
		field[i].checked = false;
		obj.className = uncheckClass;
    }
}
function checkInvert2(field,id,uncheckClass,checkClass) {
	for (i = 0; i < field.length; i++)
    {
        var obj = document.getElementById(id+i);
		if (field[i].checked==true) 
        {
            field[i].checked=false;
            obj.className = uncheckClass;
        }
        else
        {
		    field[i].checked=true;
            obj.className = checkClass;
        }
    }
}
function selectCheck(field,id,uncheckClass,checkClass) {
    var obj = document.getElementById(id);
	if (field.checked==true)
    {
        obj.className=checkClass;
    }
	if (field.checked==false)
    {
        obj.className=uncheckClass;
    }
}

function checkBox(check,imageid,imgCheck,imgUncheck,rowid,cssCheck,cssUncheck) 
{
	//alert(check);
    // var val = document.getElementById(check).value;
    var val = check.value;
	var img = document.getElementById(imageid);

    if ( val==0 ) 
    {
		check.value = 1;
		img.src = imgCheck;
        if (rowid!='')
        {
            var obj = document.getElementById(rowid);
            obj.className = cssCheck;
        }
	}
	if ( val==1 ) 
    {
		check.value = 0;
		img.src = imgUncheck;
        if (rowid!='')
        {
            var obj = document.getElementById(rowid);
            obj.className = cssUncheck;
        }
	}
}
function checkBoxAll(check,manageid,imageid,imgCheck,imgUncheck,rowid,cssCheck,cssUncheck) 
{
    var i = 0;
    document.getElementById(manageid).src = (checkedAllFields==1?imgUncheck:imgCheck);

    if (check.length)
    {
        for (i = 0; i < check.length; i++)
        {
            check[i].value = (checkedAllFields==1?0:1);
            document.getElementById(imageid+i).src = (checkedAllFields==1?imgUncheck:imgCheck)
            var obj = document.getElementById(rowid+i);
            obj.className = (checkedAllFields==1?cssCheck:cssUncheck);
        }
    }
    else
    {
        check.value = (checkedAllFields==1?0:1);
        document.getElementById(imageid+i).src = (checkedAllFields==1?imgUncheck:imgCheck)
        var obj = document.getElementById(rowid+i);
        obj.className = (checkedAllFields==1?cssCheck:cssUncheck);
    }

    if (checkedAllFields==1)
    {
        checkedAllFields = 0;
    }
    else
    {
        checkedAllFields = 1;
    }
}

function submitFile(form)
{
    if (form.userfile.value=='')
    {
        return false;
    }

    var fileName = form.userfile.value;
    var ext = fileName.substring(fileName.lastIndexOf('.') + 1);
    //if (ext=="gif" || ext=="GIF" || ext=="JPEG" || ext=="jpeg" || ext=="jpg" || ext=="JPG" || ext=="png" || ext=="PNG")
    if (ext=="JPEG" || ext=="jpeg" || ext=="jpg" || ext=="JPG")
    {
        form.submit();
        form.userfile.value = '';
        return true;
    } 
    else
    {
        form.userfile.value = '';
        //alert('Proszę przesłać plik typu JPG, PNG lub GIF !');
        alert('Proszę przesłać plik typu JPG !');
        return false;
    }
}
function submitFake(form)
{
    alert(form);
    form.userfile.click();
    return true;
}

function showAlert(text)
{
    alert(text);
}

function callBack(art,user)
{
    reloadBox('divbox', 'GET', 'article_edit_images', 'modules/ma_arts_images.php', 'dax=1&daxtype=image&art='+art+'&u='+user, '', 'parent');
}

// ShowPhoto
function ShowPhoto(layer, layer_src, layer_desc, layer_buttons, src_value, src_desc, desc_show, buttons_show, imageid, rightClickBlock, rightClickText)
{
    //var photo_max_width = 800;
    //var photo_max_height = 700;
    var photo_max_width = 1100;
    var photo_max_height = 1100;
    var photoWidth = 50;
    var photoHeight = 50;

    //var img = document.createElement('img');
    var src_big = document.getElementById(layer_src);
    
    image = new Image();
    // src_big.content = image;
    
    image.onload = function () {
        photoWidth = image.width;
        photoHeight = image.height;
        //alert('photoWidth:'+photoWidth+', photoHeight:'+photoHeight);

        var v      = document.getElementById(layer);
        var v_src  = document.getElementById(layer_src);
        if (desc_show==1)
		{
			var v_desc = document.getElementById(layer_desc);
		}
        if (buttons_show==1)
		{
			var v_buttons = document.getElementById(layer_buttons);
			var v_buttons1 = document.getElementById(layer_buttons+'1');
			var v_buttons2 = document.getElementById(layer_buttons+'2');
		}

        v.style.visibility = 'hidden';
        //v_src.innerHTML += "<div style='display:block; position:absolute; top:0; _top:50%; left:0; width:100%; height:100%; background:url(themes/theme_default/images/loader_rotor.gif) no-repeat center center;'></div>";
        v_src.innerHTML = "<img src='"+src_value+"' id='photo_src' class='pointer' title='zamknij' onClick=\"fadeDiv('"+layer+"','out','close');\" onFocus='blur();'>";
        if (desc_show==1)
		{
			v_desc.innerHTML = URLdecode(src_desc);
		}
        
        if (image.width>photo_max_width || image.height>photo_max_height)
        {
            if (image.width>photo_max_width)
            {
                photoWidth = photo_max_width;
                photoHeight = (Math.floor(photo_max_width/(image.width/image.height)));
                if (desc_show==1) v_desc.innerHTML += ' wm';
            }
            if (image.height>photo_max_height)
            {
                photoWidth = (Math.floor(photo_max_height/(image.height/image.width)));
                photoHeight = photo_max_height;
                if (desc_show==1) v_desc.innerHTML += ' hm';
            }
            document.getElementById('photo_src').style.width  = photoWidth+'px';
            document.getElementById('photo_src').style.height = photoHeight+'px';
        }

        centerDiv2(layer, photoWidth, photoHeight, 0, 35);
        
		if (buttons_show==1)
		{
			v_buttons1.onclick = new Function("location.href='index.php?photo='+"+imageid);
			v_buttons2.onclick = new Function("fullscreen("+imageid+",'000000','')");
			v_buttons.style.display = 'block';
		}
        v.style.visibility = 'visible';
        
		fadeDiv(layer,'in','show');
        
		//alert('tu!');
    }
    // image.src = src_big.src;
    image.src = src_value;

    if (rightClickBlock==1)
    {
        function md(e) 
        { 
          try { if (event.button==2||event.button==3) { ( rightClickText!='' ? alert(rightClickText) : '' ); return false; } }  
          catch (e) { if (e.which==3 || e.which==3) { ( rightClickText!='' ? alert(rightClickText) : '' ); return false; } } 
        }
        document.oncontextmenu = function() { ( rightClickText!='' ? alert(rightClickText) : '' ); return false; }
        document.ondragstart   = function() { return false; }
        document.onmousedown   = md;
    }
}

// centerDiv2
function centerDiv2(layer,width,height,moveX,moveY)
{
    var box = document.getElementById(layer);
    var cw = 0;
    var ch = 0;
    var bw = 0;
    var bh = 0;
    var scrollX = 0;
    var scrollY = 0;

	if (typeof window.innerWidth != 'undefined')
    {
        // Firefox, Opera etc
        cw = window.innerWidth;
        ch = window.innerHeight;
    }
    else if (typeof document.documentElement != 'undefined'
             && typeof document.documentElement.clientWidth != 'undefined' 
             && document.documentElement.clientWidth != 0)
    {
        // IE 6+
        cw = document.documentElement.clientWidth;
        ch = document.documentElement.clientHeight;
    }
    else
    {
        // IE 5-
        cw = document.getElementsByTagName('body')[0].clientWidth;
        ch = document.getElementsByTagName('body')[0].clientHeight;
    }
    //alert('cw:'+cw+', ch:'+ch);

    if (width>0)
    {
        bw = width;
        bh = height;
    }
    else
    {
        bw = box.offsetWidth;
        bh = box.offsetHeight;
    }
    var px = (cw-bw)/2;
    var py = (ch-bh)/2;

    if( typeof( window.pageYOffset ) == 'number' ) {
        //Netscape compliant
        scrollY = window.pageYOffset;
        scrollX = window.pageXOffset;
    } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) 
    {
        //DOM compliant
        scrollY = document.body.scrollTop;
        scrollX = document.body.scrollLeft;
    } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) 
    {
        //IE6 standards compliant mode
        scrollY = document.documentElement.scrollTop;
        scrollX = document.documentElement.scrollLeft;
    }

    box.style.left = ((px-moveX)<0?0:(px-moveX))+'px';
    box.style.top = (((py-moveY)<0?0:(py-moveY))+scrollY)+'px';
    //-box.style.width = bw+'px';
    //-box.style.height = bh+'px';
    
    //alert('px:'+px+', py:'+py);
    //alert('cw:'+cw+' ch:'+ch+' bh:'+bw+' bh:'+bh+' px:'+px+' py:'+py+', scrollX:'+scrollX+' scrollY:'+scrollY);
}

var fadeDivC=null;
var fadeDivVal = 0;
var fadeDivStep = 25;
var fadeDivDelay = 30;
function fadeDiv(obj2,fadetype) {
	if (fadetype=='in') {
		fadeDivVal = fadeDivVal+fadeDivStep;
		fadeDivSet(obj2,fadeDivVal);
        //alert(obj2+', '+fadeval+', '+fadestep);
		if (fadeDivVal>=100) {
			fadeDivVal=100;
			fadeDivClear();
		}
		if (fadeDivVal==fadeDivStep) {
			fadeDivC = setInterval("fadeDiv('"+obj2+"','"+fadetype+"')",fadeDivDelay);
		}
	}
	if (fadetype=='out') {
		fadeDivVal = fadeDivVal-fadeDivStep;
		fadeDivSet(obj2,fadeDivVal);
		if (fadeDivVal<=0) {
			fadeDivVal=0;
			fadeDivClear();
            var obj = document.getElementById(obj2);
            obj.style.visibility = 'hidden';
		}
		if (fadeDivVal>=100-fadeDivStep) {
			fadeDivC = setInterval("fadeDiv('"+obj2+"','"+fadetype+"')",fadeDivDelay);
		}
	}
}

function fadeDivSet(obj2,fadeDivVal) {
	var obj = document.getElementById(obj2);
	if (obj.filters && obj.filters[0])
    {
		if (typeof obj.filters[0].opacity=='number')
        { //if IE6+
			obj.filters[0].opacity = fadeDivVal;
            //obj.filters.alpha.opacity = fadeval;
            //alert(obj2+', '+fadeval+', '+fadestep+', '+obj.filters[0].opacity);
		}
        else
        { //else if IE5.5-
			obj.style.filter = 'alpha(opacity='+fadeDivVal+')';
		}
	}
	else
    {
		//obj.style.MozOpacity = fadeval/100;
		//obj.style.KhtmlOpacity = fadeval/100;
		obj.style.opacity = fadeDivVal/100;
        //alert(obj2+', '+fadeval+', '+fadestep+', '+obj.style.opacity);
        //alert(obj2+' '+fadeval)
		//window.status=fadeval;
	}
}

function fadeDivClear() {
	//sleep(100);
	clearInterval(fadeDivC);
}

function sleep(delay) {
    var start = new Date().getTime();
    while (new Date().getTime() < start + delay);
}

function showOn(obj2) {
	var obj = document.getElementById(obj2);
	obj.style.display = 'block';
	//obj.style.visibility = 'visible';
}
function showOff(obj2) {
	var obj = document.getElementById(obj2);
	obj.style.display = 'none';
	//obj.style.visibility = 'hidden';
}
function showOff2(obj2) {
	var obj = document.getElementById(obj2);
	obj.style.visibility = 'hidden';
}
function showOnOff(obj2) {
	var obj = document.getElementById(obj2);
	if (getStyle(obj,'display')=='none')
    {
        obj.style.display = 'block';
	    obj.style.visibility = 'visible';
    }
    else if (getStyle(obj,'display')!='none')
    {
        obj.style.display = 'none';
	    obj.style.visibility = 'hidden';
    }
}
function focusOn(obj2) {
	var obj = document.getElementById(obj2);
	obj.focus();
}

var showerTimerAppear = null;
var showerTimerDisappear = null;
var shower = {
    start : null,
    end : null,
    div : null,
    inside : null,
    actOpacity : null,
    origOpacity : null,
    startOpacity : 0,
    endOpacity : 1.00,
    timerAppear : null,
    timerDisappear : null,
    delayAppear : 0,
    speedAppear : 20,
    delayDisappear : 0,
    speedDisappear : 20,
    checkOpacity : 0,
    insideDiv : function() {
        var obj = document.getElementById(this.div);
        obj.innerHTML = this.inside;
    },
    showDiv : function() {
        var obj = document.getElementById(this.div);
        obj.innerHTML = this.test;
        obj.style.display = 'table';
        //alert(this.test);
    },
    hideDiv : function() {
        var obj = document.getElementById(this.div);
        obj.style.display = 'none';
    },
    appear : function() {
        var obj = document.getElementById(this.div);
        if (this.actOpacity==null)
        {
            if (obj.filters && obj.filters[0]) 
            { checkOpacity = obj.filters[0].opacity; 
            } else { checkOpacity = getStyle(obj,'opacity'); }
        }
        if (checkOpacity<this.endOpacity)
        {
            if (this.actOpacity==null)
            {
                obj.style.display = 'block';
                if (obj.filters && obj.filters[0]) 
                {   if (typeof obj.filters[0].opacity=='number') 
                    { obj.filters[0].opacity = 0; 
                    } else { obj.style.filter = 'alpha(opacity='+0+')'; }
                } else { obj.style.opacity = 0; }
            }
            if (this.delayAppear==0)
            {
                if (obj.filters && obj.filters[0]) 
                {  this.actOpacity = this.actOpacity+10; 
                } else { this.actOpacity = Math.round((this.actOpacity+0.1)*10)/10; }
            }
            if (this.actOpacity>=0 && this.actOpacity<this.endOpacity)
            {
                if (obj.filters && obj.filters[0])
                { if (typeof obj.filters[0].opacity=='number') 
                  { obj.filters[0].opacity = this.actOpacity; 
                  } else { obj.style.filter = 'alpha(opacity='+this.actOpacity+')'; }
                } else { obj.style.opacity = this.actOpacity; }

                this.timerAppear = setTimeout( "shower.appear()",(this.delayAppear>0 ? this.delayAppear : this.speedAppear) );
                //showerTimerAppear = setTimeout( "shower.appear()",(this.delayAppear>0 ? this.delayAppear : this.speedAppear) );
                if (this.delayAppear>0) 
                { this.delayAppear = 0; }
            }
        }
        else if (this.actOpacity==this.endOpacity)
        {
            clearTimeout(this.timerAppear);
            //clearTimeout(showerTimerAppear);
            this.actOpacity = null;
        }

    },
    disappear : function() {
        var obj = document.getElementById(this.div);
        if (this.actOpacity==null)
        {
            if (obj.filters && obj.filters[0])
            {
                this.actOpacity = obj.filters[0].opacity;
            }
            else
            {
                this.actOpacity = getStyle(obj,'opacity');
            }
            this.origOpacity = this.actOpacity;
            //alert(actOpacity);
        }
        if (obj.filters && obj.filters[0])
        {
            this.actOpacity = this.actOpacity-10;
        }
        else
        {
            this.actOpacity = Math.round((this.actOpacity-0.1)*10)/10;
        }
        if (this.actOpacity>0)
        {
            if (obj.filters && obj.filters[0])
            {
                if (typeof obj.filters[0].opacity=='number') 
                    obj.filters[0].opacity = this.actOpacity;
                else 
                    obj.style.filter = 'alpha(opacity='+this.actOpacity+')';
            }
            else
            {
                obj.style.opacity = this.actOpacity;
            }

            if (obj.filters && obj.filters[0])
            {
                this.actOpacity = obj.filters[0].opacity;
            }
            else
            {
                this.actOpacity = getStyle(obj,'opacity');
            }
            this.timerDisappear = setTimeout( "shower.disappear()",(this.delayDisappear>0 ? this.delayDisappear : this.speedDisappear) );
            //showerTimerDisappear = setTimeout( "shower.disappear()",(this.delayDisappear>0 ? this.delayDisappear : this.speedDisappear) );
            if (this.delayDisappear>0) this.delayDisappear = 0;
        }
        else
        {
            clearTimeout(this.timerDisappear);
            //clearTimeout(showerTimerDisappear);
            this.actOpacity = null;
            obj.style.display = 'none';
            if (obj.filters && obj.filters[0])
            {
                if (typeof obj.filters[0].opacity=='number') 
                    obj.filters[0].opacity = this.origOpacity;
                else 
                    obj.style.filter = 'alpha(opacity='+this.origOpacity+')';
            }
            else
            {
                obj.style.opacity = this.origOpacity;
            }
            //alert('end of disappear');
        }
    }
}

var actOpacity = null;
var origOpacity = null;
var timerDisappear = null;
var speedDisappear = 20;
var delayAppear = 1000;
function appear(obj2,delay)
{
	var obj = document.getElementById(obj2);
    if (actOpacity==null)
    {
        if (obj.filters && obj.filters[0])
        {
            //alert(typeof obj.filters[0].opacity);
            actOpacity = obj.filters[0].opacity;
        }
        else
        {
            actOpacity = getStyle(obj,'opacity');
        }
        origOpacity = actOpacity;
        actOpacity = 0;
        obj.style.display = 'block';
        if (obj.filters && obj.filters[0])
        {
            if (typeof obj.filters[0].opacity=='number') 
                obj.filters[0].opacity = 0;
            else 
                obj.style.filter = 'alpha(opacity='+0+')';
        }
        else
        {
            obj.style.opacity = 0;
        }
        //alert(actOpacity);
    }
    if (delay==0)
    {
        if (obj.filters && obj.filters[0])
        {
            actOpacity = actOpacity+10;
        }
        else
        {
            actOpacity = Math.round((actOpacity+0.1)*10)/10;
        }
    }
    if (actOpacity==origOpacity)
    {
        clearTimeout(timerDisappear);
        if (obj.filters && obj.filters[0])
        {
            if (typeof obj.filters[0].opacity=='number') 
                obj.filters[0].opacity = origOpacity;
            else 
                obj.style.filter = 'alpha(opacity='+origOpacity+')';
        }
        else
        {
            obj.style.opacity = origOpacity;
        }
        actOpacity = null;
        //alert('appear end');
    }
    else if (actOpacity>=0 && actOpacity<origOpacity)
    {
        if (obj.filters && obj.filters[0])
        {
            if (typeof obj.filters[0].opacity=='number') 
                obj.filters[0].opacity = actOpacity;
            else 
                obj.style.filter = 'alpha(opacity='+actOpacity+')';
        }
        else
        {
            obj.style.opacity = actOpacity;
        }
        timerDisappear = setTimeout("appear('"+obj2+"',0)",(delay>0?delay:speedDisappear));
    }
}
function disappear(obj2,delay)
{
	var obj = document.getElementById(obj2);
    if (actOpacity==null)
    {
        if (obj.filters && obj.filters[0])
        {
            actOpacity = obj.filters[0].opacity;
        }
        else
        {
            actOpacity = getStyle(obj,'opacity');
        }
        origOpacity = actOpacity;
        //alert(actOpacity);
    }
    if (obj.filters && obj.filters[0])
    {
        actOpacity = actOpacity-10;
    }
    else
    {
        actOpacity = Math.round((actOpacity-0.1)*10)/10;
    }
    if (actOpacity>0)
    {
        if (obj.filters && obj.filters[0])
        {
            if (typeof obj.filters[0].opacity=='number') 
                obj.filters[0].opacity = actOpacity;
            else 
                obj.style.filter = 'alpha(opacity='+actOpacity+')';
        }
        else
        {
            obj.style.opacity = actOpacity;
        }

        if (obj.filters && obj.filters[0])
        {
            actOpacity = obj.filters[0].opacity;
        }
        else
        {
            actOpacity = getStyle(obj,'opacity');
        }
        timerDisappear = setTimeout("disappear('"+obj2+"',0)",speedDisappear);
    }
    else
    {
        clearTimeout(timerDisappear);
        actOpacity = null;
        obj.style.display = 'none';
        if (obj.filters && obj.filters[0])
        {
            if (typeof obj.filters[0].opacity=='number') 
                obj.filters[0].opacity = origOpacity;
            else 
                obj.style.filter = 'alpha(opacity='+origOpacity+')';
        }
        else
        {
            obj.style.opacity = origOpacity;
        }
        //alert('end of disappear');
    }
}

function rightClick(showText)
{
    document.oncontextmenu = function() { alert(showText); return false; }
    document.ondragstart   = function() { return false; }
    document.onmousedown   = rightClick2(showText);
}
function rightClick2(showText)
{ 
  try { if (event.button==2||event.button==3) { alert(showText); return false; } }  
  catch (e) { if (e.which==3 || e.which==3) { alert(showText); return false; } } 
}

// uploadStart
function loaderStart(divForm,divLoader,loader_img) {
    document.getElementById(divForm).style.visibility = 'hidden';
    document.getElementById(divLoader).innerHTML="<img src='"+loader_img+"'>";
    document.getElementById(divLoader).style.display='block';
    document.getElementById(divLoader).style.visibility='visible';
}
function loaderStop(divLoader,loader_img) {
    document.getElementById(divLoader).style.display='none';
    document.getElementById(divLoader).style.visibility='hidden';
}

var site_theme_images = 'themes/theme_black2/images/';
var site_ajax_boxloader = 'ajax_loader_yellow.gif';
var site_ajax_divloader = 'ajax_loader_bouns2.gif';
var activeBox = '';
var openedBox = '';
var addParam = '';
function showBox( box, boxName, boxWidth, boxOffsetWidth, boxHeight, boxTop, boxLeft, type, layer, url, params, post )
{
    if (addParam!='')
    {
        params += '&'+addParam;
        addParam = '';
        //alert(params);
    }
    // close opened box
    if (openedBox!='' && openedBox!=box)
    {
        var objBox = document.getElementById(openedBox);
        objBox.style.display = 'none';
        objBox.style.visibility = 'hidden';
    }
    // show new box
    var objBox = document.getElementById(box);
    var objBoxMid = document.getElementById('divbox_mid_middle');
	objBoxMid.style.height  = boxHeight+'px';
	objBox.style.width      = (boxWidth+boxOffsetWidth)+'px';
	objBoxMid.style.width   = boxWidth+'px';
	objBox.style.top        = boxTop+'px';
	objBox.style.left       = boxLeft+'px';
	objBox.style.display    = 'block';
	objBox.style.visibility = 'visible';
    openedBox = box;
    //alert(activeBox+', '+boxName);
    if (boxName!=activeBox)
    {
        var objLayer = document.getElementById(box+'_data');
        objLayer.innerHTML = '';
        var objBoxTitle = document.getElementById(box+'_title');
        objBoxTitle.innerHTML = '';
        activeBox = boxName;
    }
    showInDiv(box+'_loading',"<img src='"+site_theme_images+site_ajax_boxloader+"' border='0'>");
    if (type=='POST')
    {
        //alert('type:'+type+', layer:'+layer+', url:'+url+', params:'+params+', post:'+post);
    }
    dajax(type,layer,url,params,post);
}
function reloadBox(box,type,layer,url,params,post,pare)
{
    showInDiv(box+'_loading',"<img src='"+site_theme_images+site_ajax_boxloader+"' border='0'>");
    dajax(type,layer,url,params,post,pare);
}

function showDiv(box,boxName,type,layer,url,params,post)
{
    if (addParam!='')
    {
        params += '&'+addParam;
        addParam = '';
        //alert(params);
    }
    // close opened box
    if (openedBox!='' && openedBox!=box)
    {
        var objBox = document.getElementById(openedBox);
        objBox.style.display = 'none';
        objBox.style.visibility = 'hidden';
    }
    // show new box
    var objBox = document.getElementById(box);
	objBox.style.display = 'block';
	objBox.style.visibility = 'visible';
    openedBox = box;
    //alert(activeBox+', '+boxName);
    if (boxName!=activeBox)
    {
        var objLayer = document.getElementById(box+'_data');
        objLayer.innerHTML = '';
        var objBoxTitle = document.getElementById(box+'_title');
        objBoxTitle.innerHTML = '';
        activeBox = boxName;
    }
    showInDiv(box+'_loading',"<img src='"+site_theme_images+site_ajax_divloader+"' border='0'>");
    if (type=='POST')
    {
        //alert('type:'+type+', layer:'+layer+', url:'+url+', params:'+params+', post:'+post);
    }
    dajax(type,layer,url,params,post);
}

function showInDivImage(inLayer,imgSrc)
{
	var obj = document.getElementById(inLayer);
	obj.innerHTML = "<img src='"+imgSrc+"' border='0'>";
}
function showInDiv(inLayer,showContent)
{
	var obj = document.getElementById(inLayer);
	obj.innerHTML = showContent;
}

function changeCss(inLayer,newCss)
{
	var obj = document.getElementById(inLayer);
	obj.setAttribute('class',newCss);
	//obj.style.className = newCss;
}

function reloadDiv(type,layer,url,params,post,pare) 
{
    dajax(type,layer,url,params,post,pare);
}

function addParams(newParam)
{
    addParam = newParam;
}

function getStyle(elem,cssprop)
{
    if (elem.currentStyle) //IE
        return elem.currentStyle[cssprop]
    else if (document.defaultView && document.defaultView.getComputedStyle) //Firefox
        return document.defaultView.getComputedStyle(elem, "")[cssprop]
    else //try and get inline style
        return elem.style[cssprop]
}

//Created by Fader Maker (http://www.bosiljak.hr/fadermaker/)
var fmTimer = null;
var fmfg = false;
var fma1o = null;
var fma2o = null;
var fma3o = null;
function fminit()
{
    if (!document.getElementById) return;
    //fma1o=0x66; fma2o=0x99; fma3o=0xcc;
    //fma1=0x66; fma2=0x99; fma3=0xcc;
    fma1o=0xcc; fma2o=0xcc; fma3o=0xcc;
    fma1=0x66; fma2=0x66; fma3=0x66;
    fma4=0xff; fma5=0xff; fma6=0xff;
    if (!fmfg)
    {
        fmtemp=fma1; fma1=fma4; fma4=fmtemp; fmtemp=fma2; fma2=fma5; fma5=fmtemp; fmtemp=fma3; fma3=fma6; fma6=fmtemp;
    }
    fmfg = !fmfg;
    fmFade();
}
function fmToHex(n)
{
    var hexChars = "0123456789ABCDEF";
    if (n == 0) return "00";
    var j, n;
    var temp = "";
    while (n != 0)
    {
        j = n % 16;
        n = (n - j)/16;
        temp = hexChars.charAt(j) + temp;
    }
    if (temp.length < 2)
    {
        temp = "0" + temp;
    }
    return temp;
}
function fmFade()
{
    obj = document.getElementById('menu_mail').style;
    fmcolor = "#" + fmToHex(fma1) + fmToHex(fma2) + fmToHex(fma3);
    obj.color = fmcolor;
    if (fma1 != fma4)
    {
        if (fma4 > fma1) { fma1++; }
        else { fma1--; }
    }
    if (fma2 != fma5)
    {
        if (fma5 > fma2) { fma2++; }
        else { fma2--; }
    }
    if (fma3 != fma6)
    {
        if (fma6 > fma3) { fma3++; }
        else { fma3--; }
    }
    if ((fma1 == fma4) && (fma2 == fma5) && (fma3 == fma6))
    {
        window.clearTimeout(fmTimer);
        fminit();
    }
    else
    {
        fmTimer = window.setTimeout("fmFade()",10);
    }
}
// added
function fmStop()
{
    clearTimeout(fmTimer);
    obj = document.getElementById('menu_mail').style;
    fmcolor = "#" + fmToHex(fma1o) + fmToHex(fma2o) + fmToHex(fma3o);
    obj.color = fmcolor;
}


// get
function get(id) 
{
    var obj = document.getElementById(id);
    var getstr = '';
    var info = '';

    for (i=0; i<obj.getElementsByTagName('input').length; i++) 
    {
        info += obj.getElementsByTagName('input')[i].name+' : '+obj.getElementsByTagName('input')[i].value+"\n";
        if (obj.getElementsByTagName('input')[i].type == 'text') 
        {
            getstr += obj.getElementsByTagName('input')[i].name + '=' + escape(encodeURIComponent(obj.getElementsByTagName('input')[i].value)) + '&';
        }
        if (obj.getElementsByTagName('input')[i].type == 'password') 
        {
            getstr += obj.getElementsByTagName('input')[i].name + '=' + escape(encodeURIComponent(obj.getElementsByTagName('input')[i].value)) + '&';
        }
        if (obj.getElementsByTagName('input')[i].type == 'checkbox') 
        {
            if (obj.getElementsByTagName('input')[i].checked) 
            {
                getstr += obj.getElementsByTagName('input')[i].name + '=' + obj.getElementsByTagName('input')[i].value + '&';
            } 
            else 
            {
                getstr += obj.getElementsByTagName('input')[i].name + '=&';
            }
        }
        if (obj.getElementsByTagName('input')[i].type == 'radio') 
        {
            if (obj.getElementsByTagName('input')[i].checked) 
            {
                getstr += obj.getElementsByTagName('input')[i].name + '=' + obj.getElementsByTagName('input')[i].value + '&';
            }
        }  
        //if (obj.getElementsByTagName('input')[i].type == 'submit' && obj.getElementsByTagName('input')[i].count) 
        if (obj.getElementsByTagName('input')[i].type == 'submit') 
        {
            getstr += obj.getElementsByTagName('input')[i].name + '=' + obj.getElementsByTagName('input')[i].value + '&';
        }
        //if (obj.getElementsByTagName('input')[i].type == 'image' && obj.getElementsByTagName('input')[i].count) 
        if (obj.getElementsByTagName('input')[i].type == 'image') 
        {
            getstr += obj.getElementsByTagName('input')[i].name + '=' + obj.getElementsByTagName('input')[i].value + '&';
        }
        if (obj.getElementsByTagName('input')[i].type == 'file') 
        {
            getstr += obj.getElementsByTagName('input')[i].name + '=' + obj.getElementsByTagName('input')[i].value + '&';
        }
        if (obj.getElementsByTagName('input')[i].type == 'hidden') 
        {
            getstr += obj.getElementsByTagName('input')[i].name + '=' + escape(encodeURIComponent(obj.getElementsByTagName('input')[i].value)) + '&';
        }
    }
    for (i=0; i<obj.getElementsByTagName('select').length; i++) 
    {
        info += obj.getElementsByTagName('select')[i].name+' : '+obj.getElementsByTagName('select')[i].value+"\n";
        if (obj.getElementsByTagName('select')[i].tagName == 'SELECT') 
        {
            var sel = obj.getElementsByTagName('select')[i];
            getstr += sel.name + '=' + escape(encodeURIComponent(sel.options[sel.selectedIndex].value)) + '&';
        }
    }
    for (i=0; i<obj.getElementsByTagName('textarea').length; i++) 
    {
        info += obj.getElementsByTagName('textarea')[i].name+' : '+escape(encodeURIComponent(obj.getElementsByTagName('textarea')[i].value))+"\n";
        if (obj.getElementsByTagName('textarea')[i].type == 'textarea') 
        {
            getstr += obj.getElementsByTagName('textarea')[i].name + '=' + escape(encodeURIComponent(obj.getElementsByTagName('textarea')[i].value)) + '&';
        }
    }
    //alert(info);
    //alert(getstr);
    return getstr;
}

function binaryLength_UTF8(str)
{	
	var bytes, charCode, a, len;
	bytes = 0;
	for (a = 0, len = str.length; a < len; a++)
	{
		charCode = str.charCodeAt(a);
		if (charCode < 128) //2^7
			bytes += 1;
		else if (charCode < 2048) // 2^11
			bytes += 2;
		else if (charCode < 65536) // 2^16
			bytes += 3;
		else
			bytes += 4;
	}
	return bytes;
}

function round(number,X) {
// http://www.irt.org/script/7.htm
// rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

var currTimeStart = new Date();
var time_start_s=currTimeStart.getSeconds();
var time_start_ms=currTimeStart.getMilliseconds();
var time_start=time_start_s+'.'+time_start_ms;
function check_end() {
	var currTimeEnd = new Date();
	var time_end_s=currTimeEnd.getSeconds();;
	time_end_ms=currTimeEnd.getMilliseconds();
	time_end = time_end_s+'.'+time_end_ms;
	//window.status='gotowe: '+round((time_end-time_start),3);
}

var scrollPos = 0;
var scrollStep = 2;
var scrollSpeed = 30;
var scrollStep2 = 5;
var scrollSpeed2 = 5;
var scrollVar = 0;
function scrollUp(obj,fast) {
	var div = document.getElementById(obj);
	var step = 0;
	var scroll = 0;
	if (fast==0) { step = scrollStep; scroll = scrollSpeed; }
	if (fast==1) { step = scrollStep2; scroll = scrollSpeed2; }
	div.scrollTop -= step;
	if (div.scrollTop>0) {
		scrollVar = setTimeout("scrollUp('"+obj+"',"+fast+")",scroll);
	} else {
		scrollStop();
	}
}
function scrollDown(obj,fast) {
	var div = document.getElementById(obj);
	var step = 0;
	var scroll = 0;
	if (fast==0) { step = scrollStep; scroll = scrollSpeed; }
	if (fast==1) { step = scrollStep2; scroll = scrollSpeed2; }
	div.scrollTop += step;
	if (div.scrollTop<div.scrollHeight) {
		scrollVar = setTimeout("scrollDown('"+obj+"',"+fast+")",scroll);
	} else {
		scrollStop();
	}
}
function scrollStop() {
	clearTimeout(scrollVar);
}

// remember div scroll position -->>
function divRescroll(name) {
	var name2 = name+'=';
	var strCook = document.cookie.split(';');
	for( var i=0;i<strCook.length;i++ ) {
		var c = strCook[i];
		while( c.charAt(0)==' ' ) c = c.substring(1,c.length);
		if( c.indexOf(name2)==0 ) {
			if( document.getElementById(name)!=null ) {
				document.getElementById(name).scrollTop = c.substring(name2.length,c.length);
				// alert(c.substring(name2.length,c.length));
			}
			//alert(c.substring(name2.length,c.length)+' '+document.cookie);
		}
	}
}
function SetDivPosition(name){
	var intY = document.getElementById(name).scrollTop;
	document.cookie = name+'='+intY;
	//alert(document.cookie);
}
// <<--

// remember page scroll position -->>
function pageRescroll(name) {
	var name2 = name+'=';
	var strCook = document.cookie.split(';');
	for( var i=0;i<strCook.length;i++ ) {
		var c = strCook[i];
		while( c.charAt(0)==' ' ) c = c.substring(1,c.length);
		if( c.indexOf(name2)==0 ) {
			window.scrollTo(0,c.substring(name2.length,c.length));
			// alert(c.substring(name2.length,c.length));
		}
	}
}
function SetPagePosition(name){
	var intY = typeof window.pageYOffset != 'undefined' ?
				window.pageYOffset : document.documentElement.scrollTop; 
	document.cookie = name+'='+intY;
	// alert(document.cookie);
}
// <<--

function fullscreen(photo,bg,fromDir,cat)
{
	var w = screen.availWidth+10; 
	var h = screen.availHeight+10; 
	var features = 'width='+w+',height='+h; 
	features += ',left=0,top=0,screenX=10,screenY=10';
	//alert(fromDir);
	if (!cat)
    {
		if ( navigator.appName=='Microsoft Internet Explorer' )
        {
			//okno = window.open('modules/m_photoshow.php?photo='+photo+'&fromdir='+fromDir, 'pelny_ekran', 'fullscreen=yes, status=no, scrollbars=no, fullscreen=1, status=0, scrollbars=0');
			okno = window.open('index.php?photoshow=1&photo='+photo, 'pelny_ekran', 'fullscreen=yes, status=no, scrollbars=no, fullscreen=1, status=0, scrollbars=0');
		}
        else
        {
			//window.open('modules/m_photoshow.php?photo='+photo+'&fromdir='+fromDir,'pelny_ekran','width='+(screen.width-5)+',height='+(screen.height-30)+',scrollbars=auto,resizable=yes,status=no').focus();
			       window.open('index.php?photoshow=1&photo='+photo,'pelny_ekran', 'width='+(screen.width-5)+', height='+(screen.height-30)+', scrollbars=auto, resizable=yes, status=no').focus();
		}
	}
    else
    {
		if ( navigator.appName=='Microsoft Internet Explorer' )
        {
			window.open('modules/m_photoshow.php?photo='+photo+'&bg='+bg+'&cat='+cat+'&start=1', 'pelny_ekran', 'fullscreen=yes, status=no, scrollbars=no');
		}
        else
        {
			window.open('modules/m_photoshow.php?photo='+photo+'&bg='+bg+'&cat='+cat+'&start=1', 'pelny_ekran', 'width=' + (screen.width-5) + ',height=' + (screen.height-30) + ',scrollbars=auto,resizable=yes,status=no').focus();
		}
	}
}

function changePage(newLoc) {
	/*
	nextPage = newLoc.options[newLoc.selectedIndex].value;
	if (nextPage != '') {
		document.location.href = nextPage;
	}
	*/
	nextPage = newLoc;
	document.location.href = nextPage;
}

function fullscreensend(photo,bg)
{
    window.open('modules/m_add_photo_show.php?photo='+photo+'&bg='+bg.substring(1), '', 'fullscreen=yes, scrollbars=no');
}
function ClipBoard() 
{
    holdtext.innerText = copytext.innerText;
    Copied = holdtext.createTextRange();
    Copied.execCommand('Copy');
}
function setBGColor() 
{
   document.bgColor='black'
}


function waitBox(showText)
{
   var div   = document.getElementById('waitbox');
   var div_a = document.getElementById('waitbox_a');
   //div_a.innerHTML = showText + ' ' + div_a.innerHTML;
   div_a.innerHTML = showText;
   div.style.display = 'table';
   div.style.visibility = 'visible';
}

function URLdecode(psEncodeString)
{
	// Create a regular expression to search all +s in the string
	var lsRegExp = /\+/g;
	// Return the decoded string
	return unescape(decodeURI(String(psEncodeString).replace(lsRegExp, " ")));
}
