/* function generate_news_div >> Erzeugt einen HTML Div-Container mit den entsprechenden News news_id: Fortlaufende Zahl von 1 bis max. 10 news_img: Pfadangabe zu einem 80x80 Pixel großen Bild (z.B. images/ast.jpg) news_date: Datum der News: (z.B. "9th May, 2006"); news_text: Der eigentlich News-Text news_link: Der Link zur News-Seite (das href) */ function generate_news_div(news_id, news_date, news_text, news_link) { output = news_html_template; output = output.replace('[[news_id]]', news_id); output = output.replace('[[news_date]]', news_date); output = output.replace('[[news_text]]', news_text); output = output.replace('[[news_link]]', news_link); document.write(output); } function generate_img_div(news_id, left_coord) { output = img_html_template; output = output.replace('[[news_id]]', news_id); output = output.replace('[[news_id]]', news_id); output = output.replace('[[left]]', left_coord); document.write(output); } news_html_template = '
'; news_html_template += '[[news_date]]
[[news_text]]'; news_html_template += '
'; img_html_template = '
'; img_html_template += ''; img_html_template += '
'; // ----- BEGINN Dynamisch generierter Teil --------------------------------------------- generate_news_div(1, 'June 2008', 'New In-cylinder Pressure Sensors for Thermo-Dynamic Analysis Available', 'news_archive_21.php'); // generate_img_div(1, 20); generate_news_div(2, 'September 10th, 2007', 'Co-Operation on Turbine Combustion Monitoring.', 'news_archive_19.php'); // generate_img_div(2, 40); generate_news_div(3, 'August 17th, 2007', 'Once again Piezocryst has been nominated for the Fast Forward Award.', 'news_archive_18.php'); // generate_img_div(3, 60); // ------ ENDE Dynamisch generierter Teil ---------------------------------------------- // Konstanten news_img_active = new Image(); news_img_active.src = 'images/news/circle_active.gif'; news_img_inactive = new Image(); news_img_inactive.src = 'images/news/circle_open.gif'; /*pos0 = 200; pos1 = 270; pos2 = 350;*/ pos0 = 370; pos1 = 440; pos2 = 520; pos1_left = pos1; pos2_left = pos2; max_step = 20; max_opac_step = 20; speed = 20; refresh_interval = 6000; var news_arr = new Array(); news_arr[1] = 1; news_arr[2] = 2; ie5 = (document.all && document.getElementById); moz = (!document.all && document.getElementById); scroll_in_progress = false; // Animations-Funktionen function get_obj(idname) { if (document.getElementById) { return document.getElementById(idname); } else if (document.all) { return document.all[idname]; } else if (document.layers) { return document.layers[idname]; } else { return null; } } function set_obj_pos(obj, left_pos) { if (obj) { obj.style.top = left_pos; } } function set_obj_opac(obj, value) { if (ie5) obj.filters.alpha.opacity = value; if (moz) obj.style.MozOpacity = value/100; } function fade(idx) { obj_name = 'news'+idx; obj = get_obj(obj_name); if (obj) { obj_opac = eval('fade'+idx); obj_target_opac = eval('fade'+idx+'_target'); opac_diff = obj_opac - obj_target_opac; if (opac_diff!=0) { opac_step = (opac_diff<0) ? -max_opac_step : max_opac_step; if (opac_step==0) return; if (Math.abs(opac_step)<1) opac_step = opac_step/Math.abs(opac_step); obj_opac -= opac_step; obj_opac = Math.round(obj_opac); if (obj_opac<0) obj_opac = 0; if (obj_opac>100) obj_opac = 100; set_obj_opac(obj, obj_opac); eval('fade'+idx+' = '+obj_opac); cmd = 'fade('+idx+');'; setTimeout(cmd, speed*4); } } } function change_news_image() { news_img_idx_new = news_img_idx_old + 1; if (news_img_idx_new>max_news_idx) { news_img_idx_new = 1; } old_img = get_obj('newsimg' + news_img_idx_old); if (old_img) { old_img.src = news_img_inactive.src; } new_img = get_obj('newsimg' + news_img_idx_new); if (new_img) { new_img.src = news_img_active.src; } news_img_idx_old = news_img_idx_new; } function do_step(idx, cur_pos, target_pos) { obj_name = 'news'+idx; obj = get_obj(obj_name); if (obj) { scroll_in_progress = true; cur_pos = parseInt(get_obj('news'+idx).style.top); target_pos = eval('pos'+idx+'_target'); obj_opac = eval('fade'+idx); obj_target_opac = eval('fade'+idx+'_target'); opac_diff = obj_opac - obj_target_opac; if (opac_diff!=0) { opac_step = opac_diff/5; if (opac_step==0) return; if (Math.abs(opac_step)<1) opac_step = opac_step/Math.abs(opac_step); obj_opac -= opac_step; obj_opac = Math.round(obj_opac); if (obj_opac<0) obj_opac = 0; if (obj_opac>100) obj_opac = 100; set_obj_opac(obj, obj_opac); eval('fade'+idx+' = '+obj_opac); } diff = target_pos - cur_pos; if (Math.abs(diff)==0) { scroll_in_progress = false; eval('target_visibility = (pos'+idx+'_visibility) ? pos'+idx+'_visibility : false'); if (target_visibility) { obj.style.visibility = target_visibility; } return true; } if (Math.abs(diff)>max_step) { step = (diff<0) ? -max_step : max_step; } else { step = Math.round(diff/2); if (Math.abs(step)<1) { step = diff; } } new_pos = cur_pos + step; set_obj_pos(obj, new_pos); } window.setTimeout('do_step('+idx+');', speed); } function news_move_up() { if (scroll_in_progress) { return; } idx1 = news_arr[1]; // idx2 = news_arr[2]; if (idx1==max_news_idx) { if (idx1==1) { return; } idx_down = 1; } else { idx_down = idx1 + 1; if (idx_down>max_news_idx) { return; } } eval('pos'+idx_down+'_left = '+pos2+';'); eval('pos'+idx_down+'_target = '+pos1+';'); eval('pos'+idx1+'_target = '+pos0+';'); // eval('pos'+idx1+'_visibility = "hidden";'); // eval('pos'+idx2+'_visibility = "visible";'); eval('fade'+idx1+' = 100'); eval('fade'+idx1+'_target = 0'); // eval('fade'+idx2+' = 100'); // eval('fade'+idx2+'_target = 100'); eval('fade'+idx_down+' = 0'); eval('fade'+idx_down+'_target = 100'); obj_news3 = get_obj('news'+idx_down); set_obj_opac(obj_news3, 0); obj_news3.style.top = pos2; obj_news3.style.visibility = 'visible'; setTimeout('do_step('+idx_down+');', speed); setTimeout('do_step('+idx1+');', speed); fade(idx1); // fade(idx_right); news_arr[1] = idx_down; // news_arr[2] = idx_right; } function news_move_down() { if (scroll_in_progress) { return; } idx1 = news_arr[1]; // idx2 = news_arr[2]; if (idx1==1) { if (idx1==max_news_idx) { return; } idx_up = max_news_idx; } else { idx_up = idx1 - 1; if (idx_up<0) { return; } } // change_news_image(); eval('pos'+idx1+'_target = '+pos2+';'); eval('pos'+idx1+'_visibility = "hidden";'); eval('pos'+idx_up+'_target = '+pos1+';'); eval('pos'+idx_up+'_visibility = "visible";'); eval('fade'+idx_up+' = 0'); eval('fade'+idx_up+'_target = 100'); eval('fade'+idx1+' = 100'); eval('fade'+idx1+'_target = 0'); // eval('fade'+idx2+' = 100'); // eval('fade'+idx2+'_target = 0'); obj_news3 = get_obj('news'+idx_up); set_obj_opac(obj_news3, 0); obj_news3.style.top = pos0; obj_news3.style.visibility = 'visible'; setTimeout('do_step('+idx1+');', speed); setTimeout('do_step('+idx_up+');', speed); fade(idx_up); // fade(idx2); news_arr[1] = idx_up; // news_arr[2] = idx1; } function init() { max_news_idx = 0; obj = get_obj('news1'); if (obj) { obj.style.top = pos1; max_news_idx++; } obj = get_obj('news2'); if (obj) { obj.style.top = pos2; max_news_idx++; } for (i=2; i<100; i++) { obj = get_obj("news"+i); if (obj) { obj.style.top = pos2; obj.style.visibility = 'hidden'; max_news_idx = i; } else { break; } } news_img_idx_old = 50; // change_news_image(); scroll_in_progress = false; setInterval('news_move_down();', refresh_interval); } init();