

detectBrowser();

function parseSearchSubmit (path)
{
  
  // search products
  if (document.searchform.t.options[document.searchform.t.selectedIndex].value=="p") {
	document.searchform.action = path + 'psearch';
  }

  // search FAQs
  if (document.searchform.t.options[document.searchform.t.selectedIndex].value=="f") {
    document.searchform.action = '/cymatherapy.com/faq/search';
  }

  // search Articles
  if (document.searchform.t.options[document.searchform.t.selectedIndex].value=="a") {
	document.searchform.action = '/cymatherapy.com/articles/search';
  }
}


// image swap for navigation buttons

// preload nav images
var imgswap = "/cymatherapy.com/images/topnav_";
var imgon = new Array();
var imgoff = new Array();

imgon['imgHome'] = new Image(); imgon['imgHome'].src = imgswap + "home_on.gif";
imgon['imgStore'] = new Image(); imgon['imgStore'].src = imgswap + "onlinestore_on.gif";
imgon['imgNews'] = new Image(); imgon['imgNews'].src = imgswap + "newsletters_on.gif";
imgon['imgCatalog'] = new Image(); imgon['imgCatalog'].src = imgswap + "freecatalog_on.gif";
imgon['imgForms'] = new Image(); imgon['imgForms'].src = imgswap + "orderforms_on.gif";
imgon['imgTips'] = new Image(); imgon['imgTips'].src = imgswap + "teachingtips_on.gif";
imgon['imgService'] = new Image(); imgon['imgService'].src = imgswap + "customerservice_on.gif";

imgoff['imgHome'] = new Image(); imgoff['imgHome'].src = imgswap + "home_off.gif";
imgoff['imgStore'] = new Image(); imgoff['imgStore'].src = imgswap + "onlinestore_off.gif";
imgoff['imgNews'] = new Image(); imgoff['imgNews'].src = imgswap + "newsletters_off.gif";
imgoff['imgCatalog'] = new Image(); imgoff['imgCatalog'].src = imgswap + "freecatalog_off.gif";
imgoff['imgForms'] = new Image(); imgoff['imgForms'].src = imgswap + "orderforms_off.gif";
imgoff['imgTips'] = new Image(); imgoff['imgTips'].src = imgswap + "teachingtips_off.gif";
imgoff['imgService'] = new Image(); imgoff['imgService'].src = imgswap + "customerservice_off.gif";
  
function navImageSwap(imgname, on)
{
  // get obj
  if (navigator.family == "ie4" || navigator.family == "ie5") {
    var obj = document.all(imgname);
  } else if (document.getElementById) {
    var obj = document.getElementById(imgname);
  }
    
  if (on=='on') {
    obj.src = imgon[imgname].src;
  } else {
    obj.src = imgoff[imgname].src;
  }
    
}

function setColor (id, color)
{
  obj = document.getElementById(id);
  obj.style.background = color;
}


// DHTML

currentNum = 0;

function popupText (num)
{
  if (num != currentNum) {
  
    if (navigator.family == "ie4" || navigator.family == "ie5") {  
	  var obj = document.all("popup" + num);
      var txt = obj.innerHTML;
  
      popuptext.innerHTML = txt;
    }
  
    else if (navigator.family == "gecko") {
	  
	  var newTxt = document.getElementById("popup" + num);
	  var oldTxt = document.getElementById("popup" + currentNum);
      var popups = document.getElementById("popups");
	  var ptext = document.getElementById("popuptext");
	
	  oldTxt.style.visibility = 'hidden';
	  popups.appendChild(oldTxt);
	
	  newTxt.style.visibility = 'visible';
	  ptext.appendChild(newTxt);
    }
  
    // set currentNum to num (keep track of currently displayed text)
    currentNum = num;
  }
}
  


// create pop-up window

var popupWindow
function createNew (URL, w, h) {
	if (!popupWindow || popupWindow.closed) {
		popupWindow = window.open(URL,"_blank",'HEIGHT='+h+',WIDTH='+w+',scrollbars=1,resizeable=yes,toolbar=0,location=0,menubar=0')
	} else{
		//bring existing subwindow to the front
		popupWindow.focus()
	}
}

