var contentelementname = "maincontentspot"; var messageelementname = "mainmessagespot";

function dietDiarySearch() {
	fromyear = $F( "fromyear" ); frommonth = $F( "frommonth" ); fromday = $F( "fromday" );
	thismonth = ( frommonth.length < 2 && frommonth < 10 ) ? "0" + frommonth : frommonth;
	thisday = ( fromday.length < 2 && fromday < 10 ) ? "0" + fromday : fromday;
	fromdate = fromyear + "-" + thismonth + "-" + thisday;

	toyear = $F( "toyear" ); tomonth = $F( "tomonth" ); tilday = $F( "tilday" );
	thismonth = ( tomonth.length < 2 && tomonth < 10 ) ? "0" + tomonth : tomonth;
	thisday = ( tilday.length < 2 && tilday < 10 ) ? "0" + tilday : tilday;
	todate = toyear + "-" + thismonth + "-" + thisday;
	dietdiarytablename = $F( "dietdiarytablename" );
	dietdiarysearchword = $F( "dietdiarysearchword" ).strip();
	if( dietdiarytablename.length > 20 ) {
		emptyElement( submessageelementname );
		paramurl = "searchpageoption=1&fromdate=" + fromdate + "&todate=" + todate + "&dietdiarytablename=" + dietdiarytablename + "&dietdiarysearchword=" + escape( dietdiarysearchword );
		getPage3( createRequest(), "dietdiarysearchresults.php", submessageelementname, contentelementname, paramurl, '', '' );
	}
}

function callDietDiarySearch() {
	dietdiarytablename = $F( "dietdiarytablename" );
	dietdiarysearchword = $F( "dietdiarysearchword" ).strip();
	if( dietdiarytablename.length > 20 ) { dietDiarySearch(); }
	else { updateElement( submessageelementname, "<BR>Du har inte valt en kostdagbok att s&ouml;ka i &auml;n." ); resetJustWorkspace(); }
}

function foo( milliseconds ) { alert( "foo" ); }

// Funktion som visar en kostdagbokspost.
function showSearchDietdiarySearchpage() {
	resetWorkspace(); resetSubWorkspace();
	getPage3( createRequest(), "dietdiarysearchpage.php", "searchresultmessagespot", "searchresultcontentspot", '', '', '' );
}

// Funktion som visar en kostdagboksposter efter angivet datum.
function reloadDietdiaryRecordlist( dietdiarytablename, searchpageoption ) {
	if( searchpageoption == 1 ) {
		dietDiarySearch();
	}
	else {
//		resetWorkspace(); resetSubWorkspace();
		var showdietdiarypostsperiodrequest = createRequest();
		year = $F( "year" ); month = $F( "month" ); day = $F( "day" );
		thismonth = ( month.length < 2 && month < 10 ) ? "0" + month : month;
		thisday = ( day.length < 2 && day < 10 ) ? "0" + day : day;
		choosendate = year + "-" + thismonth + "-" + thisday;
		
		paramurl = "searchpageoption=" + searchpageoption + "&choosendate=" + choosendate + "&dietdiarytablename=" + dietdiarytablename;
//		alert( paramurl );
//		alert( searchpageoption );
		getPage3( createRequest(), "getdietdiarynames.php", messageelementname, "dietdiarynamesspot", paramurl, '', '' );
	}
}

// Uppdatera gränssnittet efter uppladdning av en ny kostdagbokspost
function doAddNewDietdiaryAfterwork( dietdiarytablename, searchpageoption ) {
	resetJustSubWorkspace();
	emptySubWorkspot( 3000 );
	getPage3( createRequest(), "mydietdiarylist.php", messageelementname, "userdietdiarylist", '', '', '' );
	reloadDietdiaryRecordlist( dietdiarytablename, searchpageoption );
}

