/* -------------------------------------------------------------
	Untitled
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	Description:	Primary ECMA Script File
	Filename:		script.js
	Version:		1.2
	Date:			8 September 2006
------------------------------------------------------------- 

Table of Contents (subject to change):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

	+ Custom Functions
	+ Unobtrusive Flash Object Definition
	+ Document Initiation
	+ Event Listeners

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
*/




/* -------------------------------------------------------------
	Custom Functions
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
 
var set = {
	external : function(){
		if (!document.getElementsByTagName) return;
		var links = document.getElementsByTagName("a");
		if (!links) return;
		for (var i=0; i<links.length; i++) {
			var link = links[i];
			if (link.getAttribute("href") && link.getAttribute("rel") == "external") {
				link.target = "_blank";
			}
		}		
	}
};


/*	Form Validation Object
	-------------------------------------
	Author: Ronald Timoshenko
	Version: 0.5 (Updated 25 July 2006)
*/

var form = {
	requireClass : "require",
	invalidFields : null,
	init : function(){
		if (!document.getElementsByTagName) return;
		var forms = document.getElementsByTagName("form");
		for (var i=0; i<forms.length; i++){
			forms[i].onsubmit = function(){
				return form.validate(this);
			}
		}
	},
	validate : function(formObj){
		form.invalidFields = 0;
		for (var i=0; i<formObj.length; i++){
			var field = formObj[i];
			var fieldClass = String(field.className);
			if (fieldClass.indexOf(form.requireClass) != -1){
				if (field.value == 0 || field.value == ""){
					form.invalidFields++;
				}
			}
		}
		if(form.invalidFields != 0){
			alert("There are still " + form.invalidFields + " empty fields.");
			return false;
		} else {
			return true;
		}
	}	
};




