var CHOOSE_FORMAT = "Select an Output Format:";
// Document Formats
doc = new Array(CHOOSE_FORMAT,"odt", "pdf", "rtf", "txt", "wiki", "sxw");
sxw = new Array(CHOOSE_FORMAT,"odt", "pdf", "rtf", "txt", "wiki", "doc");
txt = new Array(CHOOSE_FORMAT,"doc", "odt", "pdf", "rtf", "wiki", "sxw");
wpd = new Array(CHOOSE_FORMAT,"doc", "odt", "pdf", "rtf", "wiki", "sxw", "txt");
ppt = new Array(CHOOSE_FORMAT,"odp", "pdf", "swf");
odp = new Array(CHOOSE_FORMAT,"pdf", "ppt", "swf", "pptx");
ods = new Array(CHOOSE_FORMAT,"csv", "pdf", "xls", "xlsx");
odt = new Array(CHOOSE_FORMAT,"doc", "pdf", "rtf", "txt", "docx");
xls = new Array(CHOOSE_FORMAT,"csv", "ods", "pdf");
pdf = new Array(CHOOSE_FORMAT,"doc", "html", "txt", "fb2", "lit", "lrf", "mobi", "pdb", "epub", "tcr");
docx = new Array(CHOOSE_FORMAT,"doc", "odt", "rtf", "txt", "wiki", "pdf", "sxw");
ps = new Array(CHOOSE_FORMAT,"doc", "odt", "rtf", "txt", "wiki", "pdf");
pptx = new Array(CHOOSE_FORMAT,"ppt", "odp", "swf");
xlsx = new Array(CHOOSE_FORMAT,"xls", "ods", "csv", "pdf");
djvu = new Array(CHOOSE_FORMAT,"txt", "ps", "pdf");
// Image Formats
jpg = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx", "pdf", "txt");
bmp = new Array(CHOOSE_FORMAT,"jpg", "gif", "ico", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx", "pdf", "txt");
gif = new Array(CHOOSE_FORMAT,"bmp", "jpg", "ico", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx", "pdf", "txt");
ico = new Array(CHOOSE_FORMAT,"bmp", "gif", "jpg", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx");
png = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "jpg", "tga", "tiff", "wbmp", "eps", "pcx", "pdf", "txt");
tga = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "jpg", "tiff", "wbmp", "eps", "pcx", "pdf");
tif = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "jpg", "wbmp", "eps", "pcx", "pdf", "txt");
tiff = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "jpg", "wbmp", "eps", "pcx", "pdf", "txt");
wbmp = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "jpg", "eps", "pcx", "pdf");
eps = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "jpg", "wbmp", "pcx", "pdf");
pcx = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "jpg", "wbmp", "eps", "pdf");
// Video Formats
avi = new Array(CHOOSE_FORMAT,"aac", "ac3", "3gp", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
flv = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "3gp", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
mov = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "3gp", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
mpg = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "3gp", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
mp4 = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "3gp", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
dvd = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "3gp", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
swf = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "3gp", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
rm = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "wmv", "dpg", "asf", "3g2", "gif", "amv");
wmv = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "dpg", "asf", "3g2", "gif", "amv");
asf = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "wmv", "3g2", "gif", "amv");
dvrms = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "wmv", "3g2", "gif", "amv");
threegp = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2", "gif", "amv");
threeg2 = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3gp", "gif", "amv");
amv = new Array(CHOOSE_FORMAT,"ac3", "mov", "mp3", "mp4", "wav", "dvd", "rm", "wmv", "asf");

mkv = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "asf", "amv");
rmvb = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "asf", "wmv", "gif", "amv");
mtv = new Array(CHOOSE_FORMAT,"aac", "ac3", "3gp", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "asf", "3g2", "gif", "amv");
ogm = new Array(CHOOSE_FORMAT,"aac", "ac3", "3gp", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "asf", "3g2", "gif", "amv");
// Audio Formats
ac3 = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
aac = new Array(CHOOSE_FORMAT,"ac3", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
flac = new Array(CHOOSE_FORMAT,"aac", "ac3", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
m4a = new Array(CHOOSE_FORMAT,"aac", "flac", "ac3", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
mp3 = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "ac3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
ogg = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ac3", "wav", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
wav = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "ac3", "wma", "ra", "aiff", "amr", "au", "voc", "swf");
wma = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "ac3", "ra", "aiff", "amr", "au", "voc", "swf");
ra = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ac3", "aiff", "amr", "au", "voc", "swf");
aiff = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "ac3", "amr", "au", "voc", "swf");
amr = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "ac3", "aiff", "au", "voc", "swf");
au = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "ac3", "aiff", "amr", "voc", "swf");
voc = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "ac3", "aiff", "amr", "au", "swf");

mid = new Array(CHOOSE_FORMAT,"ra", "aac", "ac3", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "aiff", "amr", "au");
// eBook Formats
lit = new Array(CHOOSE_FORMAT,"pdf", "txt", "ps", "html");
epub = new Array(CHOOSE_FORMAT,"fb2", "lit", "lrf", "mobi", "pdb", "pdf", "tcr");
fb2 = new Array(CHOOSE_FORMAT,"epub", "lit", "lrf", "mobi", "pdb", "pdf", "tcr");
lrf = new Array(CHOOSE_FORMAT,"fb2", "lit", "epub", "mobi", "pdb", "pdf", "tcr");
mobi = new Array(CHOOSE_FORMAT,"fb2", "lit", "lrf", "epub", "pdb", "pdf", "tcr");
pdb = new Array(CHOOSE_FORMAT,"fb2", "lit", "lrf", "mobi", "epub", "pdf", "tcr");
tcr = new Array(CHOOSE_FORMAT,"fb2", "lit", "lrf", "mobi", "pdb", "pdf", "epub");

