<!--
function Entry(ID, Name, DescriptionText, URL)
{
	this.ID = ID;
	this.Name = Name;
	this.DescriptionText = DescriptionText;
	this.URL = URL;
}
var MainCategory = new Array();
MainCategory[0] = new Entry("1", "Magic-Board", "");
var SubCategory1 = new Array();
SubCategory1[0] = new Entry("1_1", "Socket 478",  "");
var OperatingSystem1_1 = new Array();
OperatingSystem1_1[0] = new Entry("1_1_0","MP-P6GM-1000","","/driver/intel/MP_P6GM_1000.htm");
OperatingSystem1_1[1] = new Entry("1_1_1","MP-P6PE-1000Pro","","/driver/intel/MP_P6PE_1000_Pro.htm");
OperatingSystem1_1[2] = new Entry("1_1_2","MP-P6PE-1000","","/driver/intel/MP_P6PE_1000.htm");
OperatingSystem1_1[3] = new Entry("1_1_3","MP-P6PE-L","","/driver/intel/MP_P6PEL.htm");
OperatingSystem1_1[4] = new Entry("1_1_4","MP-P4PE-Ultra-S","","/driver/intel/MP_P4PE_Ultra_S.htm");
OperatingSystem1_1[5] = new Entry("1_1_5","MP-P4A-800F","","/driver/ati/P4A800F.htm");
OperatingSystem1_1[6] = new Entry("1_1_6","MP-P4V-400F","","/driver/via/P4V400F.htm");
OperatingSystem1_1[7] = new Entry("1_1_7","MP-P4E-Ultra","","/driver/intel/MP_P4E_Ultra.htm");
OperatingSystem1_1[8] = new Entry("1_1_8","MP-P4GM-X","","/driver/intel/P4GMX.htm");
OperatingSystem1_1[9] = new Entry("1_1_9","MP-P4PE-S","","/driver/intel/MP_P4PE_S.htm");
OperatingSystem1_1[10] = new Entry("1_1_10","MP-P4PE-800","","/driver/intel/MP_P4PE_L.htm");
OperatingSystem1_1[11] = new Entry("1_1_11","MP-P4PE-L","","/driver/intel/MP_P4PE_L.htm");
OperatingSystem1_1[12] = new Entry("1_1_12","MP-P4PE","","/driver/intel/MP_P4PE.htm");
OperatingSystem1_1[13] = new Entry("1_1_13","MP-P4GE","","/driver/intel/MP_P4GE.htm");
OperatingSystem1_1[14] = new Entry("1_1_14","MP-P4GE-M","","/driver/intel/MP_P4GE_M.htm");
OperatingSystem1_1[15] = new Entry("1_1_15","MP-P4VM-X","","/driver/via/P4VMX.htm");
OperatingSystem1_1[16] = new Entry("1_1_16","MP-P4VM-800","","/driver/via/P4VM-800.htm");
OperatingSystem1_1[17] = new Entry("1_1_17","MP-P4VM-533","","/driver/via/P4VM-533.htm");
OperatingSystem1_1[18] = new Entry("1_1_18","MP-P4VM-533L","","/driver/via/P4VM-533.htm");
OperatingSystem1_1[19] = new Entry("1_1_19","MP-P4FM-533","","/driver/via/P4FM-533.htm");
OperatingSystem1_1[20] = new Entry("1_1_20","MP-8P4-G 2.0","","/driver/intel/8p4g20.htm");
OperatingSystem1_1[21] = new Entry("1_1_21","MP-8P4-G","","/driver/intel/8p4g.htm");
OperatingSystem1_1[22] = new Entry("1_1_22","MP-8P4-E 2.0","","/driver/intel/8p4e20.htm");
OperatingSystem1_1[23] = new Entry("1_1_23","MP-8P4-E","","/driver/intel/8p4e.htm");
OperatingSystem1_1[24] = new Entry("1_1_24","MP-8P4-GM","","/driver/intel/8p4gm.htm");
OperatingSystem1_1[25] = new Entry("1_1_25","MP-8P4-GL","","/driver/intel/8p4gl.htm");
OperatingSystem1_1[26] = new Entry("1_1_26","MP-8VIP-FL","","/driver/via/8VIP_FL.htm");
OperatingSystem1_1[27] = new Entry("1_1_27","MP-8VIP-FM+","","/driver/via/8vipfm_plus.htm");
OperatingSystem1_1[28] = new Entry("1_1_28","MP-8VIP-533+","","/driver/via/8vip533.htm");
OperatingSystem1_1[29] = new Entry("1_1_29","MP-8VIP-533","","/driver/via/8vip533.htm");
OperatingSystem1_1[30] = new Entry("1_1_30","MP-8P4-D","","/driver/intel/8p4d.htm");
OperatingSystem1_1[31] = new Entry("1_1_31","MP-8VIP / 2 / 3","","/driver/via/8vip123.htm");
OperatingSystem1_1[32] = new Entry("1_1_32","MP-8VIP-F","","/driver/via/8vipf.htm");
OperatingSystem1_1[33] = new Entry("1_1_33","MP-S8D-VM","","/driver/sis/s8dvm.htm");
OperatingSystem1_1[34] = new Entry("1_1_34","MP-PT880-Twin","","/driver/via/MP-Twin-V800.htm");
OperatingSystem1_1[35] = new Entry("1_1_35","MP-Twin-V800","","/driver/via/MP-Twin-V800.htm");
OperatingSystem1_1[36] = new Entry("1_1_36","MP-Twin-V533M","","/driver/via/MP-Twin-V533M.htm");
OperatingSystem1_1[37] = new Entry("1_1_37","MP-P6VM-X","","/driver/via/P4VM-800.htm");
OperatingSystem1_1[38] = new Entry("1_1_38","MP-PX875P Pro","","/driver/intel/MP_P6PE_1000.htm");
OperatingSystem1_1[39] = new Entry("1_1_39","                             ","","");