/*	Unobtrusive Flash Objects (UFO) v3.20 <http://www.bobbyvandersluis.com/ufo/>
	Copyright 2005, 2006 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

var UFO = {
	req: ["movie", "width", "height", "majorversion", "build"],
	opt: ["play", "loop", "menu", "quality", "scale", "salign", "wmode", "bgcolor", "base", "flashvars", "devicefont", "allowscriptaccess", "seamlesstabbing"],
	optAtt: ["id", "name", "align"],
	optExc: ["swliveconnect"],
	ximovie: "ufo.swf",
	xiwidth: "215",
	xiheight: "138",
	ua: navigator.userAgent.toLowerCase(),
	pluginType: "",
	fv: [0,0],
	foList: [],
		
	create: function(FO, id) {
		if (!UFO.uaHas("w3cdom") || UFO.uaHas("ieMac")) return;
		UFO.getFlashVersion();
		UFO.foList[id] = UFO.updateFO(FO);
		UFO.createCSS("#" + id, "visibility:hidden;");
		UFO.domLoad(id);
	},

	updateFO: function(FO) {
		if (typeof FO.xi != "undefined" && FO.xi == "true") {
			if (typeof FO.ximovie == "undefined") FO.ximovie = UFO.ximovie;
			if (typeof FO.xiwidth == "undefined") FO.xiwidth = UFO.xiwidth;
			if (typeof FO.xiheight == "undefined") FO.xiheight = UFO.xiheight;
		}
		FO.mainCalled = false;
		return FO;
	},

	domLoad: function(id) {
		var _t = setInterval(function() {
			if ((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(id) != null) {
				UFO.main(id);
				clearInterval(_t);
			}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { UFO.main(id); clearInterval(_t); } , null); // Gecko, Opera 9+
		}
	},

	main: function(id) {
		var _fo = UFO.foList[id];
		if (_fo.mainCalled) return;
		UFO.foList[id].mainCalled = true;
		document.getElementById(id).style.visibility = "hidden";
		if (UFO.hasRequired(id)) {
			if (UFO.hasFlashVersion(parseInt(_fo.majorversion, 10), parseInt(_fo.build, 10))) {
				if (typeof _fo.setcontainercss != "undefined" && _fo.setcontainercss == "true") UFO.setContainerCSS(id);
				UFO.writeSWF(id);
			}
			else if (_fo.xi == "true" && UFO.hasFlashVersion(6, 65)) {
				UFO.createDialog(id);
			}
		}
		document.getElementById(id).style.visibility = "visible";
	},
	
	createCSS: function(selector, declaration) {
		var _h = document.getElementsByTagName("head")[0]; 
		var _s = UFO.createElement("style");
		if (!UFO.uaHas("ieWin")) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
		_s.setAttribute("type", "text/css");
		_s.setAttribute("media", "screen"); 
		_h.appendChild(_s);
		if (UFO.uaHas("ieWin") && document.styleSheets && document.styleSheets.length > 0) {
			var _ls = document.styleSheets[document.styleSheets.length - 1];
			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
		}
	},
	
	setContainerCSS: function(id) {
		var _fo = UFO.foList[id];
		var _w = /%/.test(_fo.width) ? "" : "px";
		var _h = /%/.test(_fo.height) ? "" : "px";
		UFO.createCSS("#" + id, "width:" + _fo.width + _w +"; height:" + _fo.height + _h +";");
		if (_fo.width == "100%") {
			UFO.createCSS("body", "margin-left:0; margin-right:0; padding-left:0; padding-right:0;");
		}
		if (_fo.height == "100%") {
			UFO.createCSS("html", "height:100%; overflow:hidden;");
			UFO.createCSS("body", "margin-top:0; margin-bottom:0; padding-top:0; padding-bottom:0; height:100%;");
		}
	},

	createElement: function(el) {
		return (UFO.uaHas("xml") && typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", el) : document.createElement(el);
	},

	createObjParam: function(el, aName, aValue) {
		var _p = UFO.createElement("param");
		_p.setAttribute("name", aName);	
		_p.setAttribute("value", aValue);
		el.appendChild(_p);
	},

	uaHas: function(ft) {
		var _u = UFO.ua;
		switch(ft) {
			case "w3cdom":
				return (typeof document.getElementById != "undefined" && typeof document.getElementsByTagName != "undefined" && (typeof document.createElement != "undefined" || typeof document.createElementNS != "undefined"));
			case "xml":
				var _m = document.getElementsByTagName("meta");
				var _l = _m.length;
				for (var i = 0; i < _l; i++) {
					if (/content-type/i.test(_m[i].getAttribute("http-equiv")) && /xml/i.test(_m[i].getAttribute("content"))) return true;
				}
				return false;
			case "ieMac":
				return /msie/.test(_u) && !/opera/.test(_u) && /mac/.test(_u);
			case "ieWin":
				return /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
			case "gecko":
				return /gecko/.test(_u) && !/applewebkit/.test(_u);
			case "opera":
				return /opera/.test(_u);
			case "safari":
				return /applewebkit/.test(_u);
			default:
				return false;
		}
	},
	
	getFlashVersion: function() {
		if (UFO.fv[0] != 0) return;  
		if (navigator.plugins && typeof navigator.plugins["Shockwave Flash"] == "object") {
			UFO.pluginType = "npapi";
			var _d = navigator.plugins["Shockwave Flash"].description;
			if (typeof _d != "undefined") {
				_d = _d.replace(/^.*\s+(\S+\s+\S+$)/, "$1");
				var _m = parseInt(_d.replace(/^(.*)\..*$/, "$1"), 10);
				var _r = /r/.test(_d) ? parseInt(_d.replace(/^.*r(.*)$/, "$1"), 10) : 0;
				UFO.fv = [_m, _r];
			}
		}
		else if (window.ActiveXObject) {
			UFO.pluginType = "ax";
			try { // avoid fp 6 crashes
				var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}
			catch(e) {
				try { 
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					UFO.fv = [6, 0];
					_a.AllowScriptAccess = "always"; // throws if fp < 6.47 
				}
				catch(e) {
					if (UFO.fv[0] == 6) return;
				}
				try {
					var _a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				}
				catch(e) {}
			}
			if (typeof _a == "object") {
				var _d = _a.GetVariable("$version"); // bugs in fp 6.21/6.23
				if (typeof _d != "undefined") {
					_d = _d.replace(/^\S+\s+(.*)$/, "$1").split(",");
					UFO.fv = [parseInt(_d[0], 10), parseInt(_d[2], 10)];
				}
			}
		}
	},

	hasRequired: function(id) {
		var _l = UFO.req.length;
		for (var i = 0; i < _l; i++) {
			if (typeof UFO.foList[id][UFO.req[i]] == "undefined") return false;
		}
		return true;
	},
	
	hasFlashVersion: function(major, release) {
		return (UFO.fv[0] > major || (UFO.fv[0] == major && UFO.fv[1] >= release)) ? true : false;
	},

	writeSWF: function(id) {
		var _fo = UFO.foList[id];
		var _e = document.getElementById(id);
		if (UFO.pluginType == "npapi") {
			if (UFO.uaHas("gecko") || UFO.uaHas("xml")) {
				while(_e.hasChildNodes()) {
					_e.removeChild(_e.firstChild);
				}
				var _obj = UFO.createElement("object");
				_obj.setAttribute("type", "application/x-shockwave-flash");
				_obj.setAttribute("data", _fo.movie);
				_obj.setAttribute("width", _fo.width);
				_obj.setAttribute("height", _fo.height);
				var _l = UFO.optAtt.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[UFO.optAtt[i]] != "undefined") _obj.setAttribute(UFO.optAtt[i], _fo[UFO.optAtt[i]]);
				}
				var _o = UFO.opt.concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") UFO.createObjParam(_obj, _o[i], _fo[_o[i]]);
				}
				_e.appendChild(_obj);
			}
			else {
				var _emb = "";
				var _o = UFO.opt.concat(UFO.optAtt).concat(UFO.optExc);
				var _l = _o.length;
				for (var i = 0; i < _l; i++) {
					if (typeof _fo[_o[i]] != "undefined") _emb += ' ' + _o[i] + '="' + _fo[_o[i]] + '"';
				}
				_e.innerHTML = '<embed type="application/x-shockwave-flash" src="' + _fo.movie + '" width="' + _fo.width + '" height="' + _fo.height + '" pluginspage="http://www.macromedia.com/go/getflashplayer"' + _emb + '></embed>';
			}
		}
		else if (UFO.pluginType == "ax") {
			var _objAtt = "";
			var _l = UFO.optAtt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.optAtt[i]] != "undefined") _objAtt += ' ' + UFO.optAtt[i] + '="' + _fo[UFO.optAtt[i]] + '"';
			}
			var _objPar = "";
			var _l = UFO.opt.length;
			for (var i = 0; i < _l; i++) {
				if (typeof _fo[UFO.opt[i]] != "undefined") _objPar += '<param name="' + UFO.opt[i] + '" value="' + _fo[UFO.opt[i]] + '" />';
			}
			var _p = window.location.protocol == "https:" ? "https:" : "http:";
			_e.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"' + _objAtt + ' width="' + _fo.width + '" height="' + _fo.height + '" codebase="' + _p + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + _fo.majorversion + ',0,' + _fo.build + ',0"><param name="movie" value="' + _fo.movie + '" />' + _objPar + '</object>';
		}
	},
		
	createDialog: function(id) {
		var _fo = UFO.foList[id];
		UFO.createCSS("html", "height:100%; overflow:hidden;");
		UFO.createCSS("body", "height:100%; overflow:hidden;");
		UFO.createCSS("#xi-con", "position:absolute; left:0; top:0; z-index:1000; width:100%; height:100%; background-color:#fff; filter:alpha(opacity:75); opacity:0.75;");
		UFO.createCSS("#xi-dia", "position:absolute; left:50%; top:50%; margin-left: -" + Math.round(parseInt(_fo.xiwidth, 10) / 2) + "px; margin-top: -" + Math.round(parseInt(_fo.xiheight, 10) / 2) + "px; width:" + _fo.xiwidth + "px; height:" + _fo.xiheight + "px;");
		var _b = document.getElementsByTagName("body")[0];
		var _c = UFO.createElement("div");
		_c.setAttribute("id", "xi-con");
		var _d = UFO.createElement("div");
		_d.setAttribute("id", "xi-dia");
		_c.appendChild(_d);
		_b.appendChild(_c);
		var _mmu = window.location;
		if (UFO.uaHas("xml") && UFO.uaHas("safari")) {
			var _mmd = document.getElementsByTagName("title")[0].firstChild.nodeValue = document.getElementsByTagName("title")[0].firstChild.nodeValue.slice(0, 47) + " - Flash Player Installation";
		}
		else {
			var _mmd = document.title = document.title.slice(0, 47) + " - Flash Player Installation";
		}
		var _mmp = UFO.pluginType == "ax" ? "ActiveX" : "PlugIn";
		var _uc = typeof _fo.xiurlcancel != "undefined" ? "&xiUrlCancel=" + _fo.xiurlcancel : "";
		var _uf = typeof _fo.xiurlfailed != "undefined" ? "&xiUrlFailed=" + _fo.xiurlfailed : "";
		UFO.foList["xi-dia"] = { movie:_fo.ximovie, width:_fo.xiwidth, height:_fo.xiheight, majorversion:"6", build:"65", flashvars:"MMredirectURL=" + _mmu + "&MMplayerType=" + _mmp + "&MMdoctitle=" + _mmd + _uc + _uf };
		UFO.writeSWF("xi-dia");
	},

	expressInstallCallback: function() {
		var _b = document.getElementsByTagName("body")[0];
		var _c = document.getElementById("xi-con");
		_b.removeChild(_c);
		UFO.createCSS("body", "height:auto; overflow:auto;");
		UFO.createCSS("html", "height:auto; overflow:auto;");
	},

	cleanupIELeaks: function() {
		var _o = document.getElementsByTagName("object");
		var _l = _o.length
		for (var i = 0; i < _l; i++) {
			_o[i].style.display = "none";
			for (var x in _o[i]) {
				if (typeof _o[i][x] == "function") {
					_o[i][x] = null;
				}
			}
		}
	}

};

if (typeof window.attachEvent != "undefined" && UFO.uaHas("ieWin")) {
	window.attachEvent("onunload", UFO.cleanupIELeaks);
}





/* -------------------------------------------------------------
	Document Initiation
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

/*  Document Initiation Function
	Used to replace multiple function calls appended to listeners, etc.
	Add as many functions as you want.
*/

