/* Programmer Ng Hun Yang. Apr 2002 Revision history 10 Apr 2002 nhy First written 22 Jun 2002 nhy Moved individual pic funcs to PAEPic.txt 22 Jun 2002 nhy Moved thumbnail funcs to PAEThumb.txt 4 Jul 2002 nhy Added Netscape/IE check 15 Aug 2002 nhy Prevent Header/Content frame race condition 4 Sep 2002 nhy Put parameters in url */ var BEGIN_HTML = "<" + "html>"; var END_HTML = ""; var BEGIN_BODY = "<" + "body"; var END_BODY = ""; var BEGIN_SCRIPT = "<" + "script>"; var END_SCRIPT = ""; var BEGIN_FRAMESET = "<" + "frameset"; var END_FRAMESET = ""; var isNavigator = document.layers; var isIE = document.all; var gbl_header_loaded_flag = false; var gbl_content_loaded_flag = false; function extract_params(s) { var param_list = new Array(); var idx, idx2; idx = s.indexOf("?"); if(idx < 0) return param_list; //alert("idx: " + idx + ". len: " + s.length); // skip '?' ++idx; while(idx < s.length) { // find the end of this param idx2 = s.indexOf("&", idx); if(idx2 < 0) idx2 = s.length; var param; var name; var value; var eq_idx; param = s.slice(idx, idx2); //alert("param: " + param); eq_idx = param.indexOf("="); if(eq_idx < 0) { name = param; value = true; } else { name = param.slice(0, eq_idx); value = param.slice(eq_idx + 1, param.length); } //alert("name: " + name + ". value: " + value); param_list[name] = value; // skip '&' in the next iteration idx = idx2 + 1; } return param_list; } function chg_user_level(new_user_level) { gbl_user_level = new_user_level; update_user_bar(); // this will refresh the contents frames["contents"].location = gbl_thumb_pg_name + "?page=" + gbl_cur_page; } function try_chg_user_level(new_user_level) { if(new_user_level == 0) { for(var i = 0; i < pic_pw_ref_list.length; ++i) pic_pw_ref_list[i] = ""; chg_user_level(0); } else disp_pw_prompt(new_user_level); } function write_body(d) { d.writeln(BEGIN_BODY + " text=" + GblTextColor + " bgcolor=" + GblBgColor + " link=" + GblLinkColor + " vlink=" + GblVLinkColor + " alink=" + GblALinkColor + ">"); } function disp_header(d, full_pic_list) { var num_pages = full_pic_list.length; write_body(d); d.writeln(""); d.writeln(""); d.writeln(""); d.writeln(""); d.writeln(""); d.writeln(""); d.writeln(""); d.writeln(""); d.writeln("
"); d.writeln("" + PhotoAlbumTitle + ""); d.writeln(""); disp_user_levels(d); d.writeln("
"); disp_links(d); d.writeln("
"); //d.writeln("
"); disp_nav_bar(d, full_pic_list); d.writeln(END_BODY); } function disp_user_levels(d) { d.write(""); d.write(""); for(var i = 0; i < uar_ref_list.length; ++i) { var usr_name = uar_ref_list[i][0]; d.write(""); } d.write(""); d.writeln("
"); d.write(""); d.write(usr_name); d.write(""); d.write("
"); } function disp_links(d) { d.writeln(""); d.writeln(""); for(var i = 0; i < GblLinksTbl.length; ++i) { var text = GblLinksTbl[i][0]; var link = GblLinksTbl[i][1]; d.writeln(""); } d.writeln(""); d.writeln("
"); d.write("" + text + ""); d.writeln("
"); } function disp_nav_bar(d, full_pic_list) { var num_per_row = NavBarNumPerRow; if(num_per_row < 0) num_per_row = full_pic_list.length; d.writeln(""); var col = 0; for(var i = 0; i < full_pic_list.length; ++i) { var title = full_pic_list[i][0]; if(col == 0) d.writeln(""); d.writeln(""); if(col == num_per_row - 1 || i == full_pic_list.length - 1) d.writeln(""); ++col; if(col >= num_per_row) col = 0; } d.writeln("
"); d.writeln("" + title + ""); d.writeln("
"); } function update_user_bar() { if(!isIE) return; var bar_cells = frames["header"].user_bar; // not an array if only one item if(bar_cells.length == undefined) { bar_cells.bgColor = UserBarSelectedColor; return; } for(var i = 0; i < bar_cells.length; ++i) bar_cells[i].bgColor = UserBarNormalColor; bar_cells[gbl_user_level].bgColor = UserBarSelectedColor; } function update_nav_bar() { if(!isIE) return; var bar_cells = frames["header"].nav_bar; // not an array if only one item if(bar_cells.length == undefined) { bar_cells.bgColor = NavBarSelectedColor; return; } for(var i = 0; i < bar_cells.length; ++i) bar_cells[i].bgColor = NavBarNormalColor; bar_cells[gbl_cur_page].bgColor = NavBarSelectedColor; } function disp_page(cur_page) { gbl_cur_page = cur_page; var d = frames["contents"].document; write_body(d); disp_tbl(d, full_pic_list[cur_page]); d.writeln(END_BODY); } function disp_header_on_load() { disp_header(frames["header"].document, full_pic_list); update_user_bar(); gbl_header_loaded_flag = true; } function disp_page_on_load() { var myurl; var param_list; var page_no; myurl = "" + frames["contents"].window.location; //alert("myurl = " + myurl); param_list = extract_params(myurl); page_no = param_list["page"]; if(page_no == undefined) page_no = 0; disp_page(page_no); if(gbl_header_loaded_flag) update_nav_bar(); gbl_content_loaded_flag = true; }