﻿var urlAddress = window.location.href;
var pageName = document.title;
var printContent = "";
var printTitle = "";

// used often
function confirmDelete() {
    if (confirm("Are you sure you want to remove this record permanently? Doing so will remove all references to this record from the system. Note that this action cannot be undone.") == true)
        return true;
    else
        return false;
}

// used for triggering certain buttons on 'enter' press
function clickButton(key_1, key_2, btn) {
    if ((key_1 == 13) || (key_2 == 13)) {
        document.getElementById(btn).click();
        return false;
    }
    else return true;
}


// for creating a cookie 
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

// for reading from a cookie 
function readCookie(name) {
    var nameEQ = name + "=";

    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
    }
    return null;
}

//generateRandomString
function randomString(length, numeric) {
    var chars = "abcdefghiklmnopqrstuvwxyz";
    if (numeric)
        chars = "0123456789";

    var randomstring = '';
    for (var i = 0; i < length; i++) {
        var rnum = Math.floor(Math.random() * chars.length);
        randomstring += chars.substring(rnum, rnum + 1);
    }

    return randomstring;
}


// copy to clipboard

function copyToClipboard(text2copy) {
    if (window.clipboardData) {
        window.clipboardData.setData("Text", text2copy);
    } else {
        var flashcopier = 'flashcopier';
        if (!document.getElementById(flashcopier)) {
            var divholder = document.createElement('div');
            divholder.id = flashcopier;
            document.body.appendChild(divholder);
        }
        document.getElementById(flashcopier).innerHTML = '';
        var divinfo = '<embed src="https://secure.virtualatlantic.com/common/scripts/clipboard.swf" FlashVars="clipboard=' + escape(text2copy) + '" width="0" height="0" type="application/x-shockwave-flash"></embed>';
        document.getElementById(flashcopier).innerHTML = divinfo;
    }
}

// for setting up greyed out textboxes ie. search and email newsletter signup

var j_default_email = "user@domain.com";
var j_default_search = "Search Phrase";
var j_default_color = "#aaaaaa";
var j_edit_color = "#000000";

function setupDynamicInputs(_selector, _default) {

    $(_selector).val(_default);
    $(_selector).attr('default', _default);
    $(_selector).css('color', j_default_color);

    $(_selector).focus(function() {

        $(this).css('color', j_edit_color);
        if ($(this).val() == $(this).attr('default')) {
            $(this).val('');
        }
    });

    $(_selector).blur(function() {

        if ($(this).val() == '') {
            $(this).css('color', j_default_color);
            $(this).val($(this).attr('default'));
        }
    });
}

// specifically setup search functionality
function setupSearch() {

    setupDynamicInputs('.j_search', j_default_search);

    // check for keypress enter - make sure no form on the page is submitted because of it
    $(".j_search").keypress(function(e) {
        if (e.which == 13) {
            $(".j_search_submit").click();
            document.location.href = $(".j_search_submit").attr('href');
            return false;
        }
    });

    // operation when search is submitted
    $(".j_search_submit").click(function() {

        if ($(".j_search").val() != '' && $(".j_search").val() != j_default_search) { // ie. not blank
            // get search url from link and amend criteria along with random string so that a new response is forced
            var url = $(".j_search_submit").attr('href');

            if (url.indexOf('?') > -1)
                url = url.substring(0, url.indexOf('?'));
            url = url + '?r=' + randomString(8, true) + '&q=' + escape($(".j_search").val());
            $(".j_search_submit").attr('href', url);
        }
        else
            return false;
    });
}

function setupLockedInputs() {

    $('.j_locked').attr('disabled', true);
    $('.j_lock').click(function() {
        if ($('.j_lock').css('background-image').indexOf('lock.png') > -1) {
            if (confirm('Are you sure you want to unlock this field(s) for editing. Changing this field will cause renaming of elements (eg. page urls) which may negatively affect your search engine placement. After launch, only change this field if absolutely necessary.')) {
                $('.j_locked').removeAttr('disabled');
                $('.j_lock').css('background-image', $('.j_lock').css('background-image').replace('lock.png', 'lock_open.png'));
            }
        }
        else {

            $('.j_locked').attr('disabled', true);
            $('.j_lock').css('background-image', $('.j_lock').css('background-image').replace('lock_open.png', 'lock.png'));
        }
    });
}


function setupSameHeightElements(identifier) {

    var tallest = 0;
    if ($(identifier).css('min-height').indexOf('px') > -1)
        $(identifier).css('min-height').replace('px', '');

    $(identifier).each(function() {

        if (this.offsetHeight > tallest)
            tallest = this.offsetHeight;

    });
    $(identifier).css('height', tallest);

}

// used throughout for generating the flash object
function generateFlash(movie, width, height, flashvars, container) {


    ref = movie.substring(0, movie.lastIndexOf("."));
    ref = ref.substring(ref.lastIndexOf("/") + 1); 

    str = ('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="' + width + '" height="' + height + '" id="' + ref + '" align="middle" title="' + ref + '" allowFullScreen="true" wmode="transparent">\n');
    str += ('<param name="allowScriptAccess" value="always" />\n');
    str += ('<param name="movie" value="' + movie + '">\n');
    str += ('<param name="flashvars" value="' + flashvars + '">\n');
    str += ('<param name="quality" value="high" />\n');
    str += ('<param name="wmode" value="transparent" />\n');
    str += ('<embed src="' + movie + '" flashvars="' + flashvars + '" quality="high" width="' + width + '" height="' + height + '" name="' + ref + '" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashvid_player" allowFullScreen="true" wmode="transparent" />\n');
    str += ('</object>\n');


    if (container != null && container != '') {
        document.getElementById(container).style.display = 'block';
        document.getElementById(container).innerHTML = str;
    }
    else
        document.write(str);
}

function setupDialog(selector, title, _width, _height) {
    $(selector).dialog({
        bgiframe: true,
        width: _width,
        height: _height,
        modal: true,
        autoOpen: false,
        resizable: false,
        position: ['center', 32],
        open: function() {
            $(this).parent().appendTo(jQuery("form:first"));
        }
    });

    $(selector).dialog('open');
    $(selector).dialog('option', 'title', title);
}

function setupiFrame(selector, title, url) {
    var sel_ifr = selector + ' iframe';
    var _width = $(sel_ifr).attr('width') * 1 + 24;
    var _height = $(sel_ifr).attr('height') * 1 + 46;

    setupDialog(selector, title, _width, _height);
    $(selector + ' iframe').attr('src', url);
}



function setCheckBoxes(obj, selector) {
    $(selector + ' input, ' + selector).attr('checked', $(obj).is(':checked'));
}

// things to do when page is loaded
$(document).ready(function() {
    setupPage();
});

function setupPage() {
    //setupSearch();
    //setupLockedInputs();
    //setupDynamicInputs('.j_search', j_default_search);
    //setupSameHeightElements('.j_equal_col');
    
    var url = document.location.href;
    if (url.substring(url.length - 1) == '/')
        url += 'default.aspx';
    
    $('#right-column #section-navigation ul li a').each(function() {
         if (url.indexOf($(this).attr('href')) > -1)
            $(this).addClass('active');
    });
}