/*
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();