// cygnus.js
/* 
	Scripts used for the Cygnus Business Media dropdown menus.
	John's the voodoo ninja in charge of these if there are questions.
*/
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function P7_autoLayers() { //v1.4 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;a=parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc){p7c=new Array();document.p7setc=true;for(var u=0;u<10;u++){
 p7c[u]=new Array();}}for(k=0;k<p7c[a].length;k++){if((g=MM_findObj(p7c[a][k]))!=null){
 b=(document.layers)?g:g.style;b.visibility="hidden";}}for(k=1;k<args.length;k++){
 if((g=MM_findObj(args[k]))!=null){b=(document.layers)?g:g.style;b.visibility="visible";b.display="block";f=false;
 for(var j=0;j<p7c[a].length;j++){if(args[k]==p7c[a][j]) {f=true;}}
 if(!f){p7c[a][p7c[a].length++]=args[k];}}}
}

function P7_Snap() { //v2.65 by PVII
 var x,y,ox,bx,oy,p,tx,a,b,k,d,da,e,el,tw,q0,xx,yy,w1,pa='px',args=P7_Snap.arguments;a=parseInt(a);
 if(document.layers||window.opera){pa='';}for(k=0;k<(args.length);k+=4){
 if((g=MM_findObj(args[k]))!=null){if((el=MM_findObj(args[k+1]))!=null){
 a=parseInt(args[k+2]);b=parseInt(args[k+3]);x=0;y=0;ox=0;oy=0;p="";tx=1;
 da="document.all['"+args[k]+"']";if(document.getElementById){
 d="document.getElementsByName('"+args[k]+"')[0]";if(!eval(d)){
 d="document.getElementById('"+args[k]+"')";if(!eval(d)){d=da;}}
 }else if(document.all){d=da;}if(document.all||document.getElementById){while(tx==1){
 p+=".offsetParent";if(eval(d+p)){x+=parseInt(eval(d+p+".offsetLeft"));y+=parseInt(eval(d+p+".offsetTop"));
 }else{tx=0;}}ox=parseInt(g.offsetLeft);oy=parseInt(g.offsetTop);tw=x+ox+y+oy;
 if(tw==0||(navigator.appVersion.indexOf("MSIE 4")>-1&&navigator.appVersion.indexOf("Mac")>-1)){
  ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top);}else{
  w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;
  x=document.body.scrollLeft+event.clientX+bx;y=document.body.scrollTop+event.clientY;}}
 }else if(document.layers){x=g.x;y=g.y;q0=document.layers,dd="";for(var s=0;s<q0.length;s++){
  dd='document.'+q0[s].name;if(eval(dd+'.document.'+args[k])){x+=eval(dd+'.left');y+=eval(dd+'.top');
  break;}}}e=(document.layers)?el:el.style;xx=parseInt(x+ox+a),yy=parseInt(y+oy+b);
 if(navigator.appVersion.indexOf("MSIE 5")>-1 && navigator.appVersion.indexOf("Mac")>-1){
  xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);}
 e.left=xx+pa;e.top=yy+pa;}}}
}

function P7_hideEl(evt) { //v1.5 by PVII-www.projectseven.com
 var b,r,m=false;if(document.layers){b=evt.target;if(b.p7aHide){
 b.visibility="hidden";}else{routeEvent(evt);}
 }else if(document.all&&!window.opera){b=event.srcElement;while(b){
 if(b.p7aHide){break;}b=b.parentElement;}if(!b.contains(event.toElement)){
 b.style.visibility="hidden";}}else if(document.getElementById){
 b=evt.currentTarget;r=evt.relatedTarget;while(r){if(b==r){m=true;
 break;}r=r.parentNode;}if(!m){b.style.visibility="hidden";}}
}

function P7_autoHide() { //v1.5 by PVII-www.projectseven.com
 var i,g;for(i=0;i<arguments.length;i++){
 if((g=MM_findObj(arguments[i]))!=null){g.p7aHide=true;if(document.layers){
 g.captureEvents(Event.MOUSEOUT);}g.onmouseout=P7_hideEl;}}
}

// form validation for email list signup
function submitIt(form) {
	var checkEmail = "@.";
	var checkStr = form.email.value;
	var EmailValid = false;
	var EmailAt = false;
	var EmailPeriod = false;
	for (i = 0;  i < checkStr.length;  i++){
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkEmail.length;  j++){
			if (ch == checkEmail.charAt(j) && ch == "@"){
				EmailAt = true;
			}
			if (ch == checkEmail.charAt(j) && ch == "."){
				EmailPeriod = true;
			}
			if (EmailAt && EmailPeriod){
				break;
			}
			if (j == checkEmail.length){
				break;
			}
		}
		if (EmailAt && EmailPeriod){
			EmailValid = true
			break;
		}
	}
	if (!EmailValid){
		alert("You must enter a valid E-mail address");
		form.email.focus();
		return (false);
	}
	if ((form.email.value == "")||(form.email.value == "Enter Email")){
		alert("Please enter your E-mail Address");
		form.email.focus();
		return (false);
	}
	return (true);
}

// old browser detection code
	var net4 = (document.layers) ? true : false;
	var ie4 = (document.getElementById) ? false : true;
	var older = (parseInt(navigator.appVersion) < 4) ? true : false;
	var os = navigator.userAgent.toUpperCase();
	var mac = (os.indexOf("MAC") > -1) ? true : false;
	var ie = (navigator.appName.indexOf("Microsoft") > -1) ? true : false;
	
	if(net4 || ie4 || older || (mac & ie)) {
		window.location="/browserupgrade/"
	}

// open printer-friendly window
function printerwindow(theUrl){
	var printerwin=window.open(theUrl,'printerwin','width=600,height=400,resizeable=1,scrollbars=1');
	printerwin.focus();
}

// open "email to a friend" window
function emailwindow(theUrl){
	var emailwin=window.open(theUrl,'emailwin','width=440,height=500,resizeable=1,scrollbars=1');
	emailwin.focus();
}

// bookmark this site code
function bookmarkIt() {
	if (document.all) {
		window.external.AddFavorite("http://www.cpatechnologyadvisor.com/","The CPA Technology Advisor");
	} else if (navigator.userAgent.indexOf("Gecko") != -1 && navigator.platform.indexOf("Mac") == -1) {
		alert("Press Ctrl + D to bookmark this page");
	}
}

// email encoder scripts
function jemail(user, domain, suffix) {
	document.write('<a href="mailto:' + user + '@' + domain + '.' + suffix + '">');
} 
function jemail2(user, domain, suffix) {
	document.write('<a href="mailto:' + user + '@' + domain + '.' + suffix + '">' + user + '@' + domain + '.' + suffix + '</a>');
}

// HitBox Scripts
function _hbxStrip(a){
	a = a.split("|").join("");
	a = a.split("&").join("");
	a = a.split("'").join("");
	a = a.split("#").join("");
	a = a.split("$").join("");
	a = a.split("%").join("");
	a = a.split("^").join("");
	a = a.split("*").join("");
	a = a.split(":").join("");
	a = a.split("!").join("");
	a = a.split("<").join("");
	a = a.split(">").join("");
	a = a.split("~").join("");
	a = a.split(";").join("");
	a = a.split(" ").join("+");
	return a;
}

function doSearch(sf) {
	var st = "";
	if(sf.sitesearch) {
		var st = (sf.sitesearch[0].checked) ? "site" : "web";
	}
	if(st == "site") {
		document.s_search.q.value = sf.q.value;
		document.s_search.submit();
	} else {
		sf.submit();
	}
}