/************************************************
*
* Various Javascript functions for a to z admin
* 
*
* Snohomish County
* Department of Information Services
* Web Services Team - mjv
*
* @author mjv
* @created 2003-03-26
* @version 1.00
*
************************************************/

/**
*
* useEntryTextAsLinkText
*
* @param void
* @return void
*/
function useEntryTextAsLinkText() {
    
    var elemEntryText = document.getElementById("entry_text");
    var elemEntryUrlText = document.getElementById("entry_url_text");
    elemEntryUrlText.value = elemEntryText.value;
}

/**
*
* useCampusMap
*
* @param void
* @return void
*/
function useCampusMap() {
    var CAMPUS_MAP = "http://www.co.snohomish.wa.us/maps/evermap.htm";
    var elemUrl = document.getElementById("entry_map_url");
    elemUrl.value = CAMPUS_MAP;
}

/**
*
* useCountyHomepage
*
* @param void
* @return void
*/
function useCountyHomepage() {
    var CO_HOMEPAGE = "http://www.co.snohomish.wa.us/";
    var elemUrl = document.getElementById("entry_url");
    elemUrl.value = CO_HOMEPAGE;
}

/**
*
* useCountyAddress
*
* @param void
* @return void
*/
function useCountyAddress() {
    var CO_ADDRESS_1 = "3000 Rockefeller Ave.";
    var CO_CITY = "Everett";
    var CO_ZIP = "98201";
    
    var elemAddress1 = document.getElementById("entry_address1");
    var elemCity = document.getElementById("entry_city");
    var elemZip = document.getElementById("entry_zip");
    
    elemAddress1.value = CO_ADDRESS_1;
    elemCity.value = CO_CITY;
    elemZip.value = CO_ZIP;
}

/**
*
* useCountyManiPhone
*
* @param void
* @return void
*/
function useCountyMainPhone() {
    var CO_AREACODE = 425;
    var CO_PREFIX = 388;
    var CO_SUFFIX = 3411;
 
    var elemPhoneAreacode = document.getElementById("entry_phone_areacode");
    var elemPhonePrefix = document.getElementById("entry_phone_prefix");
    var elemPhoneSuffix = document.getElementById("entry_phone_suffix");

    elemPhoneAreacode.value = CO_AREACODE;
    elemPhonePrefix.value = CO_PREFIX;
    elemPhoneSuffix.value = CO_SUFFIX;    
}

/**
*
* gotoAdminHome
*
* @param void
* @return void
*/
function gotoAdminHome(){
    var ADMIN_HOMEPAGE = "a-z-admin.asp";
    var newUrl = window.location.href;
    
    newUrl = newUrl.substring(0,newUrl.lastIndexOf('/')+1) + ADMIN_HOMEPAGE;
    
    window.location.href = newUrl;
}

/**
*
* deleteTopic
*
* @param void
* @return void
*/
function deleteTopic(){
    var PROCESS_PAGE = "a-z-admin-process.asp";
    var frmEdit = document.getElementById("frm_edit_topic");
    var elemProcess = document.getElementById("process");
    
    var strAlertMsg = "This action will also 'hide' any entries related to this Topic.\n";
    strAlertMsg += "Are you sure you want to do this?";
    
    var blnReturn = window.confirm(strAlertMsg);
    
    if(blnReturn){
        // change form action and process
        frmEdit.action = PROCESS_PAGE;
        frmEdit.method = "post";
        elemProcess.value = "delete";

        // submit form
        frmEdit.submit();
    }
    
}

/**
*
* deleteEntry
*
* @param integer (entry id)
* @return void
*/
function deleteEntry(intEntryId) {

    var PROCESS_PAGE = "a-z-admin-process.asp";
    var frmEdit = document.getElementById("frm_edit_entry");
    var elemProcess = document.getElementById("process");
    var elemEntry = document.getElementById("entryid");
    
    var strAlertMsg = "This action will Remove this Entry.\n";
    strAlertMsg += "Are you sure you want to do this?";
    
    var blnReturn = window.confirm(strAlertMsg);
    
    if(blnReturn){
        // change form action and process
        frmEdit.action = PROCESS_PAGE;
        frmEdit.method = "post";
        elemProcess.value = "delete";
        elemEntry.value = intEntryId;

        // submit form
        frmEdit.submit();
    }
    
}

/**
*
* validateTopic
*
* @param void
* @return void
*/
function validateTopic() {

    var elemToCheck;
    var strAlertMsg = '';
    var frmTopic = document.getElementById('frm_edit_topic');
    var blnReturn = true;
    var elemTopic = document.getElementById('topic_text');
    
    if( elemTopic.value == "" ) {
    
        elemTopic.focus();
        strAlertMsg = "Empty value in " + elemTopic.name;
        blnReturn = false;
    
    }
    
    if(blnReturn) {
        frmTopic.submit();
    } else {
        alert(strAlertMsg);
    }
}

/**
*
* validateEntry
*
* @param void
* @return void
*/
function validateEntry() {

    var elemToCheck;
    var strAlertMsg = '';
    var frmEntry = document.getElementById('frm_edit_entry');
    var blnReturn = true;
    var i, j;
    
    var regXthree = new RegExp(/\d{3}/);
    var regXfour = new RegExp(/\d{4}/);
    
    var arrRequired = new Array('entry_text','entry_phone_areacode','entry_phone_prefix','entry_phone_suffix');
    var arrSuplRequired = new Array ('entry_url','entry_url_text');
        
    // loop through requireds
    
    for(i=0; i<arrRequired.length; i++) {
        
        elemToCheck = document.getElementById( arrRequired[i] );
                       
        if(elemToCheck.value == "") {
    
            elemToCheck.focus();
            strAlertMsg = "Missing Value for " + elemToCheck.name;
            blnReturn = false;
            break;
        
        } else {
    
            // check phone fields for numbers
            if(elemToCheck.name.indexOf("phone") > 0) {
           
                if( regXthree.test(elemToCheck.value) || regXfour.test(elemToCheck.value) ) {
            
                    blnReturn = true;
            
                } else {
                       
                    elemToCheck.value = '';
                    elemToCheck.focus();
                    strAlertMsg = "Phone fields must contain numeric values!";
                    blnReturn = false;
                    break;
            
                }
                
            } // end if - phone
                        
        } // end if - not empty value
        
    }
    
    // check suplemental requireds if everthing else is ok
    if(blnReturn) {
    
        j=0;
        elemToCheck = document.getElementById(arrSuplRequired[j]);
        
        // if has url needs url text also
        if( elemToCheck.value != "" ) {

            j++;
            elemToCheck = document.getElementById(arrSuplRequired[j]);

            if( elemToCheck.value == "" ) {
                strAlertMsg = "Missing Value for " + elemToCheck.name;
                blnReturn = false;
            }

        }
    }
    
    // send message or submit form
    if( blnReturn ) {
    
        // submit form
        frmEntry.submit();
    
    } else {
    
        // show alert msg
        alert(strAlertMsg);
        
    }
        
}

/**
*
* mOverAdmin
*
* @param string (image id)
* @return void
*/
function mOverAdmin(imgId){
    var DOWN = '-down.jpg';
    var regEx = /.jpg/;
    var elemImage = document.getElementById(imgId);
    elemImage.src = elemImage.src.replace(regEx,DOWN);    
}

/**
*
* mOutAdmin
*
* @param string (image id)
* @return void
*/
function mOutAdmin(imgId){
    var regEx = /-down/;
    var elemImage = document.getElementById(imgId);
    elemImage.src = elemImage.src.replace(regEx,'');    
}


