var IESound = navigator.plugins && document.all;
var audioEnabled = IESound;

function enablePlay(enable_object){
	if(IESound){
		//enable_object.autostart = true;
	}
}

/*************************************************************************
//The below functionality is simple and common, Please follow this here
//This is for speech applet.
//Argument is the current object - this
*************************************************************************/

function getApplet(this_object, add_text, text_position){
	//alert("hai");
	//this.text_position	= text_position;

	if(parent.frames.length > 1){
		if(IESound){
			if(document.getElementById('enable7') != null){
				//document.getElementById('enable7').autostart = true;
			}
		}
	}
	else{
		if(IESound){
			if(document.getElementById('enable6') != null){
				//document.getElementById('enable6').autostart = true;
			}
		}
	}

	if(parent == null)
		return false;

	if(parent.speech_panel == null)
		return false;

	if(parent.speech_panel.document == null)
		return false;

	if(parent.speech_panel.document.speech_control == null)
		return false;

	parent.speech_panel.document.speech_control.action 		= "/kalam/applets/speech/startspeech.jsp";
	parent.speech_panel.document.speech_control.speech_type.value	= "text";

	if(this_object == null){
		if(add_text != null){
			parent.speech_panel.document.speech_control.speech_text.value	= add_text;
		}
		else{
			parent.speech_panel.document.speech_control.speech_text.value	= "";
		}
	}
	else{

		if(add_text != null){

			if(text_position != null && text_position == -1){
				if(this_object.innerText != null && this_object.innerText != "")
					parent.speech_panel.document.speech_control.speech_text.value	= add_text+",  "+this_object.innerText;
				else if(this_object.title != null && this_object.title != "")
					parent.speech_panel.document.speech_control.speech_text.value	= add_text+",  "+this_object.title;
				else if(this_object.alt != null && this_object.alt != "")
					parent.speech_panel.document.speech_control.speech_text.value	= add_text+",  "+this_object.alt;
			}
			else {
				if(this_object.innerText != null && this_object.innerText != "")
					parent.speech_panel.document.speech_control.speech_text.value	= this_object.innerText+" "+add_text;
				else if(this_object.title != null && this_object.title != "")
					parent.speech_panel.document.speech_control.speech_text.value	= this_object.title+" "+add_text;
				else if(this_object.alt != null && this_object.alt != "")
					parent.speech_panel.document.speech_control.speech_text.value	= this_object.alt+" "+add_text;
			}

		}
		else{
			if(this_object.innerText != null && this_object.innerText != "")
				parent.speech_panel.document.speech_control.speech_text.value	= this_object.innerText;
			else if(this_object.title != null && this_object.title != "")
				parent.speech_panel.document.speech_control.speech_text.value	= this_object.title;
			else if(this_object.alt != null && this_object.alt != "")
				parent.speech_panel.document.speech_control.speech_text.value	= this_object.alt;
		}
	}

	if(text_position == 100){
		//parent.speech_panel.perform(-1);
		speech_state = "started";
		keyboard_enabled	= true;

		parent.speech_panel.document.speech_control.current_downloaded_url.value = parent.content_panel.document.location.href;
		parent.speech_panel.document.speech_control.submit();
	}
	else if(text_position == 101){
		//parent.speech_panel.perform(-1);
		speech_state = "started";
		keyboard_enabled	= true;

		parent.speech_panel.document.speech_control.current_downloaded_url.value = parent.content_panel.document.location.href;
		parent.speech_panel.document.speech_control.submit();
	}
	else if(speech_state == "notinited" || speech_state == "stopped" || speech_state == "nocontent"){
		//parent.speech_panel.perform(-1);
		parent.speech_panel.document.speech_control.current_downloaded_url.value = parent.content_panel.document.location.href;
		parent.speech_panel.document.speech_control.submit();
	}
	else{
		return false;
	}
}

