// *** 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 showOn(obj2) {
	var obj = document.getElementById(obj2);
	obj.style.display = 'table';
	obj.style.visibility = 'visible';
}
function showOff(obj2) {
	var obj = document.getElementById(obj2);
	obj.style.display = 'none';
	obj.style.visibility = 'hidden';
}
function focusOn(obj2) {
	var obj = document.getElementById(obj2);
	obj.focus();
}

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' ) { 
			// window.open('photo_show.php?photo='+photo+'&bg='+bg, 'pelny_ekran', features);
			// window.moveTo(-10,-10);
			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');
			// window.open('m_photoshow.php?photo='+photo+'&bg='+bg, 'pelny_ekran', 'fullscreen=no, status=yes, scrollbars=no');
		} 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();
		}
	} 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 chat()
{
	window.open('photo_chat.php#ustaw', 'chat', 'width=625,height=418,toolbars=no,status=no,resizable=yes,scrollbars=no,toolbars=0,status=0,resizable=1,scrollbars=0,left=1,top=1,screenX=1,screenY=1');
}

function shout(){
	window.open('modules/m_photo_shout.php', 'shoutchat', 'width=625,height=450,toolbars=no,status=no,resizable=no,scrollbars=no,toolbars=0,status=1,resizable=0,scrollbars=0,left=1,top=1,screenX=1,screenY=1');
}

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'
}