var doc = {
	loaded : function(){
		set.external();
		form.init();
	}
};


/* -------------------------------------------------------------
	Event Listeners
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
 
if (window.addEventListener) {
	window.addEventListener("load", doc.loaded, false);
} else if (document.addEventListener) {
	document.addEventListener("load", doc.loaded, false);
} else if (window.attachEvent) {
	window.attachEvent("onload", doc.loaded);
} else if (typeof window.onload == "function") {
	window.onload = function(){
		doc.loaded();
	};
} else {
	window.onload = doc.loaded;
}




// IE Background image flicker fix
try {
	document.execCommand('BackgroundImageCache', false, true);
} catch(e) {}


/* -------------------------------------------------------------
	Form Control
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

function deleteOption(object,index) {
    object.options[index] = null;
}

function addOption(object,text,value) {
    var defaultSelected = true;
    var selected = true;
    var optionName = new Option(text, value, defaultSelected, selected)
	for (var i = object.length; i >= 1; i-- )
	{
    	var tmpOptionName = new Option(object.options[i-1].text, object.options[i-1].value, false, false)
	    object.options[i] = tmpOptionName;
	}
    object.options[0] = optionName;
}


function toggleFormFunction( mode )
{
	if( mode == 'search' )
	{
		document.getElementById('contactTitle').disabled = true;
		document.getElementById('contactFax').disabled = true;
		document.getElementById('contactEmail').disabled = true;
		document.getElementById('contactWebsite').disabled = true;
		document.getElementById('contactComments').disabled = true;

		if( document.getElementById('companyRating').options[0].value != "N/A" )
			addOption(document.getElementById('companyRating'),"N/A","N/A");

		document.getElementById('contactTitle').style.background = '#CCCCCC';
		document.getElementById('contactFax').style.background = '#CCCCCC';
		document.getElementById('contactEmail').style.background = '#CCCCCC';
		document.getElementById('contactWebsite').style.background = '#CCCCCC';
		document.getElementById('contactComments').style.background = '#CCCCCC';

		document.getElementById('companySub').value = 'Search';
		document.getElementById('theForm').action = 'companyInfoSearchProcess.cfm';
	}
	else if( mode == 'input' )
	{
		document.getElementById('contactTitle').disabled = false;
		document.getElementById('contactFax').disabled = false;
		document.getElementById('contactEmail').disabled = false;
		document.getElementById('contactWebsite').disabled = false;
		document.getElementById('contactComments').disabled = false;
		
		if( document.getElementById('companyRating').options[0].value == "N/A" )
			deleteOption(document.getElementById('companyRating'),0);

		document.getElementById('contactTitle').style.background = '#FFFFFF';
		document.getElementById('contactFax').style.background = '#FFFFFF';
		document.getElementById('contactEmail').style.background = '#FFFFFF';
		document.getElementById('contactWebsite').style.background = '#FFFFFF';
		document.getElementById('contactComments').style.background = '#FFFFFF';

		document.getElementById('companySub').value = 'Submit';
		document.getElementById('theForm').action = 'companyInfoProcessNew.cfm';
	}
}

function prePopulateContact( info, level )
{
	document.getElementById('contactFName').value = '';
	document.getElementById('contactLName').value = '';
	document.getElementById('contactTitle').value = '';
	document.getElementById('contactCity').value = '';
	
	document.getElementById('contactState').options[0].selected = true;
	
	document.getElementById('contactZip').value = '';
	document.getElementById('contactAddress').value = '';
	document.getElementById('contactEmail').value = '';
	document.getElementById('contactWebsite').value = '';
	document.getElementById('contactComments').value = '';
	
	document.getElementById('contactDevice1').options[0].selected = true;
	document.getElementById('contactDevice2').options[0].selected = true;
	document.getElementById('contactDevice3').options[0].selected = true;
	document.getElementById('contactDevice4').options[0].selected = true;
	document.getElementById('contactDevice5').options[0].selected = true;
	document.getElementById('contactDevice6').options[0].selected = true;

	document.getElementById('contactNumber1').value = '';
	document.getElementById('contactNumber2').value = '';
	document.getElementById('contactNumber3').value = '';
	document.getElementById('contactNumber4').value = '';
	document.getElementById('contactNumber5').value = '';
	document.getElementById('contactNumber6').value = '';

	document.getElementById('contactAreaCode1').value = '';
	document.getElementById('contactAreaCode2').value = '';
	document.getElementById('contactAreaCode3').value = '';
	document.getElementById('contactAreaCode4').value = '';
	document.getElementById('contactAreaCode5').value = '';
	document.getElementById('contactAreaCode6').value = '';

	document.getElementById('contactCity2').value = '';
	
	document.getElementById('contactState2').options[0].selected = true;
	
	document.getElementById('contactZip2').value = '';
	document.getElementById('contactAddress2').value = '';

	if( info != 0 )
	{
		var infoArray = info.split("*");
		var stateNum = parseInt(infoArray[4]) + 1;

		document.getElementById('contactFName').value = infoArray[0];
		document.getElementById('contactLName').value = infoArray[1];
		document.getElementById('contactTitle').value = infoArray[2];
		document.getElementById('contactCity').value = infoArray[3];

		document.getElementById('contactState').options[stateNum].selected = true;

		document.getElementById('contactZip').value = infoArray[5];
		document.getElementById('contactAddress').value = infoArray[6];
		document.getElementById('contactEmail').value = infoArray[7];
		document.getElementById('contactWebsite').value = infoArray[8];
		document.getElementById('contactComments').value = infoArray[9];

		document.getElementById('contactDevice2').options[infoArray[11]].selected = true;
		document.getElementById('contactDevice3').options[infoArray[12]].selected = true;
		document.getElementById('contactDevice4').options[infoArray[13]].selected = true;
		document.getElementById('contactDevice5').options[infoArray[14]].selected = true;
		document.getElementById('contactDevice6').options[infoArray[15]].selected = true;

		document.getElementById('contactNumber1').value = infoArray[16];
		document.getElementById('contactNumber2').value = infoArray[17];
		document.getElementById('contactNumber3').value = infoArray[18];
		document.getElementById('contactNumber4').value = infoArray[19];
		document.getElementById('contactNumber5').value = infoArray[20];
		document.getElementById('contactNumber6').value = infoArray[21];
		document.getElementById('contactID').value = infoArray[22];
		document.getElementById('delContactID').value = infoArray[22];
		
		document.getElementById('contactAreaCode1').value = infoArray[23];
		document.getElementById('contactAreaCode2').value = infoArray[24];
		document.getElementById('contactAreaCode3').value = infoArray[25];
		document.getElementById('contactAreaCode4').value = infoArray[26];
		document.getElementById('contactAreaCode5').value = infoArray[27];
		document.getElementById('contactAreaCode6').value = infoArray[28];

		if( infoArray[29] != undefined )
			document.getElementById('contactCity2').value = infoArray[29];

		if( infoArray[30] != undefined )
		{
			stateNum = parseInt(infoArray[30]) + 1;
			document.getElementById('contactState2').options[stateNum].selected = true;
		}
		if( infoArray[31] != undefined )
			document.getElementById('contactZip2').value = infoArray[31];
		if( infoArray[32] != undefined )
			document.getElementById('contactAddress2').value = infoArray[32];

		if( level == "a" )
			document.getElementById('updateBtn').disabled = false;

		//document.getElementById('contactTitle').disabled = false;
		//document.getElementById('contactFax').disabled = false;
		//document.getElementById('contactEmail').disabled = false;
		//document.getElementById('contactWebsite').disabled = false;
		//document.getElementById('contactComments').disabled = false;
		//document.getElementById('contactTitle').style.background = '#FFFFFF';
		//document.getElementById('contactFax').style.background = '#FFFFFF';
		//document.getElementById('contactEmail').style.background = '#FFFFFF';
		//document.getElementById('contactWebsite').style.background = '#FFFFFF';
		//document.getElementById('contactComments').style.background = '#FFFFFF';
		//document.getElementById('mode1').disabled = false;
		//document.getElementById('mode1').checked = true;
		//document.getElementById('theForm').action = "companyInfoProcessEdit.cfm";
		//document.getElementById('companySub').value = "Submit";
	}
}

function checkHandle(  num )
{
	var checkedFlag;
	var contactIDs = '';
	var companyIDs = '';

	//if( theValue == 'Check All' )
	//{
	//	document.getElementById('checker').value = 'Uncheck All';
	//	checkedFlag = true;
	//}
	//else
	//{
	//	document.getElementById('checker').value = 'Check All';
	//	checkedFlag = false;
	//}
	checkedFlag = document.getElementById('checker').checked;
	for( var i=1; i<=num; i++ )
	{
		document.getElementById('theChecks' + i ).checked = checkedFlag;
		var ids = document.getElementById('theChecks' + i).value.split("*");
		companyIDs = companyIDs + ids[0] + ",";
		contactIDs = contactIDs + ids[1] + ",";
	}

	if( checkedFlag )
	{
		contactIDs = contactIDs + "0";
		companyIDs = companyIDs + "0";
		document.getElementById('sendMessageBtn').disabled = false;
		document.getElementById('exportListBtn').disabled = false;
		document.getElementById('sendMessageBtn2').disabled = false;
		document.getElementById('exportListBtn2').disabled = false;
		document.getElementById('exportListIDs').value = companyIDs;
		document.getElementById('sendMessageIDs').value = contactIDs;
	}
	else
	{
		document.getElementById('exportListIDs').value = '';
		document.getElementById('sendMessageIDs').value = '';
		document.getElementById('sendMessageBtn').disabled = true;
		document.getElementById('exportListBtn').disabled = true;
		document.getElementById('sendMessageBtn2').disabled = true;
		document.getElementById('exportListBtn2').disabled = true;
	}
	


}

function createCheckList( num )
{
	var contactIDs = '';
	var companyIDs = '';
	for( var i=1; i<=num; i++ )
	{
		if( document.getElementById('theChecks' + i ).checked == true )
		{
			var ids = document.getElementById('theChecks' + i).value.split("*");
			companyIDs = companyIDs + ids[0] + ",";
		}
	}
	for( var i=1; i<=num; i++ )
	{
		if( document.getElementById('theChecks' + i ).checked == true )
		{
			var ids = document.getElementById('contactID' + i).options[document.getElementById('contactID' + i).selectedIndex].value;
			contactIDs = contactIDs + ids + ",";
		}
	}
			
	
	if( contactIDs != '' )
	{
		contactIDs = contactIDs + "0";
		document.getElementById('sendMessageBtn').disabled = false;
		document.getElementById('sendMessageBtn2').disabled = false;
	}
	else
	{
		document.getElementById('sendMessageBtn').disabled = true;
		document.getElementById('sendMessageBtn2').disabled = true;
	}
	
	if( companyIDs != '' )
	{
		companyIDs = companyIDs + "0";
		document.getElementById('exportListBtn').disabled = false;
		document.getElementById('exportListBtn2').disabled = false;
	}
	else
	{
		document.getElementById('exportListBtn').disabled = true;
		document.getElementById('exportListBtn2').disabled = true;
	}
	
	document.getElementById('exportListIDs1').value = companyIDs;
	document.getElementById('exportListIDs2').value = companyIDs;
	document.getElementById('exportContactsIDs1').value = contactIDs;
	document.getElementById('exportContactsIDs2').value = contactIDs;

	document.getElementById('sendMessageIDs1').value = companyIDs;
	document.getElementById('sendMessageIDs2').value = companyIDs;
	document.getElementById('sendMessageExportContactsIDs1').value = contactIDs;
	document.getElementById('sendMessageExportContactsIDs2').value = contactIDs;

}

function createDivCheckList( num )
{
	var divs = '';
	for( var i=1; i<=num; i++ )
	{
		if( document.getElementById('theChecks' + i ).checked == true )
		{
			if( document.getElementById('division' + i).type == 'hidden')
			{
				var theDiv = document.getElementById('division' + i).value;
			}
			else
			{
				var theDiv = document.getElementById('division' + i).options[document.getElementById('division' + i).selectedIndex].value;
			}
			divs = divs + theDiv + ",";
		}
	}
			
	
	if( divs != '' )
	{
		divs = divs.substr(0,divs.length-1);
	}

	document.getElementById('exportDivisions1').value = divs;
	document.getElementById('exportDivisions2').value = divs;
//	document.getElementById('exportListIDs2').value = companyIDs;
//	document.getElementById('sendMessageIDs2').value = companyIDs;
//	document.getElementById('exportContactsIDs1').value = contactIDs;
//	document.getElementById('exportContactsIDs2').value = contactIDs;

}


function contactBackfill( num )
{
	document.getElementById('chosenCompany').value = num;
	document.getElementById('contactForm').action = "backfill/contacts.cfm";
	document.getElementById('contactForm').target = "theIFrame";
	document.getElementById('contactForm').submit();
	document.getElementById('contactForm').action = "contactProcessNew.cfm";
	document.getElementById('contactForm').target = "";
}

function contactFormSubmit( num )
{
	if
	( 
	 	document.getElementById('contactFName').value == '' ||
	 	document.getElementById('contactLName').value == '' ||
	 	document.getElementById('contactAddress').value == '' ||
	 	document.getElementById('contactCity').value == '' ||
	 	document.getElementById('contactZip').value == '' ||
		document.getElementById('contactAreaCode1').value == '' ||
		document.getElementById('contactNumber1').value == '' ||
		(
		 	document.getElementById('contactCompanyID').options[0].selected == true &&
			document.getElementById('contactCompanyID').options[0].value == 0 
		) ||
		(
			document.getElementById('contactState').options[0].selected == true &&
			document.getElementById('contactState').options[0].value == 0
		)
	)
	{
		alert("Please fill out all required info");
		return;
	}

	if( num == 1 )
	{
		document.getElementById('contactForm').action = "contactsProcessNew.cfm";
	}
	else
	{
		document.getElementById('contactForm').action = "contactsProcessEdit.cfm";
	}
	document.getElementById('contactForm').submit();
	
}

function companyFormSubmit( numOfClassifications )
{
	var
		retFlag = true;
	var
		checkedNum = 0;
		
	if
	( 
	 	document.getElementById('companyName').value == '' ||
	 	(
		 	(
			 	document.getElementById('companyDivision1').value.length < 2 ||
	 			document.getElementById('companyDivision2').value.length < 2 ||
	 			document.getElementById('companyDivision3').value.length < 2
			)
			&&
			(
			 	document.getElementById('newDiv').innerHTML.length == 0 &&
				document.getElementById('oldDiv').innerHTML.length == 0
			 )
		)
	)
	{
		retFlag = false;
	}

/*	if( document.getElementById('companyClassification2').checked == true )
	{
		for( var i = 3; i <= 13; i++ )
		{
			if( document.getElementById('companyClassification' + i).checked == true )
				checkedNum = checkedNum + 1;
		}
		
		if( checkedNum == 0 )
			retFlag = false;
	}
*/
/*	for( var i=1; i<= numOfClassifications; i++ )
	{
		if( document.getElementById('companyClassification' + i).checked == true )
			checkedNum = checkedNum + 1;
	}
*/
		
	if( !retFlag )
	{
		alert("Please fill out all required info");
	}
	else
	{
		document.getElementById('theForm').submit();
	}
	
	return retFlag;

}

