/*                                                 */
/* Multiple Client Management System               */
/* MCM CMS Version 5.7.1 GGM 11/11/2009         */
/* Copyright Alpha Scientific Solutions 2008       */
/* Do not delete or edit these six commented rows  */
/*                                                 */

function isInteger(s) {
  return (s.toString().search(/^-?[0-9]+$/) == 0);
}

function ReplaceTemplateNow (NTN) {
	var AnswerText = '';
	//if (!(window.onload)) { setTimeout("ReplaceTemplate (NTN);", 1000); }
	var Answer = confirm ("Are You sure you want to replace the template ?");
	if (Answer) { 
		AnswerText = "ReplaceConfirmed";
		if (document.getElementById("NewTemplateName")) { document.getElementById("NewTemplateName").value = NTN; }
		if (document.getElementById("CMSMessage")) { document.getElementById("CMSMessage").innerHTML = "Template Replaced."; }
	}
	else { 
		AnswerText = "ReplaceCancelled";
		if (document.getElementById("CMSMessage")) { document.getElementById("CMSMessage").innerHTML = "Replacing Template Cancelled."; }
	}
	if (document.getElementById("ReplaceTemplateConfirm")) {
		document.getElementById("ReplaceTemplateConfirm").value = AnswerText; }
	else { alert ("ReplaceTemplateConfirm does not exist."); }
	return Answer;
}

function ReplaceTemplate (NTN) {
	window.onload = ReplaceTemplateNow (NTN);
}

function DeleteTemplate (NT) {
	if (document.getElementById("TemplateNumber")) {
		var DelNum = document.getElementById("TemplateNumber").value;
		if (isInteger(DelNum)) {
			IntNum = parseInt(DelNum);
			if ((IntNum >=0) && (IntNum < NT)) {
				var AnswerText = '';
				var Answer = confirm ('Are You sure you want to delete the template number '+IntNum+' ?');
				if (Answer) { 
					AnswerText = 'DeleteConfirmed';
					if (document.getElementById("CMSMessage")) { document.getElementById("CMSMessage").innerHTML = "Template Deleted."; }
				} // yes, delete it
				else { 
					AnswerText = 'DeleteCancelled';
					if (document.getElementById("CMSMessage")) { document.getElementById("CMSMessage").innerHTML = "Deleting Template Cancelled."; }
				} // no, do not delete it
				document.getElementById('DeleteTemplateConfirm').value = AnswerText;
				return Answer;
			}
			else { alert ("Input: " + IntNum + " is not in the valid range from 0 ... " + (NT-1) + " . Deletion cancelled."); }
		}
		else { alert ("Input: " + DelNum + " must be an integer number. Deletion cancelled."); }
	}
	else { alert ("TemplateNumber Input Field does not exist. Deletion cancelled."); }
}

function UpdateAppearance (DivId, FC, BC, FileName, InputForeId, InputBackId) {
	if (document.getElementById(DivId)) { // check if element exists
		document.getElementById(DivId).style.backgroundColor = BC;
		if (FileName != "") {
			document.getElementById(DivId).style.backgroundImage = FileName;
		}
		if ((DivId == "header") || (DivId == "topnav") || (DivId == "left") || (DivId == "content") || (DivId == "footer")) {
			document.getElementById(DivId).style.color = FC;
			if (document.getElementById(InputForeId)) { // check if element exists
				document.getElementById(InputForeId).style.backgroundColor = FC;
				document.getElementById(InputBackId).style.backgroundColor = BC;
			}
		}
	}
}

function PickTextColor (DivId, InputId) {
	$(document).ready(function() { $("#colorpicker").farbtastic("#" + InputId); });
	/* note: link: before visit, alink: onmouseover (active), vlink: visited */
	if ((DivId == 'topnav') || (DivId == 'left')) {
		$(document).ready(function() { 
			$("#colorpicker").mousemove(function () {
				document.getElementById(DivId).linkcolor = document.getElementById(InputId).style.backgroundColor;
			}); 
		});
		$(document).ready(function() { 
			$("#colorpicker").click(function () {
				document.getElementById(DivId).linkcolor = document.getElementById(InputId).style.backgroundColor;
			}); 
		});
	}
	else {
		$(document).ready(function() { 
			$("#colorpicker").mousemove(function () {
				document.getElementById(DivId).style.color = document.getElementById(InputId).style.backgroundColor;
			}); 
		});
		$(document).ready(function() { 
			$("#colorpicker").click(function () {
				document.getElementById(DivId).style.color = document.getElementById(InputId).style.backgroundColor;
			}); 
		});
	}
}

