var allowedFileTypes = new Array(".gif", ".jpg", ".jpeg", ".png", ".pdf");

function limitUpload(form, file) {
    allowed = false;

    if (!file) {
        return;
    }

    while (file.indexOf("\\") != -1) {
        file = file.slice(file.indexOf("\\") + 1);
    }
    ext = file.slice(file.indexOf(".")).toLowerCase();

    for (var i = 0; i < allowedFileTypes.length; i++) {
        if (allowedFileTypes[i] == ext) {
            allowed = true;
            break;
        }
    }

    if (allowed) {
	form.submit();
    } else {
        alert("File formats supported are .gif .jpg .png .pdf");
    }
}

function newFolderSel (elemSel) {
    var elemTd = document.getElementById('targetDirTd');
    
    if (elemSel.value == 'newDir') {
        
        elem = document.createElement('input');
        elem.type = 'text';
        elem.name = 'newTargetDir';
        elem.id = 'newTargetDir';
        elem.className = 'small';
        elem.value = 'name of new folder';
        elem.size = 16;
        elem.maxLength = 10;
        elemTd.appendChild(elem);
    } else {
        elem = document.getElementById('newTargetDir');
        if (elem != undefined ) {
            elem.removeNode(elem);
        }
    }
}

function displayPicture (div, fname, pic_id, date, captionText, inc_del) {
    var pic, picDiv = document.createElement('div');
    picDiv.className = 'pic';
    picDiv.id = pic_id;

    // alert(fname+' '+pic_id+' '+date+' '+captionText+' '+inc_del);

    if (fname.match('.pdf')) {
        pic = document.createElement('embed');
        pic.src = fname;
        pic.width = '560px';
        pic.height = '400px';
        pic.setAttribute('href', 'images/'+pic.src);
    } else {
        pic = document.createElement('img');
        pic.src = fname;
    }

    var caption = document.createElement('p');

    if (inc_del) {
        var delButton = document.createElement('input');
        delButton.value = 'delete';
        delButton.type = 'button';
        delButton.className = 'small';
        delButton.onclick = function() {
            var href = inc_del+'?del=1'+'&picid='+pic_id;
            document.location.href = href;
        }
        caption.appendChild(delButton);
    }
    caption.appendChild(document.createTextNode(date+": "+captionText));

    picDiv.appendChild(pic);
    picDiv.appendChild(caption);
    div.appendChild(picDiv);
}

function getPicturesResp (req, xh_param) {
    var divId = xh_param[0];
    var div = document.getElementById(divId);
    var inc_del = xh_param[1];
    var resp = req.responseText.split(DELIMITER);
    var i=0;

    // alert(resp[i]+' '+resp[i+1]);
    if (!resp[0]) {
        div.appendChild(document.createTextNode('No pictures uploaded.'));
	div.style.textAlign="center";
        return;
    }
    while (resp[i]) {
        displayPicture(div, resp[i++], resp[i++], resp[i++], resp[i++],
                       inc_del);
    }
}

function getPicturesReq (divId, usrid, parent_id, inc_del) {
    var url = 'upload_list_handler.php';
    var url_param = '?usrid='+usrid+'&pid='+parent_id;
    var xh_param = Array(divId, inc_del);

    xmlHttpReq(xmlHttpObj(), url+url_param, true, null, getPicturesResp,
               xh_param);
}
