// JavaScript Document
function selectTextfield(textfieldId) {
	document.getElementById(textfieldId).select();
}


/* EVENT LISTENERS */
addEvent(window, 'load', init);

function init(){
	vulZoek();
	try {
		vulNewsletter();
	}catch(e){}
	

	var zoek = document.getElementById('search_query');
	addEvent(zoek, 'focus', leegZoek);
	addEvent(zoek, 'blur', vulZoek);
	var header_search = document.getElementById('header_search');
	addEvent(header_search, 'submit', leegZoek);
	var zoekform = document.getElementById('searchForm');
	addEvent(zoekform, 'submit', leegZoek);

	var newsletter = document.getElementById('newsletter');
	addEvent(newsletter, 'focus', leegNewsletter);
	addEvent(newsletter, 'blur', vulNewsletter);
	
	
	addEvent(document.getElementById('btn1'),'mouseover', showSubmenu1);
	addEvent(document.getElementById('btn2'),'mouseover', showSubmenu2);
	addEvent(document.getElementById('btn3'),'mouseover', showSubmenu3);
	addEvent(document.getElementById('btn4'),'mouseover', showSubmenu4);
	
	
	try {
		vulBakboekName();
		var inlog_form = document.getElementById('bakboek_inlog');
		var bakboek_name = document.getElementById('bakboek_name');
		addEvent(bakboek_name, 'focus', leegBakboekName);
		addEvent(bakboek_name, 'blur', vulBakboekName);
		addEvent(bakboek_inlog, 'submit', leegBakboekName);
		
		leegBakboekPW();
		vulBakboekPW();		
		var bakboek_pw = document.getElementById('bakboek_pw');
		addEvent(bakboek_pw, 'focus', leegBakboekPW);
		addEvent(bakboek_pw, 'blur', vulBakboekPW);
		var inlog_ww = document.getElementById('inlog_ww');
		addEvent(inlog_ww, 'focus', selectBakboekPW);
	}catch(e){}
	
	try {
		vulRecipeSearch();
		var zoek_recepten = document.getElementById('zoek_recepten');
		addEvent(zoek_recepten, 'focus', leegRecipeSearch);
		addEvent(zoek_recepten, 'blur', vulRecipeSearch);
	}catch(e){}
	
	try {
		var searchRecipeForm = document.getElementById('searchRecipeForm');
		addEvent(searchRecipeForm, 'submit', leegRecipeSearch);		
	}catch(e){}
}

/* FUNCTIONS */

// zoeken in bakboek redirect
function myBakingBookRedirect(){
	// haal zoekwoorden op
	zoek_recepten = document.getElementById('zoek_recepten').value;
	if(zoek_recepten == 'Receptnaam of ingredient...'){
		zoek_recepten = '';
	}
	
	
	// haal redirect url op
	formUrl = document.getElementById('formUrl').value;
	
	// als zoek in mijn recepten is aangevinkt: redirect naar mijn recepeten
	if(document.getElementById('myRecipesOnly').checked == true){
		url = (formUrl+'mijn-recepten/?q='+zoek_recepten);
	}else{
	// anders link naar alle recepten
		url = (formUrl+'recept-zoeken/?q='+zoek_recepten);
	}
	// redirect
	window.location = url;
	// disable submit functie
	return false;
}
/*
// zoeken in bakboek redirect
function myBakingBookRedirectExtendend(){
	// haal zoekwoorden op
	zoek_recepten = document.getElementById('zoek_recepten2').value;
	if(zoek_recepten == 'Receptnaam of ingredient...'){
		zoek_recepten = '';
	}	
	
	// haal redirect url op
	formUrl = document.getElementById('formUrl').value;
	
	// als zoek in mijn recepten is aangevinkt: redirect naar mijn recepeten
	if(document.getElementById('myRecipesOnlyExtendend').checked == true){
		url = (formUrl+'mijn-recepten/?q='+zoek_recepten);
	}else{
	// anders link naar alle recepten
		url = (formUrl+'recept-zoeken/?q='+zoek_recepten);
	}
	
	url = url + '&momentId='+document.getElementById('moment').value;
	url = url + '&specialDayId='+document.getElementById('specialDay').value;
	url = url + '&seasonId='+document.getElementById('season').value;
	url = url + '&categoryId='+document.getElementById('categorie').value;
	url = url + '&productId='+document.getElementById('product').value;
	url = url + '&searchIn='+document.getElementById('searchIn').value;

	//specialWish
	//alert
	
	// redirect
	window.location = url;
	// disable submit functie
	return false;
}
*/
function test(){
	alert('test');
}