// load image into portfolio
function loadImage (i)
{
  var obj = MM_findObj("image" + i);
  var tobj;
  var j;
  
  if (obj) {
    obj.style.visibility = 'visible';
  }
  
  for (j = 0; j < imageTotal; j++) {
    if (j != i) {
	  if (tobj = MM_findObj("image" + j)) {
	    tobj.style.visibility = 'hidden';
	  }
	}
  }
}

// draw div tags for images when they load
function imageShow (i)
{
  alert('processing image: ' + i);
  
  var t = 0;
  var l = 0;

  w = image[i].width;
  h = image[i].height;
  
  l = 300 - (w / 2);
  t = 300 - (h / 2);
  
  document.write('<DIV ID="image' + i + '" STYLE="position:absolute; top:' + t + '; left:' + l + '; visibility:' + ((i==imageDefault) ? 'visible' : 'hidden') + '">');
  document.write('<IMG SRC="images/' + imagePrefix + i + '.jpg" ALT="" BORDER="">');
  document.write('</DIV>');
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}

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 P7AniMagic(el, x, y, a, b, c, s) { //v2.5 PVII
 var g, elo=el, f="", m=false, d="";
 x=parseInt(x);
 y=parseInt(y);
 
 var t = 'g.p7Magic = setTimeout("P7AniMagic(\''+elo+'\','; 
 
 if ((g=MM_findObj(el))!=null) {
   d= (document.layers) ? g : g.style;
 } else {
   return;
 }
 
 if (parseInt(s)>0) {
   eval(t+x+','+y+','+a+','+b+','+c+',0)",' + s+')');
   return;
 }
 
 var xx = (parseInt(d.left)) ? parseInt(d.left) : 0;
 var yy = (parseInt(d.top)) ? parseInt(d.top) : 0;
 
 if (parseInt(c)==1) {
   x+=xx;
   y+=yy;
   m=true;
   c=0;
 }
 else if (c==2) {m=false;clearTimeout(g.p7Magic);}
 
 else {
   var i=parseInt(a);
   if (eval(g.moved)){clearTimeout(g.p7Magic);}
   if (xx<x){xx+=i;m=true;if(xx>x){xx=x;}}
   if (xx>x){xx-=i;m=true;if(xx<x){xx=x;}}
   if (yy<y){yy+=i;m=true;if(yy>y){yy=y;}}
   if (yy>y){yy-=i;m=true;if(yy<y){yy=y;}}
 }
 
 if (m) {
   if ((navigator.appName=="Netscape") && parseInt(navigator.appVersion)>4){
     xx+="px";yy+="px";
   }
  
   d.left=xx;d.top=yy;g.moved=true;
   g.focus();
   eval(t+x+','+y+','+a+','+b+','+c+',0)",'+b+')');
 } else {g.moved=false;}
}

function setchecked (val)
{
  var o = document.forms[1];
  var len = o.elements.length;
  
  for (i = 0; i < len; i++) {
	if (o.elements[i].name == "matches[]") {
	  o.elements[i].checked = val;
    }
  }
}	