// Compression Formats
sevenz = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "tar", "rar");
zip = new Array(CHOOSE_FORMAT, "7z", "tgz", "tar.gz", "bzip2", "tar", "rar");
gzip = new Array(CHOOSE_FORMAT, "zip", "7z", "bzip2", "tar", "rar");
bzip2 = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "7z", "tar", "rar");
tar = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "7z", "rar");
rar = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "7z", "tar");
iso = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "7z", "tar", "rar");
chm = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "7z", "tar", "rar");
cpio = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "7z", "tar", "rar");
cab = new Array(CHOOSE_FORMAT, "zip", "tgz", "tar.gz", "bzip2", "7z", "tar", "rar");
// Online Video Formats
onlineVideoFormats = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "3gp", "3g2", "swf", "rm", "wmv", "dpg", "asf", "gif", "amv");

// Create a master array to add all formats into it
master = new Array();
// Document Formats
master["doc"] = doc;
master["txt"] = txt;
master["wpd"] = wpd;
master["ppt"] = ppt;
master["odp"] = odp;
master["ods"] = ods;
master["odt"] = odt;
master["xls"] = xls;
master["pdf"] = pdf;
master["ps"] = ps;
master["xlsx"] = xlsx;
master["pptx"] = pptx;
master["docx"] = docx;
master["djvu"] = djvu;
master["sxw"] = sxw;
// Image Formats
master["jpg"] = jpg;
master["jpeg"] = jpg;
master["bmp"] = bmp;
master["gif"] = gif;
master["ico"] = ico;
master["png"] = png;
master["tga"] = tga;
master["tif"] = tif;
master["tiff"] = tiff;
master["wbmp"] = wbmp;
master["eps"] = eps;
master["pcx"] = pcx;
// Video Formats
master["avi"] = avi;
master["flv"] = flv;
master["mov"] = mov;
master["mp4"] = mp4;
master["mpg"] = mpg;
master["mpeg"] = mpg;
master["dvd"] = dvd;
master["swf"] = swf;
master["asf"] = asf;
master["rm"] = rm;
master["dvr-ms"] = dvrms;
master["wmv"] = wmv;
master["mkv"] = mkv;
master["rmvb"] = rmvb;
master["3gp"] = threegp;
master["3g2"] = threeg2;
master["amv"] = amv;
master["mtv"] = mtv;
master["ogm"] = ogm;
// Audio Formats
master["ac3"] = ac3;
master["aac"] = aac;
master["flac"] = flac;
master["m4a"] = m4a;
master["mp3"] = mp3;
master["ogg"] = ogg;
master["wav"] = wav;
master["wma"] = wma;
master["ra"] = ra;
master["mid"] = mid;
master["midi"] = mid;
master["aiff"] = aiff;
master["amr"] = amr;
master["au"] = au;
master["voc"] = voc;
// eBook Formats
master["epub"] = epub;
master["fb2"] = fb2;
master["lit"] = lit;
master["lrf"] = lrf;
master["mobi"] = mobi;
master["pdb"] = pdb;
master["tcr"] = tcr;
// Compression Formats
master["7z"] = sevenz;
master["zip"] = zip;
master["gzip"] = gzip;
master["gz"] = gzip;
master["bzip2"] = bzip2;
master["bz2"] = bzip2;
master["tar"] = tar;
master["rar"] = rar;
master["iso"] = iso;
master["chm"] = chm;
master["cpio"] = cpio;
master["cab"] = cab;

function updateOutputFormats() {
    var inputBox = document.file_conversion_form.input_file;
	var val = document.file_conversion_form.input_file.value;
	var obj = document.file_conversion_form.file_output_format;
    var dot = val.lastIndexOf('.');
    if (dot != -1) {
        var lowerCase = val.substr(dot + 1);
        var extension = lowerCase.toLowerCase();
		var formats = master[extension];
        if (typeof(formats) == "undefined") {
            alert('Sorry, but conversion from the file type "' + extension + '" is not supported!');
            inputBox.value = '';
            obj.length = 0;
            obj.options[0] = new Option('[Select Input File First]', '');
            return false;
        }
       
        var opt = obj.options;
        opt.length = 0;
        for (var i = 0; i < formats.length; i++) {
            var option = formats[i];
            if (option.value != extension) {
            	opt[i] = new Option(option,option);
            }
        }
    } else {
        alert('Unable to detect file extension!');
        inputBox.value = '';
        obj.length = 0;
        obj.options[0] = new Option('[Select Input File First]', '');
        return false;
    }
}

function updateOnlineVideoFormats() {
    var obj = document.video_download_form.video_output_format;
    var opt = obj.options;
    opt.length = 0;
    for (var i = 0; i < onlineVideoFormats.length; i++) {
        var option = onlineVideoFormats[i];
        opt[i] = new Option(option,option);
    }
}