function sendWithCurrentPage(){
	if(parent.frames.length > 1){

		var clientX = 5;
		var clientY = 5;

		if(document.all.cursor_position != null){
			clientX = document.all.cursor_position.offsetLeft;
			clientY = document.all.cursor_position.offsetTop;
		}

		if(navigator.appName == "Microsoft Internet Explorer"){
			document.all.control_table.style.visibility = "visible";
			if(clientY != null){
				getApplet(null,"Speech have been enabled , please press F7 key to start speech or press control for help.");
				var open_panel_width 	= 5;
				var open_panel_height	= 5;

				document.all.control_table.style.visibility	= "visible";
				document.all.control_table.style.top 		= open_panel_height;
				document.all.control_table.style.left 		= open_panel_width;

			}
		}
		//return false;
	}
	else if(parent.frames.length <= 1){
		document.vision_form.by_pass_url.value = document.location.href;
		document.vision_form.target = "_parent";
		document.vision_form.action	= "/kalam/vision_index.jsp";
		document.vision_form.submit();
	}
}

/**********************************************************************/
/**********************************************************************/
//The below functions are used to invoke the functions in another frame
/**********************************************************************/
/**********************************************************************/
var speech_state = "notinited";

function controlMe(table_object){

	if(parent.frames.length > 1){
		var open_panel_width 	= 5;
		var open_panel_height	= 5;

		/*
		window.toolbar.visible = "hidden";
		window.locationbar.visible = "hidden";
		window.menubar.visible = "hidden";
		window.scrollbars.visible = "hidden";
		window.personalbar.visible = "hidden";
		window.statusbar.visible = "hidden";
		*/

		table_object.style.visibility	= "visible";
		table_object.style.top 		= open_panel_height;
		table_object.style.left 	= open_panel_width;

		keyboard_enabled	= true;
	}
}

function nativeFrame(control_mode){

	if(parent.frames.length > 1){}
	else{return false;}

	document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play.gif";
	document.all.audio_control_stop.src= "/kalam/applets/speech/images/controls/stop.gif";
	document.all.audio_control_pause.src= "/kalam/applets/speech/images/controls/pause.gif";

	if(control_mode == 0){
		if(document.all.dynamic_content != null){
				keyboard_enabled	= true;


			if(speech_state == "paused"){
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				//getApplet(null,"Speech is in pause mode, Please click it again to start speech.");
				return false;
			}
			else if(speech_state == "started"){
				if(document.all.control_table.style.visibility == "hidden")
					document.all.control_table.style.visibility = "visible";

				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				//getApplet(null,"Speech is already started.");
				//getApplet(document.all.dynamic_content,null,100);
			}
			else{
				speech_state = "started";
				if(document.all.control_table.style.visibility == "hidden")
					document.all.control_table.style.visibility = "visible";

				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				getApplet(document.all.dynamic_content,null,100);
			}
		}
		else if(document.all.reference_object != null){
		keyboard_enabled	= true;

			if(speech_state == "paused"){
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				//getApplet(null,"Speech is in pause mode, Please click it again to start speech.");
				return false;
			}
			else if(speech_state == "started"){
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				if(document.all.control_table.style.visibility == "hidden")
					document.all.control_table.style.visibility = "visible";
				//getApplet(document.all.reference_object,null,100);
				//getApplet(null,"Speech is already started.");
			}
			else{
				speech_state = "started";
				if(document.all.control_table.style.visibility == "hidden")
					document.all.control_table.style.visibility = "visible";

				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				getApplet(document.all.reference_object,null,100);
			}
		}
		else if(document.all.music_id != null){
				keyboard_enabled	= true;

			if(speech_state == "paused"){
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				//getApplet(null,"Speech is in pause mode, Please click it again to start speech.");
				return false;
			}
			else if(speech_state == "started"){
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				if(document.all.control_table.style.visibility == "hidden")
					document.all.control_table.style.visibility = "visible";

				//getApplet(document.all.music_id,null,100);
				//getApplet(null,"Speech is already started.");
				return false;
			}
			else{
				speech_state = "started";
				if(document.all.control_table.style.visibility == "hidden")
					document.all.control_table.style.visibility = "visible";

				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				getApplet(document.all.music_id,null,100);
			}
		}
		else{
			speech_state = "nocontent";
			getApplet(null,"Dynamic contents not found in this page.");
			parent.speech_panel.document.speech_control.speech_type.value	= "file";
			parent.speech_panel.document.speech_control.current_downloaded_url.value = parent.content_panel.document.location.href;
			parent.speech_panel.document.speech_control.submit();
			return false;
		}
	}
	else{
		var action_to_perform	= false;

		if(control_mode == 1){
			if(speech_state == "started"){
				speech_state = "paused";
				document.all.audio_control_pause.src= "/kalam/applets/speech/images/controls/pause_over.gif";
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				action_to_perform	= true;
			}
			else if(speech_state == "paused"){
				speech_state = "started";
				document.all.audio_control_play.src= "/kalam/applets/speech/images/controls/play_over.gif";
				action_to_perform	= true;
			}
			else{
				getApplet(null,"Speech is not started for this page. Press F7 to start.");
			}

		}
		else if(control_mode == 2){
			if(speech_state == "started" || speech_state == "paused"){
				action_to_perform	= true;
				document.all.audio_control_stop.src= "/kalam/applets/speech/images/controls/stop_over.gif";
				speech_state = "stopped";
			}
			else if(speech_state == "paused"){
				//getApplet(null,"Speech is in pause mode, Please click it again to start speech");
			}
			else
				getApplet(null,"Speech is not started for this page. Press F7 to start.");
		}
		else if(control_mode == 3){
			action_to_perform = true;
			speech_state = "notinited";
			getApplet(null,"Speech is currently disabled, to enable it again press F2 key.");
		}
		else if(control_mode == 4){
			nativeFrame(1);
			nativeFrame(2);
			speech_state = "notinited";
			document.all.control_table.style.visibility = "hidden";
			getApplet(null,"Speech is currently stopped, to start press F7 key.");
		}

		if(action_to_perform)
			parent.speech_panel.perform(control_mode);
		else
			return false;
	}
}

