window.addEventListener("load", function() { blogcrypt_passwordchooser.init(); }, false); 
window.addEventListener("CheckboxStateChange", function() {blogcrypt_passwordchooser.showPasswords(); }, false);

var blogcrypt_passwordchooser = {
	init: function()
	{
		document.getElementById('selection').value=window.arguments[0]; // a selection mező kitöltése
		blogcrypt_passwordchooser.parsekeydb(); // a jelszólista felépítése
	},
	
	// jelszavak mutatása
	showPasswords: function()
	{
		var index=document.getElementById('keys_group').selectedIndex; // a kiválasztott elem indexének mentése
		blogcrypt_passwordchooser.parsekeydb(); // a lista újragenerálása
		document.getElementById('keys_group').selectedIndex=index; //a kiválasztás visszaállítása
	},
	
	// jelszó felvétele a lsitába
	addkeytoRadioGroup: function(keyid,password,radioname)
	{
		var element = document.createElement('radio');
		element.setAttribute('label', keyid );
		element.setAttribute('id', keyid );
		if(document.getElementById("show_passwords").checked)
		{
			element.setAttribute('label', keyid+"/"+password );
		}
		else
		{
			element.setAttribute('label', keyid );
		}
		document.getElementById(radioname).appendChild( element );
	},
	
	// lista törlése
	clearRadioGroup:function(radioname) 
	{
		var rgroup = document.getElementById(radioname); 
		if(rgroup.lastChild!=null)
			while (rgroup.lastChild.localName == 'radio') 
			{
				rgroup.removeChild(rgroup.lastChild); 
				if(rgroup.lastChild==null) break;
			}
	},
	
	// lsita felépítése
	parsekeydb:function()
	{
		// a globals címke eltávolítása
		document.getElementById('keys_group').removeChild(document.getElementById('globals'));
		// lista elemek eltávolítása
		blogcrypt_passwordchooser.clearRadioGroup('keys_group');
		//jelszó adatbázis elkérése
		var key_db=blogcrypt_FileIO.get_passwd_db();
		//minden egyes kulcs felvétele
		for(var i=0; i<key_db.length-1;i++)
		{
			if(key_db[i][0]==window.arguments[1])
			{
				blogcrypt_passwordchooser.addkeytoRadioGroup(key_db[i][1],key_db[i][2],'keys_group');
			}
		}
		
		// globals cimke
		var capt=document.createElement('caption');
		capt.setAttribute('label',"Global KeyID-s");
		capt.setAttribute('id','globals');
		document.getElementById('keys_group').appendChild( capt );
		
		//globális kulcsok listája
		for(var i=0; i<key_db.length-1;i++)
		{
			if(key_db[i][0]=="global")
			{
				blogcrypt_passwordchooser.addkeytoRadioGroup(key_db[i][1],key_db[i][2],'keys_group');
			}
		}
	},
	
	//OK gomb
	doOK: function()
	{
		var keyID=document.getElementById('keys_group').selectedItem.id;
		var method=document.getElementById('crypt_methods_group').selectedItem.id;
		//a kiválasztott paraméterek átadása a titkosítás második szakaszának
		if(keyID!=null && method!=null)
		{
		blogcrypt_encryption.enCrypt_second_part(window.arguments[0], //selection
												method,
												keyID,
												window.arguments[1],//domain
												window.arguments[2]); 
		return true;
		}
		return false;
	},
	
	//Cancel gomb
	doCancel: function()
	{
		return true;
	}
	
}