// Admin and member-only JS functions.

function delWarn(url) {
   var msg = 'Deleting this record is permanent\n and irreversible. CONTINUE?';
   var ok = confirm(msg);
   if (ok == true) { document.location=url; }
}


// Control panel search widgets.

function sendSearch(form,butn) {
    var loc = 'admin.cgi?display=Control+Panel'; 
    if (form.table.selectedIndex > 0) { 
        loc += '&table='+form.table[form.table.selectedIndex].value;
    }
    document.location=(loc);
}

function checkTbl(form) {
    if (form.table.selectedIndex == 0) { alert('Select a resource to search.'); } 
    else { form.submit(); }
}

function chkSearch(e,form) {
    if (window.Event) { var whichCode = e.which; } //NN
    else if (e.type == "keypress") {  var whichCode = e.keyCode; } // IE
    else { return; }
    if (whichCode == 13) { // only if enter is pressed
        form.submit();
    }
}

function checkBoxes(form,onoff) {
   var sw = (onoff==1)?true:false;
   for (i=0;i<form.elements.length;i++) {
      var obj = form.elements[i];
	  if ((obj.type=='checkbox') && (obj.name != 'chkson') && (obj.name != 'chksoff')) {
	     obj.checked = sw;
	  }
   }
   if (onoff == 1) { form.chksoff.checked = false; }
   else { form.chkson.checked = false; }
}

// The following 5 functions are used in editing items in admin, a popup window
// allows the task, then it closes and refreshes the edit window. NOTE: need to 
// do something about the add function, which refreshes the add page and adds another item.

function closeRefresh(pid,state,func) {
    if ((! pid) || (! state)) { alert('Source ID and display required to close and refresh.'); return; } 
    if (window.opener && !window.opener.closed) {
       //window.opener.document.location.reload()
	   
	   window.opener.document.location='admin.cgi?'+func+'='+state+'&id='+pid; 
       window.close();
    }
}

function purchases(userid) {
   var day = new Date();
   var id  = day.getTime();
   var url = 'admin.cgi?display=Edit+Purchases&pop_window=1&user_id='+userid;
   var win = open(url,id,'width=600,height=550,resizable,scrollbars');
}

function upload(image_type,cid) {
   var day = new Date();
   var id  = day.getTime();
   var url = 'upload.cgi?display=Upload+Image&pop_window=1&prod_id='+cid;
   var win = open(url,id,'width=500,height=500,resizable,scrollbars');
}

// Add a list populated by script to the window opener filter textarea and close the current window.
// Used in mailing list functions.

   function addExcludes(form) {
      if (window.opener && !window.opener.closed) {
         window.opener.document.forms['compose-form'].filter_list.value=form.list.value;
         window.close();
      }
   }
   
// For image upload
 function previewImage(form,path) {
	 if (path != '') { document.preview.src=path; }
 }
 
// Adding new services to a temple, you must first select the chapter
function checkChapterSelect (form) {
   if (document.getElementById) {
     if (document.getElementById('chapter_id').selectedIndex == 0) { alert ('Please select a chapter fom the list'); }
	 else { form.submit(); }
   }
}


// Adding a blog entry for a user
function checkUserSelect (form) {
   if (document.getElementById) {
     if (document.getElementById('user_id').selectedIndex == 0) { alert ('Please select a contact from the list'); }
	 else { form.submit(); }
   }
}

// Last check before confirming deltion of entire blog
function checkBlogDelete (form) {
   var last_chance=confirm('Delete this entire blog?');
   if (last_chance == true) { form.submit(); }
   return false;
}


// preview site templates
function templatePreview (obj,pageid) {
   if (obj.selectedIndex==0) { alert('First select a template.'); }
   else {
     var loc='search.cgi?display=Template+Preview&template='+obj.options[obj.selectedIndex].value;
	 if (pageid) loc += '&page_id='+pageid;
	 newWin(loc,'','Template Preview',800,600);
   }
   return false;
}