// find out what browser we are dealing with
// from the Portable Browser Sniffer (developer.netscape.com)
function detectBrowser()
{
	var element = null;

	navigator.OS		= '';
	navigator.version	= 0;
	navigator.org		= '';
	navigator.family	= '';

	var platform;
	if (typeof(window.navigator.platform) != 'undefined')
	{
		platform = window.navigator.platform.toLowerCase();
		if (platform.indexOf('win') != -1)
			navigator.OS = 'win';
		else if (platform.indexOf('mac') != -1)
			navigator.OS = 'mac';
		else if (platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1)
			navigator.OS = 'nix';
	}

	var i = 0;
	var ua = window.navigator.userAgent.toLowerCase();
	
	if (ua.indexOf('opera') != -1)
	{
		i = ua.indexOf('opera');
		navigator.family	= 'opera';
		navigator.org		= 'opera';
		navigator.version	= parseFloat('0' + ua.substr(i+6), 10);
	}
	else if ((i = ua.indexOf('msie')) != -1)
	{
		navigator.org		= 'microsoft';
		navigator.version	= parseFloat('0' + ua.substr(i+5), 10);
		
		if (navigator.version < 4)
			navigator.family = 'ie3';
		else
			navigator.family = 'ie4'
	}
	else if (typeof(window.controllers) != 'undefined' && typeof(window.locationbar) != 'undefined')
	{
		i = ua.lastIndexOf('/')
		navigator.version = parseFloat('0' + ua.substr(i+1), 10);
		navigator.family = 'gecko';

		if (ua.indexOf('netscape') != -1)
			navigator.org = 'netscape';
		else if (ua.indexOf('compuserve') != -1)
			navigator.org = 'compuserve';
		else
			navigator.org = 'mozilla';
	}
	else if ((ua.indexOf('mozilla') !=-1) && (ua.indexOf('spoofer')==-1) && (ua.indexOf('compatible') == -1) && (ua.indexOf('opera')==-1)&& (ua.indexOf('webtv')==-1) && (ua.indexOf('hotjava')==-1))
	{
	    var is_major = parseFloat(navigator.appVersion);
    
		if (is_major < 4)
			navigator.version = is_major;
		else
		{
			i = ua.lastIndexOf('/')
			navigator.version = parseFloat('0' + ua.substr(i+1), 10);
		}
		navigator.org = 'netscape';
		navigator.family = 'nn' + parseInt(navigator.appVersion);
	}
	else if ((i = ua.indexOf('aol')) != -1 )
	{
		// aol
		navigator.family	= 'aol';
		navigator.org		= 'aol';
		navigator.version	= parseFloat('0' + ua.substr(i+4), 10);
	}

	navigator.DOMCORE1	= (typeof(document.getElementsByTagName) != 'undefined' && typeof(document.createElement) != 'undefined');
	navigator.DOMCORE2	= (navigator.DOMCORE1 && typeof(document.getElementById) != 'undefined' && typeof(document.createElementNS) != 'undefined');
	navigator.DOMHTML	= (navigator.DOMCORE1 && typeof(document.getElementById) != 'undefined');
	navigator.DOMCSS1	= ( (navigator.family == 'gecko') || (navigator.family == 'ie4') );

	navigator.DOMCSS2   = false;
	if (navigator.DOMCORE1)
	{
		element = document.createElement('p');
		navigator.DOMCSS2 = (typeof(element.style) == 'object');
	}

	navigator.DOMEVENTS	= (typeof(document.createEvent) != 'undefined');
}

// detect browser plugins
// CopyRight © 1997-2001 JavaScript Kit. All rights reserved


var agt=navigator.userAgent.toLowerCase();
var ie  = (agt.indexOf("msie") != -1);
var ns  = (navigator.appName.indexOf("Netscape") != -1);
var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
var mac = (agt.indexOf("mac")!=-1);

if (ie && win) {	pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader"); }
if (ns || !win) {
		nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
		pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
}

function detectIE(ClassID,name) { result = false; document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); if (result) return name+','; else return ''; }
function detectNS(ClassID,name) { n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n; }

pluginlist += navigator.javaEnabled() ? "Java," : "";
if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);

//SAMPLE USAGE- detect "Flash"
//if (pluginlist.indexOf("Flash")!=-1)
//document.write("You have flash installed")






// MenuScript - Roganstreet, Inc.
// used to change style upon mouseover, as in to a style with underlined text 


var hiliteList = new makeArray(3) 

//allways should be greater than or equal to the last 

//series number + 1 (so if the series number = 4 then

//this value would be 5.) For IE3 compatibility.

//*****add all hiliter object info here! *****



hiliteList[0]= new hiliteOBJ('majornav','majornavover')

hiliteList[1]= new hiliteOBJ('header','headerover')

hiliteList[2]= new hiliteOBJ('minornav','minornavover')

//***all hiliter info above here! *****



function makeArray(UBound){

	this.length=UBound

	for(ii=0;ii <= UBound;ii++){

		this[ii]=0

		}

}



function hiliteOBJ(p_classRest,p_classOver){

	this.classRest = p_classRest;

	this.classOver = p_classOver;

	return this;

}

	

function doHilite(p_obj){

	for(nn=0;nn<=(hiliteList.length - 1);nn++){  //repeat for all objects in hiliteList

		if(p_obj.className == hiliteList[nn].classRest){

			//caught one at "rest", so set to Over;

			p_obj.className = hiliteList[nn].classOver;

			break;

			return false;

		}

		if(p_obj.className == hiliteList[nn].classOver){

			//caught one at that is still hilited, so set to Rest;

			p_obj.className = hiliteList[nn].classRest;

			break;

			return false;

		}

	}

	return false;

}



