// JavaScript Document
var downStrokeField;
//NO IDEA where this is called, not Adam's
function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}
//NO IDEA where this is called, not Adam's
function formSelectPage(){
	if(document.getElementById("eachCategoryChange").value!=0){
		document.getElementById("old_category_name").value=document.getElementById("eachCategoryChange").value;
		document.getElementById("new_category_name").value=document.getElementById("eachCategoryChange").value;
		//Does not Submit
	}else{
		//alert('Please Select a Category first');
	}
}





//Used to jump from field to field for Phone Entry, for example
function autojump(fieldName,nextFieldName,fakeMaxLength){
	var myForm=document.forms[document.forms.length - 1];
	var myField=myForm.elements[fieldName];
	myField.nextField=myForm.elements[nextFieldName];
	if (myField.maxLength == null)
	   myField.maxLength=fakeMaxLength;
	myField.onkeydown=autojump_keyDown;
	myField.onkeyup=autojump_keyUp;
}
//ADD LOGIN
function loginButtonClick(){
	if(document.getElementById("formLoginUsername").value==''){
		alert('Please Enter a Username');
	}else if(document.getElementById("formLoginPassword").value==''){
		alert('Please Enter a Password');
	}else{
		document.getElementById("adminProcessType").value='Login';
		document.getElementById("adminForm").submit();
	}
}
//ADD PRODUCT
function addProductButtonClick(){
	document.getElementById("adminProcessType").value='Add Product';
	document.getElementById("adminForm").submit();
}

//ADD CATEGORY
function addCategoryButtonClick(){
	document.getElementById("adminProcessType").value='Add Category';
	document.getElementById("adminForm").submit();
}
//MANAGE CATEGORIES
function deleteCategoryButtonClick(){
	if(document.getElementById("formSelectCategory").value!=0){
		if (confirm("Are you sure you want to Delete this Category?\n\nALL PAGES IN THIS CATEGORY WILL BE DELETED!!!!")){
			document.getElementById("adminProcessType").value='Delete Category';
			document.getElementById("adminForm").submit();
		}
	}else{
		alert('Please Select a Category first');
	}
}
function renameCategoryButtonClick(){
	if(document.getElementById("formSelectCategory").value!=document.getElementById("formNewCategoryName").value){
			document.getElementById("adminProcessType").value='Rename Category';
			document.getElementById("adminForm").submit();
	}else{
		alert('You must type in a NEW name for this category');
	}
}

