///////////////////////////////////////////////////////////////////////////////////////////////
// Scrollayer...
function ScrollStruct(objName, layerID, xPos, yPos, orientation, visibleSize, lenght){
	var layer_obj = document.getElementById(layerID);
	this.name          = objName;
	this.layerID       = layerID;
	this.xPos = layer_obj.offsetLeft;//         = xPos;
	this.yPos = layer_obj.offsetTop;//          = yPos;
	if (orientation == 'Horiz') this.orientation = 1;
	else if (orientation == 'Vert') this.orientation = 0;
	else alert("Não foi definida a orientação do scroller '"+objName+"'.");
	this.visibleSize   = visibleSize;
	this.clipOffsetPos = 0; // Relative from LEFT if "Horiz", TOP if "Vert" 
	this.dist          = 0;
	this.speed         = 0;
	this.stopPoint     = 0;
	this.intervalID    = 0; // For setInterval and clearInterval
	this.scrolling     = false; 
	this.lenght		   = lenght;
}
function ScrollLayer(scrollStruct){
	var width, height, elem;
	elem = document.getElementById(scrollStruct.layerID);
	if(scrollStruct.orientation){
		width = scrollStruct.lenght;
		if(width<scrollStruct.visibleSize)
			width = scrollStruct.visibleSize;
		height  = parseInt(elem.style.height);
	}
	else{
		width = parseInt(elem.style.width);
		height  = scrollStruct.lenght;
		if(height<scrollStruct.visibleSize)
			height = scrollStruct.visibleSize;
	}	
	if(scrollStruct.clipOffsetPos + scrollStruct.speed >= 0 && scrollStruct.clipOffsetPos + scrollStruct.speed + scrollStruct.visibleSize
		<= (scrollStruct.orientation ? width : height)){
	scrollStruct.clipOffsetPos += scrollStruct.speed;
	
		// Check for stop points
		if(scrollStruct.speed > 0 && scrollStruct.dist*(scrollStruct.stopPoint+1) >= scrollStruct.clipOffsetPos - scrollStruct.speed
		&& scrollStruct.dist*(scrollStruct.stopPoint+1) <= scrollStruct.clipOffsetPos){
			scrollStruct.stopPoint += 1;
			clearInterval(scrollStruct.intervalID);
			scrollStruct.scrolling = false;
		}
		else if (scrollStruct.speed < 0 && scrollStruct.dist*(scrollStruct.stopPoint-1) >= scrollStruct.clipOffsetPos
		&& scrollStruct.dist*(scrollStruct.stopPoint-1) <= scrollStruct.clipOffsetPos - scrollStruct.speed){
			scrollStruct.stopPoint -= 1;
			clearInterval(scrollStruct.intervalID);
			scrollStruct.scrolling = false; 
		} 
	
		// Create and display the clip in the approppriate location
		// if the position of the clip remains inside the layer.
		// clip: rect(top right bottom left)
		if(scrollStruct.orientation){
			elem.style.left = scrollStruct.xPos - scrollStruct.clipOffsetPos;
			elem.style.top  = scrollStruct.yPos; 
			elem.style.clip = "rect(auto " + (scrollStruct.clipOffsetPos + scrollStruct.visibleSize) + "px auto " + scrollStruct.clipOffsetPos + "px)";
		}
		else{
			elem.style.left = scrollStruct.xPos;
			elem.style.top  = scrollStruct.yPos - scrollStruct.clipOffsetPos;
			elem.style.clip = "rect(" + scrollStruct.clipOffsetPos + "px auto " + (scrollStruct.clipOffsetPos + scrollStruct.visibleSize) + "px auto)"; 
		}
		elem.style.visibility = "visible"; 
	}
	else{
		clearInterval(scrollStruct.intervalID);
		scrollStruct.scrolling = false;
	}
}
// Methods to perform on a Scroll Layer
function ScrollForward(scrollStruct, dist, speed){
    if (!scrollStruct.scrolling){
		scrollStruct.dist       = dist;
		scrollStruct.speed      = speed;
		scrollStruct.scrolling  = true;
		scrollStruct.intervalID = setInterval("ScrollLayer(" + scrollStruct.name + ")", 1);
	}
}
function ScrollBackward(scrollStruct, dist, speed){
    if (!scrollStruct.scrolling){
		scrollStruct.dist       = dist;
		scrollStruct.speed      = -speed;
		scrollStruct.scrolling  = true; 
		scrollStruct.intervalID = setInterval("ScrollLayer(" + scrollStruct.name + ")", 1);
	}
}
function PauseScroll(scrollStruct){
	clearInterval(scrollStruct.intervalID);
	scrollStruct.scrolling = false;
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Abre POP de Visualização do Portfolio...
function VisualizaFoto(imagem,nodecode,noresize){
	if(nodecode && nodecode!='undefined') nodecode = "nodecode="+nodecode+"&";
	if(noresize && noresize!='undefined') noresize = "noresize="+noresize+"&";
	var imgWin = window.open('portfolio/imagem_view.php?imagem='+imagem+'&'+nodecode+'&'+noresize,'FOTO_PORTFOLIO','width=400,height=400,top=0,left=0');
	imgWin.focus();
}
///////////////////////////////////////////////////////////////////////////////////////////////
// OVER dos menus...
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function GetObj(id_obj){
	return document.getElementById(id_obj);	
}
function DisableForm(formulario){
	var act = "var count = document."+formulario+".elements.length;";
	eval(act);
	var target,obj;
	for(i=0;i<count;i++){
		target = "obj = document."+formulario+".elements[i].disabled = true;"
		eval(target);
	}
}
///////////////////////////////////////////////////////////////////////////////////////////////
// Abre POP de Visualização de albuns da galeria...
function AbreAlbum(id) {
	var url = '';
	var galWin = window.open('noticias/galeria.php?id_album='+id+'&','GAD_GALLERY','width=600,height=520,top=0,left=0,scrollbars=yes,resizable=no,status=yes');
	galWin.focus();
}