var idNum = 1;
function doMultDivisions( )
{
	var div1 = document.getElementById('companyDivision1').value;
	var div2 = document.getElementById('companyDivision2').value;
	var div3 = document.getElementById('companyDivision3').value;

	var newHtml = '<TABLE CELLSPACING="0" CELLPADDING="0" STYLE="width:255px"><TR><TD colspan="3" style="height:3px"></TD></TR><TR><TD STYLE="WIDTH:68px"><INPUT TYPE="text" name="companyDivision1" ID="companyDivision1' + idNum + '" VALUE="' + div1 + '" STYLE="WIDTH:68px" maxlength="2"></TD><TD STYLE="WIDTH:10px"></TD>';
	newHtml = newHtml + '<TD STYLE="WIDTH:68px"><INPUT TYPE="text" name="companyDivision2" ID="companyDivision2' + idNum + '" VALUE="' + div2 + '" STYLE="WIDTH:68px" maxlength="2"><TD STYLE="WIDTH:10px"></TD>';
	newHtml = newHtml + '<TD STYLE="WIDTH:68px"><INPUT TYPE="text" name="companyDivision3" ID="companyDivision3' + idNum + '" VALUE="' + div3 + '" STYLE="WIDTH:68px" maxlength="2"></TD><TD STYLE="WIDTH:31px"></TD></TR><TR><TD colspan="3" style="height:3px"></TD></TR></TABLE>';
	newHtml = newHtml + document.getElementById('newDiv').innerHTML;

	document.getElementById('newDiv').innerHTML = newHtml;
	
	document.getElementById('companyDivision1').value = '';
	document.getElementById('companyDivision2').value = '';
	document.getElementById('companyDivision3').value = '';
	idNum = idNum + 1;
}