function makeContentFocus(){
	//document.images[0].focus();
	//document.vision_form.button.value = "Hello";
	//document.vision_form.button.select();
}

var keyboard_enabled	= false;

function connectKeyBoard(){
	if(window.event.keyCode == 113){
		keyboard_enabled	= true;
		sendWithCurrentPage();//enabling the speech [F2]
	}

	if(keyboard_enabled){
		if(window.event.keyCode == 118){
		alert("Inside the F7 key control");
			nativeFrame(0);//starts speech [F7]
		}
		if(window.event.keyCode == 19){
			nativeFrame(1);//pauses and resumes speech [Pause/Break]
		}
		if(window.event.keyCode == 119){
			nativeFrame(2);//stops speech [F8]
		}
		if(window.event.keyCode == 120){
			keyboard_enabled	= false;
			nativeFrame(3);//disables speech [F9]
		}
		if(window.event.keyCode == 27){
			nativeFrame(4);//closes speech control [Esc]
		}
		if(window.event.keyCode == 17){
			getApplet(null,"Virtual Vision. Keyboard Options. Press F2. to enable speech. Press F7. to start speech. Press F8. to stop speech. Press F9. to disable speech. Press Escape. to Closes speech control. Press Pause and Break. to Pause and Restart speech. Press Control. to Help you.");
		}
	}
	else{
		if(window.event.keyCode == 17){
			getApplet(null,"Virtual Vision. Keyboard Options. Press F2. to enable speech. Press F7. to start speech. Press F8. to stop speech. Press F9. to disable speech. Press Escape. to Closes speech control. Press Pause and Break. to Pause and Restart speech. Press Control. to Help you.");
		}
		else{
			getApplet(null,"Please press F2 key to enable speech. press control key for help.");
		}
		return false;
	}
}

function resetSpeech(){

	if(speech_state == "started"){
		nativeFrame(1);
		nativeFrame(2);
	}
}

function skipError(){
	return true;
}

window.onerror 			= skipError;
document.onkeyup		= connectKeyBoard;

