/*
    Written by Jonathan Snook, http://www.snook.ca/jonathan
    Add-ons by Robert Nyman, http://www.robertnyman.com
*/

function getElementsByClassName(oElm, strTagName, strClassName){
    var arrElements = (strTagName == "*" && document.all)? document.all : 
    oElm.getElementsByTagName(strTagName);
    var arrReturnElements = new Array();
    strClassName = strClassName.replace(/\-/g, "\\-");
    var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
    var oElement;
    for(var i=0; i<arrElements.length; i++){
        oElement = arrElements[i];      
        if(oRegExp.test(oElement.className)){
            arrReturnElements.push(oElement);
        }   
    }
    return (arrReturnElements)
}

/*
    Empty form fields
*/
function clearText(objField){
	if (objField.defaultValue==objField.value)
	objField.value = ""
}
/*
    adds page to favorites
*/
function bookmark()
{
	var ver = navigator.appName;
	var num = parseInt(navigator.appVersion);

	netscape="Please hit CTRL+D to add a bookmark to this site."
	if ((ver == "Microsoft Internet Explorer")&&(num >= 4))
	{
		window.external.AddFavorite("http://www.ar-d.com/", "Audience Research and Development - The Premier Television Branding Company");
	}
	else if (navigator.appName=='Netscape')
	{
		alert(netscape);
	}
}


/*
    nav rollover functions
*/

function showSub(navitem)
{
	var theMain
	// loop through and find subnav
	var numberMain = navitem.childNodes.length;

	for (i=0; i<numberMain;i++){ 	
		if (navitem.childNodes && navitem.childNodes[i].nodeName.toLowerCase() == 'ul') {
			navitem.childNodes[i].style.display = "block";
		}
		if (navitem.childNodes && navitem.childNodes[i].nodeName.toLowerCase() == 'a' && navitem.childNodes[i].className.toLowerCase() == 'rollover' && navitem.childNodes[i].firstChild.src.indexOf('_r.') == -1) {
			navitem.childNodes[i].firstChild.src = navitem.childNodes[i].firstChild.src.replace(/(\.[^.]+)$/, '_r$1');
		}
	}
}

function hideSub(navitem)
{
	var theMain
	// loop through and find subnav
	var numberMain = navitem.childNodes.length;

	for (i=0; i<numberMain;i++){ 	
		if (navitem.childNodes && navitem.childNodes[i].nodeName.toLowerCase() == 'ul') {
			navitem.childNodes[i].style.display = "none";
		}
		if (navitem.childNodes && navitem.childNodes[i].nodeName.toLowerCase() == 'a' && navitem.childNodes[i].className.toLowerCase() == 'rollover') {
			navitem.childNodes[i].firstChild.src = navitem.childNodes[i].firstChild.src.replace(/_r(\.[^.]+)$/, '$1');
		}
	}
}

function hideAllSubs()
{
	var allSubs = getElementsByClassName(document.getElementById("navigation"), "ul", "subnav");
	
	// loop through and hide all subs
	var numberSubs = allSubs.length;
	
	for (i=0; i<numberSubs;i++){ 
		allSubs[i].style.display = "none";
	}
}

/*
    Change images on rollover
*/
function changeImages() {
  if (document.images) {
    for (var i=0; i<changeImages.arguments.length; i+=2) {
      document.images[changeImages.arguments[i]].src = eval(changeImages.arguments[i+1] + ".src");
    }
  }
}

/*
    Preload images
*/
if (document.images) {
	
    
    productson = new Image();
    productson.src = "/images/n_products_r.gif";
    productsoff = new Image();
    productsoff.src = "/images/n_products.gif";
	
    providerson = new Image();
    providerson.src = "/images/n_providers_r.gif";
    providersoff = new Image();
    providersoff.src = "/images/n_providers.gif";
	
    abouton = new Image();
    abouton.src = "/images/n_about_r.gif";
    aboutoff = new Image();
    aboutoff.src = "/images/n_about.gif";
	
    studieson = new Image();
    studieson.src = "/images/n_studies_r.gif";
    studiesoff = new Image();
    studiesoff.src = "/images/n_studies.gif";
	
    resellerson = new Image();
    resellerson.src = "/images/n_resellers_r.gif";
    resellersoff = new Image();
    resellersoff.src = "/images/n_resellers.gif";
	
    supporton = new Image();
    supporton.src = "/images/n_support_r.gif";
    supportoff = new Image();
    supportoff.src = "/images/n_support.gif";
    
   
}