function RestrictToNumbers ( )
{
      var allowed = /[0-9\x0D]/g

      var key = String.fromCharCode( window.event.keyCode );

      var good = allowed.test( key );

      if ( !good )
      {
            event.keyCode = 0;

      }
}

function RestrictToPhone ( )
{
      var allowed = /[0-9\x0D\.\-]/g

      var key = String.fromCharCode( window.event.keyCode );

      var good = allowed.test( key );

      if ( !good )
      {
            event.keyCode = 0;

      }
}

function toggleCheckBoxes ( theRadioBtn )
{
	var disabledStatus = true;
	
	if( theRadioBtn == 2 )
		disabledStatus = false;
		
	for( var i = 3; i <= 13; i++ )
		document.getElementById('companyClassification' + i).disabled = disabledStatus;
	
}




function publicCompanyFormSubmit1( numOfClassifications )
{
	var
		retFlag = true;
	var
		checkedNum = 0;
		
	if
	( 
	 	document.getElementById('companyName').value == '' 
	)
	{
		retFlag = false;
	}

	if
	(
	 	document.getElementById('contactFName').value == '' ||
	 	document.getElementById('contactLName').value == '' ||
	 	document.getElementById('contactTitle').value == '' ||
	 	document.getElementById('contactAddress').value == '' ||
	 	document.getElementById('contactCity').value == '' ||
	 	document.getElementById('contactZip').value == '' ||
	 	document.getElementById('contactAreaCode1').value == '' ||
	 	document.getElementById('contactNumber1').value == '' ||
		(
			document.getElementById('contactState').options[0].selected == true &&
			document.getElementById('contactState').options[0].value == 0
		)
	)
	{
		retFlag = false;
		theMsg = "Please fill out all required info."
	}


/*	if( document.getElementById('companyClassification2').checked == true )
	{
		for( var i = 3; i <= 13; i++ )
		{
			if( document.getElementById('companyClassification' + i).checked == true )
				checkedNum = checkedNum + 1;
		}
		
		if( checkedNum == 0 )
			retFlag = false;
			theMsg = "Please fill out all required info."
	}

	for( var i=1; i<= numOfClassifications; i++ )
	{
		if( document.getElementById('companyClassification' + i).checked == true )
			checkedNum = checkedNum + 1;
	}
*/
	if( !retFlag )
	{
		alert(theMsg);
	}
	else
	{
		document.getElementById('contractorTable1').style.display='none';
		document.getElementById('contractorTable2').style.display='block';
		location.href='#theTop'	
	}
	
	return retFlag;

}

