﻿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;
    }
}


// jQuery Operations

// things to do when page is loaded
$(document).ready(function() {
    setupSearch();
    setupEqualColumns();
});


// 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;
    });
}

// for ensuring equal heights in colocated divs - similar to table columns
function setupEqualColumns() {
    var biggestHeight = 0;
    var j_equal_cols = $('.j_equal_col');

    for (var i = 0; i < j_equal_cols.length; i++) {
        j_equal_col = j_equal_cols[i];

        if (j_equal_col.offsetHeight > biggestHeight) {
            biggestHeight = j_equal_col.offsetHeight;
        }
    }

    for (var i = 0; i < j_equal_cols.length; i++) {
        j_equal_col = j_equal_cols[i];

        if (j_equal_col.offsetHeight < biggestHeight) {
            j_equal_col.style.height = biggestHeight + "px";
        }
    }
}

// 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);
}