function PickBackgroundColor (DivId, InputId) {
	$(document).ready(function() { $("#colorpicker").farbtastic("#" + InputId); });
	$(document).ready(function() { 
		$("#colorpicker").mousemove(function () {
			document.getElementById(DivId).style.backgroundColor = document.getElementById(InputId).style.backgroundColor;
		}); 
	});
	$(document).ready(function() { 
		$("#colorpicker").click(function () {
			document.getElementById(DivId).style.backgroundColor = document.getElementById(InputId).style.backgroundColor;
		}); 
	});
}

function PreviewSidebar (SidebarForm, MoveText) {
	var StyleTag = "left";
	var VeryNarrow = "75";
	var Narrow = "95";
	var Medium = "145";
	var Wide = "195";
	var VeryWide = "225";
	if (document.getElementById(StyleTag)) { // check if element exists
		if (SidebarForm["SidebarWidth"].value == "verynarrow") { SidebarForm["SidebarPixels"].value = VeryNarrow; }
		else if (SidebarForm["SidebarWidth"].value == "narrow") { SidebarForm["SidebarPixels"].value = Narrow; }
		else if (SidebarForm["SidebarWidth"].value == "medium") { SidebarForm["SidebarPixels"].value = Medium; }
		else if (SidebarForm["SidebarWidth"].value == "wide") { SidebarForm["SidebarPixels"].value = Wide; }
		else if (SidebarForm["SidebarWidth"].value == "verywide") { SidebarForm["SidebarPixels"].value = VeryWide; }
		else {}
		document.getElementById(StyleTag).style.width = SidebarForm["SidebarPixels"].value + "px";
		document.getElementById("content").style.width = (695 - SidebarForm["SidebarPixels"].value) + "px";
	}
}

function PreviewFooter (FooterForm, MoveText) {
	var StyleTag = "footerString";
	if (document.getElementById(StyleTag)) { // check if element exists
		document.getElementById(StyleTag).innerHTML = FooterForm["FooterText"].value;
		document.getElementById(StyleTag).style.fontSize = FooterForm["FooterSize"].value + "pt";
		document.getElementById(StyleTag).style.fontFamily = FooterForm["FooterFont"].value;
		if (FooterForm["FooterBold"].checked) { document.getElementById(StyleTag).style.fontWeight = "bold"; }
		else { document.getElementById(StyleTag).style.fontWeight = "normal"; }
		if (FooterForm["FooterItalic"].checked) { document.getElementById(StyleTag).style.fontStyle = "italic"; }
		else { document.getElementById(StyleTag).style.fontStyle = "normal"; }
	}
}

function PreviewHeader (HeaderForm, MoveText) {
	var NewSpace = 10;
	var NewLeft = 0;
	var NewRight = 0;
	var TempStr = "";
	if (document.getElementById("headerSiteName")) { // check if element exists
		document.getElementById("headerSiteName").innerHTML = HeaderForm["SiteName"].value;
		document.getElementById("headerSiteName").style.fontSize = HeaderForm["SiteNameSize"].value + "pt";
		document.getElementById("headerSiteName").style.fontFamily = HeaderForm["SiteNameFont"].value;
		if (HeaderForm["HeaderBold"].checked) { document.getElementById("headerSiteName").style.fontWeight = "bold"; }
		else { document.getElementById("headerSiteName").style.fontWeight = "normal"; }
		if (HeaderForm["HeaderItalic"].checked) { document.getElementById("headerSiteName").style.fontStyle = "italic"; }
		else { document.getElementById("headerSiteName").style.fontStyle = "normal"; }
	}
	if (document.getElementById("headerSpace")) { // check if element exists
		if (MoveText == "down") {
			NewSpace = parseInt (HeaderForm["HeaderSpace"].value) + 1;
			if (NewSpace <= 66) {
				HeaderForm["HeaderSpace"].value = NewSpace;
				document.getElementById("headerSpace").style.fontSize = NewSpace + "pt";
			}
		}
		if (MoveText == "up") {
			NewSpace = parseInt (HeaderForm["HeaderSpace"].value) - 1;
			if (NewSpace >= 0) {
				HeaderForm["HeaderSpace"].value = NewSpace;
				document.getElementById("headerSpace").style.fontSize = NewSpace + "pt";
			}
		}
		if (MoveText == "left") {
			NewLeft = parseInt (HeaderForm["HeaderLeft"].value);
			NewRight = parseInt (HeaderForm["HeaderRight"].value);
			TempStr = "";
			if (NewLeft > 0) {
				NewLeft--;
				for (var i = 0; i < NewLeft; i++){ TempStr += "&nbsp;"; }
				HeaderForm["HeaderLeft"].value = NewLeft;
				if (document.getElementById("headerLeftS")) { // check if element exists
					document.getElementById("headerLeftS").innerHTML = TempStr;
				}
			}
			else {
				NewRight++;
				if (NewRight <= 99) {
					for (var i = 0; i < NewRight; i++){ TempStr += "&nbsp;"; }
					HeaderForm["HeaderRight"].value = NewRight;
					if (document.getElementById("headerRightS")) { // check if element exists
						document.getElementById("headerRightS").innerHTML = TempStr;
					}
				}
			}
		}
		if (MoveText == "right") {
			NewLeft = parseInt (HeaderForm["HeaderLeft"].value);
			NewRight = parseInt (HeaderForm["HeaderRight"].value);
			TempStr = "";
			if (NewRight > 0) {
				NewRight--;
				for (var i = 0; i < NewRight; i++){ TempStr += "&nbsp;"; }
				HeaderForm["HeaderRight"].value = NewRight;
				if (document.getElementById("headerRightS")) { // check if element exists
					document.getElementById("headerRightS").innerHTML = TempStr;
				}
			}
			else {
				NewLeft++;
				if (NewLeft <= 99) {
					for (var i = 0; i < NewLeft; i++){ TempStr += "&nbsp;"; }
					HeaderForm["HeaderLeft"].value = NewLeft;
					if (document.getElementById("headerLeftS")) { // check if element exists
						document.getElementById("headerLeftS").innerHTML = TempStr;
					}
				}
			}
		}
	}
}

