// misc fn's for dyn-web.com 

var dw_Util; 
if (!dw_Util) dw_Util = {};

dw_Util.trimString = function (str) {
    var re = /^\s+|\s+$/g;
    return str.replace(re, "");
}

dw_Util.normalizeString = function (str) {
    var re = /\s\s+/g;
    return dw_Util.trimString(str).replace(re, " ");
}

dw_Util.addClass = function (el, cl) {
    el.className = dw_Util.trimString( el.className + ' ' + cl );
}

dw_Util.removeClass = function (el, cl) {
    el.className = dw_Util.normalizeString( el.className.replace(cl, " ") );
}

dw_Util.hasClass = function (el, cl) {
    var re = new RegExp("\\b" + cl + "\\b", "i");
    if ( re.test( el.className ) ) {
        return true;
    }
    return false;
}

// what className attached to what element type in what container element (default: document)
dw_Util.getElementsByClassName = function (sClass, sTag, oCont) {
    var result = [], list, i;
    var re = new RegExp("\\b" + sClass + "\\b", "i");
    oCont = oCont? oCont: document;
    if ( document.getElementsByTagName ) {
        if ( !sTag || sTag == "*" ) { // for ie5
            list = oCont.all? oCont.all: oCont.getElementsByTagName("*");
        } else {
            list = oCont.getElementsByTagName(sTag);
        }
        for (i=0; list[i]; i++)
            if ( re.test( list[i].className ) ) result.push( list[i] );
    }
    return result;
}


/* alert once when viewer clicks on link with class="nag"
  (links to view or download code requiring license)
  idea snatched from www.barelyfitz.com */



// set target attribute to "_blank" if link has class="blank"
// using in cart for policies
function setTargetBlank() {
  var lnks;
  if ( document.getElementsByTagName ) lnks = document.getElementsByTagName("A");
  if ( lnks && lnks[0].getAttribute ) {
    for (var i=0; lnks[i]; i++) {
      if ( lnks[i].getAttribute("href") && lnks[i].className == "blank" )
        lnks[i].target = "_blank";
    }
  }
}

function stripeDocsTable() {
    var tbl_list = dw_Util.getElementsByClassName('docs', 'table');
    for (var i=0; tbl_list[i]; i++) {
        var rows = tbl_list[i].getElementsByTagName('tr');
        for (var j=0; rows[j]; j++) {
            if ( j > 0 && j%2 == 0 ) {
                dw_Util.addClass(rows[j], 'odd');
            }
        }
    }
}

// for contact form (to avoid spammers)
function getTextArea(name, rows, cols) {
    var str = '<textarea name="' + name + '" id="' + name + '" cols="' + cols + '" rows="' + rows + '"></textarea>';
    document.write(str);
}

function getTextInput(name, size) {
    var str = '<input type="text" size="' + size + '" name="' + name + '" id="' + name + '" />';
    document.write(str);
}

function getSubmitButton() {
    var str = '<input name="submit" id="submit" type="submit" value="Submit" />';
    document.write(str);
}

//  <script type="text/javascript">noSpamEmail('link text here')</script> 
function noSpamEmail(txt) {
  var address = '<a class="mail" href="' + 'ma' + 'il' + 'to:' + 'contact_01' + '&#64;' + 'dyn-web.com' + 
        ',shp_dynweb' + '&#64;' + 'yahoo.com">' + txt + '<\/a>';
  document.write(address);
}


/////////////////////////////////////////////////////////////////////
// being discontinued? 

// used in /tutorials/iframes/refs.php and a few cart pages (bus/inc's)
// Danny Goodman's version (DHTML def ref)
function addLoadEvent(func) {
    var oldQueue = window.onload? window.onload: function() {};
    window.onload = function() {
        oldQueue();
        func();
    }
}