function addEvent(obj, evType, fn){ 
	try{
		if (obj.addEventListener){ 
			obj.addEventListener(evType, fn, false); 
			return true; 
		} else if (obj.attachEvent){ 
			var r = obj.attachEvent("on"+evType, fn); 
			return r; 
		} else { 
			return false; 
		} 
	}catch(e){ }
}

function emptyValue(elm, tekst){
	if(document.getElementById(elm).value==tekst){
		document.getElementById(elm).value="";
	}
}
function returnValue(elm, tekst){
	if(document.getElementById(elm).value==""){
		document.getElementById(elm).value=tekst;
	}
}

function leegZoek(){
	emptyValue('search_query', 'zoeken...');	
}
function vulZoek(){
	returnValue('search_query', 'zoeken...');	
}

function leegNewsletter(){
	emptyValue('newsletter', 'e-mail adres...');	
}
function vulNewsletter(){
	returnValue('newsletter', 'e-mail adres...');	
}

function leegBakboekName(){
	emptyValue('bakboek_name', 'E-mailadres...');	
}
function vulBakboekName(){
	returnValue('bakboek_name', 'E-mailadres...');	
}

function leegRecipeSearch(){
	emptyValue('zoek_recepten', 'Receptnaam of ingredient...');	
}
function vulRecipeSearch(){
	returnValue('zoek_recepten', 'Receptnaam of ingredient...');	
}

function ecardPopup(link , width , height){
	window.open(link, 'venster', 'width=' + width + ',height=' + height + ',scrollbars=no,toolbar=no,location=no,status=no,resize=no');
}

/* MENU */

var menus = 4;
var timeoutID = 0;
function hideSubmenus(nr){
	for(x=1;x<=menus;x++){
		try{
			if(nr!=x){
				document.getElementById('submenu'+[x]).style.display = 'none';
			}
		}catch(e){ }
	}	
}

function showSubmenu1(){
	if(document.getElementById('submenu1') != undefined ){
		hideSubmenus(1);	
		window.clearTimeout(timeoutID);
		document.getElementById('submenu1').style.display = 'block';
		timeoutID = setTimeout ('returnSubmenu()', 3000);
	}
}
function showSubmenu2(){
	if(document.getElementById('submenu2') != undefined ){
		hideSubmenus(2);
		window.clearTimeout(timeoutID);
		document.getElementById('submenu2').style.display = 'block';
		timeoutID = setTimeout ('returnSubmenu()', 3000);
	}
}
function showSubmenu3(){
	if(document.getElementById('submenu3') != undefined ){
		hideSubmenus(3);
		window.clearTimeout(timeoutID);
		document.getElementById('submenu3').style.display = 'block';
		timeoutID = setTimeout ('returnSubmenu()', 3000);
	}
}
function showSubmenu4(){
	if(document.getElementById('submenu4') != undefined ){
		hideSubmenus(4);
		window.clearTimeout(timeoutID);
		document.getElementById('submenu4').style.display = 'block';
		timeoutID = setTimeout ('returnSubmenu()', 3000);
	}
}

function returnSubmenu(){
	for(x=1;x<=menus;x++){
		if(document.getElementById('btn'+x).className=='selected'){
			document.getElementById('submenu'+x).style.display = 'block';
		}else{
			try {
				document.getElementById('submenu'+x).style.display = 'none';
			}catch(e){ }
		}
	}
}



function toggleListItem(id){
	elm = document.getElementById(id);
	switch(elm.className){
		case 'active':
			elm.className = 'expanded_active';
			break;
		case 'expanded_active':
			elm.className = 'active';
			break;
		case 'expanded':
			elm.className = '';
			break;
		default:
			elm.className = 'expanded';
	}
}

function selectBakboekPW(){
	//document.getElementById('inlog_ww').focus();
	leegBakboekPW();
}
function leegBakboekPW(){
	//document.getElementById('bakboek_pw').className = 'nobg';
	document.getElementById('inlog_ww').value = '';
}
function vulBakboekPW(){
	if(document.getElementById('bakboek_pw').value==""){
		//document.getElementById('bakboek_pw').className = '';
		document.getElementById('inlog_ww').value = 'Wachtwoord...';
	}
}

// functie toggle home -> recipes
function toggleHome(recipeType){
	if(recipeType == 'dagrecept'){		
		document.getElementById('btn_tab_right').className = '';
		document.getElementById('btn_tab_left').className = 'active';
		
		document.getElementById('dagrecept_content').style.display='block';
		document.getElementById('themarecept_content').style.display='none';
	}else if(recipeType == 'themarecept'){
		document.getElementById('btn_tab_right').className = 'active';
		document.getElementById('btn_tab_left').className = '';
		
		document.getElementById('dagrecept_content').style.display='none';
		document.getElementById('themarecept_content').style.display='block';
	}	
}