// Spara ändringar i kostdagbokspost
function saveDietdiaryRecord( dietdiaryrecordid, userid, dietdiaryid, tablename, searchpageoption ) {
	var savedietdiaryrecordrequest = createRequest();
	thedate = $F( "year" ) + "-" + $F( "month" ) + "-" + $F( "day" ); thetime = $F( "hour" ) + ":" + $F( "minute" );
	weight = convertCommasToDots( $F( "weight" ).strip() ); height = convertCommasToDots( $F( "height" ).strip() ); food = $F( "food" ).strip();

	paramurl = "searchpageoption=" + searchpageoption + "&date=" + thedate + "&time=" + thetime + "&weight=" + escape( weight ) + "&height=" + escape( height ) + "&food=" + escape( food ) + "&tablename=" + tablename + "&dietdiaryid=" + dietdiaryid + "&dietdiaryrecordid=" + dietdiaryrecordid + "&pagetype=2&optype=7";
//	alert( paramurl );
	if( weight != "" ) { if( !validateNumber( weight ) ) { errormessages.push( "V&auml;rdet du skrev i f&auml;ltet f&ouml;r vikt &auml;r inte ett giltigt tal." ); } }
	if( height != "" ) { if( !validateNumber( height ) ) { errormessages.push( "V&auml;rdet du skrev i f&auml;ltet f&ouml;r l&auml;ngd &auml;r inte ett giltigt tal." ); } }
 	if( food == "" ) { errormessages.push( "Du gl&ouml;mde att fylla i f&auml;ltet f&ouml;r mat och kommentarer f&ouml;r kostdagboksposten." ); }

 	if( errormessages.length == 0 ) {
		var url = "userdietdiarieshandler.php";
		savedietdiaryrecordrequest.open( "POST", url, true );
		savedietdiaryrecordrequest.onreadystatechange = function doDOMChanges() {
			if( savedietdiaryrecordrequest.readyState == 4 ) {
				if( savedietdiaryrecordrequest.status == 200 ) {
					response = savedietdiaryrecordrequest.responseText;
					if( response == 1 ) {
						updateElement( submessageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Kostdagboksposten uppdaterades." );
						emptyElement( subcontentelementname );
						doAddNewDietdiaryAfterwork( tablename, searchpageoption );
					}
					else {
						updateElement( submessageelementname, "Kostdagboksposten kunde inte uppdateras.<BR>Felmeddelande: " + response );
					}
				}
				else {
					updateElement( submessageelementname, "Det uppstod ett fel n&auml;r kostdagboksposten skulle uppdateras in i  i kostdagboken.<BR>Felkod: " + savedietdiaryrecordrequest.status );
				}
			}
			else {
				updateElement( submessageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Uppdaterar kostdagbokspost... Var god v&auml;nta..." );
			}
		}
		savedietdiaryrecordrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		savedietdiaryrecordrequest.send( paramurl );
	}
	else {
		printErrors( submessageelementname );
	}
}

// Lägger till ny kostdagbokspost
function addNewDietdiaryRecord( userid, dietdiaryid, tablename ) {
	var newdietdiaryrecordrequest = createRequest();
	thedate = $F( "year" ) + "-" + $F( "month" ) + "-" + $F( "day" ); thetime = $F( "hour" ) + ":" + $F( "minute" );
	weight = convertCommasToDots( $F( "weight" ).strip() ); height = convertCommasToDots( $F( "height" ).strip() ); food = $F( "food" ).strip();

	paramurl = "date=" + thedate + "&time=" + thetime + "&weight=" + escape( weight ) + "&height=" + escape( height ) + "&food=" + escape( food ) + "&tablename=" + tablename + "&pagetype=2&optype=6";
//	alert( paramurl );
	if( weight != "" ) { if( !validateNumber( weight ) ) { errormessages.push( "V&auml;rdet du skrev i f&auml;ltet f&ouml;r vikt &auml;r inte ett giltigt tal." ); } }
	if( height != "" ) { if( !validateNumber( height ) ) { errormessages.push( "V&auml;rdet du skrev i f&auml;ltet f&ouml;r l&auml;ngd &auml;r inte ett giltigt tal." ); } }
 	if( food == "" ) { errormessages.push( "Du gl&ouml;mde att fylla i f&auml;ltet f&ouml;r mat och kommentarer f&ouml;r kostdagboksposten." ); }

 	if( errormessages.length == 0 ) {
		var url = "userdietdiarieshandler.php";
		newdietdiaryrecordrequest.open( "POST", url, true );
		newdietdiaryrecordrequest.onreadystatechange = function doDOMChanges() {
			if( newdietdiaryrecordrequest.readyState == 4 ) {
				if( newdietdiaryrecordrequest.status == 200 ) {
					response = newdietdiaryrecordrequest.responseText;
					if( response == 1 ) {
						updateElement( submessageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Den nya kostdagboksposten lades in i kostdagboken." );
						doAddNewDietdiaryAfterwork( tablename, 0 );
					}
					else {
						updateElement( submessageelementname, "Den nya kostdagboksposten kunde inte l&auml;ggas in i kostdagboken.<BR>Felmeddelande: " + response + "" );
					}
				}
				else {
					updateElement( submessageelementname, "Det uppstod ett fel n&auml;r den nya kostdagboksposten skulle l&auml;ggas in i  i kostdagboken.<BR>Felkod: " + newdietdiaryrecordrequest.status );
				}
			}
			else {
				updateElement( submessageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> L&auml;gger till ny kostdagbokspost... Var god v&auml;nta..." );
			}
		}
		newdietdiaryrecordrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		newdietdiaryrecordrequest.send( paramurl );
	}
	else {
		printErrors( submessageelementname );
	}
}

// Funktion som visar formuläret som används för att lägga till ny kostdagbokspost.
function showNewDietdiaryRecordForm( dietdiaryid ) {
	getPage3( createRequest(), "newdietdiaryrecordform.php", submessageelementname, subcontentelementname, "dietdiaryid=" + dietdiaryid, '', '' );
}

// Funktion som visar formuläret som används för att redigera ett kostdagbok.
function showModifyDietdiaryRecordForm( dietdiaryrecordid, dietdiarytablename, dietdiaryid, userid, searchpageoption ) {
	getPage3( createRequest(), "editdietdiaryrecordform.php", submessageelementname, subcontentelementname, 
		"searchpageoption=" + searchpageoption + "&dietdiarytablename=" + dietdiarytablename + "&dietdiaryid=" + dietdiaryid + "&dietdiaryrecordid=" + dietdiaryrecordid + "&userid=" + userid, '', '' );
}

function deleteDietdiaryRecord( dietdiarytablename, dietdiaryrecordid ) {
	resetSubWorkspace();
	paramurl = "dietdiarytablename=" + dietdiarytablename + "&dietdiaryrecordid=" + dietdiaryrecordid + "&optype=4";
	var deletedietdiarycatrequest = createRequest();
	var url = "userdietdiarieshandler.php";
	deletedietdiarycatrequest.open( "POST", url, true );
	deletedietdiarycatrequest.onreadystatechange = function doDOMChanges() {
		if( deletedietdiarycatrequest.readyState == 4 ) {
			if( deletedietdiarycatrequest.status == 200 ) {
				var response = deletedietdiarycatrequest.responseText;
				if( response == 1 ) {
					elementid =  "dietdiary_" + dietdiaryrecordid;
					removeElement( elementid );
					updateElement( messageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Kostdagboksposten togs bort." );
					emptyMainMessagespot( 3000 );
					if( $F( "searchpage" ) == 1  ) {
						doAddNewDietdiaryAfterwork( dietdiarytablename, 1 );
						dietDiarySearch();
					}
					else {
						doAddNewDietdiaryAfterwork( dietdiarytablename, 0 );
					}
				}
				else {
					updateElement( messageelementname, "Kostdagboksposten kunde inte tas bort.<BR>Felmeddelande: " + response );
				}
			}
			else {
				updateElement( messageelementname, "Det uppstod ett fel n&auml;r Kostdagboksposten skulle tas bort!<BR>Felkod: " + deletedietdiarycatrequest.status );
			}
		}
		else {
			updateElement( messageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Tar bort kostdagbokspost... Var god v&auml;nta..." );
		}
	}
	deletedietdiarycatrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
//	showAlertMessage( paramurl );
	deletedietdiarycatrequest.send( paramurl );
}

function confirmDeleteDietdiaryRecord( dietdiarytablename, dietdiaryrecordid, returnvalue ) {
	if( returnvalue == "" ) {
		paramvarvalue1 = dietdiarytablename; paramvarvalue2 = dietdiaryrecordid; callbackfunctionname = "confirmDeleteDietdiaryRecord";
		confirmquestion = "&Auml;r du s&auml;ker p&aring; att du vill ta bort kostdagboksposten?";
		paramurl = "paramvarvalue1=" + paramvarvalue1 + 
						"&paramvarvalue2=" + paramvarvalue2 + 
						"&callbackfunctionname=" + callbackfunctionname + 
						"&confirmquestion=" + escape( confirmquestion );
		getPage( "confirmpage.php", "messagespot", paramurl );
	}
	else {
		if( returnvalue == 1 ) {
			deleteDietdiaryRecord( dietdiarytablename, dietdiaryrecordid );
		}
		else {
		}
		emptyElement( "messagespot" );
	}
}

// Funktion som visar en kostdagbokspost.
function showDietdiaryRecord( dietdiarytablename, dietdiaryrecordid ) {
	getPage3( createRequest(), "showdietdiaryrecorddetails.php", submessageelementname, subcontentelementname, "dietdiarytablename=" + dietdiarytablename + "&dietdiaryrecordid=" + dietdiaryrecordid, '', '' );
}

// Funktioner som jobbar direkt med själva kostdagböckerna //

// Uppdatera gränssnittet vid ändringar för själva kostdagboken
function doUpdateDietdiaryAfterwork( dietdiarytablename ) {
	emptySubMessagespot( 3000 );
	emptyElement( subcontentelementname );
	getPage3( createRequest(), "mydietdiarylist.php", messageelementname, "userdietdiarylist", '', '', '' );
	getPage3( createRequest(), "getdietdiary.php", messageelementname, contentelementname, "dietdiarytablename=" + dietdiarytablename, '', '' );
}

function deleteDietdiary( userid, dietdiaryid ) {
	paramurl = "userid=" + userid + "&dietdiaryid=" + dietdiaryid + "&optype=5";
//	showAlertMessage( paramurl );
	var deletedietdiarycatrequest = createRequest();
	var url = "userdietdiarieshandler.php";
	deletedietdiarycatrequest.open( "POST", url, true );
	deletedietdiarycatrequest.onreadystatechange = function doDOMChanges() {
		if( deletedietdiarycatrequest.readyState == 4 ) {
			if( deletedietdiarycatrequest.status == 200 ) {
				var response = deletedietdiarycatrequest.responseText;
				if( response == 1 ) {
					updateElement( messageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Kostdagboken togs bort." );
					emptyMainMessagespot( 3000 );
					resetJustWorkspace();
					getPage3( createRequest(), "mydietdiarylist.php", submessageelementname, "userdietdiarylist", '', '', '' );
				}
				else {
					updateElement( messageelementname, "Kostdagboken kunde inte tas bort.<BR>Felmeddelande: " + response );
				}
			}
			else {
				updateElement( messageelementname, "Det uppstod ett fel n&auml;r kostdagboken skulle tas bort!<BR>Felkod: " + deletedietdiarycatrequest.status );
			}
		}
		else {
			updateElement( messageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Tar bort kostdagbok... Var god v&auml;nta..." );
		}
	}
	deletedietdiarycatrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
	deletedietdiarycatrequest.send( paramurl );
}

function confirmDeleteDietdiary( userid, dietdiaryid, returnvalue ) {
	resetSubWorkspace();
	if( returnvalue == "" ) {
		paramvarvalue1 = userid; paramvarvalue2 = dietdiaryid; callbackfunctionname = "confirmDeleteDietdiary";
		confirmquestion = "&Auml;r du s&auml;ker p&aring; att du vill ta bort kostdagboken och alla poster i den?";
		paramurl = "paramvarvalue1=" + paramvarvalue1 + 
						"&paramvarvalue2=" + paramvarvalue2 + 
						"&callbackfunctionname=" + callbackfunctionname + 
						"&confirmquestion=" + escape( confirmquestion );
		getPage( "confirmpage.php", messageelementname, paramurl );
	}
	else {
		if( returnvalue == 1 ) {
			deleteDietdiary( userid, dietdiaryid );
		}
		else { }
		resetJustMessagespace();
	}
}

// Skapar ny kostdagbok åt den inloggade användaren
function saveDietdiaryChanges( userid, diaryid, dietdiarytablename ) {
	var savedietdiaryrequest = createRequest();
	admincommentsoption = $F( "admincommentsoption" );
	firstname = $F( "firstname" ).strip(); lastname = $F( "lastname" ).strip(); birthdate = $F( "birthdate" ).strip();
	paramurl = "firstname=" + escape( firstname ) + "&lastname=" + escape( lastname ) + "&birthdate=" + escape( birthdate ) + 
	"&admincommentsoption=" + admincommentsoption + "&diaryid=" + diaryid + "&pagetype=2&optype=3";
//	alert( paramurl );
 	if( firstname == "" ) { errormessages.push( "Du gl&ouml;mde att ange f&ouml;rnamnet p&aring; personen som den nya kostdagboken avser." ); }
 	if( lastname == "" ) { errormessages.push( "Du gl&ouml;mde att ange efternamnet p&aring; personen som den nya kostdagboken avser." ); }
 	if( !validateDate( birthdate ) ) { errormessages.push( "F&ouml;delsedatumet du angav &auml;r inte ett giltigt datum." ); }

 	if( errormessages.length > 0 ) {
		printErrors( messageelementname );
	}
	else {
		var url = "userdietdiarieshandler.php";
		savedietdiaryrequest.open( "POST", url, true );
		savedietdiaryrequest.onreadystatechange = function doDOMChanges() {
			if( savedietdiaryrequest.readyState == 4 ) {
				if( savedietdiaryrequest.status == 200 ) {
					emptyElement( messageelementname );
					response = savedietdiaryrequest.responseText;
					if( response == 1 ) {
						updateElement( submessageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> &Auml;ndringarna i kostdagboken sparades." );
						doUpdateDietdiaryAfterwork( dietdiarytablename );
					}
					else {
						updateElement( messageelementname, "Kostdagbokens &auml;ndringar kunde inte sparas.<BR>Felmeddelande: " + response );
					}
				}
				else {
					updateElement( messageelementname, "Det uppstod ett fel n&auml;r &auml;ndringarna i kostdagboken skulle sparas!<BR>Felkod: " + savedietdiaryrequest.status );
				}
			}
			else {
				updateElement( messageelementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Sparar &auml;ndringarna i kostdagboken... Var god v&auml;nta..." );
			}
		}
		savedietdiaryrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		savedietdiaryrequest.send( paramurl );
	}
}

function showDietdiaryPropertiesEditForm( userid, diaryid ) {
	getPage3( createRequest(), "dietdiaryeditpropertiesform.php", submessageelementname, subcontentelementname, "userid=" + userid + "&diaryid=" + diaryid, '', '' );
}

// Visar den aktuella kostdagboken
function showDietdiary( dietdiarytablename ) {
	resetWorkspace(); resetSubWorkspace();
	getPage3( createRequest(), "getdietdiary.php", messageelementname, contentelementname, "dietdiarytablename=" + dietdiarytablename, '', '' );
}

function setAdmincommentsoption( optvalue ) { $( "admincommentsoption" ).value = optvalue; }

// Skapar ny kostdagbok åt den inloggade användaren
function createNewDietdiary() {
	var elementname = "mainmessagespot";
	var newDietdiaryrequest = createRequest();
	admincommentsoption = $F( "admincommentsoption" );
	firstname = $F( "firstname" ).strip();
	lastname = $F( "lastname" ).strip();
	birthdate = $F( "birthdate" ).strip();
	paramurl = "firstname=" + escape( firstname ) + "&lastname=" + escape( lastname ) + "&birthdate=" + escape( birthdate ) + "&admincommentsoption=" + admincommentsoption + "&pagetype=2&optype=1";
//	alert( paramurl );
 	if( firstname == "" ) { errormessages.push( "Du gl&ouml;mde att ange f&ouml;rnamnet p&aring; personen som den nya kostdagboken avser." ); }
 	if( lastname == "" ) { errormessages.push( "Du gl&ouml;mde att ange efternamnet p&aring; personen som den nya kostdagboken avser." ); }
 	if( !validateDate( birthdate ) ) { errormessages.push( "F&ouml;delsedatumet du angav &auml;r inte ett giltigt datum." ); }

 	if( errormessages.length > 0 ) {
		printErrors( elementname );
	}
	else {
		var url = "userdietdiarieshandler.php";
		newDietdiaryrequest.open( "POST", url, true );
		newDietdiaryrequest.onreadystatechange = function doDOMChanges() {
			if( newDietdiaryrequest.readyState == 4 ) {
				if( newDietdiaryrequest.status == 200 ) {
					emptyElement( elementname );
					response = newDietdiaryrequest.responseText;
					if( response == 1 ) {
						updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Den nya kostdagboken skapades." );
						emptyMainMessagespot( 2000 );
						resetJustWorkspace();
						getPage3( createRequest(), "mydietdiarylist.php", messageelementname, "userdietdiarylist", '', '', '' );
					}
					else {
						updateElement( elementname, "Den nya kostdagboken kunde inte skapas.<BR>Felmeddelande: " + response );
					}
				}
				else {
					updateElement( elementname, "Det uppstod ett fel n&auml;r den nya kostdagboken skulle skapas!<BR>Felkod: " + newDietdiaryrequest.status );
				}
			}
			else {
				updateElement( elementname, "<IMG SRC=pics/loading.gif BORDER=0 ALIGN=BOTTOM STYLE=\"text-align:bottom;\"> Skapar ny kostdagbok... Var god v&auml;nta..." );
			}
		}
		newDietdiaryrequest.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded" );
		newDietdiaryrequest.send( paramurl );
	}
}

