<h2 class="divListAll">Galeria de fotos</h2>
<!--[if IE 7]>
<link rel="stylesheet" href="/_layouts/STYLES/Ditto.VoidPoint/gallery7.css" type="text/css" media="screen" charset="utf-8"/>
<![endif]-->
<link rel="stylesheet" type="text/css" href="/_layouts/STYLES/Ditto.VoidPoint/gallery.css" />
<script type="text/javascript" src="/_layouts/Ditto.VoidPoint/js/jquery.gallery.js"></script>
<div id="pcCollection" class="pcCollection divListAll">
<div id="pcFolderSelection" class="pcFolderSelection">
<table>
<tr>
<td>
Selecione a Galeria:
</td>
<td>
<select name="pcPhotoFolder" id="pcPhotoFolder" style="width:260px;" onChange="pcGetFolderList(this.value);">
</select>
</td>
</tr>
</table>
</div>
<div id="pcPreview" class="pcPreview pcLimits">
<div id="pcThumbsPrevious" class="pcThumbsPrevious pcHideArrow"> <img id="pcThumbsPreviousImg" src="/_layouts/images/Ditto.VoidPoint/navprevious.png" onClick="pcImageListNavigation(false);"/></div>
<div id="pcPreviewImage" class="pcPreview"></div>
<div id="pcThumbsNext" class="pcThumbsNext pcHideArrow"><img id="pcThumbsNextImg" src="/_layouts/images/Ditto.VoidPoint/navnext.png" onClick="pcImageListNavigation(true);"/></div>
</div>
<div id="pcThumbListWithNav" class="pcThumbListWithNav">
<div id="pcThumbList" class="pcThumbList">
</div>
<div id="pcPageNav" class="pcPageNav">
<div id="pcPagingPrevious" class="pcPagingPrevious"></div>
<div id="pcPagingNext" class="pcPagingNext"></div>
</div>
</div>
</div>
<script language="javascript" type="text/javascript">
var pcLists = new SPAPI_Lists(vpCurrentSite);
var pcListName = 'Galeria_de_Fotos';
var pcSlidesNumbers = 6;
var pcQueryFolder = '<FieldRef Name="ID"/><FieldRef Name="Title"/>';
var pcFolderFileRef = 'ows_FileRef';
var pcFolderFileName = 'ows_Title';
var pcQueryImage = '<FieldRef Name="Title" /><FieldRef Name="RequiredField" />';
var pcImgFileSrcThumb = 'ows_RequiredField';
var pcImgFileSrcPreview = 'ows_RequiredField';
var pcFolderImage = '/_layouts/images/Ditto.VoidPoint/folder.png';
var pcLastImgSelect = '';
var pcFolderTranslate = "";
if(vpCurrentCulture == 'pt-BR') {
pcFolderTranslate = 'Pasta';
} else {
pcFolderTranslate = 'Folder';
}
var pcArrayPrevious = new Array();
var pcCurPage = 0;
var pcSelPage=-1;
var pcSelItem=1;
var pcImgPagPrevious = '/_layouts/images/Ditto.VoidPoint/arrowprevious.png';
var pcImgPagNext = '/_layouts/images/Ditto.VoidPoint/arrownext.png';
var pcServerName = vpRootSite.replace('
http://','');
pcServerName = 'http://' + pcServerName.split("/",1) + '/';
$(document).ready(function() {
try {
$("#pcPhotoFolder").msDropDown();
pcGetFolderList('');
} catch(e) {
alert("Error: "+e.message);
}
}
)
function pcProportion (OriginalX,ToX,OriginalY){
return (OriginalX/ToX)*OriginalY;
}
function pcResize(idDiv, idElement, max) {
var elemDiv = document.getElementById(idDiv);
var elem = document.getElementById(idElement);
if (elem == undefined || elem == null) return false;
if (max == undefined) max = 100;
if (elem.width > elem.height) {
elem.height = pcProportion(max,elem.width,elem.height);
elem.width = max;
} else {
elem.width = pcProportion(max,elem.height,elem.width);
elem.height = max;
}
elem.style.margin = (((elemDiv.clientHeight - elem.height) / 2)-5) + "px 0";
}
function pcShowPreview(idPreview,idImage){
var elemPreview = document.getElementById(idPreview);
var elemImage = document.getElementById(idImage);
pcResize('pcPreview','pcImgPreview',(elemPreview.offsetHeight-10));
elemPreview.innerHTML = "<img id='pcImgPreview' src='"+elemImage.title+"'/>";
pcResize('pcPreview','pcImgPreview',(elemPreview.offsetHeight-10));
}
function pcGetFolderList(rootFolder){
var stringCombo = '';
var wFolderName = '<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns></QueryOptions>';
if (rootFolder != '') {
wFolderName ='<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns><Folder>'+rootFolder+'</Folder></QueryOptions>';
}
var pcItems = pcLists.getListItems( pcListName,
'',
'<Query><Where><Eq><FieldRef Name="ContentType" /><Value Type="Text">'+pcFolderTranslate+'</Value></Eq></Where></Query>',
'<ViewFields>'+pcQueryFolder+'</ViewFields>',
99,
wFolderName
);
if (pcItems.status == 200) {
var pcRows = pcItems.responseXML.getElementsByTagName('z:row');
var pcSelObj = document.getElementById("pcPhotoFolder");
pcSelObj.options.length=0;
pcSelObj.options[0] = new Option('','');
if (rootFolder != '') {
var foldersSplit = rootFolder.split("/");
var currFolder = "";
for (cont=0;cont<(foldersSplit.length-2);cont++){
currFolder += foldersSplit[cont] + '/';
}
currFolder = currFolder.substr(0,(currFolder.length-1));
if (pcListName.toUpperCase() != rootFolder.toUpperCase()) {
pcSelObj.options[pcSelObj.options.length] = new Option('..',currFolder);
pcSelObj.options[pcSelObj.options.length-1].title = pcFolderImage;
}
}
var pcSiteDomain = vpRootSite.replace('
http://','') pcSiteDomain = 'http://' + pcSiteDomain.split("/",1) + '/';
var pcWorkFolder = '';
for (var pci=0; pci<pcRows.length; pci++){
var pcItem = pcRows[pci];
var pcFileRef = pcItem.getAttribute(pcFolderFileRef).split(";");
pcWorkFolder = pcSiteDomain + pcFileRef[1].substr(1,pcFileRef[1].length)
pcWorkFolder = pcWorkFolder.substr(vpCurrentSite.length,pcWorkFolder.length);
pcSelObj.options[pcSelObj.options.length] = new Option(pcItem.getAttribute(pcFolderFileName),pcWorkFolder);
pcSelObj.options[pcSelObj.options.length -1].title = pcFolderImage;
}
try {
$("#pcPhotoFolder").msDropDown();
} catch(e) {
alert("Error: "+e.message);
}
pcArrayPrevious = new Array();
pcArrayPrevious[0] = '';
pcCurPage = 0;
pcGetImagesListOnFolder(rootFolder,'',true);
}
else {
alert('There was an error: ' + items.statusText);
}
}
function pcGetImagesListOnFolder(rootFolder,pagingInfo,toNext) {
var pcFolderName = '<QueryOptions><IncludeMandatoryColumns>FALSE</IncludeMandatoryColumns>';
var pcPagingNext = "";
var pcPagingPrevious = "";
wpInGFarrayThumbs = new Array();
if (rootFolder != '') {
pcFolderName +='<Folder>'+rootFolder+'</Folder>';
}
if(pagingInfo != undefined && pagingInfo != null && pagingInfo != '') {
var pagingCode = '<Paging ListItemCollectionPositionNext="' + pagingInfo.replace(/&/g, '&') + '" />';
if(toNext==true) {
pcCurPage += 1;
pcArrayPrevious[pcCurPage] = pagingCode;
}
else {
pcCurPage -= 1;
}
pcFolderName+= pcArrayPrevious[pcCurPage];
}
pcFolderName += '</QueryOptions>';
var pcItems = pcLists.getListItems(
pcListName,
'',
'<Query><Where><Neq><FieldRef Name="ContentType" /><Value Type="Text">'+pcFolderTranslate+'</Value></Neq></Where><OrderBy><FieldRef Name="Created" Ascending="TRUE" /></OrderBy></Query>',
'',
pcSlidesNumbers,
pcFolderName
);
if (pcItems.status == 200)
{
var pcRsData = pcItems.responseXML.getElementsByTagName('rs:data');
if(pcRsData != undefined && pcRsData != null) {
var pcNextPage = pcRsData[0].getAttribute('ListItemCollectionPositionNext');
if(pcArrayPrevious.length > 1 && pcCurPage > 0) {
pcPagingPrevious += '<img id="imgPrevious" src="'+pcImgPagPrevious+'" onClick="pcGetImagesListOnFolder(\''+rootFolder+'\',\''+pcNextPage+'\',false);"/>  ';
}
if(pcNextPage != undefined && pcNextPage != null && pcNextPage != ''){
pcPagingNext += '<img id="imgNext" src="'+pcImgPagNext+'" onClick="pcGetImagesListOnFolder(\''+rootFolder+'\',\''+pcNextPage+'\',true);"/>  ';
}
}
var pcImageThumbs = "";
var pcRows = pcItems.responseXML.getElementsByTagName('z:row');
for (var pci=0; pci<pcRows.length; pci++)
{
var item = pcRows[pci];
var id = "pcThumbs" + (pci+1);
var useclass = "unselectimage";
if (id == pcLastImgSelect) {
useclass = "selectimage";
}
imgthumbsrc = item.getAttribute(pcImgFileSrcThumb);
var pcPreviewPicString = pcServerName+item.getAttribute(pcImgFileSrcPreview);
pcImageThumbs += '<div id="'+id+'" class="pcThumbs pcLimits"><img id="pcImg'+(pci+1)+'" src="'+ pcGetThumbsPath(imgthumbsrc) +'" title="'+pcPreviewPicString+'" onLoad="pcResize(\''+id+'\',this.id);" onClick="pcShowPreview(\'pcPreviewImage\',\'pcImg'+(pci+1)+'\'); pcChangeSelected('+(pci+1)+');"></div>  ';
}
document.getElementById("pcThumbList").innerHTML = pcImageThumbs;
document.getElementById("pcPagingPrevious").innerHTML = pcPagingPrevious;
document.getElementById("pcPagingNext").innerHTML = pcPagingNext;
if (pcSelPage == -1) {
pcChangeSelected(1);
}
else {
if (pcCurPage == pcSelPage) {
pcChangeSelected(pcSelItem);
}
else {
pcChangeSelected(0);
}
}
}
else {
alert('There was an error: ' + items.statusText);
}
}
function pcGetThumbsPath(curImagePath) {
if (curImagePath != '') {
var pathSplit = curImagePath.split("/");
var pathFolder = "";
for (cont=0;cont<(pathSplit.length-1);cont++){
pathFolder += pathSplit[cont] + '/';
}
pathFolder += "_t/" + pathSplit[pathSplit.length-1];
pathFolder = pathFolder.substr(0,(pathFolder.length-4));
pathFolder += "_" +pathSplit[pathSplit.length-1].substr(pathSplit[pathSplit.length-1].length-3,3)+".jpg";
return pcServerName + pathFolder;
}
return "";
}
function pcImageListNavigation(toNext) {
var pcNewSelected = 0;
if (pcCurPage == pcSelPage) {
document.getElementById('pcThumbsPrevious').className = 'pcThumbsPrevious';
document.getElementById('pcThumbsNext').className = 'pcThumbsNext';
if (toNext==true) {
if ((pcSelItem )< pcSlidesNumbers) {
pcNewSelected = pcSelItem + 1;
pcChangeSelected(pcNewSelected);
}
}
else {
if ((pcSelItem) > 1) {
pcNewSelected = pcSelItem - 1;
pcChangeSelected(pcNewSelected);
}
}
}
else {
pcChangeSelected(0);
}
}
function pcChangeSelected(indexNewSelect) {
var pcThumbListObj = document.getElementById('pcThumbList');
var pcCount = pcThumbListObj.getElementsByTagName('div').length;
document.getElementById('pcThumbsPrevious').className = 'pcThumbsPrevious pcHideArrow';
document.getElementById('pcThumbsNext').className = 'pcThumbsNext pcHideArrow';
for (pci=0;pci<pcCount;pci++){
document.getElementById('pcThumbs' + (pci+1)).className = 'pcThumbs pcLimits';
}
if (pcCount > 0 && indexNewSelect > 0) {
if (indexNewSelect < pcCount) {
document.getElementById('pcThumbsNext').className = 'pcThumbsNext';
}
if (indexNewSelect > 1) {
document.getElementById('pcThumbsPrevious').className = 'pcThumbsPrevious';
}
document.getElementById(('pcThumbs' + indexNewSelect)).className = 'pcThumbs pcLimits pcSelectImage';
pcSelPage = pcCurPage;
pcSelItem = indexNewSelect;
pcShowPreview('pcPreviewImage','pcImg'+indexNewSelect);
}
}
</script>