// ---------------------- Misc Functions ----------------------------

function previewPage(url){
	window.open(url);
}
function popup(url,h,w){
	window.open(url,'New_Window','width=' + w + ',height=' + h);
}
function countBoxes(){
	var boxes = 0; 
	for(var i = 0;i < document.all.length; i++){
		if(document.all[i].className == 'box'){
			boxes++;
		}
	}
	return boxes;
}
function gotoPage(url){
	window.location = url;
}
function changeTo(id){
	for(var i = countBoxes(); i != 0; i--){
		document.getElementById('box' + i).style.display = 'none';
	}
	document.getElementById('menu').style.display = 'none';
	document.getElementById(id).style.display = 'block';
}

function resetFrm(id){
	var frm = document.getElementById(id);
	frm.submit();
}

function selectType(id){
	var frm = document.getElementById(id);
	if(id == 'pageedit' || id == 'pageadd1'){
		if(frm.edittype.value != '-'){
			frm.mode.value = 'select' + id;
		}
	}else if(id == 'pageadd'){
		if(frm.addtype.value != '-'){
			frm.mode.value = 'select' + id;
		}
	}else{
		if(frm.assigntype.value != '-'){
			frm.mode.value = 'select' + id;
		}
	}
	frm.submit();
}

function previewImage(id,pth){
	var url = document.getElementById(id).value;
	if(url == '-'){
		alert('No image selected.')
	}else{
		window.open(pth + 'EMcmsData/images/' + url,'image','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0,width=500,height=500,top=100,left=100');
	}
}
function uploadImage(id){
	var frm = document.getElementById(id);
	var regEx = new RegExp('(\.jpg)|(\.gif)|(\.png)');
	if(!regEx.exec(frm.imagefile.value.toLowerCase())){
		alert('You can only upload images. (.jpg .gif .png)');
	}else{
		frm.mode.value = 'uploadImage';
		frm.submit();
	}
}
function uploadFile(id){
	var frm = document.getElementById(id);
	var regEx = new RegExp('(\.pdf)|(\.avi)|(\.mpg)|(\.doc)');
	if(!regEx.exec(frm.file.value.toLowerCase())){
		alert('You can only upload Word, PDF or Movie Files. (.doc .pdf .avi .mpg)');
	}else{
		frm.mode.value = 'upload';
		frm.submit();
	}
}
function removeLink(id){
	var t_or_f = true;
	t_or_f = confirm('Are you sure you wish to remove this page from this category?');
	if(t_or_f){
		document.assignment.mode.value = 'removeLink';
		document.assignment.remove.value = id;
		document.assignment.submit();
	}
}
function browsePages(bID,type,tID,box){
	changeTo(box);
	document.pagesel.backID.value   = bID;
	document.pagesel.thisID.value   = tID;
	document.pagesel.thisType.value = type;
}
function dynamicTo(){
	changeTo(document.pagesel.backID.value);
}
function addToBox(type,item){
	document.pagesel.id.value   = document.pagesel.backID.value;
	document.pagesel.mode.value = 'dbasesavelink';
	document.pagesel.submit();
	
}
// ------------------- Dynamic Dropdown Navigation ------------------

function updateSort(id){
	var frm  = document.getElementById(id);
	var sort = eval('frm.sort' + id + '.value');
	if(sort != '-'){
		frm.level.value = 1;
		frm.mode.value = id + 'sort';
		frm.submit();
	}else{
		frm.mode.value = '';
		frm.submit();
	}
}
function updateCat(level,current,id){
	var frm = document.getElementById(id);
	if(current.value != '-'){
		level++;
		for(i = 0; i != (level-1); i++){
			thisID = i + 1;
			frm.cattotal.value = frm.cattotal.value + document.getElementById(id + thisID).value + ',';
		}
		frm.level.value = level;
		frm.mode.value = id + 'sub';
		frm.submit();
	}else{
		if(level != 1){
			frm.level.value = level;
			for(i = 0; i != (level-1); i++){
			thisID = i + 1;
				frm.cattotal.value = frm.cattotal.value + document.getElementById(id + thisID).value + ',';
			}
			frm.mode.value  = id + 'sub';
			frm.submit();
		}else{
			frm.mode.value = '';
			frm.submit();
		}
	}
}
function updatePage(id,current){
	var frm = document.getElementById(id);
	if(current.value != '-'){
		frm.mode.value = id + 'go';
		frm.submit();
	}else{
		frm.mode.value  = '';
		frm.submit();
	}
}

