/******************************************
    This file is part of Bangla Unicode Web Tools.

Copyright (C) 2007  S M Mahbub Murshed

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA






	Author: S M Mahbub Murshed
	Email: udvranto@yahoo.com
	Version: 2.0.0
	Date: September 15, 2006, 11:38 GMT-07(AZ)
******************************************/



var ID="EDT"; // the textbox id to apply the layout to
var ConvertFrom = "bijoy" // Options are, "bijoy", "somewherein", "boisakhi"
var showKeyBoardMap = false;

var resource = bn_resource; // interface language

/******************************************
	Changes resource strings

	Coded by : S M Mahbub Murshed
	Date: November 18, 2006
******************************************/
function SetResourceStrings()
{
	for (var resid in resource)
	{
		var resbyid = document.getElementById(resid);
		if(resbyid.type=="button")
		{
			resbyid.value = resource[resid];
			// resbyid.class = "english";
		}
		else
			resbyid.innerHTML = resource[resid];
	}
}

/******************************************
	Toggle resource

	Coded by : S M Mahbub Murshed
	Date: November 18, 2006
******************************************/


function ToggleLanguage(lang)
{
	var resbyid;
	if(lang==1)
	{
		resource = en_resource;
		resbyid = document.getElementById("english_res");
		resbyid.innerHTML = "English";
		resbyid = document.getElementById("bangla_res");
		resbyid.innerHTML = "<a href=\"javascript:ToggleLanguage(2);\">বাংলা</a>";
	}
	else if(lang==2)
	{
		resource = bn_resource;
		resbyid = document.getElementById("english_res");
		resbyid.innerHTML = "<a href=\"javascript:ToggleLanguage(1);\">English</a>";
		resbyid = document.getElementById("bangla_res");
		resbyid.innerHTML = "বাংলা";
	}

	SetResourceStrings();
}



function ToggleMapDisplayLabel(state)
{
	if(state==1)
	{
		ShowDIV("CharacterMap");
		HideDIV("showmaplabel");
		ShowDIV("hidemaplabel");
		showKeyBoardMap = true;
	}
	else
	{
		HideDIV("CharacterMap");
		HideDIV("hidemaplabel");
		ShowDIV("showmaplabel");
		showKeyBoardMap = false;
	}
}

/******************************************
	Changes keyboard layout status

	\param ev the event

	Coded by : S M Mahbub Murshed
	Date: August 30, 2006
******************************************/
function ChangeKeyboarLayoutStatus()
{
	var field = document.getElementsByName('KeyboardLayoutOption');
	var charMap = document.getElementById("CharacterMap");

	if(KeyBoardLayout==1 || EnglishKeyboard==true)
		field[0].checked = true;
	else
		field[KeyBoardLayout-1].checked = true; 

	

		charMap.innerHTML = CharacterMapTable("bijoy");


	if(KeyBoardLayout==1 || EnglishKeyboard==true)
		HideDIV("CharacterMap");
	else if(showKeyBoardMap==true) 
	{
		ShowDIV("CharacterMap");
		fontSizerChangeSingleElement(document.getElementById("CharacteMapTable"),FontSize,FontSizeUnit);
	}
}



/******************************************
	Changes converter status

	\param ev the event

	Coded by : S M Mahbub Murshed
	Date: October 15, 2006
******************************************/
function ChangeConverterStatus()
{
	var field = document.getElementsByName('ConversionOption');
	
	// Options are, "bijoy", "somewherein", "boisakhi"
	if(ConvertFrom=="bijoy")
		{ field[0].checked = true; }
	else if(ConvertFrom=="somewherein")
		{ field[1].checked = true; }
	else if(ConvertFrom=="boisakhi")
		{ field[2].checked = true; }
	else if(ConvertFrom=="bangsee")
		{ field[3].checked = true; }
	else if(ConvertFrom=="phonetic")
		{ field[4].checked = true; }
	else if(ConvertFrom=="htmlsafe")
		{ field[5].checked = true; }
}