// functie toggle recipe -> tips
function toggleRecipeTips(){
	if(document.getElementById('recipeTips').style.display=='block'){		
		document.getElementById('showRecipeTips').className = 'tip_collapsed';		
		document.getElementById('recipeTips').style.display='none';
	}else{
		document.getElementById('showRecipeTips').className = 'tip_expanded';		
		document.getElementById('recipeTips').style.display='block';
	}	
}

function toggleThemaRecept(nr){
	elm = document.getElementById('tr_'+nr);
	if(elm.className=='themarecept_expanded'){
		elm.className='themarecept_collapsed';
		elm.style.display = 'none';
		elm.style.display = 'block';
	}else{
		elm.className='themarecept_expanded';
		elm.style.display = 'none';
		elm.style.display = 'block';
	}
	ieFooterFix()
}


function swapAnswer(currentQuestion) {
	question = document.getElementById("question" + currentQuestion);
	answer = document.getElementById("answer" + currentQuestion);
	if (answer.style.display == 'none' || answer.style.display == '') {
	          answer.style.display = 'block';
	          question.style.backgroundImage="url('"+imagesUrl+"min.gif')";
	} else {
	          answer.style.display = 'none';
	          question.style.backgroundImage="url('"+imagesUrl+"plus.gif')";
	}
	ieFooterFix()
}

function ieFooterFix(){
	try{
		document.getElementById('deurmat').style.display = 'none';
		document.getElementById('deurmat').style.display = 'block';
	}catch(e){}	
}


function popUp(link , width , height){
	window.open(link, 'venster', 'width=' + width + ',height=' + height + ',scrollbars=yes,toolbar=no,location=no,status=no,resize=no');
}

function expandAll(startDiv) {
	var divObj = document.getElementById(startDiv);
	if (divObj == "object") {
		for (var i=0;i<divObj.childNodes.length;i++) {
			if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				expandAll(divObj.childNodes[i].id);
			}
		}
	}
}

function closeAll(startDiv) {
	expandAll(startDiv);
	var divObj = document.getElementById(startDiv);
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
			expandAll(divObj.childNodes[i].id);
		}
	}
}

