var filetouse='_ajax.php';function getUrl(url,fn,requests){var xmlhttp=new XMLHttpRequest();var theurl=url;if(requests){theurl=url+requests;}xmlhttp.open("GET",theurl,true);xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){fn(xmlhttp.responseXML);}};xmlhttp.send('');};function CheckResultIsOk(xml){if(!xml){return false;}if(xml.getElementsByTagName('error_code')[0]&&Math.abs(xml.getElementsByTagName('error_code')[0].firstChild.data.trim())>0){alert('Error '+xml.getElementsByTagName('error_code')[0].firstChild.data+': '+xml.getElementsByTagName('error')[0].firstChild.data.trim());return false;}else{return true;}};function ExpandFolder(elm,share_id,path){if(!path){var path='/';}if(typeof(elm)=='string'){elm=xGetElementById(elm);}if(elm){elm=searchUp(elm,'li');if(elm.getAttribute('rel')&&elm.getAttribute('rel')=='retrieved'){for(i=0;i<elm.childNodes.length;i++){if(elm.childNodes[i].nodeName.toLowerCase()=='ul'){if(!elm.childNodes[i].style.display||elm.childNodes[i].style.display=='block'){elm.childNodes[i].style.display='none';elm.className=smartClassName(elm.className,'closed','open');}else{elm.childNodes[i].style.display='block';elm.className=smartClassName(elm.className,'open');}}}return true;}for(i=0;i<elm.childNodes.length;i++){if(elm.childNodes[i].nodeName.toLowerCase()=='ul'){elm.removeChild(elm.childNodes[i]);}}new_ul=document.createElement('ul');new_ul.className='waiting';new_li=document.createElement('li');new_tn=document.createTextNode('Loading...');new_li.appendChild(new_tn);new_ul.appendChild(new_li);elm.appendChild(new_ul);elm.className=smartClassName(elm.className,'open');var requests='?getfolder&elm='+elm.id+'&share='+share_id+'&path='+path;getUrl(filetouse,cbExpandFolder,requests);elm.setAttribute('rel','retrieved');}};function cbExpandFolder(xml){if(!CheckResultIsOk(xml)){return false;}if(xml.getElementsByTagName('elm')[0]){var elm=xml.getElementsByTagName('elm')[0].firstChild.data.trim();}else{return false;}if(xml.getElementsByTagName('share')[0]){var share_id=xml.getElementsByTagName('share')[0].firstChild.data.trim();}else{return false;}if(xml.getElementsByTagName('dir_path')[0]){var dir_path=xml.getElementsByTagName('dir_path')[0].firstChild.data.trim();}else{var dir_path='/';}var perm_r=false;var perm_dl=false;var perm_ul=false;var perm_del=false;if(xml.getElementsByTagName('perm_r')[0]&&xml.getElementsByTagName('perm_r')[0].firstChild.data.trim()=='yes'){perm_r=true;}if(xml.getElementsByTagName('perm_r')[0]&&xml.getElementsByTagName('perm_dl')[0].firstChild.data.trim()=='yes'){perm_dl=true;}if(xml.getElementsByTagName('perm_r')[0]&&xml.getElementsByTagName('perm_ul')[0].firstChild.data.trim()=='yes'){perm_ul=true;}if(xml.getElementsByTagName('perm_r')[0]&&xml.getElementsByTagName('perm_del')[0].firstChild.data.trim()=='yes'){perm_del=true;}var folders=xml.getElementsByTagName('directory');var folder_html='';for(i=0;i<folders.length;i++){if(folders[i].getElementsByTagName('name')[0]){var name=unescape(folders[i].getElementsByTagName('name')[0].firstChild.data.trim());if(folders[i].getElementsByTagName('path')&&folders[i].getElementsByTagName('path')[0]){var path=folders[i].getElementsByTagName('path')[0].firstChild.data.trim();}var ul='';if(perm_ul){ul='<span class="upload"><a href="index.php?upload&share='+share_id+'&path='+path+'" title="Upload files to '+name+'">Upload</a></span>';}if(folders[i].getElementsByTagName('dir_id')&&folders[i].getElementsByTagName('dir_id')[0]){var dir_id=folders[i].getElementsByTagName('dir_id')[0].firstChild.data.trim();if(path){folder_html=folder_html+'<li class="folder" id="'+dir_id+'"><a href="javascript:void(null);" onclick="ExpandFolder(this,\''+share_id+'\',\''+path+'\');">'+name+'</a> '+ul+'</li>';}else{folder_html=folder_html+'<li class="folder" id="">'+name+' '+ul+'</li>';}}}}var files=xml.getElementsByTagName('file');var file_html='';for(i=0;i<files.length;i++){if(files[i].getElementsByTagName('name')[0]){var name=unescape(files[i].getElementsByTagName('name')[0].firstChild.data.trim());if(files[i].getElementsByTagName('link')&&files[i].getElementsByTagName('link')[0]){var path=files[i].getElementsByTagName('link')[0].firstChild.data.trim();}if(files[i].getElementsByTagName('size')&&files[i].getElementsByTagName('size')[0]){var size=files[i].getElementsByTagName('size')[0].firstChild.data.trim();}else{var size='NA';}if(files[i].getElementsByTagName('type')&&files[i].getElementsByTagName('type')[0]){var type=files[i].getElementsByTagName('type')[0].firstChild.data.trim();}else{var type='';}var del_link='';if(files[i].getElementsByTagName('file_id')&&files[i].getElementsByTagName('file_id')[0]){var file_id=files[i].getElementsByTagName('file_id')[0].firstChild.data.trim();if(perm_del){del_link='<span class="delete" id="del_'+file_id+'"><a href="javascript:void(null);" onclick="askDelete(this,\''+share_id+'\',\''+addslashes(dir_path)+'\',\''+addslashes(name)+'\');">Delete</a></span>';}}if(path){file_html=file_html+'<li class="file '+type+'"><a href="'+path+'">'+name+'</a> <span class="size">'+size+'</span>'+del_link+'</li>';}else{file_html=file_html+'<li class="file '+type+'">'+name+' <span class="size">'+size+'</span>'+del_link+'</li>';}}}var parentLI=searchUp(elm,'li');if(!parentLI){return false;}for(i=0;i<parentLI.childNodes.length;i++){if(parentLI.childNodes[i].nodeName.toLowerCase()=='ul'){parentLI.removeChild(parentLI.childNodes[i]);}}var ul=document.createElement('ul');if(folder_html.length>0||file_html.length>0){xInnerHtml(ul,folder_html+file_html);}else if(!perm_r){xInnerHtml(ul,'<li class="folder empty">You do not have permissions to view the contents of this directory</li>');}else{xInnerHtml(ul,'<li class="folder empty">Folder is empty</li>');}parentLI.appendChild(ul);};function askDelete(elm,share,path,file){var a=confirm('Do you really want to delete "'+stripslashes(file)+'" ?');if(a==true){DeleteFile(elm,share,path,file);}};function DeleteFile(elm,share,path,file){if(!elm||!share||!path||!file){alert('Delete Failed - JS Error 198');return false;}if(typeof(elm)=='string'){elm=xGetElementById(elm);}var parentSpan=searchUp(elm,'span');parentSpan.className=smartClassName(parentSpan.className,'waiting');var requests='?deletefile&elm='+parentSpan.id+'&share='+share+'&path='+path+'&file='+file;getUrl(filetouse,cbDeleteFile,requests);};function cbDeleteFile(xml){if(!CheckResultIsOk(xml)){return false;}if(xml.getElementsByTagName('elm')[0]){var elm=xml.getElementsByTagName('elm')[0].firstChild.data.trim();}else{return false;}theelm=xGetElementById(elm);if(theelm){var parentLI=searchUp(theelm,'li');parentLI.parentNode.removeChild(parentLI);}}