var PageID = null;
var Path = null;

function Content_Load(title, pageID, path)
{
	try
	{
		CheckForFrameset();
		ChangeTitle(title);
		ReloadNavMenu(pageID, path);
	}
	catch(e)
	{
		self.status = "Error: " + e;
	}
}

function ChangeTitle(title)
{
	if(self.parent != null)
	{
		self.document.title = title;
		self.parent.document.title = title;
	}
}

function CheckForFrameset()
{
	if(self.frameElement == null)
	{
		if(self.location.href.indexOf("Content.aspx") > -1 && self.location.href.indexOf("noframes=true") == -1 && self.location.href.indexOf("editcontrol=") == -1 && self.location.href.indexOf("control=") == -1)
		{
			self.location = self.location.href.replace(/Content.aspx/, "Framework.aspx");
		}
	}
}

/*function ReloadNavMenu(pageID, path)
{
	var naviFrame = self.parent.frames["FrameNavMenu"];
		
	if(naviFrame != null)
	{
		if(naviFrame.document.readyState == "complete")
		{
			naviFrame.ReloadNavMenu(pageID, path);
		}
		else
		{
			PageID = pageID;
			Path = path;
			naviFrame.document.onreadystatechange = RetryReloadNavMenu;
		}
	}
}*/

function ReloadNavMenu(pageID, path)

{
	}

/*function RetryReloadNavMenu()
{
	var naviFrame = self.parent.frames["FrameNavMenu"];
	
	if(naviFrame.document.readyState == "complete")
	{
		//naviFrame.ReloadNavMenu(PageID, Path);
		//alert("COMPLETE NOW " + PageID + "|" + Path);
	}
}*/

function RemoveScrollBars()
{
	if(document.body.scroll != null)
	{
		document.body.scroll = "auto";
		document.body.style.overflowX = "hidden"; // hidden | scroll | auto
		document.body.style.overflowY = "auto";
	}
	else // #### MG: It's a different Browser (NN)
	{
		document.body.attributes("-moz-scrollbars-horizontal") = "scroll";
		document.body.attributes("-moz-scrollbars-vertical") = "no";
	}
}

function OpenCustomPopUpApp(base, url, width, height, resizable, location, menubar, scrollbars, status, titlebar, toolbar)
{
	var path = base + "Apps/PopUps/Framework.aspx?url=" + escape(url);
	var options = "width=" + width + ", height=" + height + ", resizable=" + (resizable ? 1 : 0) + ", location=" + (location ? 1 : 0) + ", menubar=" + (menubar ? 1 : 0) + ", scrollbars=" + (scrollbars ? 1 : 0) + ", status=" + (status ? 1 : 0) + ", titlebar=" + (titlebar ? 1 : 0) + ", toolbar=" + (toolbar ? 1 : 0);
	var win = window.open(path, "PopUp", options);
	win.focus();
}

function jumpTo(anchor)
{
	JumpToAnchor(anchor);
}

function JumpToAnchor(anchor)
{
	window.navigate("#" + anchor);
}

function JumpTo(obj)
{
	obj.scrollIntoView();
}

function JumpToControl(controlName)
{
	document.getElementById(controlName).scrollIntoView();
}

function Redaktion(pageID)
{
	var win = window.open("Apps/PopUps/Framework.aspx?url=" + escape("Editorial.aspx?id=" + pageID), "Redaktion", "toolbar=no, width=400, height=360, directories=no, status=no, scrollbars=no, resizable=no, menubar=no");
	win.focus();
}