function expandItem(theID, startDiv) {
	var divObj = document.getElementById(startDiv);
	var found = false;
	for (var i=0;i<divObj.childNodes.length;i++) {
		if (divObj.childNodes[i].nodeName == "DIV" && divObj.childNodes[i].id.substr(0,6) == "folder") {
			found = expandItem(theID, divObj.childNodes[i].id);
			if (divObj.childNodes[i].id == "folder" + theID) {
				// current element found
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
			if (found) {
				toggleFolder(divObj.childNodes[i].id, document.getElementById("image" + divObj.childNodes[i].id.substr(6)));
				return true;
			}
		}
	}
	return found;
}

function toggleFolder(id, imageNode) {
	var folder = document.getElementById(id);
	var l = imageNode.src.length;
	if (imageNode.src.substring(l-21,l)=="tree_folderclosed.png" || imageNode.src.substring(l-19,l)=="tree_folderopen.png") {
		imageNode = imageNode.previousSibling;
		l = imageNode.src.length;
	}
	if (folder == null) {
	} 
	else if (folder.style.display == "block")  {
		if (imageNode != null) {
			imageNode.nextSibling.src = imagesUrl+"sitemap/tree_folderclosed.png";
			if (imageNode.src.substring(l-14,l) == "tree_mnode.png") {
				imageNode.src = imagesUrl+"sitemap/tree_pnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_mlastnode.png") {
				imageNode.src = imagesUrl+"sitemap/tree_plastnode.png";
			}
		}
		folder.style.display = "none";
	} 
	else {
		if (imageNode != null) {
			imageNode.nextSibling.src = imagesUrl+"sitemap/tree_folderopen.png";
			if (imageNode.src.substring(l-14,l) == "tree_pnode.png") {
				imageNode.src = imagesUrl+"sitemap/tree_mnode.png";
			}
			else if (imageNode.src.substring(l-18,l) == "tree_plastnode.png") {
				imageNode.src = imagesUrl+"sitemap/tree_mlastnode.png";
			}
		}
		folder.style.display = "block";
	}
	//updateRowColor();
	ieFooterFix()
}

function toggleReplyForm(id){
	elm = document.getElementById('replyForm_'+id);
	if(elm.style.display != 'block'){
		elm.style.display = 'block';
	}else{
		elm.style.display = 'none';
	}
}

function showAvatars(gender){
	if(gender == 'M'){
		document.getElementById('avatarsF').style.display = 'None';
		document.getElementById('avatarsM').style.display = 'Block';
	}else{
		document.getElementById('avatarsF').style.display = 'Block';
		document.getElementById('avatarsM').style.display = 'None';
	}
}

/*
* Search Recipes
*/
function changeResultsPerPage(url) {
	var obj = document.getElementById('resultsPerPage');
	if (obj != undefined) {
		top.location.href = url + '&resultsPerPage='  + obj.value;
	}
}

function foldSearchForm() {
	var advSearch = document.getElementById('advanced_recipe_search');
	var simpleSearch = document.getElementById('simple_recipe_search');
	if (advSearch != undefined && simpleSearch != undefined) {
		if (advSearch.style.display == 'block') {
			advSearch.style.display = 'none';
			simpleSearch.style.display = 'block';
		}else{
			advSearch.style.display = 'block';
			simpleSearch.style.display = 'none';
			
		}
	}
}

function deleteRecipeFromMyBakingBook(recipeId, recipeName, redirectTo, linkAddition){
	confirmMessage='Weet je zeker dat je dit recept "'+recipeName+'" uit jouw bakboek wilt verwijderen?';

	if( confirm(confirmMessage) ){
		window.location = redirectTo+linkAddition+"action=deleteRecipe&recipId="+recipeId+"";			
	}	
}


function addIngredientRowToTable(name)
{
	var tbl = document.getElementById('tblIngredients');
	var lastRow = tbl.rows.length;
	// if there's no header row in the table, then iteration = lastRow + 1
	
	var row = tbl.insertRow(lastRow);
	iteration = totalNumIngredients; // totalNumIngredients = global var
	// left cell
	var cell1 = row.insertCell(0);	
	var label = document.createElement("label");
	label.htmlFor = 'ingredient'+iteration;
	label.className = 'frontLabel';
	var textNode = document.createTextNode(name);
	label.appendChild(textNode); 
	cell1.appendChild(label);
	
	var cell2 = row.insertCell(1);
	var el = document.createElement('input');
	el.type = 'text';
	el.name = 'ingredient' + iteration;
	el.id = 'ingredient' + iteration;
	el.className = 'medium';
	
	var el2 = document.createElement('div');
	el2.className = 'formField';
	el2.appendChild(el);
	
	cell2.appendChild(el2);
	
	/* oude manier met gescheiden ingredient en hoeveelheid
	
	var cell3 = row.insertCell(2);	
	var label = document.createElement("label");
	label.htmlFor = 'amount'+iteration;
	label.className = 'frontLabel';
	var textNode = document.createTextNode('Hoeveelheid');
	label.appendChild(textNode); 
	cell3.appendChild(label);
	
	 // right cell
	
	var cell4 = row.insertCell(3);
	
	var el1 = document.createElement('input');
	el1.type = 'text';
	el1.name = 'amount' + iteration;
	el1.id = 'amount' + iteration;
	el1.className = 'small';	
	
	var el2 = document.createElement('div');
	el2.className = 'formFieldMedium';
	el2.appendChild(el1);
	
	cell4.appendChild(el2);
	*/
	var cell3 = row.insertCell(2);
	cell3.innerHTML = '<input type="image" src="'+imagesUrl +'btn_delete.gif" onClick="javascript:deleteCurrentRow(this, \'tblIngredients\');" name="verwijderen" value="Verwijder">';
	totalNumIngredients++;
}

function addUtensilRowToTable(name)
{
	var tbl = document.getElementById('tblUtensils');
	var lastRow = tbl.rows.length;
	// if there's no header row in the table, then iteration = lastRow + 1
	
	var row = tbl.insertRow(lastRow);
	iteration = totalNumUtinesels; // totalNumUtinesels = global var
	
	// left cell
	var cell1 = row.insertCell(0);	
	var label = document.createElement("label");
	label.htmlFor = 'utinsel' + iteration;
	label.className = 'frontLabel';

	if(lastRow == 0){
		var textNode = document.createTextNode(name);
	}else{
		var textNode = document.createTextNode('');
	}
	label.appendChild(textNode); 
	cell1.appendChild(label);
	
	// right cell
	var cell2 = row.insertCell(1);
	var el = document.createElement('input');
	el.type = 'text';
	el.name = 'utinsel' + iteration;
	el.id = 'utinsel' + iteration;
	el.className = 'medium';
	
	var el2 = document.createElement('div');
	el2.className = 'formField';
	el2.appendChild(el);
	
	cell2.appendChild(el2);
	
	// right cell
	var cell3 = row.insertCell(2);
	cell3.innerHTML = '<input type="image" src="'+imagesUrl +'btn_delete.gif" onClick="javascript:deleteCurrentRow(this, \'tblUtensils\');" name="verwijderen" value="Verwijder">';
	totalNumUtinesels++;
}

function deleteIngredientRow(number) {
	var tbl = document.getElementById('tblIngredients');
	var lastRow = tbl.rows.length;
	// if there's no header row in the table, then iteration = lastRow + 1
	if (number <= lastRow) {
		tbl.deleteRow(number);
	}
}

// If there isn't an element with an onclick event in your row, then this function can't be used.
function deleteCurrentRow(obj, table)
{
	var delRow = obj.parentNode.parentNode;
	var rIndex = delRow.sectionRowIndex;
	if (table == 'tblIngredients') {
		var tbl = document.getElementById('tblIngredients');
	}
	else if (table == 'tblPreparation') {
		var tbl = document.getElementById('tblPreparation');
	}
	else if (table == 'tblOvenTemperature') {
		var tbl = document.getElementById('tblOvenTemperature');
	}
	else if (table == 'tblUtensils') {
		var tbl = document.getElementById('tblUtensils');
	}
	var lastRow = tbl.rows.length;
	// if there's no header row in the table, then iteration = lastRow + 1
	if (rIndex <= lastRow) {
		tbl.deleteRow(rIndex);
	}
}

// toggleRecipeNote
function toggleRecipeNote(state){
	if(state == 'show'){
		document.getElementById('recipeNoteId').style.display = 'block';
		document.getElementById('recipeNoteText').style.display = 'none';
	}else if(state == 'hide'){
		document.getElementById('recipeNoteId').style.display = 'none';
			document.getElementById('recipeNoteText').style.display = 'block';
	}
}

function showReactionBlock(state){
	if(state == 'Y'){
		document.getElementById('reactionForm').style.display = 'block';
	}
}

function addRecipeComplaint(recipeId,reactionId, profileName, complaintProfileId, redirectTo ){
	confirmMessage='Weet je zeker dat je de klacht wil versturen over de reactie van "'+profileName+'" ?';

	if( confirm(confirmMessage) ){
		window.location = redirectTo+"?action=addComplaint&recipId="+recipeId+"&reactionId="+reactionId+"&complaintProfileId="+complaintProfileId;			
	}	
}

/** ADD RECIPES **/

function selectOven(nr, totalOvens) {
	// Hide all degree dropdowns
	for (var i=1;i<=totalOvens;i++) {
		try{
			if(i!=nr){
				//document.getElementById('ovenTemperature'+i).disabled = 'disabled';
				document.getElementById('ovenTemperature'+i).style.display = 'none';
				document.getElementById('ovenTemperature'+i).selectedIndex = 0;
			}else{
				document.getElementById('ovenTemperature'+nr).style.display = 'block';
			}
		}catch(err){}
	}
}

function previewRecipe(){
	document.getElementById('action').value = 'previewRecipe';
	document.getElementById('receptForm').submit();
}

function recipeStep2(){
	document.getElementById('action').value = 'step2';
	document.getElementById('receptForm').submit();
}

function saveRecipe(){
	document.getElementById('action').value = 'saveRecipe';
	document.getElementById('receptForm').submit();
}

function recipeStep1(){
	document.getElementById('action').value = 'saveStep2Preview';
	document.getElementById('receptForm').submit();
}

function openThemaTAF() {
	 window.open(rootPath+'page/taf_thema.php','thema_taf','width=437,height=510,scrollbars=yes,toolbar=no,location=no,resizable=yes');
}

function switchIsPaasrecept() {
	try {
		if(document.getElementById('cbPaasrecept').checked) {
			document.getElementById('specialDayPasen').checked = true;
		}
	}catch(e){}
}

function switchIsThemaRecept(type) {
	try {
		if(document.getElementById('cbThemaRecept').checked) {
			document.getElementById('specialDay'+type).checked = true;
		}
	}catch(e){}
}

function showInfo(id){
	try {
		document.getElementById(id).style.display = 'block';
		document.getElementById('productSelect').style.display = 'none';
	}catch(e){}
}

function hideInfo(id){
	try {
		document.getElementById(id).style.display = 'none';
		document.getElementById('productSelect').style.display = 'block';
	}catch(e){}
}
function recipePreview(){
	document.getElementById('preview').value = 1;
	return true;
}

function deleteMessage(url, name){
	if(confirm('Weet je zeker dat je dit bericht wilt verwijderen?')){
		window.location = url;
	}
}