// --------------------------- Mode Change --------------------------
function linkForm(i,emailID,frmname){
	var frm = document.getElementById(frmname);
	var sel = eval('document.' + frmname + '.linkForm_' + i);
	var t_or_f = true;
	if(sel.value == '-'){
		alert('Please select a form ID');
		t_or_f = false;
	}
	if(t_or_f){
		frm.mode.value      = 'dbaseaddemailform';
		frm.emailID.value   = emailID;
		frm.formID.value    = sel.value;
		frm.submit();
	}
}
function modifyEmails(frmname){
	var frm = document.getElementById(frmname);
	frm.mode.value      = 'dbasesaveemails';
	frm.submit();
}
function selectFormLink(frmname){
	var frm = document.getElementById(frmname);
	frm.pageType.value  = 'form';
	frm.mode.value      = 'selectForm';
	frm.submit();
}
function createOption(fid,frmname){
	var frm = document.getElementById(frmname);
	frm.thisFID.value   = fid;
	frm.mode.value      = 'dbaseoptioncreate';
	frm.submit();
}
function modifyField(frmname){
	var frm = document.getElementById(frmname);
	frm.mode.value      = 'dbasesaveall';
	frm.submit();
}

function disableField(id,mode,frmname){
	var frm = document.getElementById(frmname);
	frm.edit.value      = id;
	frm.direction.value = mode; 
	frm.mode.value      = 'dbasedisable';
	frm.submit();
}

function selectForm(frmname,sel){
	var frm = document.getElementById(frmname);
	if(sel.value != '-'){
		frm.mode.value = 'frmselect' + frmname;
		frm.submit();
	}else{
		frm.submit();
	}
}

function newLink(frmname){
	var frm = document.getElementById(frmname);
	var t_or_d = true;
	t_or_f = validate(frmname);
	if(t_or_f){
		frm.mode.value  = 'dbasenewlink';
		frm.thislink.value = frmname;
		frm.submit();
	}
}

function moveLink(id,mode,order,frmname){
	var frm = document.getElementById(frmname);
	frm.edit.value      = id;
	frm.thislink.value  = frmname;
	frm.direction.value = mode; 
	frm.order.value     = order; 
	frm.mode.value      = 'dbasemovelink';
	frm.submit();
}
function moveField(id,mode,order,frmname){
	var frm = document.getElementById(frmname);
	frm.edit.value      = id;
	frm.direction.value = mode; 
	frm.order.value     = order; 
	frm.mode.value      = 'dbasemovefield';
	frm.submit();
}
function moveOption(id,mode,order,fid,frmname){
	var frm = document.getElementById(frmname);
	frm.edit.value      = id;
	frm.direction.value = mode; 
	frm.order.value     = order; 
	frm.thisFID.value   = fid;
	frm.mode.value      = 'dbasemoveoption';
	frm.submit();
}
function disableSetting(id,mode){
	var frm = document.getElementById('viewsettings');
	frm.del.value  = id;
	frm.act.value  = mode;
	frm.mode.value = 'dbaseactsetting';
	frm.submit();
}
function disableStyle(id,mode){
	var frm = document.getElementById('viewstyles');
	frm.del.value  = id;
	frm.act.value  = mode;
	frm.mode.value = 'dbaseactstyle';
	frm.submit();
}
function disableStyleMoz(id,mode){
	var frm = document.getElementById('viewstylesmoz');
	frm.del.value  = id;
	frm.act.value  = mode;
	frm.mode.value = 'dbaseactstylemoz';
	frm.submit();
}
function viewLinks(){
	if(document.elinks.linkid.value != '-'){
		document.elinks.mode.value = 'viewLinks';
		document.elinks.submit();
	}else{
		alert('No link page selected.');
	}
}
function modifyDownload(id,form){
	var frm = document.getElementById(form);
	frm.edit.value = id;
	frm.mode.value = 'dbasemodfile';
	frm.submit();
}
function assignPage(id,form){
	var frm = document.getElementById(form);
	frm.edit.value = id;
	frm.mode.value = 'dbasepageassign';
	frm.submit();
}
function viewPage(id,form){
	var frm = document.getElementById(form);
	frm.edit.value = id;
	frm.mode.value = 'showassigned';
	frm.submit();
}
function dbase(id){
	var frm = document.getElementById(id);
	var t_or_f = true;
	t_or_f = validate(id)
	if(t_or_f){
		frm.mode.value = 'dbase' + id;
		frm.submit();
	}
}
function editCat(id){
	document.editcat.edit.value = id;
	document.editcat.mode.value = 'modcat';
	document.editcat.submit();
}