function validate(theForm)
	{
	var returnFlag = true;
	var frmLength;
	var firstBlank;
	var strEmailAddress;
	var strPhoneNumber;
	var strNewPhone = "";
	var strPhoneLength;
	var strMessage;
		
	var arrReqFields = getElementsByClassName(document.getElementById(theForm.id), "*", "required");
	
	strMessage = "Please complete all required fields."
	firstBlank = -1;
	
	// loop through fields to clear out default values
	frmLength = arrReqFields.length;
	
	for (i=0; i<frmLength;i++){ 
		if(arrReqFields[i].value == "")
		{
			
			arrReqFields[i].className = "required warning";
			returnFlag = false;
			if(firstBlank == -1) {
				firstBlank = i
			}
		}
		else if(arrReqFields[i].name == "email") {
			strEmailAddress = arrReqFields[i].value;
			intAtPosition = strEmailAddress.indexOf("@");
			intLastDotPosition = strEmailAddress.lastIndexOf(".");
			if((strEmailAddress=="") || (intAtPosition == 0) || (intAtPosition == 1) || (intLastDotPosition == -1) || (intAtPosition > intLastDotPosition) || (intLastDotPosition+1 == strEmailAddress.length)){
				arrReqFields[i].className = "required warning";
				returnFlag = false;
				if(firstBlank == -1) {
					firstBlank = i;
					strMessage = "Please enter a valid email address";
					
				}
			}
		}
		
		else {
			arrReqFields[i].className = "required";
		}
	}
	
		
	// check any other email addresses for errors
	var arrEmails = getElementsByClassName(document.getElementById(theForm.id), "*", "emailfield");
	
	frmLength = arrEmails.length;

	for (i=0; i<frmLength;i++)
		{
			strEmailAddress = arrEmails[i].value;
			if(strEmailAddress != "")
			{
				intAtPosition = strEmailAddress.indexOf("@");
				intLastDotPosition = strEmailAddress.lastIndexOf(".");
				if((strEmailAddress=="") || (intAtPosition == 0) || (intAtPosition == 1) || (intLastDotPosition == -1) || (intAtPosition > intLastDotPosition) || (intLastDotPosition+1 == strEmailAddress.length)){
					arrEmails[i].className = "emailfield warning";
					returnFlag = false;
					if(firstBlank == -1) {
						firstBlank = i;
						strMessage = "Please enter a valid email address.";
						
					}
				}
				else { arrEmails[i].className = "emailfield"; }
			}
			else { arrEmails[i].className = "emailfield"; }
		}
		
	

	
	if(document.getElementById('sigcheck'))
		{
			if(returnFlag == true)
			{
				if(document.getElementById('sigcheck').checked == false)
				{
					returnFlag = false;
					strMessage = "You must check the checkbox to continue.";
					firstBlank = 1;
				}
			}
		}
		
	if(returnFlag == false)
		{
			alert(strMessage);
			arrReqFields[firstBlank].focus()
		}
		
	return returnFlag;
	}




var state = 'none';

function showHide(theLink) {

	var theSection = theLink.parentNode
	
	var arrDropContent = getElementsByClassName(theSection, "div", "dropdowncontent");
	
	for (i=0; i<arrDropContent.length;i++){ 
		
		
		if (state == 'block') {
		state = 'none';
		}
		else {
		state = 'block';
		}


		hza = arrDropContent[i];
		var divStyle = hza.style.display;
		   if (divStyle == 'none') {
			  state = 'block';
		   }
		   else if (divStyle == '') {
			  state = 'block';
		   }
		   else {
			  state = 'none';
		   }
		hza.style.display = state;


	}	
}

// function to make certain field required when a checkbox is clicked
function makeReq(thecheck, thefield)
{
	if (thecheck.checked != false)
	{
		document.getElementById(thefield).className = "required";
	}
	else
	{
		document.getElementById(thefield).className = "normal";
	}
}



var resetRolls = new Object();

function resetimage(src)
{
this.src=src;
this.confirm=true;
this.alt="Reset";
this.write=resetimage_write;
}

function resetimage_write()
{
document.write('<A ');
if (this.rollover)
    {
    if (! this.name)
        {
        alert('to create a rollover you must give the image a name');
        return;
        }

    resetRolls[this.name] = new Object();
    resetRolls[this.name].over = new Image();
    resetRolls[this.name].over.src=this.rollover;
    resetRolls[this.name].out = new Image();
    resetRolls[this.name].out.src=this.src;
    document.write(
        ' onMouseOver="if (document.images)document.images[\'' + 
        this.name + '\'].src=resetRolls[\'' + this.name + '\'].over.src"' + 
        ' onMouseOut="if (document.images)document.images[\'' + 
        this.name + '\'].src=resetRolls[\'' + this.name + '\'].out.src"'
        );
    }
document.write(' HREF="javascript:');
if (this.confirm)
    document.write('if(confirm(\'Are you sure you want to reset?\'))');
document.write(
    'document.forms[' + 
    (document.forms.length - 1) + '].reset();void(0);">');
document.write('<IMG SRC="' + this.src + '" ALT="' + this.alt + '"');
document.write(' BORDER=0');
if (this.name)document.write(' NAME="' + this.name + '"');
if (this.height)document.write(' HEIGHT=' + this.height);
if (this.width)document.write(' WIDTH=' + this.width);
if (this.otheratts)document.write(' '+ this.otheratts);
document.write('></A>');
}