/******************************************
	Handles keyboard option button click

	\param event the event

	Coded by : S M Mahbub Murshed
	Date: August 30, 2006
******************************************/
function KeyboardLayoutOptionClick(event)
{
	var field = document.getElementsByName('KeyboardLayoutOption');

	for (var counter = 0; counter < field.length; counter++)
	{
		if (field[counter].checked)
		{
			EnglishKeyboard = false;
			KeyBoardLayout = counter+1; 
			ChangeKeyboarLayoutStatus();
			var myFld = document.getElementById(ID);
			myFld.focus();			
			break;
		}
	}	
} // end function KeyboardLayoutOptionClick







/******************************************
	Converts

	\param id the id of the html element

	Coded by : S M Mahbub Murshed
	Date: September 05, 2006
******************************************/
function ConvertFromTextArea(idcvt)
{
	var str = document.getElementById(idcvt).value;
	str = ConvertToUnicode(ConvertFrom, str);
	Insert(document.getElementById(ID), str);
} // end function ConvertFromTextArea


/******************************************
	Converts back to ASCII

	\param id the id of the html element

	Coded by : S M Mahbub Murshed
	Date: September 05, 2006
******************************************/
function ConvertToTextArea(idcvt)
{
	var str = document.getElementById(ID).value;
	str = ConvertToASCII(ConvertFrom, str);
	Insert(document.getElementById(idcvt), str);	
} // end function ConvertToTextArea



/******************************************
	Clears text area

	\param id the id of the html element

	Coded by : S M Mahbub Murshed
	Date: September 05, 2006
******************************************/
function ClearTextArea(idtxt)
{
	var elem = document.getElementById(idtxt);
	elem.value = "";
	elem.focus();
} // end function ClearTextArea



/******************************************
	ChangeConvertOptionStatus

	Coded by : S M Mahbub Murshed
	Date: September 05, 2006
******************************************/
function ChangeConvertOptionStatus()
{
	var field = document.getElementsByName('ConversionOption');
	var convertarea = document.getElementById('CONVERTEDT');

	if(ConvertFrom == "bijoy")
	{
		convertarea.style.fontFamily = "SutonnyMJ";
		// convertarea.style.fontSize = "12pt";
		convertarea.style.width = 400;
		// convertarea.cols = 80;

		field[0].checked = true;
	}
	else if(ConvertFrom == "somewherein")
	{
		convertarea.style.fontFamily = "SushreeMJ";
		// convertarea.style.fontSize = "12pt";
		convertarea.style.width = 400;
		field[1].checked = true;
	}
	else if(ConvertFrom == "boisakhi")
	{
		convertarea.style.fontFamily = "Boishakhi";
		// convertarea.style.fontSize = "10pt";
		convertarea.style.width = 400;
		field[2].checked = true;
	}
	else if(ConvertFrom == "bangsee")
	{
		convertarea.style.fontFamily = "Bangsee Alpona";
		// convertarea.style.fontSize = "10pt";
		convertarea.style.width = 400;
		field[3].checked = true;
	}	
	else if(ConvertFrom == "phonetic")
	{
		convertarea.style.fontFamily = "Times New Roman";
		// convertarea.style.fontSize = "10pt";
		convertarea.style.width = 400;
		field[4].checked = true;
	}	
	else if(ConvertFrom == "htmlsafe")
	{
		convertarea.style.fontFamily = "Times New Roman";
		// convertarea.style.fontSize = "10pt";
		convertarea.style.width = 400;
		field[5].checked = true;
	}	
} // end function ChangeConvertOptionStatus