function changeMode(id,mode,selectBox){
	var frm = document.getElementById(id);
	if(selectBox.value != '-'){
		frm.mode.value = mode;
	}
	frm.submit();
}
function createCat(level){
	level--;
	level--;
	if(level != 0){
		document.addcat.currentcat.value = document.getElementById('add' + level).value;
	}else{
		document.addcat.currentcat.value = document.addcat.sortadd.value;
	}
	document.addcat.mode.value  = 'createcat';
	document.addcat.submit();
}
function selectPage(id){
	var frm = document.getElementById(id);
	if(frm.pageid.value != '-'){
		frm.mode.value = 'viewpage';
		frm.submit();
	}else{
		alert('Please select a page');
	}
}

// ---------------------------  Deleting ----------------------------
function unlinkForm(id,frmname){
	var frm = document.getElementById(frmname);
	var t_or_f = true;
	t_or_f = confirm('Unlink this email?');
	if(t_or_f){
		frm.del.value   = id;
		frm.mode.value  = 'dbasedelemailform';
		frm.submit();
	}
}
function deleteEmail(id,frmname){
	var frm = document.getElementById(frmname);
	var t_or_f = true;
	t_or_f = confirm('Delete this email?');
	if(t_or_f){
		frm.del.value   = id;
		frm.mode.value  = 'dbasedeleteemail';
		frm.submit();
	}
}
function deleteField(id,frmname){
	var frm = document.getElementById(frmname);
	var t_or_f = true;
	t_or_f = confirm('Delete this field?');
	if(t_or_f){
		frm.del.value   = id;
		frm.mode.value  = 'dbasedelete';
		frm.submit();
	}
}
function deleteOption(id,fid,frmname){
	var frm = document.getElementById(frmname);
	var t_or_f = true;
	t_or_f = confirm('Delete this option?');
	if(t_or_f){
		frm.del.value     = id;
		frm.thisFID.value = fid;
		frm.mode.value    = 'dbasedeleteoption';
		frm.submit();
	}
}
function deletetLink(id,frmname){
	var frm = document.getElementById(frmname);
	var t_or_f = true;
	t_or_f = confirm('Delete this link?');
	if(t_or_f){
		frm.edit.value  = id;
		frm.thislink.value = frmname;
		frm.mode.value  = 'dbasedelete';
		frm.submit();
	}
}
function deleteStyle(id){
	var frm = document.getElementById('viewstyles');
	var t_or_f = true;
	t_or_f = confirm('Delete this declaration?');
	if(t_or_f){
		frm.del.value = id;
		frm.mode.value = 'dbasedelstyle';
		frm.submit();
	}
}
function deleteStyleMoz(id){
	var frm = document.getElementById('viewstylesmoz');
	var t_or_f = true;
	t_or_f = confirm('Delete this declaration?');
	if(t_or_f){
		frm.del.value = id;
		frm.mode.value = 'dbasedelstylemoz';
		frm.submit();
	}
}
function deleteSetting(id){
	var frm = document.getElementById('viewsettings');
	var t_or_f = true;
	t_or_f = confirm('Delete this setting?');
	if(t_or_f){
		frm.del.value  = id;
		frm.mode.value = 'dbasedelsetting';
		frm.submit();
	}
}
function deleteDownload(id,form){
	var frm = document.getElementById(form);
	var t_or_f = true;
	t_or_f = confirm('Delete this relationship?');
	if(t_or_f){
		frm.edit.value = id;
		frm.mode.value = 'dbasedelfile';
		frm.submit();
	}
}
function deleteTemp(){
	var t_or_f = true;
	t_or_f = confirm('Delete this template?');
	if(t_or_f){
		document.tempedit.mode.value = 'deleteTemp';
		document.tempedit.submit();
	}
}
function deleteScript(id){
	var t_or_f = true;
	t_or_f = confirm('Delete this script?');
	if(t_or_f){
		document.editscript.del.value = id;
		document.editscript.mode.value = 'dbasedel';
		document.editscript.submit();
	}
}
function deleteDir(){
	var t_or_f = true
	if(document.dirdel.dirid.value == '-'){
		alert('Please select a directory');
		t_or_f = false;
	}else{
		t_or_f = confirm('Remove this directory?');
	}
	if(t_or_f){
		document.dirdel.mode.value = 'deleteDir';
		document.dirdel.submit();
	}
}
function deleteLink(id){
	var t_or_f = true
	t_or_f = confirm('Delete this link?');
	if(t_or_f){
		document.links.mode.value   = 'dbaselinkdel';
		document.links.newid.value  = id;
		document.links.submit();
	}
}
function deleteImage(image,id){
	var frm = document.getElementById(id);
	var t_or_f = true;
	t_or_f = confirm('Are you sure you want to delete ' + image + '?');
	if(t_or_f){
		frm.mode.value  = 'deleteImage';
		frm.image.value = image;
		frm.submit();
	}
}
function deleteFile(file,id){
	var frm = document.getElementById(id);
	var t_or_f = true;
	t_or_f = confirm('Are you sure you want to delete this file?');
	if(t_or_f){
		frm.mode.value  = 'delete';
		frm.delid.value = file;
		frm.submit();
	}
}
function removePage(id){
	var t_or_f = true;
	t_or_f = confirm('Are you sure you want to remove this page?');
	if(t_or_f){
		document.pageassign.edit.value = id;
		document.pageassign.mode.value = 'dbaseremovepage';
		document.pageassign.submit();
	}
}
function delCat(){
	var t_or_f = true;
	t_or_f = confirm('Delete this category and all sub categories?');
	if(t_or_f){
		document.editcat.mode.value  = 'dbasedel';
		document.editcat.submit();
	}
}
function delUser(){
	var t_or_f = true;
	t_or_f = confirm('Delete this user?');
	if(t_or_f){
		document.edituser.mode.value  = 'dbaseuserdel';
		document.edituser.submit();
	}
}
function delPage(){
	var t_or_f = true;
	t_or_f = confirm('Delete this page?');
	if(t_or_f){
		document.pageedit.mode.value  = 'dbasepagedel';
		document.pageedit.submit();
	}
}

