var jtk = new JoookToolkit(); // This row may be omitted if JTK is instantiated elsewhere
var formRecipientError = "Muista valita viestille vastaanottava ravintola!";

function setFormSubmissionHandler(formField){
	var formEmt = null;
	var emtParents = new Array();
	var currentEmt = formField;
	
	while(currentEmt.parentNode.nodeName.toLowerCase() != 'body'){
		currentEmt = currentEmt.parentNode;
		emtParents.push(currentEmt);
	}
	
	for(var i = 0; i < emtParents.length; i++){
		if(emtParents[i].nodeName.toLowerCase() == 'form'){
			formEmt = emtParents[i];
			break;
		}
	}
	
	jtk.addEvent(formEmt, "submit", function(){
		return convertRecipient();
	});
}


function updateFormRecipient(selectEmt){
	var selectedOption = selectEmt.options[selectEmt.selectedIndex];
	var delimiterIdx = selectedOption.value.indexOf(";");
	var addr = selectedOption.value.substring(0, delimiterIdx);
	var key = selectedOption.value.substring((delimiterIdx + 1));
	jtk.select("#field_toaddr")[0].value = addr;
	jtk.select("#field_toaddr_key")[0].value = key;
}

function convertRecipient(){
	if(jtk.select("#field_toaddr")[0].value.indexOf("$") > 0){
		jtk.select("#field_toaddr")[0].value = jtk.select("#field_toaddr")[0].value.replace("$", "@");
		return true;
	}
	else{
		alert(formRecipientError);
		return false;
	}
}




var Datastore = {
	cookiePrefix: "com-",
	cookieDefaultLifetime: 24,
	
	write: function(name,value,lifetime){
		if(!lifetime || typeof(lifetime) == 'undefined')
			lifetime = this.cookieDefaultLifetime;

		var date = new Date();
		date.setTime(date.getTime()+(lifetime*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		
		document.cookie = this.cookiePrefix + name + "=" + value + expires + "; path=/";
	},
	
	read: function(name){
		var nameEQ = this.cookiePrefix + name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},
	
	erase: function(name){
		this.write(name, "", -1);
	}
}