/******************************************
	ConvertOptionChange

	\param event the event

	Coded by : S M Mahbub Murshed
	Date: September 05, 2006
******************************************/
function ConvertOptionChange(event)
{
	var field = document.getElementsByName('ConversionOption');

	for (var counter = 0; counter < field.length; counter++)
	{
		if (field[counter].checked)
		{
			if(counter == 0)
				ConvertFrom = "bijoy";
			else if(counter == 1)
				ConvertFrom = "somewherein";
			else if(counter == 2)
				ConvertFrom = "boisakhi";
			else if(counter == 3)
				ConvertFrom = "bangsee";
			else if(counter == 4)
				ConvertFrom = "phonetic";
			else if(counter == 5)
				ConvertFrom = "htmlsafe";
			break;
		}
	}
	ChangeConvertOptionStatus();
}




/******************************************
	Save options from cookie

	Coded by : S M Mahbub Murshed
	Date: March 02, 2007
******************************************/
function SaveOptions()
{
	var days = 90; // save for 90 days
	if(resource == en_resource)
		setCookie("bnwlanguage","english",days); 
	if(resource == bn_resource)
		setCookie("bnwlanguage","bangla",days); 

	setCookie("bnwlayout",KeyBoardLayout,days);
	setCookie("bnwconverter",ConvertFrom,days);
	setCookie("bnwshowhelp",showKeyBoardMap,days);
}

/******************************************
	Read saved options from cookie

	Coded by : S M Mahbub Murshed
	Date: March 02, 2007
******************************************/
/*remi  function ReadOptions()
{
	var prelang = getCookie("bnwlanguage");
	if(prelang == "english")
		ToggleLanguage(1);
	else
		ToggleLanguage(2); // default bangla resource

	KeyBoardLayout = getCookie("bnwlayout");
	if(KeyBoardLayout==null) KeyBoardLayout = 2; // default bijoy
	ConvertFrom = getCookie("bnwconverter");
	if(ConvertFrom==null) ConvertFrom = "bijoy"; // default bijoy
	var prehelp = getCookie("bnwshowhelp");
	if(prehelp=="true")
		ToggleMapDisplayLabel(1);
	else
		ToggleMapDisplayLabel(2); // default hide
}

*/
/******************************************
	Delete saved options from cookie

	Coded by : S M Mahbub Murshed
	Date: March 02, 2007
******************************************/
function DeleteOptions()
{
	deleteCookie("bnwlanguage");
	deleteCookie("bnwlayout");
	deleteCookie("bnwconverter");
	deleteCookie("bnwshowhelp");
}


/******************************************
	On page load

	Coded by : S M Mahbub Murshed
	Date: September 12, 2006
******************************************/
function OnPageLoad()
{

//remi	ReadOptions();   

	ChangeKeyboarLayoutStatus();
	// ChangeConverterStatus();
	ChangeConvertOptionStatus();

	var myFld = document.getElementById(ID);
	var unicodefontLabel = document.getElementById("unicodefont");

	if(IE)
	{
		unicodefontLabel.innerHTML = "If you can't see Bangla, please download Unicode Bangla Font <a href=fonts/SutonnyBanglaOMJ.ttf>from here</a>."
		myFld.style.fontFamily = "SutonnyBanglaOMJ";
	}
	else
	{
/*		unicodefontLabel.innerHTML = "If you can't see Bangla, please download Unicode Bangla Font <a href=fonts/SolaimanLipi_29-05-06.ttf>from here</a>."
		myFld.style.fontFamily = "SolaimanLipi";
*/
		unicodefontLabel.innerHTML = "If you can't see Bangla, please download Unicode Bangla Font <a href=fonts/SutonnyBanglaOMJ.ttf>from here</a>."
		myFld.style.fontFamily = "SutonnyBanglaOMJ";
	}
	myFld.style.width = 400;


//	var convertarea = document.getElementById('CONVERTEDT');
//	convertarea.style.width = 400;

	fontSizerInit();
}


/******************************************
	On page unload

	Coded by : S M Mahbub Murshed
	Date: March 02, 2007
******************************************/
function OnPageUnload()
{
	SaveOptions();
}
