//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//	common.js
//	Common/base scripts and functions
//
//	Copyright 2003 by Gary Pajor / New Media Now
//	All rights reserved.
//	www.sitetoolz.com
//	Please email support@sitetoolz.com for terms of use.
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

var browName = 'IE';
if ( navigator.appName.indexOf('Netscape') != -1 ) {
	browName = 'NN';
}
function textareaTag(name,rows,ieCols,wrap) {
	wrap = wrap || "virtual";
	var cols = ieCols;
	if ( browName == 'NN' ) {
		cols = parseInt(ieCols*.7);
	}
	var tag = "<textarea name=" + name 
								+ " rows=" + rows
								+ " cols=" + cols
								+ " wrap=" + wrap
								+ ">"
								;
	document.write( tag );
}


function openwin(url,name,wd,ht,menubar,toolbar,loc) { 
	name = name || 'WW';
	wd = wd || 400;
	ht = ht || 400;
	menubar = menubar || "no";
	toolbar = toolbar || "no";
	loc = loc || "yes";
	window.open( url,name,winstring(wd,ht,menubar,toolbar,loc) ).focus();
}
function winstring(w,h,mbar,tbar,loc) {
	return "width="+w+",height="+h+",status=yes,location="+loc+",menubar="+mbar+",toolbar="+tbar+",scrollbars=yes,resizable=yes";
}


//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// Used to check that a selection has been made from a checkbox list.
// Prevents submission of form if no items selected.
// Usage: <form> tag; Handler: onSubmit
function items_selected(chbx_name,f,msg) {
	var selectionmade;
	for ( var i=0; i<f.length; i++ ) {
		var e = f.elements[i];
		if ( e.type == "checkbox" ) {
			if ( e.name == chbx_name && e.checked ) { selectionmade = 'true'; }
		}
	}
	if ( selectionmade ) return true;
	alert(msg);
	return false;
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function checkall(chbx_name) {
	var e;
	for(i=0;i<document.chkbox_selection.elements.length;i++) {
		e = document.chkbox_selection.elements[i];
		if ( e.name == chbx_name )	e.checked = 'true';
	}
}

function uncheckall(chbx_name) {
	var e;
	for(i=0;i<document.chkbox_selection.elements.length;i++) {
		e = document.chkbox_selection.elements[i];
		if ( e.name == chbx_name )	e.checked = '';
		//document.chkbox_selection.elements[i].checked = '';
	}
}

function reverse(chbx_name) {
	var e;
	for(i=0;i<document.chkbox_selection.elements.length;i++) {
		e = document.chkbox_selection.elements[i];
		if ( e.name == chbx_name ) {
			if( e.checked ) {
				e.checked = '';
			} else {
				e.checked = 'true';
			}
		}
	}
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

function _isblank(s) {
	for ( var i=0; i<s.length; i++ ) {
		var c = s.charAt(i);
		if ( ( c != ' ' ) && ( c != '\n' ) && ( c != '\t' ) ) return false;
	}
	return true;
}

function highlight(field) {
  field.select();
  field.focus();
}

function csoon(msg) { alert(msg + '\nComing Soon!') }



//~~~~~~~~~~ HoverHelp widget creation functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Create 'hover help' widget
// NOTE: 'global' variable gHelpImgPath defined at top of main gui page template
function makeHH(varBaseName,popUpLocParam,popUpSticky,popUpWidth) {
	if ( !varBaseName ) return;
	var openAnchorText = createAnchor(varBaseName,'',popUpLocParam,popUpSticky,popUpWidth);
	var imgTagText = "<img src=\"" + gHelpImgPath + "\" align=left border=0 hspace=0>";
	var closeAnchorText = "</a>";
	document.write(openAnchorText + imgTagText + closeAnchorText);
}

function makeHHTextLink(linkText,anchorClass,varBaseName,popUpLocParam,popUpSticky,popUpWidth) {
	if ( !linkText ) {
		alert("Error in creating link text hover help ( makeHHAnc() ): Link text not defined.");
		return;
	}
	var openAnchorText = createAnchor(varBaseName,anchorClass,popUpLocParam,popUpSticky,popUpWidth);
	document.write(openAnchorText + linkText + "</a>");
}

// Create start anchor tag for the entire anchor tag that makes the hover-help widget.
// NOTE:
// This function called as a helper function to primary functions 'makeHH()' and
// 'makeHHTextLink()' above.
// Args:
// varBaseName: Base name of variables that store caption and body text
// tagClass: Value of 'class' attribute of the <a> tag; 'class' attr not included in resulting <a> tag
//			 if tagClass not defined.  Only applies when creating popup for text link, i.e. argument
//			 included in makeHHTextLink() function.
// popUpLocParam: Location of popup relative to mouse; LEFT, RIGHT, CENTER. Default: CENTER
// popUpSticky: Toggle popup to be sticky or not
/*function createAnchor(varBaseName,popUpLocParam,popUpSticky) {
	if ( !varBaseName ) return;
	popUpLocParam = popUpLocParam || "CENTER";
	var captionTxtVar = "hhc_" + varBaseName;
	var bodyTxtVar = "hh_" + varBaseName;
	var overLibArgsTxt = bodyTxtVar + ", CAPTION, " + captionTxtVar + ", " + popUpLocParam;
	if ( popUpSticky ) overLibArgsTxt += ", STICKY";
	var tagTxt = "<a href=\"javascript:void(0);\" onMouseOver=\"return overlib(";
	tagTxt += overLibArgsTxt + ");\" ";
	tagTxt += "onMouseOut=\"return nd();\">";
	return tagTxt;
}*/
function createAnchor(varBaseName,tagClass,popUpLocParam,popUpSticky,popUpWidth) {
	popUpLocParam = popUpLocParam || "CENTER";
	var captionTxtVar = "hhc_" + varBaseName;
	var bodyTxtVar = "hh_" + varBaseName;
	
	// Code string for checking caption text variable existence
	var checkCapCodeStr = "self."+captionTxtVar + " == null";
	
	// Code string for checking body text variable existence
	var checkBodyCodeStr = "self."+bodyTxtVar + " == null";
	
	var undefCapTxtVar = eval(checkCapCodeStr);
	var undefBodyTxtVar = eval(checkBodyCodeStr);
	
	// 'Variable definition code: Code string to 'eval' to declare/define missing variable
	var varDefCode;
	if ( undefCapTxtVar ) {
		varDefCode = "hhc_" + varBaseName + " = \"-No Caption Text-<br>Var: hhc_" + varBaseName + "\";";
		eval(varDefCode);
	}
	
	if ( undefBodyTxtVar ) {
		varDefCode = "hh_" + varBaseName + " = \"-No Body Text-<br>Var: hh_" + varBaseName + "\";";
		eval(varDefCode);
	}
	
	var overLibArgsTxt = bodyTxtVar + ", CAPTION, " + captionTxtVar + ", " + popUpLocParam;
	if ( popUpWidth ) overLibArgsTxt += ", WIDTH, " + popUpWidth;
	if ( popUpSticky ) overLibArgsTxt += ", STICKY";
	var tagTxt = "<a ";
	if ( tagClass ) {
		tagTxt += "class=\"" + tagClass + "\" ";
	}
	tagTxt += "href=\"javascript:void(0);\" onMouseOver=\"return overlib(";
	tagTxt += overLibArgsTxt + ");\" ";
	tagTxt += "onMouseOut=\"return nd();\">";
	return tagTxt;
}

//~~~~~~~~~~ End HoverHelp widget creation functions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~