function SizeInput (Button, OriginalWidth, OriginalHeight) {
	var InputWidth = "ImageWidth";
	var InputHeight = "ImageHeight";
	if  (document.getElementById(InputWidth)) {
		if  (document.getElementById("ImageOriginal").checked) {
			document.getElementById(InputWidth).disabled = true;
			document.getElementById(InputHeight).disabled = true;
			var NewWidth = OriginalWidth;
			var NewHeight = OriginalHeight;
		}
		else {
			document.getElementById(InputWidth).disabled = false;
			var NewWidth = document.getElementById(InputWidth).value;
			if  (document.getElementById("ImageRatio").checked) {
				document.getElementById(InputHeight).disabled = true;
				var NewWidth = document.getElementById(InputWidth).value;
				var NewHeight = parseInt (document.getElementById(InputWidth).value) * parseInt (OriginalHeight) / parseInt (OriginalWidth);
			}
			else {
				document.getElementById(InputHeight).disabled = false;
				var NewWidth = document.getElementById(InputWidth).value;
				var NewHeight = document.getElementById(InputHeight).value;
			}
		}
		if (document.getElementById("NewImage")) {
			UpdateImageSize (NewWidth, NewHeight);
		}
	}
}

function UpdateSidebar (Width) {
	var StyleTag = "left";
	if (document.getElementById(StyleTag)) { // check if element exists
		document.getElementById(StyleTag).style.width = Width + "px";
		document.getElementById("content").style.width = (695 - Width) + "px";
	}
}

function UpdateFooter (FooterText, FontSize, FontName, FontWeight, FontStyle) {
	var StyleTag = "footerString";
	if (document.getElementById(StyleTag)) { // check if element exists
		document.getElementById(StyleTag).innerHTML = FooterText;
		document.getElementById(StyleTag).style.fontSize = FontSize + "pt";
		document.getElementById(StyleTag).style.fontFamily = FontName;
		document.getElementById(StyleTag).style.fontWeight = FontWeight;
		document.getElementById(StyleTag).style.fontStyle = FontStyle;
	}
}

function UpdateHeader (HeaderText, FontSize, FontName, FontWeight, FontStyle, HeaderSpace, HeaderLeft, HeaderRight) {
	if (document.getElementById("headerSiteName")) { // check if element exists
		document.getElementById("headerSiteName").innerHTML = HeaderText;
		document.getElementById("headerSiteName").style.fontSize = FontSize + "pt";
		document.getElementById("headerSiteName").style.fontFamily = FontName;
		document.getElementById("headerSiteName").style.fontWeight = FontWeight;
		document.getElementById("headerSiteName").style.fontStyle = FontStyle;
	}
	if (document.getElementById("headerSpace")) { // check if element exists
		document.getElementById("headerSpace").style.fontSize = HeaderSpace + "pt";
	}
	if (document.getElementById("headerLeftS")) { // check if element exists
		TempStr = "";
		for (var i = 0; i < HeaderLeft; i++){ TempStr += "&nbsp;"; }
		document.getElementById("headerLeftS").innerHTML = TempStr;
	}
	if (document.getElementById("headerRightS")) { // check if element exists
		TempStr = "";
		for (var i = 0; i < HeaderRight; i++){ TempStr += "&nbsp;"; }
		document.getElementById("headerRightS").innerHTML = TempStr;
	}
}