SubCategory1[1] = new Entry("1_2", "Socket A", "");
var OperatingSystem1_2 = new Array();
OperatingSystem1_2[0] = new Entry("1_2_0","MP-KX 18D PRO II","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[1] = new Entry("1_2_1","MP-K7V-880","","/driver/via/k7v880.htm");
OperatingSystem1_2[2] = new Entry("1_2_2","MP-K7V-600","","/driver/via/k7v600.htm");
OperatingSystem1_2[3] = new Entry("1_2_3","MP-K7N-Ultra-S","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[4] = new Entry("1_2_4","MP-K7N 3","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[5] = new Entry("1_2_5","MP-K7N 2.0","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[6] = new Entry("1_2_6","MP-K7N","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[7] = new Entry("1_2_7","MP-K7N-400","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[8] = new Entry("1_2_8","MP-K7N-G","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[9] = new Entry("1_2_9","MP-K7N-L","","/driver/nForce2/K7N.htm");
OperatingSystem1_2[10] = new Entry("1_2_10","MP-K7VM-X","","/driver/via/k7vmpro.htm");
OperatingSystem1_2[11] = new Entry("1_2_11","MP-K7VM-Pro","","/driver/via/k7vmpro.htm");
OperatingSystem1_2[12] = new Entry("1_2_12","MP-K7V-M4","","/driver/via/k7vm4.htm");
OperatingSystem1_2[13] = new Entry("1_2_13","MP-K7V-M2","","/driver/via/k7vm.htm");
OperatingSystem1_2[14] = new Entry("1_2_14","MP-K7V-M","","/driver/via/k7vm.htm");
OperatingSystem1_2[15] = new Entry("1_2_15","MP-K7V-400AS","","/driver/via/k7v400s.htm");
OperatingSystem1_2[16] = new Entry("1_2_16","MP-K7V-400S","","/driver/via/k7v400s.htm");
OperatingSystem1_2[17] = new Entry("1_2_17","MP-K7V400A","","/driver/via/k7v400.htm");
OperatingSystem1_2[18] = new Entry("1_2_18","MP-K7V400","","/driver/via/k7v400.htm");
OperatingSystem1_2[19] = new Entry("1_2_19","MP-7VIP-DR5","","/driver/via/dr5.htm");
OperatingSystem1_2[20] = new Entry("1_2_20","MP-7VIP-DR4+","","/driver/via/dr4%2B.htm");
OperatingSystem1_2[21] = new Entry("1_2_21","MP-7VIP-DR3","","/driver/via/dr3.htm");
OperatingSystem1_2[22] = new Entry("1_2_22","MP-7VIP-DR2","","/driver/via/dr2.htm");
OperatingSystem1_2[23] = new Entry("1_2_23","MP-7VIP-DR+","","/driver/via/dr%2B.htm");
OperatingSystem1_2[24] = new Entry("1_2_24","MP-7VIP-DR","","/driver/via/dr.htm");
OperatingSystem1_2[25] = new Entry("1_2_25","MP-7VIP-DM","","/driver/via/7vipdm.htm");
OperatingSystem1_2[26] = new Entry("1_2_26","MP-7VIP-DR-LE+","","/driver/via/le.htm");
OperatingSystem1_2[27] = new Entry("1_2_27","MP-7VIP-DR-LE","","/driver/via/le.htm");
OperatingSystem1_2[28] = new Entry("1_2_28","MP-7VIP-L / L2 / L3","","/driver/via/l123.htm");
OperatingSystem1_2[29] = new Entry("1_2_29","MP-7VIP-AX2 2.0","","/driver/via/ax22.htm");
OperatingSystem1_2[30] = new Entry("1_2_30","MP-S7V-266+","","/driver/sis/s7v266%2B.htm");
OperatingSystem1_2[31] = new Entry("1_2_31","MP-S7V-266","","/driver/sis/s7v266%2B.htm");
OperatingSystem1_2[32] = new Entry("1_2_32","MP-S7V-D","","/driver/sis/s7vd.htm");
OperatingSystem1_2[33] = new Entry("1_2_33","MP-Twin-G2","","/driver/nForce2/MP-Twin-G2.htm");
OperatingSystem1_2[34] = new Entry("1_2_34","                             ","","");

SubCategory1[2] = new Entry("1_3", "Socket 754", "");
var OperatingSystem1_3 = new Array();
OperatingSystem1_3[0] = new Entry("1_3_0","MP-K8V-Pro","","/driver/via/k8vpro.htm");
OperatingSystem1_3[1] = new Entry("1_3_1","MP-K8X800-Pro","","/driver/via/k8x800pro.htm");
OperatingSystem1_3[2] = new Entry("1_3_2","MP-K8VM-890","","/driver/via/K8VM-890.htm");
OperatingSystem1_3[3] = new Entry("1_3_3","MP-K8VM-800","","/driver/via/K8VM-800.htm");
OperatingSystem1_3[4] = new Entry("1_3_4","MP-S755Twin","","/driver/sis/S755Twin.htm");
OperatingSystem1_3[5] = new Entry("1_3_5","MP-K8N-3","","/driver/nForce2/K8N3.htm");
OperatingSystem1_3[6] = new Entry("1_3_6","MP-K8N-3L","","/driver/nForce2/K8N3.htm");
OperatingSystem1_3[7] = new Entry("1_3_7","MP-K8N-GT4-X","","/driver/nForce2/K8NGT4.htm");
OperatingSystem1_3[8] = new Entry("1_3_8","MP-K8N-GM","","/driver/nForce2/K8NGM.htm");
OperatingSystem1_3[9] = new Entry("1_3_9","MP-K8N-GM-Pro","","/driver/nForce2/K8NGM.htm");

SubCategory1[3] = new Entry("1_4", "Socket 775", "");
var OperatingSystem1_4 = new Array();
OperatingSystem1_4[0] = new Entry("1_4_0","MP-PX865PE7 Pro","","/driver/intel/PX865PE7Pro.htm");
OperatingSystem1_4[1] = new Entry("1_4_1","MP-PX915GAGPe","","/driver/intel/PX915GP.htm");
OperatingSystem1_4[2] = new Entry("1_4_2","MP-PX915G Pro","","/driver/intel/PX915GP.htm");
OperatingSystem1_4[3] = new Entry("1_4_3","MP-PX915P Pro","","/driver/intel/PX915GP.htm");
OperatingSystem1_4[4] = new Entry("1_4_4","MP-PX915PC-Pro-G","","/driver/intel/PX915GP.htm");
OperatingSystem1_4[5] = new Entry("1_4_5","MP-PX915G","","/driver/intel/PX915GP.htm");
OperatingSystem1_4[6] = new Entry("1_4_6","MP-PM915-G Pro","","/driver/intel/PX915GP.htm");
OperatingSystem1_4[7] = new Entry("1_4_7","MP-917G Twin","","/driver/intel/917GTwin.htm");
OperatingSystem1_4[8] = new Entry("1_4_8","MP-P6V-DG","","/driver/via/P6VDG.htm");
OperatingSystem1_4[9] = new Entry("1_4_9","MP-P4VM-800A","","/driver/via/P4VM-800.htm");
OperatingSystem1_4[10] = new Entry("1_4_10","MP-915G II","","/driver/intel/915G2.htm");
OperatingSystem1_4[11] = new Entry("1_4_11","MP-915P II","","/driver/intel/915G2.htm");
OperatingSystem1_4[12] = new Entry("1_4_12","MP-P6G-VM","","/driver/intel/MP_P6GVM.htm");
OperatingSystem1_4[13] = new Entry("1_4_13","MP-P6VM-A","","/driver/via/P4VM-800.htm");
OperatingSystem1_4[14] = new Entry("1_4_14","MP-945P","","/driver/intel/945.htm");
OperatingSystem1_4[15] = new Entry("1_4_15","MP-945PL","","/driver/intel/945PL.htm");
OperatingSystem1_4[16] = new Entry("1_4_16","MP-P6V-A","","/driver/via/P4VM-800.htm");
OperatingSystem1_4[17] = new Entry("1_4_17","MP-P6VM-AII","","/driver/via/P4VM-800.htm");
OperatingSystem1_4[17] = new Entry("1_4_17","MP-P6VM-AII+","","/driver/via/P4VM-800.htm");
OperatingSystem1_4[18] = new Entry("1_4_18","MP-P6VM-AIII","","/driver/via/P6VM-Ax.htm");
OperatingSystem1_4[19] = new Entry("1_4_19","MP-P6VM-A4","","/driver/via/P6VM-Ax.htm");
OperatingSystem1_4[20] = new Entry("1_4_20","MP-P6N-SLI","","/driver/nForce/P6NSLI.htm");
OperatingSystem1_4[21] = new Entry("1_4_21","MP-945PL2","","/driver/intel/945PL.htm");
OperatingSystem1_4[22] = new Entry("1_4_22","MP-945PL3","","/driver/intel/945PL.htm");
OperatingSystem1_4[23] = new Entry("1_4_23","MP-946GZ","","/driver/intel/946GZ.htm");
OperatingSystem1_4[24] = new Entry("1_4_24","MP-965G","","/driver/intel/965G.htm");
OperatingSystem1_4[25] = new Entry("1_4_25","   ","","   ");


SubCategory1[4] = new Entry("1_5", "Socket 370", "");
var OperatingSystem1_5 = new Array();
OperatingSystem1_5[0] = new Entry("1_5_0","MP-S6VT-133","","/driver/sis/s6vt133.htm");
OperatingSystem1_5[1] = new Entry("1_5_1","MP-S6V-133","","/driver/sis/s6vt133.htm");
OperatingSystem1_5[2] = new Entry("1_5_2","MP-6VIP-G4T","","/driver/via/g4t.htm");
OperatingSystem1_5[3] = new Entry("1_5_3","MP-6VIP-TN","","/driver/via/6vip-tn.htm");
OperatingSystem1_5[4] = new Entry("1_5_4","MP-6VIP-G3","","/driver/via/6vip3.htm");
OperatingSystem1_5[5] = new Entry("1_5_5","old model...","","/driver/mb.htm");
OperatingSystem1_5[6] = new Entry("1_5_6","                             ","","");

SubCategory1[5] = new Entry("1_6", "Socket 939", "");
var OperatingSystem1_6 = new Array();
OperatingSystem1_6[0] = new Entry("1_6_0","MP-K8AM-G Pro","","/driver/ati/K8AMGPro.htm");
OperatingSystem1_6[1] = new Entry("1_6_1","MP-K8X890 Pro","","/driver/via/k8x890pro.htm");
OperatingSystem1_6[2] = new Entry("1_6_2","MP-K8X890 Pro II","","/driver/via/k8x890proII.htm");
OperatingSystem1_6[3] = new Entry("1_6_3","MP-K8V-Ultra","","/driver/via/k8vultra.htm");
OperatingSystem1_6[4] = new Entry("1_6_4","MP-K8N-GT4 SLI","","/driver/nForce2/K8NGT4.htm");
OperatingSystem1_6[5] = new Entry("1_6_5","MP-K8N-GT4 Ultra","","/driver/nForce2/K8NGT4.htm");
OperatingSystem1_6[6] = new Entry("1_6_6","MP-K8N Combo","","/driver/nForce2/K8NGT4.htm");
OperatingSystem1_6[7] = new Entry("1_6_7","MP-K8N-GT4","","/driver/nForce2/K8NGT4.htm");
OperatingSystem1_6[8] = new Entry("1_6_8","MP-K8N-Extreme","","/driver/nForce2/K8NGM.htm");
OperatingSystem1_6[9] = new Entry("1_6_9","","","");

SubCategory1[6] = new Entry("1_7", "Socket AM2", "");
var OperatingSystem1_7 = new Array();
OperatingSystem1_7[0] = new Entry("1_7_0","MP-A2AM-HD","","/driver/ati/A2AMHD.htm");
OperatingSystem1_7[1] = new Entry("1_7_1","MP-A2A-X","","/driver/ati/A2AX.htm");
OperatingSystem1_7[2] = new Entry("1_7_2","MP-A2N5","","/driver/nForce/A2N5.htm");
OperatingSystem1_7[3] = new Entry("1_7_3","MP-A2N5-Extreme","","/driver/nForce/A2N5.htm");
OperatingSystem1_7[4] = new Entry("1_7_4","MP-A2N-G","","/driver/nForce/A2NG.htm");
OperatingSystem1_7[5] = new Entry("1_7_5","MP-A2N-GM","","/driver/nForce/A2NG.htm");
OperatingSystem1_7[6] = new Entry("1_7_6","MP-A2N-GMV","","/driver/nForce/A2NGMV.htm");
OperatingSystem1_7[7] = new Entry("1_7_7","MP-A2N-X","","/driver/nForce2/K8NGT4.htm");
OperatingSystem1_7[8] = new Entry("1_7_8","           ","","");

SubCategory1[7] = new Entry("1_8", "                            ", "");
var OperatingSystem1_8 = new Array();
OperatingSystem1_8[0] = new Entry("1_8_0","                            ","","");

MainCategory[1] = new Entry("2", "Magic-Graphics","");
var SubCategory2 = new Array();

SubCategory2[0] = new Entry("2_1", "Geforce Series", "");
var OperatingSystem2_1 = new Array();
OperatingSystem2_1[0] = new Entry("2_1_0","Driver","","/driver/vga.htm#nvidia");
OperatingSystem2_1[1] = new Entry("2_1_1","                            ","","");

SubCategory2[1] = new Entry("2_2", "Radeon Series", "");
var OperatingSystem2_2 = new Array();
OperatingSystem2_2[0] = new Entry("2_2_0","Driver","","/driver/vga.htm#ati");
OperatingSystem2_2[1] = new Entry("2_2_1","                            ","","");

SubCategory2[2] = new Entry("2_3", "                            ", "");
var OperatingSystem2_3 = new Array();
OperatingSystem2_3[0] = new Entry("2_3_0","                            ","","");

MainCategory[2] = new Entry("3", "IDE/RAID Card","");
var SubCategory3 = new Array();

SubCategory3[0] = new Entry("3_1", "MP-1600", "");
var OperatingSystem3_1 = new Array();
OperatingSystem3_1[0] = new Entry("3_1_0","Driver","","/download/RAID&IDE_Card/mp1600.zip");
OperatingSystem3_1[1] = new Entry("3_1_1","                             ","","");


SubCategory3[1] = new Entry("3_2", "MP-1550", "");
var OperatingSystem3_2 = new Array();
OperatingSystem3_2[0] = new Entry("3_2_0","Driver","","/download/RAID&IDE_Card/MP1550.zip");
OperatingSystem3_2[1] = new Entry("3_2_1","                             ","","");

SubCategory3[2] = new Entry("3_3", "MP-1330", "");
var OperatingSystem3_3 = new Array();
OperatingSystem3_3[0] = new Entry("3_3_0","Driver","","/download/RAID&IDE_Card/MP-1330_v1.0.1.7.exe");
OperatingSystem3_3[1] = new Entry("3_3_1","                             ","","");

SubCategory3[3] = new Entry("3_4", "MP-1000", "");
var OperatingSystem3_4 = new Array();
OperatingSystem3_4[0] = new Entry("3_4_0","Driver","","/download/RAID&IDE_Card/mp1000.zip");
OperatingSystem3_4[1] = new Entry("3_4_1","                             ","","");

SubCategory3[4] = new Entry("3_5", "MP-133R", "");
var OperatingSystem3_5 = new Array();
OperatingSystem3_5[0] = new Entry("3_5_0","Driver","","/download/RAID&IDE_Card/MP-133R_1.4.1.6.zip");

SubCategory3[5] = new Entry("3_6", "MP-133A", "");
var OperatingSystem3_6 = new Array();
OperatingSystem3_6[0] = new Entry("3_6_0","Driver","","/download/RAID&IDE_Card/MP-133A.zip");



MainCategory[3] = new Entry("4", "Magic-TV Series ","");
var SubCategory4 = new Array();

SubCategory4[0] = new Entry("4_1", "Magic-TV FM883", "");
var OperatingSystem4_1 = new Array()
OperatingSystem4_1[0] = new Entry("4_1_0","Driver","","/download/Magic-TV/PVR-PLUS_883LP_713XV3.0.exe");
OperatingSystem4_1[1] = new Entry("4_1_1","                             ","","");

SubCategory4[1] = new Entry("4_2", "Magic-TV 883 Deluxe", "");
var OperatingSystem4_2 = new Array()
OperatingSystem4_2[0] = new Entry("4_2_0","Driver","","/download/Magic-TV/PVR-PLUS_883LP_713XV3.0.exe");
OperatingSystem4_2[1] = new Entry("4_2_1","                             ","","");

SubCategory4[2] = new Entry("4_3", "Magic-TV Nicam", "");
var OperatingSystem4_3 = new Array()
OperatingSystem4_3[0] = new Entry("4_3_0","Driver","","/download/Magic-TV/PVR-PLUS_883LP_713XV3.0.exe");
OperatingSystem4_3[1] = new Entry("4_3_1","Setup Manual","","/download/Manual/Magic-tv_nicam_manual.zip");
OperatingSystem4_3[2] = new Entry("4_3_2","                             ","","");

SubCategory4[3] = new Entry("4_4", "Magic-TV", "");
var OperatingSystem4_4 = new Array();
OperatingSystem4_4[0] = new Entry("4_4_0","Driver","","/download/Magic-TV/Magic-pro_878.exe");
OperatingSystem4_4[1] = new Entry("4_4_1","Setup Manual","","/download/Manual/Magic-tv_manual.zip");
OperatingSystem4_4[2] = new Entry("4_4_2","                             ","","");

SubCategory4[4] = new Entry("4_5", "Magic-TV Professional", "");
var OperatingSystem4_5 = new Array();
OperatingSystem4_5[0] = new Entry("4_5_0","Driver (XP/Vista)","","/download/Magic-TV/713xTVCard.zip");
OperatingSystem4_5[1] = new Entry("4_5_1","Honestech TVR","","/download/Magic-TV/honestechTVR.zip");
OperatingSystem4_5[2] = new Entry("4_5_2","Setup Manual","","/download/Manual/magictvpro.zip");

SubCategory4[5] = new Entry("4_6", "Magic-TV USB", "");
var OperatingSystem4_6 = new Array();
OperatingSystem4_6[0] = new Entry("4_6_0","Dirver","","/download/Magic-TV/MagicTVUSBDriver.zip");
OperatingSystem4_6[1] = new Entry("4_6_1","Honestech TV Plus","","/download/Magic-TV/HonestechTVPlus.zip");
OperatingSystem4_6[2] = new Entry("4_6_2","Manual","","/download/Manual/MagicTVUSB_manual.zip");

SubCategory4[6] = new Entry("4_7", "MagicTwin-TV", "");
var OperatingSystem4_7 = new Array();
OperatingSystem4_7[0] = new Entry("4_7_0","Driver","","/download/Magic-TV/TwinTV_Drv.zip");
OperatingSystem4_7[1] = new Entry("4_7_1","Application","","/download/Magic-TV/TwinTV_App.zip");

SubCategory4[7] = new Entry("4_8", "MagicTwin-TV Express", "");
var OperatingSystem4_8 = new Array();
OperatingSystem4_8[0] = new Entry("4_8_0","Driver","","/download/Magic-TV/TwinTVExp_Drv.zip");
OperatingSystem4_8[1] = new Entry("4_8_1","Application","","/download/Magic-TV/TwinTVExp_App.exe");

SubCategory4[8] = new Entry("4_9", "MagicTV Professional+", "");
var OperatingSystem4_9 = new Array();
OperatingSystem4_9[0] = new Entry("4_9_0","Driver (XP/Vista)","","/download/Magic-TV/713xTVCard.zip");
OperatingSystem4_9[1] = new Entry("4_9_1","Honestech TVR","","/download/Magic-TV/honestechTVR.zip");
OperatingSystem4_9[2] = new Entry("4_9_2","Setup Manual","","/download/Manual/magictvpro.zip");

SubCategory4[9] = new Entry("4_10", "MagicTV Extreme", "");
var OperatingSystem4_10 = new Array();
OperatingSystem4_10[0] = new Entry("4_10_0","Driver  (XP/Vista)","","/download/Magic-TV/713xTVCard.zip");
OperatingSystem4_10[1] = new Entry("4_10_1","Honestech TVR","","/download/Magic-TV/honestechTVR.zip");
OperatingSystem4_10[2] = new Entry("4_10_2","Setup Manual","","/download/Manual/MagicTV_Extreme.zip");


MainCategory[4] = new Entry("5", "System","");
var SubCategory5 = new Array();
SubCategory5[0] = new Entry("5_1", "Magic-Twin 860", "");
var OperatingSystem5_1 = new Array()
OperatingSystem5_1[0] = new Entry("5_1_0", "Driver","","/driver/intel/magictwin_860_driver.htm");

SubCategory5[1] = new Entry("5_2", "Magic-Twin 765", "");
var OperatingSystem5_2 = new Array()
OperatingSystem5_2[0] = new Entry("5_2_0", "Driver","","/driver/nForce2/magictwin_765_driver.htm");

SubCategory5[2] = new Entry("5_3", "Magic-Twin 435", "");
var OperatingSystem5_3 = new Array()
OperatingSystem5_3[0] = new Entry("5_3_0", "Driver","","/driver/via/magictwin_435_driver.htm");

SubCategory5[3] = new Entry("5_4", "MiniQ 460", "");
var OperatingSystem5_4 = new Array()
OperatingSystem5_4[0] = new Entry("5_4_0", "Driver","","/driver/intel/MiniQ460.htm");

SubCategory5[4] = new Entry("5_5", "MiniQ 450", "");
var OperatingSystem5_5 = new Array()
OperatingSystem5_5[0] = new Entry("5_5_0", "Driver","","/driver/sis/MiniQ450.htm");

SubCategory5[5] = new Entry("5_6", "MiniQ 760", "");
var OperatingSystem5_6 = new Array()
OperatingSystem5_6[0] = new Entry("5_6_0", "Driver","","/driver/nForce2/MiniQ760.htm");

MainCategory[5] = new Entry("6", "Accessory","");
var SubCategory6 = new Array();

SubCategory6[0] = new Entry("6_1", "VideoCam330 Pro", "");
var OperatingSystem6_1 = new Array();
OperatingSystem6_1[0] = new Entry("6_1_0","Driver","","/download/other/VideoCamDriverSetup.exe");
OperatingSystem6_1[1] = new Entry("6_1_1","Application","","/download/other/VideoCam_Setup.exe");
OperatingSystem6_1[2] = new Entry("6_1_2","Qphoto","","/download/other/QPhoto_Setup.exe");

SubCategory6[1] = new Entry("6_2", "VideoCam320 Pro", "");
var OperatingSystem6_2 = new Array();
OperatingSystem6_2[0] = new Entry("6_2_0","Driver","","/download/other/DriverSetup.exe");
OperatingSystem6_2[1] = new Entry("6_2_1","Application","","/download/other/VideoCam_Setup.exe");
OperatingSystem6_2[2] = new Entry("6_2_2","Qphoto","","/download/other/QPhoto_Setup.exe");

SubCategory6[2] = new Entry("6_3", "VideoCam300 Pro", "");
var OperatingSystem6_3 = new Array();
OperatingSystem6_3[0] = new Entry("6_3_0","Driver","","/download/other/300Pro.zip");
OperatingSystem6_3[1] = new Entry("6_3_1","                            ","","");

SubCategory6[3] = new Entry("6_4", "DC Partner", "");
var OperatingSystem6_4 = new Array();
OperatingSystem6_4[0] = new Entry("6_4_0","Win98_ME_2K Driver","","/download/other/DCPartner.zip");
OperatingSystem6_4[1] = new Entry("6_4_1","                             ","","");

SubCategory6[4] = new Entry("6_5", "iVOGUE Flash Drive", "");
var OperatingSystem6_5 = new Array();
OperatingSystem6_5[0] = new Entry("6_5_0","Win98_ME Driver","","/download/other/UStorageWin98Driver2.9.exe");
OperatingSystem6_5[1] = new Entry("6_5_1","U-Storage Tool","","/download/other/U-StorageTool 2.9.exe");
OperatingSystem6_5[2] = new Entry("6_5_2","                             ","","");

SubCategory6[5] = new Entry("6_6", "Magic Dongle", "");
var OperatingSystem6_6 = new Array();
OperatingSystem6_6[0] = new Entry("6_6_0","MagicTwin Software","","/download/MagicTwin/magictwin3047.zip");

SubCategory6[6] = new Entry("6_7", "11-in-1 Card Reader", "");
var OperatingSystem6_7 = new Array();
OperatingSystem6_7[0] = new Entry("6_7_0","Driver","","/download/other/cardreader.zip");

SubCategory6[7] = new Entry("6_8", "S215 3.5 SATA Hard Disk Enclosure", "");
var OperatingSystem6_8 = new Array();
OperatingSystem6_8[0] = new Entry("6_8_0","Driver","","/download/other/harddisk_enclosure/S215.zip");

SubCategory6[8] = new Entry("6_9", "A210 3.5 SATA Hard Disk Enclosure", "");
var OperatingSystem6_9 = new Array();
OperatingSystem6_9[0] = new Entry("6_9_0","Driver","","/download/other/harddisk_enclosure/A210.zip");

SubCategory6[9] = new Entry("6_10", "", "");
var OperatingSystem6_10 = new Array();
OperatingSystem6_10[0] = new Entry("6_10_0","","","");



MainCategory[6] = new Entry("7", "Other & Tools","");
var SubCategory7 = new Array();
SubCategory7[0] = new Entry("7_1", "Microsoft", "");
var OperatingSystem7_1 = new Array()
OperatingSystem7_1[0] = new Entry("7_1_0","DirectX 9.0b","","/download/DirectX/dxwebsetup.exe");
OperatingSystem7_1[1] = new Entry("7_1_1","DirectX 9.0c","","/download/DirectX/directx_9c_redist.exe");
OperatingSystem7_1[2] = new Entry("7_1_2","                            ","","");

SubCategory7[1] = new Entry("7_2", "Java", "");
var OperatingSystem7_2 = new Array();
OperatingSystem7_2[0] = new Entry("7_2_0","Java Runtime Environment 5.0","","/download/other/jre-1_5_0_09-windows-i586-p-s.exe");
OperatingSystem7_2[1] = new Entry("7_2_1","                             ","","");

SubCategory7[2] = new Entry("7_3", "Trend Micro", "");
var OperatingSystem7_3 = new Array();
OperatingSystem7_3[0] = new Entry("7_3_0","PC-Cillin 2006","","/download/PC-Cillin/pccillin_06.zip");


SubCategory7[3] = new Entry("7_4", " ", "");
var OperatingSystem7_4 = new Array();
OperatingSystem7_4[0] = new Entry("7_4_0","                              ","","");


MainCategory[7] = new Entry("8", "                            ","");
var SubCategory8 = new Array();
SubCategory8[0] = new Entry("8_1", "                             ", "");
var OperatingSystem8_1 = new Array()
OperatingSystem8_1[0] = new Entry("8_1_0", "                             ","","");

function InitializeMainCategory(currentForm) {
	for (var i=0; i < MainCategory.length; i++) {
		eval(currentForm + ".MainCategory.options[i] = new Option('" + MainCategory[i].Name + "')");
		eval(currentForm + ".MainCategory.options[i].value = " + MainCategory[i].ID);
	}
}

function PopulatePane(currentPane, paneToPopulate) {
	var selectedArray, i;
	var selected = currentPane.options[currentPane.selectedIndex].value
	if (selected == 0) {
		// yeah, we should be able to just do the select set and index decrement no matter what,
		// and then check for selected being undefined, but browser bugs make life more "fun" than that
		if (currentPane.selectedIndex != 0)
			selected = currentPane.options[--currentPane.selectedIndex].value;
		else {
			currentPane.selectedIndex = -1;
			return false;
		}
	}
	
//	 try {
//		eval(paneToPopulate + selected);
//	} catch(e) {
//		alert("There is no " + paneToPopulate + " associated with this " + currentPane.name);
//		return;
//	}
		
	selectedArray = eval(paneToPopulate + selected);
	paneToPopulate = eval("currentPane.form." + paneToPopulate)

	// if we need to clear panes, we'll start clearing out options with the last pane and work back until we run out
	for (i = currentPane.form.elements.length - 1; i > 0; i--) {
		paneToClear = paneToPopulate.form.elements[i]
		if (paneToClear == paneToPopulate) {
			break;
		}
		// make sure we're only doing the clearing operation on panes we care about
		if (paneToClear.name == "OperatingSystem" || paneToClear.name == "SubCategory" || paneToClear.name == "MainCategory") {
			for (i = paneToClear.options.length; i != 0; i--) {
				paneToClear.options[i - 1] = null;
			}
		}
	}
	while (selectedArray.length < paneToPopulate.options.length) {
		paneToPopulate.options[(paneToPopulate.options.length - 1)] = null;
	}
	for (i = 0; i < selectedArray.length; i++) {
//		alert("paneToPopulate.options[i] = new Option('" + selectedArray[i].Name + "')");
		if ( selectedArray[i] == null || selectedArray[i] == "" ) {
			alert("There is no " + paneToPopulate.Name + " associated with this " + currentPane.Name);
		} else {
			eval("paneToPopulate.options[i] = new Option('" + selectedArray[i].Name + "')");
			eval("paneToPopulate.options[i].value = '" + selectedArray[i].ID + "'");
		}
	}
	if (document.welcome.OperatingSystem.options[0] == null) {
		document.welcome.OperatingSystem.options[0] = new Option("[Step 3]                  ");
		document.welcome.OperatingSystem.options[0].value = 0;
	}
}

function changePage(form) {
	/*
		deal with nasty sporadic back button bug in Netscape 4, where user can have only the last pane selected.
		changing checkSelection() is a possibility, but if the user selects the third pane, and the other two are blank,
		he should really still get the driver he asked for.
		therefore, we need to extract the value of the second pane from the third
	*/
	if (form.OperatingSystem.selectedIndex != -1) {
		PaneValues = form.OperatingSystem.options[form.OperatingSystem.selectedIndex].value.split("_");
		SubCategoryValue = PaneValues[0] + "_" + PaneValues[1]
		DriverValue = SubCategoryValue + "_" + PaneValues[2];
		whichArray = eval("OperatingSystem" + PaneValues[0] + "_" + PaneValues[1]);
		for (i = 0; i < whichArray.length; i++) {
			if (whichArray[i].ID == DriverValue) {
				form.action = "javascript:document.location.href = '" + strURLPrefix + whichArray[i].URL + "';";
				break;
			}
		}
		return true;
	} else {
		alert("Please choose a product in the third column before continuing.");
		return false;
	}
}

function changeTextBlock(whichPane) {
	if (whichPane.selectedIndex == -1)
		return false;
	
	var newDescription;
	switch (whichPane.name) {
		case "MainCategory" :
			newDescription = MainCategory[whichPane.selectedIndex].DescriptionText;
			break;
		case "SubCategory" :
			newDescription = eval("SubCategory" + whichPane.form.MainCategory.options[whichPane.form.MainCategory.selectedIndex].value + "[" + whichPane.selectedIndex + "].DescriptionText");
			break;
		case "OperatingSystem" :
			newDescription = eval("OperatingSystem" + whichPane.form.SubCategory.options[whichPane.form.SubCategory.selectedIndex].value + "[" + whichPane.selectedIndex + "].DescriptionText");
			break;
	}
	if (NS4) {
		eval(layerRef + '["description"].document.open()');
		eval(layerRef + '["description"].document.write(newDescription)');		
		eval(layerRef + '["description"].document.close()');		
	} else if (NS6) {
		eval(layerRef + '("description").innerHTML=newDescription');
	} else {
		eval(layerRef + '["description"].innerHTML=newDescription');
	}
}

var bName = navigator.appName;
var bVer = parseInt(navigator.appVersion);
var NS4 = (bName == "Netscape" && bVer == 4);
var NS6 = (navigator.vendor == "Netscape6");
var IE4 = (bName == "Microsoft Internet Explorer" && bVer >= 4);
var Opera = (window.opera)

if (NS4) {
	layerRef="document.layers";
	styleSwitch="";
} else if (IE4) {
	layerRef="document.all";
	styleSwitch=".style";
} else if (NS6 || Opera) {
	layerRef="document.getElementById";
	styleSwitch=".style";
}
// -->
