var timer;
var border_start=3;
var border_off=53;
var gbl_show_pos=1;
var fsi_loading_complete=false;
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;

// Sonderbehandlung für den dümmsten Browser wo gibt
if (top.fr_top.browser_type == 'OPERA') fsi_loading_complete=true;

function fsi_show(){

	if (fsi_loading_complete == false){
		timer_id=setTimeout('fsi_show()', 100);
	}
	else {
		wait=jsbridge(gbl_show_pos);
		timer_id=setTimeout('fsi_show('+(gbl_show_pos++)+')', wait);
	}
}

function complete_loop(){
	if (fsi_loading_complete == false){
		complete_id=setTimeout('complete_loop()', 0);
	}
	else {
	}
}

function jsbridge(show_pos){

	if (show_pos < 1 || show_pos > 8) {
		show_pos=1;
	}
	gbl_show_pos=show_pos;

	wait=0;
	tip='';

	// Sonderbehandlung für den dümmsten Browser wo gibt
	if (top.fr_top.browser_type == 'OPERA') fsi_loading_complete=true;
	else fsi_loading_complete=false;

	switch (show_pos){
		case 1:
			cmd='Goto:1, 1, 0.178615, 0.292467, 0.340207, 0.454059, 0';
			wait=10000;
			move_border(1);
			tip='Display';
			break;
		case 2:
			cmd='Goto:1, 1, 0, 0, 1, 1, 0';
			wait=100;
			break;
		case 3:
			cmd='Goto:1, 10, 0.23822, 0.382199, 0.36911, 0.513089, 0';
			wait=10000;
			tip='Amplifier';
			move_border(2);
			break;
		case 4:
			cmd='Goto:1, 10, 0, 0, 1, 1, 0';
			//cmd='Button:Tool_Reset';
			wait=100;
			break;
		case 5:
			cmd='Goto:1, 7, 0.250236, 0.686622, 0.381126, 0.817512, 0';
			tip='MIDI Interface';
			wait=10000;
			move_border(3);
			break;
		case 6:
			//cmd='Button:Tool_Reset';
			cmd='Goto:1, 7, 0, 0, 1, 1, 0';
			wait=100;
			break;
		case 7:
			cmd='Goto:1, 1, 0.650216, 0.679634, 0.781106, 0.810524, 0';
			tip='Smardcard Interface';
			wait=10000;
			move_border(4);
			break;
		case 8:
			cmd='Button:Tool_Reset';
			wait=100;
			break;
	}

	if (document.all) {
		if (top.fr_top.browser_type == 'OPERA'){
			// Sonderbehandlung für den dümmsten Browser wo gibt
			fsiviewer_obj=document.getElementById('fsiviewer_embed');
		}
		else {
			fsiviewer_obj=document.getElementById('fsiviewer');
		}
	}
	else fsiviewer_obj=document.getElementById('fsiviewer_embed');

	if (fsiviewer_obj){
		fsiviewer_obj.SetVariable('FSICMD', cmd);
	}

	tipobj=document.getElementById('tip_id');
	if (tipobj){
		tipobj.innerText=tip;
	}

	return wait;
}

// Callback
function fsiviewer_DoFSCommand(fsi_event, params){

	fsi_loading_complete=false;

	switch (fsi_event){
		case 'LoadProgress':
			if (params=='100') fsi_loading_complete=true;
			else fsi_loading_complete=false;
			break;
		case 'Zoom':
			obj=document.getElementById('fsi_border');
			if (obj){
				rgb=255-(params-100);
				if (rgb<127) rgb=127;
				if (rgb>255) rgb=255;
				obj.style.borderColor='rgb('+rgb+','+rgb+','+rgb+')';
			}
			fsi_loading_complete=false;
			break;
		case 'ImageSelected':
			fsi_loading_complete=false;
			break;
		case 'View':
			fsi_loading_complete=true;
			break;
		default:
			fsi_loading_complete=false;
	}
}

function fsiviewer_embed_DoFSCommand(fsi_event, params){
	fsiviewer_DoFSCommand(fsi_event, params);
}

function move_border(new_pos){
	obj=document.getElementById('moving_border');
	if (obj){
		if (obj.style.visibility=='hidden'){
			obj.style.visibility='visible';
		}
		start_pos=parseInt(obj.style.top);
		end_pos=border_start+(new_pos-1)*border_off;
		slide_border(start_pos, end_pos, 10, 1);
	}
}

function slide_border(start_pos, end_pos, steps, step){
	obj=document.getElementById('moving_border');
	if (obj){
		further=false;
		current_pos=start_pos+(end_pos-start_pos)/steps*(step-0);
		if (step == steps) current_pos=end_pos;
		else further=true;
		obj.style.top=current_pos;
		step++;
		if (further) setTimeout('slide_border('+start_pos+','+end_pos+','+steps+','+step+')', 20);
	}
}

// Hook for Internet Explorer 
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 && 
	  navigator.userAgent.indexOf("Windows") != -1 && navigator.userAgent.indexOf("Windows 3.1") == -1) {
	document.write('<SCRIPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('Sub fsiviewer_FSCommand(ByVal fsi_event, ByVal param)\n');
	document.write('  call fsiviewer_DoFSCommand(fsi_event, param)\n');
	document.write('end sub\n');
	document.write('</SCRIPT\> \n');
}
