var fieldsToCheck = ["EDUCATE_DOCTOR","EDUCATE_PHARMACIST","EDUCATE_PAMPHLET","EDUCATE_TV","EDUCATE_PRINT","EDUCATE_INTERNET","EDUCATE_FRIEND","EDUCATE_OTHER"];
var goToUrl;

function validateForm(frm, numberOfChecked, questionNumber) {
	var err_msg = "";
	var showError = false;
	var count = 0;
	
	for (var i=0; i<frm.length; i++) {
		if (inList(fieldsToCheck,frm.elements[i].name,true)) {
			if (frm.elements[i].checked)
				count++;
			
			if (count > numberOfChecked) {
				showError = true;
				err_msg = "Can only select up to three(3) choices for question number " + questionNumber;
				break;
			}
		}
	}
	
	if (showError) {
		alert(err_msg);
	}
	
	return !showError;
}

function inList(list, value, ignoreCase) {
	var result = false;
	
	for (var i=0; i<list.length; i++) {
		if (ignoreCase) {
			if (list[i].toLowerCase() == value.toLowerCase()) {
				result = true;
				break;
			} 
		} else {
			if (list[i] == value) {
				result = true;
				break;
			}
		}
			
	}
	
	return result;
}

/************************************************
DESCRIPTION: Validates radio button selections within
	     within allergy, asthma, and combined
	     surveys

PARAMETERS:
   sng_survey = name of survey form;
   radio_info_today = flag if radios are checked or not;
   SNG_INFO_TODAY = name of radio boxes;
   
DEVELOPER: TLS
*************************************************/
function validateChecks(sng_survey) {

	// Set variables
	var isErr = false; // for any type of error
	var errMessage = "";
	var errField = ""; // if there is an error, focus on the first required form field error
	
	var radio_info_today = false;
	for (i = 0; i < sng_survey.SNG_INFO_TODAY.length; i++) {
		if (sng_survey.SNG_INFO_TODAY[i].checked)
		radio_info_today = true; 
	}

	if (!radio_info_today) {
		isErr = true;
		errMessage = errMessage + "Please specify the information you are looking for today\r\n";
		if (errField.length <= 0) errField = "SNG_INFO_TODAY[0]";
	}

	if (isErr) {
		alert(errMessage);
		eval("sng_survey." + errField + ".focus()");
		return false;
	}

	return true;
}
function validateChecks2(sng_survey) {

	// Set variables
	var isErr = false; // for any type of error
	var errMessage = "";
	var errField = ""; // if there is an error, focus on the first required form field error
	
	var radio_best_describes = false;
	for (i = 0; i < sng_survey.BEST_DESCRIBES_YOU.length; i++) {
		if (sng_survey.BEST_DESCRIBES_YOU[i].checked)
		radio_best_describes = true; 
	}

	if (!radio_best_describes) {
		isErr = true;
		errMessage = errMessage + "Please specify which best describes you\r\n";
		if (errField.length <= 0) errField = "BEST_DESCRIBES_YOU[0]";
	}

	if (isErr) {
		alert(errMessage);
		eval("sng_survey." + errField + ".focus()");
		return false;
	}

	return true;
}



function setSurveyToTaken() {
	var today = new Date();
	
	//get date one year from today
	var oneYearFromToday = new Date(today.getFullYear()+1,today.getMonth(), today.getDate());
	
	//set cookie value
	setCookie('survey','taken',oneYearFromToday,'/');
}

function setClickedItems(){
	var domainTest = new RegExp(self.location.hostname);
	var anchors = document.getElementsByTagName?document.getElementsByTagName('a'):document.anchors;
	for (var i=0,len=anchors.length;i<len;i++){
		var a = anchors[i];
		if (domainTest.test(a.href)) AttachEvent(a,'click',setToInternal);
	}
	
	for (var j=0; j<document.forms.length; j++) {
		AttachEvent(document.forms[j],'submit',setToInternal);
	}
}

function setToInternal(){
	somethingClicked=true;
}

function redirectHome(winObj) {
	var url;
	var goTo = 'http://' + winObj.location.hostname + '/montelukast_sodium/singulair/consumer/index.jsp';
	
	url = self.location.href;
		
	if (url.indexOf('survey_results.jsp') > 0) {
		if (self.name.toLowerCase() == 'survey') //post-survey
			setTimeout('self.close()',1000*8); //8 seconds
		else  //pre-survey
			setTimeout('gotoHome()',1000*8); //8 seconds
	} else {
		if (!stillInternal && !somethingClicked && (self.name.toLowerCase() != 'survey')) {
			var win = self.open(goTo,'main','');
			win.blur();
		}
	}
}

function gotoHome() {
	if ((goToUrl != null) && (goToUrl != ""))
		var goTo = goToUrl;
	else
		var goTo = 'http://' + self.location.hostname + '/montelukast_sodium/singulair/consumer/index.jsp';
	
	gotoLink(goTo);
}

function gotoLink(url) {
	gotoLink(url, true);
}


function gotoLink(url, openwindow) {
	try {
		//if (window.name == "survey") { // for post survey - open 'url' in new window & close survey popup
			if(openwindow)
			{
				 window.open(url);
			     self.close();
		    }
		    else {
		     	self.location.href=url;	
	     	}
		//} else { // for pre survey - open 'url' in same window
			//self.location.href=url;
		//}
	} catch(e) { // for error catching - open 'url' in new window
		window.open(url);
	}
}

function onSurveyLoad(e) {
	//send user to homepage
	redirectHome(window);
	
	//set up clicked items
	if (window.location.href.indexOf('survey_results.jsp') <= 0)
		setClickedItems();
}

function onSurveyUnload(e) {
	//set survey cookie to show survey was taken
	setSurveyToTaken();
		
	stillInternal = false;
	
	//send user to homepage 
	redirectHome(window);
}

/*var stillInternal = true;
var somethingClicked = false;

AttachEvent(window,'load',onSurveyLoad);

if (window.location.href.indexOf('survey_results.jsp') <= 0) 
	AttachEvent(window,'unload',onSurveyUnload);*/

	
	
/************************************************
DESCRIPTION: Checks or unchecks or disable all checkboxes

PARAMETERS:
   form = form name containing the checkboxes;
   id = name of checkbox field;
   n = position of checkbox field to keep checked;
*************************************************/
function unCheckAll(form,id,n) {	
	var el = document.forms[form].elements[id];
	if(el[n].checked == true) {		
		for (var i=0;i<el.length;i++) {
			if(i != n) {
				el[i].checked = false;
				el[i].disabled = true;
			}
		}
	} else {
		for (var i=0;i<el.length;i++) {
			el[i].disabled = false;
		}
	}	
}