function formSelectCategoryChanged(){
	document.getElementById("formNewCategoryName").value=formatToPrettyName(document.getElementById("formSelectCategory").value);
	//Does not Submit
}
function selectClassToManageChanged(){
	for(var i=document.getElementById("formSelectCategory").options.length-1;i>=0;i--){
		document.getElementById("formSelectCategory").remove(i);
	}//clear select Box
	var newSelectOption = document.createElement("OPTION");
	newSelectOption.text = '---Select Category---';
	newSelectOption.value = '';
	document.getElementById("formSelectCategory").options.add(newSelectOption);
	switch(document.getElementById("formSelectClass").options[document.getElementById("formSelectClass").selectedIndex].value){
		case 'products':
			for ( var eachClass in classCategories['products'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategories['products'][eachClass]);
				newSelectOption.value = classCategories['products'][eachClass];
				document.getElementById("formSelectCategory").options.add(newSelectOption);
			}
			document.getElementById("formSelectCategory").disabled=false;
			break;
		case 'articles':
			for ( var eachClass in classCategories['articles'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = removeFileExtension(formatToPrettyName(classCategories['articles'][eachClass]));
				newSelectOption.value = classCategories['articles'][eachClass];
				document.getElementById("formSelectCategory").options.add(newSelectOption);
			}
			document.getElementById("formSelectCategory").disabled=false;
			break;
		default:
			break;
	}
}
//EDIT CONTENT
function saveProductButtonClick(modeSaveProductOrHomepage){
	document.getElementById("adminProcessType").value=modeSaveProductOrHomepage;
	document.getElementById("adminForm").submit();
}
function loadProductButtonClick(){
	document.getElementById("adminProcessType").value='Load Product';
	document.getElementById("adminForm").submit();
}
function moveProductButtonClick(){
	if(document.getElementById("formSelectMoveCategory").value ==''){
		alert('Please Select a Destination Folder');
	}else if (confirm("Are you sure you want to Move this content to the "+document.getElementById("formSelectMoveCategory").value+" Category?")){

		document.getElementById("adminProcessType").value='Move Product';
		document.getElementById("adminForm").submit();
	}
}
function deleteProductButtonClick(){
	if (document.getElementById("formSelectClass").value==''){
		alert('Please Select a Class & Content');
	}else if (document.getElementById("formSelectProduct").value==''){
		alert('Please Select a Content');
	}else if (confirm("Are you sure you want to delete this content")){
		document.getElementById("adminProcessType").value='Delete Product';
		document.getElementById("adminForm").submit();
	}
}
function renameProductButtonClick(){
	var newName='';
	if(document.getElementById("formSelectClass").options[ document.getElementById("formSelectClass").selectedIndex ].value==''){
		alert('Please Select a Content Type');
	}else if(document.getElementById("formSelectProduct").options[ document.getElementById("formSelectProduct").selectedIndex ].value==''){
		alert('Please Select Content to Rename');
	}else if(newName= prompt('Please Enter a New Product Name') ){
		document.getElementById("formNewFileName").value=newName;
		document.getElementById("adminProcessType").value='Rename Product';
		document.getElementById("adminForm").submit();
	}
}
function formatToPrettyName(uglyName){
	return capWords((uglyName.replace(/_/g,' ')).replace(/^\s+/,""));
}
function capWords(inputString) {
	var tmpStr, tmpChar, preString, postString, strlen;
	tmpStr = inputString.toLowerCase();
	stringLen = tmpStr.length;
	if (stringLen > 0){
		for (i = 0; i < stringLen; i++){
			if (i == 0){
				tmpChar = tmpStr.substring(0,1).toUpperCase();
				postString = tmpStr.substring(1,stringLen);
				tmpStr = tmpChar + postString;
			}else{
				tmpChar = tmpStr.substring(i,i+1);
				if (tmpChar == " " && i < (stringLen-1)){
					tmpChar = tmpStr.substring(i+1,i+2).toUpperCase();
					preString = tmpStr.substring(0,i+1);
					postString = tmpStr.substring(i+2,stringLen);
					tmpStr = preString + tmpChar + postString;
				}
			}
		}
	}
	return tmpStr;
}
function selectClassToAddChanged(){
	for(var i=document.getElementById("formCategory").options.length-1;i>=0;i--){
		document.getElementById("formCategory").remove(i);
	}//clear select Box
	switch(document.getElementById("formSelectClass").options[document.getElementById("formSelectClass").selectedIndex].value){
		case 'products':
			document.getElementById("AddContentFormCompanyName")	.style.display='block';
			document.getElementById("AddContentFormCategory")		.style.display='block';
			for ( var eachClass in classCategories['products'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategories['products'][eachClass]);
				newSelectOption.value = classCategories['products'][eachClass];
				document.getElementById("formCategory").options.add(newSelectOption);
			}
			if(contentTypePreferences['products']['enableRating']){
				document.getElementById("AddContentFormRating")			.style.display='block';
			}else{
				document.getElementById("AddContentFormRating")			.style.display='none';
			}
			if (intialPageLoadDontLoadTemplate==false){
				javascript:tinyMCE.get('formPageContent').setContent(createContentHTML);
			}else{
			}
			intialPageLoadDontLoadTemplate=false;

			document.getElementById("AddContentFormKeywords")		.style.display='block';
			document.getElementById("AddContentForm")				.style.display='block';
			document.getElementById("AddContentFormAccuracyDisclosure").style.display='block';
			break;
		case 'articles':
			document.getElementById("AddContentFormCompanyName")	.style.display='none';
			document.getElementById("AddContentFormCategory")		.style.display='block';
			for ( var eachClass in classCategories['articles'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = removeFileExtension(formatToPrettyName(classCategories['articles'][eachClass]));
				newSelectOption.value = classCategories['articles'][eachClass];
				document.getElementById("formCategory").options.add(newSelectOption);
			}
			javascript:tinyMCE.get('formPageContent').setContent('');
			if(contentTypePreferences['articles']['enableRating']){
				document.getElementById("AddContentFormRating")			.style.display='block';
			}else{
				document.getElementById("AddContentFormRating")			.style.display='none';
			}

			javascript:tinyMCE.get('formPageContent').setContent('');
			
			document.getElementById("AddContentFormKeywords")		.style.display='block';
			document.getElementById("AddContentForm")				.style.display='block';
			document.getElementById("AddContentFormAccuracyDisclosure").style.display='none';
			break;
		case 'pages':
			document.getElementById("AddContentFormCompanyName")	.style.display='none';
			document.getElementById("AddContentFormCategory")		.style.display='none';
			if(contentTypePreferences['pages']['enableRating']){
				document.getElementById("AddContentFormRating")			.style.display='block';
			}else{
				document.getElementById("AddContentFormRating")			.style.display='none';
			}
			javascript:tinyMCE.get('formPageContent').setContent('');
			document.getElementById("formPageContent").value='';
			document.getElementById("AddContentFormKeywords")		.style.display='block';
			document.getElementById("AddContentForm")				.style.display='block';
			document.getElementById("AddContentFormAccuracyDisclosure").style.display='none';
			break;
		case 'topMenu':
			document.getElementById("AddContentFormCompanyName")	.style.display='none';
			document.getElementById("AddContentFormCategory")		.style.display='none';
			if(contentTypePreferences['topMenu']['enableRating']){
				document.getElementById("AddContentFormRating")			.style.display='block';
			}else{
				document.getElementById("AddContentFormRating")			.style.display='none';
			}
			javascript:tinyMCE.get('formPageContent').setContent('');
			document.getElementById("formPageContent").value='';
			document.getElementById("AddContentFormKeywords")		.style.display='block';
			document.getElementById("AddContentForm")				.style.display='block';
			document.getElementById("AddContentFormAccuracyDisclosure").style.display='none';
		break;
		default:
			document.getElementById("AddContentForm")			.style.display='none';
			break;
	}
}
function selectManageContentClassChanged(intial){
	for(var i=document.getElementById("formSelectProduct").options.length-1;i>=0;i--){
		document.getElementById("formSelectProduct").remove(i);
	}//clear select Box
	for(var i=document.getElementById("formSelectMoveCategory").options.length-1;i>=0;i--){
		document.getElementById("formSelectMoveCategory").remove(i);
	}//clear select Box
	var selectedClass=document.getElementById("formSelectClass").options[document.getElementById("formSelectClass").selectedIndex].value;
	if (intial){
		//alert('Intial Load of Page='+intial);
	}else{
		var newSelectOption = document.createElement("OPTION");
		newSelectOption.text = '---Select Class Above---';
		newSelectOption.value = '';
		document.getElementById("formSelectProduct").options.add(newSelectOption);

		var newSelectOption = document.createElement("OPTION");
		newSelectOption.text = '---Select Class Above---';
		newSelectOption.value = '';
		document.getElementById("formSelectMoveCategory").options.add(newSelectOption);
	}
	switch(selectedClass){
		case 'products':
			for ( var eachClass in classCategoryFiles['products'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategoryFiles['products'][eachClass]);
				newSelectOption.value = classCategoryFiles['products'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			for ( var eachClass in classCategory['products'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategory['products'][eachClass]);
				newSelectOption.value = classCategory['products'][eachClass];
				document.getElementById("formSelectMoveCategory").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;

			break;
		case 'articles':
			for ( var eachClass in classCategoryFiles['articles'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategoryFiles['articles'][eachClass]);
				newSelectOption.value = classCategoryFiles['articles'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			for ( var eachClass in classCategory['articles'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategory['articles'][eachClass]);
				newSelectOption.value = classCategory['articles'][eachClass];
				document.getElementById("formSelectMoveCategory").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;
			break;
		case 'pages':
			for ( var eachClass in classFiles['pages'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = removeFileExtension(formatToPrettyName(classFiles['pages'][eachClass]));
				newSelectOption.value = classFiles['pages'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;
			break;
		case 'topMenu':
			for ( var eachClass in classFiles['topMenu'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = removeFileExtension(formatToPrettyName(classFiles['topMenu'][eachClass]));
				newSelectOption.value = classFiles['topMenu'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;
			break;
		default:
			var newSelectOption = document.createElement("OPTION");
			newSelectOption.text = '---Select Class ABOVE---';
			newSelectOption.value = '';
			document.getElementById("formSelectProduct").options.add(newSelectOption);
			document.getElementById("formSelectProduct").disabled=true;
			break;
	}
}
function selectContentClassToEditChanged(intial){
	for(var i=document.getElementById("formSelectProduct").options.length-1;i>=0;i--){
		document.getElementById("formSelectProduct").remove(i);
	}//clear select Box
	var selectedClass=document.getElementById("formSelectClass").options[document.getElementById("formSelectClass").selectedIndex].value;
	if (intial){
		if(contentTypePreferences[selectedClass]['enableRating']){
			document.getElementById("EditContentFormRating")			.style.display='block';
		}else{
			document.getElementById("EditContentFormRating")			.style.display='none';
		}
		if (selectedClass=='products'){
			document.getElementById("EditContentFormAccuracyDisclosure")	.style.display='block';
		}else{
			document.getElementById("EditContentFormAccuracyDisclosure")	.style.display='none';
		}
		document.getElementById("EditContentPageContent")				.style.display='block';
		document.getElementById("EditContentFormKeywords")				.style.display='block';
	}else{
		document.getElementById("EditContentFormAccuracyDisclosure")	.style.display='none';
		document.getElementById("EditContentPageContent")				.style.display='none';
		document.getElementById("EditContentFormKeywords")				.style.display='none';
		document.getElementById("EditContentFormRating")				.style.display='none';
	}
	switch(selectedClass){
		case 'products':
			for ( var eachClass in classCategoryFiles['products'] ){
				var newSelectOption = document.createElement("OPTION");
				if(document.getElementById("defaultFormSelectProduct").value==classCategoryFiles['products'][eachClass] ){
					newSelectOption.selected = true;
				}
				newSelectOption.text = formatToPrettyName(classCategoryFiles['products'][eachClass]);
				newSelectOption.value = classCategoryFiles['products'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;

			break;
		case 'articles':
			for ( var eachClass in classCategoryFiles['articles'] ){
				var newSelectOption = document.createElement("OPTION");
				if(document.getElementById("defaultFormSelectProduct").value==classCategoryFiles['articles'][eachClass] ){
					newSelectOption.selected = true;
				}
				newSelectOption.text = formatToPrettyName(classCategoryFiles['articles'][eachClass]);
				newSelectOption.value = classCategoryFiles['articles'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;
			break;
		case 'pages':
			for ( var eachClass in classFiles['pages'] ){
				var newSelectOption = document.createElement("OPTION");
				if (classFiles['pages'][eachClass] ){ 
					if(document.getElementById("defaultFormSelectProduct").value==classFiles['pages'][eachClass] ){
						newSelectOption.selected = true;
					}
				}
				newSelectOption.text = removeFileExtension(formatToPrettyName(classFiles['pages'][eachClass]));
				newSelectOption.value = classFiles['pages'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;
			break;
		case 'topMenu':
			for ( var eachClass in classFiles['topMenu'] ){
				var newSelectOption = document.createElement("OPTION");
				if(document.getElementById("defaultFormSelectProduct").value==classFiles['topMenu'][eachClass] ){
					newSelectOption.selected = true;
				}
				newSelectOption.text = removeFileExtension(formatToPrettyName(classFiles['topMenu'][eachClass]));
				newSelectOption.value = classFiles['topMenu'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			document.getElementById("formSelectProduct").disabled=false;
			break;
		default:
			var newSelectOption = document.createElement("OPTION");
			newSelectOption.text = '---Select Class ABOVE---';
			newSelectOption.value = '';
			document.getElementById("formSelectProduct").options.add(newSelectOption);
			document.getElementById("formSelectProduct").disabled=true;
			break;
	}
}
function selectCategoryClassToEditChanged(){
	for(var i=document.getElementById("formSelectProduct").options.length-1;i>=0;i--){
		document.getElementById("formSelectProduct").remove(i);
	}//clear select Box
	switch(document.getElementById("formSelectClass").options[document.getElementById("formSelectClass").selectedIndex].value){
		case 'products':
			for ( var eachClass in classCategoryFiles['products'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategoryFiles['products'][eachClass]);
				newSelectOption.value = classCategoryFiles['products'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			break;
		case 'articles':
			for ( var eachClass in classCategoryFiles['articles'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = formatToPrettyName(classCategoryFiles['articles'][eachClass]);
				newSelectOption.value = classCategoryFiles['articles'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			break;
		case 'pages':
			for ( var eachClass in classFiles['pages'] ){
				var newSelectOption = document.createElement("OPTION");
				newSelectOption.text = removeFileExtension(formatToPrettyName(classFiles['pages'][eachClass]));
				newSelectOption.value = classFiles['pages'][eachClass];
				document.getElementById("formSelectProduct").options.add(newSelectOption);
			}
			break;
		case 'topMenu':
			break;
		default:
			break;
	}
}
function removeFileExtension(strName){
	var indexOfPeriod=strName.indexOf('.');
	if (indexOfPeriod>-1){
		return strName.substring(0, indexOfPeriod);
	}
	return strName;
}
function selectProductChanged(){
	document.getElementById("EditContentForm").style.display='none';;
	//nothing happens
}
function selectManageContentProductChanged(){
	var selectedProduct=document.getElementById("formSelectProduct").options[document.getElementById("formSelectProduct").selectedIndex].value;
	document.getElementById("formNewProductName").value=formatToPrettyName(removeFileExtension(selectedProduct));
}
function moveCategoryChanged(){
	//nothing happens
}
//SET PREFERENCES
function setPreferencesButtonClick(){
	if(document.getElementById("formAdminUsername").value==''){
		alert('You must enter an Admin Username');
	}else if(document.getElementById("formAdminPassword").value==''){
		alert('You must enter a Admin Password');
	}else if(document.getElementById("formSiteName").value==''){
		alert('You must enter a Site Name');
	//formSiteFolder NOT REQUIRED
	}else if(document.getElementById("formCompanyName").value==''){
		alert('You must enter a Company Name');
	}else{
		document.getElementById("adminProcessType").value='Set Preferences';
		document.getElementById("adminForm").submit();
	}
}
//MODERATE COMMENTS
function processChangesButtonClick(){
	document.getElementById("adminProcessType").value='Process Comments';
	document.getElementById("adminForm").submit();
}
//alert('javascript loaded');
//-->
