var CHOOSE_FORMAT = "Select an Output Format:";
// Document Formats
doc = new Array(CHOOSE_FORMAT,"odt", "pdf", "rtf", "txt", "wiki", "sxw");
txt = new Array(CHOOSE_FORMAT,"odt", "pdf", "rtf", "wiki", "sxw");
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", "wiki", "docx");
xls = new Array(CHOOSE_FORMAT,"csv", "ods", "pdf", "wiki");
pdf = new Array(CHOOSE_FORMAT,"doc", "html", "txt");
docx = 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", "wiki");
// Image Formats
jpg = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx");
bmp = new Array(CHOOSE_FORMAT,"jpg", "gif", "ico", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx");
gif = new Array(CHOOSE_FORMAT,"bmp", "jpg", "ico", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx");
ico = new Array(CHOOSE_FORMAT,"bmp", "gif", "jpg", "ps", "png", "tga", "tiff", "wbmp", "eps", "pcx");
ps = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "jpg", "png", "tga", "tiff", "wbmp", "eps", "pcx");
png = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "jpg", "tga", "tiff", "wbmp", "eps", "pcx");
tga = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "jpg", "tiff", "wbmp", "eps", "pcx");
tif = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "jpg", "wbmp", "eps", "pcx");
wbmp = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "jpg", "eps", "pcx");
eps = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "jpg", "wbmp", "pcx");
pcx = new Array(CHOOSE_FORMAT,"bmp", "gif", "ico", "ps", "png", "tga", "tiff", "jpg", "wbmp", "eps");
// Video Formats
avi = new Array(CHOOSE_FORMAT,"aac", "ac3", "3gp", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2");
flv = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "3gp", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2");
mov = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "3gp", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2");
mpg = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "3gp", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2");
mp4 = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "3gp", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2");
dvd = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "3gp", "swf", "rm", "wmv", "dpg", "asf", "3g2");
swf = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "3gp", "rm", "wmv", "dpg", "asf", "3g2");
rm = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "wmv", "dpg", "asf", "3g2");
wmv = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "dpg", "asf", "3g2");
asf = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "dpg", "wmv", "3g2");
mkv = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "3gp", "rm", "asf");
threegp = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3g2");
threeg2 = new Array(CHOOSE_FORMAT,"aac", "ac3", "avi", "flac", "flv", "mov", "mp3", "mp4", "mpg", "wav", "dvd", "swf", "rm", "wmv", "dpg", "asf", "3gp");
// Audio Formats
ac3 = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au");
aac = new Array(CHOOSE_FORMAT,"ac3", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au");
flac = new Array(CHOOSE_FORMAT,"aac", "ac3", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au");
m4a = new Array(CHOOSE_FORMAT,"aac", "flac", "ac3", "mp3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au");
mp3 = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "ac3", "mp4", "ogg", "wav", "wma", "ra", "aiff", "amr", "au");
ogg = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ac3", "wav", "wma", "ra", "aiff", "amr", "au");
wav = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "ac3", "wma", "ra", "aiff", "amr", "au");
wma = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "ac3", "ra", "aiff", "amr", "au");
ra = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ac3", "aiff", "amr", "au");
mid = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ac3", "aiff", "amr", "au");
aiff = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ac3", "mid", "amr", "au");
amr = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ac3", "mid", "aiff", "au");
au = new Array(CHOOSE_FORMAT,"aac", "flac", "m4a", "mp3", "mp4", "ogg", "wav", "wma", "ac3", "mid", "aiff", "amr");
// Compression Formats
sevenz = new Array(CHOOSE_FORMAT, "zip", "gzip", "bzip2", "tar", "rar");
zip = new Array(CHOOSE_FORMAT, "7z", "gzip", "bzip2", "tar", "rar");
gzip = new Array(CHOOSE_FORMAT, "zip", "7z", "bzip2", "tar", "rar");
bzip2 = new Array(CHOOSE_FORMAT, "zip", "gzip", "7z", "tar", "rar");
tar = new Array(CHOOSE_FORMAT, "zip", "gzip", "bzip2", "7z", "rar");
rar = new Array(CHOOSE_FORMAT, "zip", "gzip", "bzip2", "7z", "tar");
iso = new Array(CHOOSE_FORMAT, "zip", "gzip", "bzip2", "7z", "tar", "rar");
chm = new Array(CHOOSE_FORMAT, "zip", "gzip", "bzip2", "7z", "tar", "rar");
cpio = new Array(CHOOSE_FORMAT, "zip", "gzip", "bzip2", "7z", "tar", "rar");
cab = new Array(CHOOSE_FORMAT, "zip", "gzip", "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");

// Create a master array to add all formats into it
master = new Array();
// Document Formats
master["doc"] = doc;
master["txt"] = txt;
master["ppt"] = ppt;
master["odp"] = odp;
master["ods"] = ods;
master["odt"] = odt;
master["xls"] = xls;
master["pdf"] = pdf;
master["xlsx"] = xlsx;
master["pptx"] = pptx;
master["docx"] = docx;
// Image Formats
master["jpg"] = jpg;
master["bmp"] = bmp;
master["gif"] = gif;
master["ico"] = ico;
master["ps"] = ps;
master["png"] = png;
master["tga"] = tga;
master["tif"] = tif;
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["wmv"] = wmv;
master["mkv"] = mkv;
master["3gp"] = threegp;
master["3g2"] = threeg2;
// 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;
// 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);
    }
}