function UpdateMargins (Horizontal, Vertical) {
	if (document.getElementById("NewImage")) { // check if element exists
		/*document.getElementById("NewImage").style.marginRight = Horizontal + "em";
		document.getElementById("NewImage").style.marginBottom = Vertical + "em";
		/* IE comes back with "invalid argument" */
	}
}

function UpdateBorderColor (UpdateWidth, UpdateColor) {
	if (document.getElementById("NewImage")) { // check if element exists
		document.getElementById("NewImage").border = UpdateWidth;
		document.getElementById("NewImage").style.borderColor = UpdateColor;
	}
}

function UpdateImageSize (UpdateWidth, UpdateHeight) {
	if (document.getElementById("NewImage")) { // check if element exists
		document.getElementById("NewImage").width = UpdateWidth;
		document.getElementById("NewImage").height = UpdateHeight;
		document.getElementById("NewImage").style.width = UpdateWidth + "px";
		document.getElementById("NewImage").style.height = UpdateHeight + "px";
	}
}

function PickBorderColor () {
	$(document).ready(function() { $("#colorpicker").farbtastic("#BorderColor"); });
	$(document).ready(function() { 
		$("#colorpicker").mousemove(function () {
			document.getElementById("NewImage").style.borderColor = document.getElementById("BorderColor").style.backgroundColor;
		}); 
	});
	$(document).ready(function() { 
		$("#colorpicker").click(function () {
			document.getElementById("NewImage").style.borderColor = document.getElementById("BorderColor").style.backgroundColor;
		}); 
	});
}

function UpdateCaptionColor (UpdateColor) {
	if (document.getElementById("NewCaption")) { // check if element exists
		document.getElementById("NewCaption").style.background = UpdateColor;
	}
}

function PickCaptionColor () {
	$(document).ready(function() { $("#colorpicker").farbtastic("#CaptionBackground"); });
	//$(document).ready(function() { 
	//	$("#colorpicker").mousemove(function () {
	//		alert("Hello World!"); 
	//	}); 
	//});
	// the above works and produces the alert window every time the mouse moves over the color picker
	$(document).ready(function() { 
		$("#colorpicker").mousemove(function () {
			document.getElementById("NewCaption").style.background = document.getElementById("CaptionBackground").style.backgroundColor;
			// style.color of the input field is the text color
		}); 
	});
	$(document).ready(function() { 
		$("#colorpicker").click(function () {
			document.getElementById("NewCaption").style.background = document.getElementById("CaptionBackground").style.backgroundColor;
			// style.color of the input field is the text color
		}); 
	});
	//$(document).ready(function() { $("#colorpicker").mousemove("#NewCaption"); });
}

function ReplaceNewImage (ReplaceWith) {
	if (document.getElementById("NewImage")) { // check if element exists
		document.getElementById("NewImage").src = ReplaceWith;
		document.getElementById("NewImage").style.width = "";
	}
}

function RemoveColorPicker () {
	if (document.getElementById("colorpicker")) { // check if element exists
		document.getElementById("colorpicker").style.width = 0;
	}
}

function ActivateColorPicker (BackColor) {
	//alert ('In ActivateColorPicker');
	//document.getElementById("colorpicker").style.color="#abcdef"; // does this work on text?
	if (document.getElementById("colorpicker")) { // check if color picker div exists
		document.getElementById("colorpicker").style.background = BackColor; // sets the background of the color picker div
	}
	return false;
}

function DeletePage (CurrentPage) {
	// is called with onclick of the "Delete Page" button in ShowEdit()
	//alert ('In DeletePage.');
	//alert ('Window location: ' + window.location);
	// returns either "http://www.mioffices.com/glory/", coming in fresh
	// or "http://www.mioffices.com/glory/bar-c-ranch?action=MainEdit", after using a nav link
	var AnswerText = '';
	var Answer = confirm ('Are You sure you want to delete the page \n' + CurrentPage + '   ?');
	if (Answer) { 
		//alert('Answer is OK.'); // works
		AnswerText = 'DeleteConfirmed';
	} // yes, delete page
	else { 
		//alert('Answer is Cancel.'); // works
		AnswerText = 'DeleteCancelled';
	} // no, do not delete page
	document.getElementById('DeletePageConfirm').value = AnswerText;
	//alert ('Answer text: ' + AnswerText);
	//window.location = 'http://www.mioffices.com/glory/'; //does not redirect here: too late!
	return Answer;
};