function WritePageUpdateReminderString(ctlMessageLabelID, ctlReminderTimeID, ctlReminderReccurenceID, ctlReminderEndID, ctlReminderRecipientsID)
{
	
	var message = "";
	
	var ctlMessageLabel = eval('document.all.' + ctlMessageLabelID);
	var ctlReminderTime = eval('document.all.' + ctlReminderTimeID);
	var ctlReminderReccurence = eval('document.all.' + ctlReminderReccurenceID);
	var ctlReminderEnd = eval('document.all.' + ctlReminderEndID);
	var ctlReminderRecipients = eval('document.all.' + ctlReminderRecipientsID);
		
	var reminderTime = ctlReminderTime.value;
	var reminderReccurence = ctlReminderReccurence.value;
	var reminderEnd = ctlReminderEnd.value;
	var reminderRecipients = ctlReminderRecipients.value;
	
	var dateStart = "";
	var dateEnd = "";
		
	if (reminderTime == "")//no reminder
	{
		message = "";
	}
	else 
	{	
		dateStart = ConvertTodate(reminderTime);
		if (reminderReccurence == "")
		{
			//non reccuring reminder.
			message = "F&uuml;r diese Seite ist ein Reminder gesetzt : " + WriteDate(dateStart);
		}
		else	
		{
			var reccurenceExpired = false;
			//reccuring reminder
			
			//check if has expired
			if (reminderEnd != "")
			{
				dateEnd = ConvertTodate(reminderEnd);
				
				if (dateEnd < new Date)
				{
					message = ""//recurring reminder has expired
					reccurenceExpired = true;
				}
			}
			
			if (!reccurenceExpired)
			{
								
				// parse the reccurance settings
				var reccurenceParts = reminderReccurence.split(",");
				var type = reccurenceParts[0];
				
				var typeDescription = "";
				
				switch (type)
				{
					case "d":
					{
						typeDescription = "daily";
						var subType = reccurenceParts[1];
												
						
						message += "Diese Seite hat einen t&auml;glichen Aktualisierungs-Reminder mit folgenden Daten:<br>";
						
						if (subType == "w")
						{
							message = message + "  an jedem Werktag,";
						}
						else {
								if (subType == 1)
								{
									message = message + " jeden Tag,";
								}
								else
								{
									message = message + " jeden " + subType + ". Tag,";
								}

						}
						
						if (dateStart < new Date)
							message += " begonnen am ";
						else
							message += " beginnend am ";	
							
						message += WriteDate(dateStart);					
						
						if (reminderEnd != "")
							message += " bis einschlie&szlig;lich " + WriteDate(dateEnd);
							
						break;
					}
					case "w":
					{
						typeDescription = "weekly";
						
						var subType = reccurenceParts[1];
						var subType2 = reccurenceParts[2];
						
						var days = subType2.split(".");
						
						if (subType == 1)
						{
						message = "Diese Seite hat einen w&ouml;chentlichen Aktualisierungs-Reminder mit folgenden Daten:<br> jede Woche am ";
						}
						else
						{
						message = "Diese Seite hat einen w&ouml;chentlichen Aktualisierungs-Reminder mit folgenden Daten:<br> jede " + subType + ". Woche am ";
						}
						
						var selectedDays = 0;
						
						if (days[0] == "true"){
							message = message + " Montag";
							selectedDays += 1;
						}
							
						if (days[1] == "true"){
							if (selectedDays > 0)
								message += ", ";
								
							message = message + " Dienstag";
							selectedDays += 1;
						}
						
						if (days[2] == "true"){
							if (selectedDays > 0)
								message += ", ";
								
							message = message + " Mittwoch";
							selectedDays += 1;
						}						
							
						if (days[3] == "true"){
							if (selectedDays > 0)
								message += ", ";
								
							message = message + " Donnerstag";
							selectedDays += 1;
						}													
							
						if (days[4] == "true"){
							if (selectedDays > 0)
								message += ", ";
								
							message = message + " Freitag";
							selectedDays += 1;
						}																				
						
						if (days[5] == "true"){
							if (selectedDays > 0)
								message += ", ";
								
							message = message + " Samstag";
							selectedDays += 1;
						}
						
						if (days[6] == "true"){
							if (selectedDays > 0)
								message += ", ";
								
							message = message + " Sonntag";
							selectedDays += 1;
						}

						if (dateStart < new Date)
							message += ", begonnen am ";
						else
							message += ", beginnend am ";		
							
						message += WriteDate(dateStart);												
												
						if (reminderEnd != "")
							message += " bis einschlie&szlig;lich " + WriteDate(dateEnd);		
							
						break;				
																			
					}
					case "m":
					{
						typeDescription = "monthly";
						
						var subType = reccurenceParts[1];
						var subType2 = reccurenceParts[2];
						
						if (subType2 == 1)
						{
							message = "Diese Seite hat einen monatlichen Aktualisierungs-Reminder mit folgenden Daten:<br> am " + subType + ". jeden Monats,";
						}
						else
						{
							message = "Diese Seite hat einen monatlichen Aktualisierungs-Reminder mit folgenden Daten:<br> am " + subType + ". jeden " + subType2 + ". Monats,";
						}
						if (dateStart < new Date)
							message += " begonnen am ";
						else
							message += " beginnend am ";
							
						message += WriteDate(dateStart);
						
						if (reminderEnd != "")
							message += " bis einschlie&szlig;lich " + WriteDate(dateEnd);
						
						break;
					}
					case "y":
					{
						typeDescription = "yearly";
						
						var subType = reccurenceParts[1];
						var subType2 = reccurenceParts[2];
						
						var MonthArray = new Array("Januar", "Februar", "M&auml;rz",
                               "April", "Mai", "Juni",
                               "Juli", "August", "September",
                               "Oktober", "November", "Dezember")						
												
						message = "Diese Seite hat einen j&auml;hrlichen Aktualisierungs-Reminder mit folgenden Daten:<br> jeden " + subType2 + ". " + MonthArray[subType-1] + " eines Jahres,";
						
						if (dateStart < new Date)
							message += " begonnen am ";
						else
							message += " beginnend am ";
							
						message += WriteDate(dateStart);
						
						if (reminderEnd != "")
							message += " bis einschlie&szlig;lich " + WriteDate(dateEnd);							
						
						
						break;
					}
				}
			}
		}		
	}
	
	ctlMessageLabel.innerHTML = message;
}

function WriteDate(dateToOutput)
{
	var hours = dateToOutput.getHours();
	var minutes = dateToOutput.getMinutes();
	
	if (Number(hours) < 10)
		hours = "0" + String(hours)
		

	if (Number(minutes) < 10)
		minutes = "0" + String(minutes)
		
			
	return dateToOutput.toLocaleString().substr(0,dateToOutput.toLocaleString().length-3);
//	return dateToOutput.toLocaleString();
}

function ConvertTodate(string)
{
	
	var parts = string.split(" ");
	var date = parts[0];
	var time = parts[1];
	
	var newDate = new Date();
	var dateParts = date.split(".");
	
	if (dateParts.length == 3)
	{
		newDate.setFullYear(Number(dateParts[2]));
		newDate.setMonth(Number(dateParts[1]) - 1);
		newDate.setDate(Number(dateParts[0]));
	}
	
	var timeParts = time.split(":");
	
	if (timeParts.length == 2)
	{
		newDate.setHours(Number(timeParts[0]));
		newDate.setMinutes(Number(timeParts[1]));
	}
	
	return newDate;
}