// --------------------------- Validation --------------------------- 

function validate(id){
	var t_or_f = true ;
	var frm = document.getElementById(id);
	if(id == 'useradd' || id == 'useredit'){
		var regEx = new RegExp('[A-Z]');
		if(!regEx.exec(frm.level.value)){
			alert('User level can only be a capital letter from A-Z');
			t_or_f = false;
		}
    		if (t_or_f) t_or_f = vl(id,"username",3,"Username");
		if (t_or_f) t_or_f = vl(id,"password",3,"Password");
	}
	if(id == 'add' || id == 'edit'){
		if (t_or_f) t_or_f = vl(id,"cattitle",3,"Category Title");
		if(t_or_f && frm.template.value == '-'){
			alert('Please select a template for this category.');
			t_or_f = false;
		}
	}
	if(id == 'pageadd' || id == 'pageedit'){
		if (t_or_f) t_or_f = vl(id,"title",3,"Page Title");
		if(t_or_f && frm.template.value == '-'){
			alert('Please select a template for this page.');
			t_or_f = false;
		}
		if(t_or_f && frm.index.checked){
			t_or_f = confirm('You have chosen to make this the home page, is this correct?');
		}
	}
	if(id == 'site'){
		if (t_or_f) t_or_f = vl(id,"companyname",3,"Company Name");
		if (t_or_f) t_or_f = vl(id,"url",5,"URL");
	}
	if(id == 'links'){
		if(t_or_f && frm.pageid.value == '-'){
			alert('Please select a link page.');
			t_or_f = false;
		}
		if (t_or_f) t_or_f = vl(id,"title",5,"Link Title");
		if (t_or_f) t_or_f = vl(id,"desc",10,"Link Description");
		if (t_or_f) t_or_f = vl(id,"url",5,"Link URL");
	}
	if(id == 'tempadd' || id == 'tempedit'){
		if(id == 'tempadd'){
			var regEx = new RegExp('.php');
			if(!regEx.exec(frm.file.value)){
				alert('You can only upload .PHP files.');
				t_or_f = false;
			}
		}
		if(frm.type.value == '-'){
			alert('Please select a type.');
			t_or_f = false;
		}
		if (t_or_f) t_or_f = vl(id,"desc",5,"Template Description");
	}
	if(id == 'addscript'){
		if(t_or_f) t_or_f = vl(id,"scriptname",3,"Script Name");
		if(t_or_f && frm.type.value == '-'){
			alert('Please select a page type.');
			t_or_f = false;
		}
	}
	if(id == 'addstyle'){
		if(t_or_f) t_or_f = vd(id,"styleType","-","Style Type");
		if(t_or_f) t_or_f = vl(id,"styleName",1,"Style Name");
		if(t_or_f) t_or_f = vd(id,"property","-","Property Type");
		
	}
	if(id == 'addstylemoz'){
		if(t_or_f) t_or_f = vd(id,"styleType","-","Style Type");
		if(t_or_f) t_or_f = vl(id,"styleName",1,"Style Name");
		if(t_or_f) t_or_f = vd(id,"property","-","Property Type");
		
	}
	if(id == 'addsetting'){
		if(t_or_f) t_or_f = vl(id,"settingName",3,"Setting Name");
		if(t_or_f) t_or_f = vl(id,"settingDesc",5,"Setting Description");
	}
	if(id == 'llink' || id == 'rlink' || id == 'blink' || id == 'tlink' || id == 'lsub' || id == 'rsub' || id == 'tsub'){
		if(t_or_f) t_or_f = vl(id,"newName",3,"Link Name");
		if(t_or_f) t_or_f = vl(id,"newURL",5,"Link URL");
	}
	if(id == 'addfrm' || id == 'modfrm'){
		if(id == 'modfrm'){
			if(t_or_f) t_or_f = vl(id,"frmid2",3,"Form ID");
			if(t_or_f) t_or_f = vm(id,"frmid2",3,"Form ID");
		}
		if(id == 'addfrm'){
			if(t_or_f) t_or_f = vl(id,"frmid",3,"Form ID");
			if(t_or_f) t_or_f = vm(id,"frmid",3,"Form ID");
		}
		if(t_or_f) t_or_f = vl(id,"frmname",3,"Form Name");
		if(t_or_f) t_or_f = vl(id,"frmtitle",5,"Form Title");
		//if(t_or_f) t_or_f = vl(id,"frmsubtitle",10,"Form Sub Title");
		if(t_or_f) t_or_f = vl(id,"frmsubjclient",10,"Client Email Subject");
		if(t_or_f) t_or_f = vl(id,"frmbodyclient",15,"Client Email Body");
		if(t_or_f) t_or_f = vl(id,"frmsubjvisitor",10,"Visitor Email Subject");
		if(t_or_f) t_or_f = vl(id,"frmbodyvisitor",15,"Visitor Email Body");
		if(t_or_f) t_or_f = ve(id,"frmcontactemail","Y");
		if(t_or_f) t_or_f = vl(id,"frmcontactname",5,"Contact Name");
	}
	if(id == 'dd'){
		if(t_or_f && (isNaN(document.dd.I1.value) || document.dd.I1.value == '')){
			t_or_f = false;
			alert('Indent 1 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I2.value) || document.dd.I2.value == '')){
			t_or_f = false;
			alert('Indent 2 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I3.value) || document.dd.I3.value == '')){
			t_or_f = false;
			alert('Indent 3 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I4.value) || document.dd.I4.value == '')){
			t_or_f = false;
			alert('Indent 4 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I5.value) || document.dd.I5.value == '')){
			t_or_f = false;
			alert('Indent 5 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I6.value) || document.dd.I6.value == '')){
			t_or_f = false;
			alert('Indent 6 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I7.value) || document.dd.I7.value == '')){
			t_or_f = false;
			alert('Indent 7 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I8.value) || document.dd.I8.value == '')){
			t_or_f = false;
			alert('Indent 8 has to be a number');
		}
		if(t_or_f && (isNaN(document.dd.I9.value) || document.dd.I9.value == '')){
			t_or_f = false;
			alert('Indent 9 has to be a number');
		}
	}
	return t_or_f
}