function publicCompanyFormSubmit2( recCount )
{
	var
		retFlag = true;
	var primaryCheckFlag = 0;
	var noDisabled = 1;
	
	
	if( retFlag )
	{
		for( var j =1; j <= recCount; j++ )
		{
			if( document.getElementById( 'primary_' + j ).disabled == false )
			{
				noDisabled = 0;
				if( document.getElementById( 'primary_' + j ).checked == true )
				{
					primaryCheckFlag = 1;
				}
			}
		}
		if( primaryCheckFlag == 0 && noDisabled == 0 )
		{
			retFlag = 0;
			theMsg = "Please choose a primary division.";
		}
		if( noDisabled == 1 && primaryCheckFlag == 0 )
		{
			retFlag = 1;
		}
	
	}
	
	
		
	if( !retFlag )
	{
		alert(theMsg);
	}
	else
	{
		document.getElementById('theForm').submit();
	}
	
	return retFlag;

}

function trimBlanks( txt )
{
      var newText = '';

      if ( txt != '' )
      {
            var curChar = 0;

            while ( txt.charAt( curChar ) == ' ' )
            {
                  curChar ++;
            }

            newText = txt.substr( curChar );

            while ( newText.charAt( newText.length - 1 ) == ' ' )
            {
                  newText = newText.substr( 0, newText.length - 1 );
            }
      }

      return newText.length;
}

function blankPopulate()
{
	var num = document.getElementById('searchForm').elements.length;
	var elem = 	document.getElementById('searchForm').elements;
	for( var i = 0; i < num; i++ )
	{
		if( elem[i].id.search( "companyDivision" ) != -1 )
		{
			var strLngth = trimBlanks(elem[i].value);
			if( strLngth == 0  )
			{
				elem[i].value = "-";
			}
		}
	}
	document.getElementById('searchForm').submit();
}



