// JavaScript Document
<!--
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)

document.onmousemove = getMouseXY;

var tempX = 0;
var tempY = 0;

function getMouseXY(e)
{
	if(IE)
	{
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	}
	else
	{
		tempX = e.pageX;
		tempY = e.pageY;
	}
	if(tempX<0)
	{	tempX = 0;	}
	if(tempY<0)
	{	tempY = 0;	}
	return true;
}

function getMousePos(event)
{
	var currX,currY;
	if(document.all)
	{
		currX=event.clientX + document.body.scrollLeft;
		currY=event.clientY + document.body.scrollTop;
	}
	else
	{
		currX= event.pageX;
		currY= event.pageY;
	}
	
	if(currX<0)
	{	currX=0;	}
	if(currY<0)
	{	currY=0;	}
	return new Array(currX,currY);
}

function changeAction(trgtForm,trgtAction,submitIt,newTrgt)
{
	var trgt=document.getElementById(trgtForm);
	trgt.action=trgtAction;
	if((newTrgt!=null)&&(newTrgt!=''))
	{	trgt.target=newTrgt;	}
	
	if(submitIt==true)
	{	trgt.submit();	}
}

function updateColor(trgtId,trgt,val)
{
	if(trgt=='bg')
	{
		document.getElementById(trgtId).style.backgroundColor=val;
	}
	else if(trgt=='txt')
	{
		document.getElementById(trgtId).style.color=val;
	}
	else if(trgt=='brdr')
	{
		document.getElementById(trgtId).style.borderColor=val;
	}
}

function getEleInfo(trgtId,reqd)
{
	if(document.getElementById(trgtId)!=null)
	{
		if(reqd=='value')
		{	return document.getElementById(trgtId).value;	}
		else if(reqd=='checked')
		{	return document.getElementById(trgtId).checked;	}
	}
	else
	{
		alert("Object not fount :: ".trgtId);
	}
}

function setEleInfo(trgtId,setWhat,val)
{
	var trgt=document.getElementById(trgtId);
	if(setWhat=='value')
	{	trgt.value=val;	}
	else if(setWhat=='checked')
	{	trgt.checked=val;	}
}

var ttlCnt=0;
function doSel(pre,trgt)
{
	if(document.getElementById(pre+'['+trgt+']').checked==true)
	{
		if(document.getElementById('sel'+pre).value.indexOf(document.getElementById(pre+'['+trgt+']').value)==-1)
		{
			//Adding Id to Hidden
			if(document.getElementById('sel'+pre).value!="")
			{	document.getElementById('sel'+pre).value=document.getElementById('sel'+pre).value + ",";	}
			document.getElementById('sel'+pre).value= document.getElementById('sel'+pre).value + "'" + document.getElementById(pre+'['+trgt+']').value +"'";
		}
	}
	else if(document.getElementById(pre+'['+trgt+']').checked==false)
	{			
		//Removing Name from TextArea
		document.getElementById('sel'+pre).value=document.getElementById('sel'+pre).value.replace(",'"+document.getElementById(pre+'['+trgt+']').value+"'",'');
		document.getElementById('sel'+pre).value=document.getElementById('sel'+pre).value.replace("'"+document.getElementById(pre+'['+trgt+']').value+"'",'');
		if(document.getElementById('sel'+pre).value.indexOf(',')==0)
		{
			document.getElementById('sel'+pre).value=document.getElementById('sel'+pre).value.substr(1,document.getElementById('sel'+pre).value.length);
		}
	}
	//alert(document.getElementById('sel'+pre).value);
}

function doSelAll(pre)
{
	ttlCnt=document.getElementById('ttlCntField').value;
	if(document.getElementById('selAll').checked==true)
	{
		for(i=0;i<ttlCnt;i++)
		{
			document.getElementById(pre+'['+i+']').checked=true;
			doSel(pre,i);
		}
	}
	else if(document.getElementById('selAll').checked==false)
	{
		for(i=0;i<ttlCnt;i++)
		{
			document.getElementById(pre+'['+i+']').checked=false;
			doSel(pre,i);
		}
	}
}

function toogleDisplay(trgtId,displ)
{
	if(displ==1)
	{	document.getElementById(trgtId).style.display='block';	}
	else if(displ==0)
	{	document.getElementById(trgtId).style.display='none';	}
}

function lmtChars(trgtId,lmt)
{
	if(document.getElementById(trgtId).value.length>=lmt)
	{
		document.getElementById(trgtId).value=document.getElementById(trgtId).value.substr(0,lmt-1);
	}
}

function populate(trgtId,lmt)
{
	var trgt=document.getElementById(trgtId);
	trgt.options.length=0;
	for(i=1;i<=lmt;i++)
	{	trgt.options[i-1]=new Option(i,i);	}
}

function previewQs(qId,op)
{
	if(op==0)
	{
		document.getElementById('qsPreview').style.display='block';
		document.getElementById('qsPreview').style.top=(tempY-100)+'px';
		document.getElementById('qsPreview').style.left=(tempX+50)+'px';
		var viewQs=new sendAjaxRequest(1,'survey_question_preview.php','',Array('qid',qId,'isindiv','1'),'GET','qsDetDiv',1,0);
	}
	else if(op==1)
	{
		document.getElementById('qsPreview').style.display='none';
		newPreview=null;
	}
}

function updateOutlook(trgtId,font,size,txtcolor,bgcolor)
{
	if(font!='')
	{	document.getElementById(trgtId).style.fontFamily=font;	}
	if(size!='')
	{	document.getElementById(trgtId).style.fontSize=size;	}
	if(txtcolor!='')
	{	document.getElementById(trgtId).style.color=txtcolor;	}
	if(bgcolor!='')
	{	document.getElementById(trgtId).style.backgroundColor=bgcolor;	}
}

function reqdQsUnAns()
{
	var Qss=document.getElementsByName('reqdQss[]');
	var ttlQss=document.getElementsByName('reqdQss[]').length;
	var pendList='';
	var remQss=0;
	for(i=0;i<ttlQss;i++)
	{
		if(Qss[i].value!='')
		{	remQss++;	pendList+=(pendList=='')?Qss[i].title:','+Qss[i].title;	}
	}
	if(remQss>0)
	{	alert('Please complete the following mandatory question(s): '+pendList);	}
	return remQss;
}

function limitRange(trgtId,low,up,reqd)
{
	var trgt=document.getElementById(trgtId);
	if((trgt.value<low)&&((reqd==1)||(trgt.value!='')))
	{	trgt.value=low;	}
	else if(trgt.value>up)
	{	trgt.value=up;	}
}

function verifyReqdQs(qCat,qId)
{
	switch(qCat)
	{
		case 0:
		case 2:
		case 9:
		case 10:
		case 11:
		case 12:
		{
			var ops=document.getElementsByName('ans'+qId+'[]');
			var opsLmt=ops.length;
			for(o=0;o<opsLmt;o++)
			{
				if(ops[o].checked==true)
				{
					document.getElementById('reqdQss['+qId+']').value='';
					return true;
				}
			}
			document.getElementById('reqdQss['+qId+']').value=qId;
			return false;
		}
		break;
		case 1:
		case 3:
		{
			var ops=document.getElementsByName('ans'+qId+'[]');
			var opsLmt=ops.length-1;
			for(o=0;o<opsLmt;o++)
			{
				if(ops[o].checked==true)
				{
					document.getElementById('reqdQss['+qId+']').value='';
					return true;
				}
			}
			if((valiFields(Array('ans'+qId+'other','abc'),'req'))&&(document.getElementById(ops[ops.length-1].id).checked==true))
			{
				document.getElementById('reqdQss['+qId+']').value='';
				return true;
			}
			document.getElementById('reqdQss['+qId+']').value=qId;
			return false;
		}
		break;
		case 4:
		{
			if(document.getElementById('ans'+qId+'[]').value!='')
			{
				document.getElementById('reqdQss['+qId+']').value='';
				HighLight(0,'ans'+qId+'[]');
				return true;
			}
			document.getElementById('reqdQss['+qId+']').value=qId;
			HighLight(1,'ans'+qId+'[]');
			return false;
		}
		break;
		case 5:
		{
			var paras=qId.split(':');
			qId=paras[0];
			var isReqd=paras[1];
			var qsNum=paras[2];
			var ops=document.getElementsByName('ans'+qId+'[]');
			var opsLmt=ops.length;
			var cntPend=(isReqd==1)?opsLmt:0;
			var sameVal=0;
			var blnk=opsLmt;
			
			if(isReqd==1)
			{
				for(o=0;o<opsLmt;o++)
				{
					if(ops[o].value!='')
					{	cntPend--;	HighLight(0,ops[o].id);	}
					else
					{	HighLight(1,ops[o].id);	}
				}
			}
			else
			{
				for(o=0;o<opsLmt;o++)
				{	HighLight(0,ops[o].id);	}
			}
			
			for(o=0;o<opsLmt;o++)
			{
				if(ops[o].value!='')
				{	blnk--;	}				
			}
			
			if((cntPend==0)&&(blnk==0))
			{
				for(o=0;o<opsLmt;o++)
				{
					for(c=o+1;c<opsLmt;c++)
					{
						if(ops[o].value==ops[c].value)
						{
							HighLight(1,ops[o].id);
							HighLight(1,ops[c].id);
							sameVal++;
						}
					}
				}
			}
			
			if(isReqd==1)
			{
				if((cntPend==0)&&(sameVal==0))
				{
					document.getElementById('reqdQss['+qId+']').value='';
					return true;
				}
				else if(cntPend!=0)
				{
					document.getElementById('reqdQss['+qId+']').value=qId;
					return false;
				}
				else if(sameVal!=0)
				{
					alert('Question '+document.getElementById('reqdQss['+qId+']').title+' cannot have duplicate ranking.');
					document.getElementById('reqdQss['+qId+']').value=qId;
					return false;
				}
			}
			else
			{
				if(sameVal==0)
				{
					mess='';
					if(document.getElementById('reqdQss['+qId+']')!=null)
					{	document.getElementById('reqdQss['+qId+']').value='';	}
				}
				else
				{
					if(document.getElementById('reqdQss['+qId+']')==null)
					{
						var qsIdFld=document.createElement('input');
						qsIdFld.setAttribute('id','reqdQss['+qId+']');
						qsIdFld.setAttribute('name','reqdQss[]');
						qsIdFld.setAttribute('title',qsNum);
						qsIdFld.setAttribute('type','hidden');
						document.body.appendChild(qsIdFld);
						
						document.getElementById('reqdQss['+qId+']').value=qId; 
					}
					else
					{
						document.getElementById('reqdQss['+qId+']').value=qId;
					}
					alert('Question '+document.getElementById('reqdQss['+qId+']').title+' cannot have duplicate ranking.');
					return false;
				}
			}
		}
		break;
		case 6:
		{
			var paras=qId.split(':');
			var rowCnt=paras[1];
			var cntPend=rowCnt;
			qId=paras[0];
			
			for(rNum=0;rNum<rowCnt;rNum++)
			{
				var cols=document.getElementsByName('ans'+qId+'['+rNum+'][]');
				var colsLmt=cols.length;
				for(o=0;o<colsLmt;o++)
				{
					if(cols[o].checked==true)
					{	cntPend--;	break;	}
				}
			}
			if(cntPend==0)
			{
				document.getElementById('reqdQss['+qId+']').value='';
				return true;
			}
			else
			{
				document.getElementById('reqdQss['+qId+']').value=qId;
				return false;
			}
		}
		break;
		case 7:
		{
			var paras=qId.split(':');
			var rowCnt=paras[1];
			var cntPend=rowCnt;
			qId=paras[0];
			
			for(rNum=0;rNum<rowCnt;rNum++)
			{
				var cols=document.getElementsByName('ans'+qId+'['+rNum+'][]');
				var colsLmt=cols.length;
				for(o=0;o<colsLmt;o++)
				{
					if(cols[o].checked==true)
					{	cntPend--;	break;	}
				}
			}
			if(cntPend==0)
			{
				document.getElementById('reqdQss['+qId+']').value='';
				return true;
			}
			else
			{
				document.getElementById('reqdQss['+qId+']').value=qId;
				return false;
			}
		}
		break;
		case 8:
		{
			var paras=qId.split(':');
			qId=paras[0];
			var isReqd=paras[1];
			var qNum=paras[2];
			
			var ops=document.getElementsByName('ans'+qId+'[]');
			var opsLmt=ops.length;
			var cntPend=opsLmt;
			var OOR=0; // OOR - Out Of Range
			
			if(isReqd==1)
			{
				for(o=0;o<opsLmt;o++)
				{
					if(valiFields(Array('ans'+qId+'['+o+']','abc'),'req'))
					{	cntPend--;	HighLight(0,	'ans'+qId+'['+o+']');	}
					else
					{	HighLight(1,	'ans'+qId+'['+o+']');	}
				}
			}
			
			for(o=0;o<opsLmt;o++)
			{
				var currLwr=parseInt(document.getElementById('rLbl0'+qId+'['+o+']').innerHTML);
				var currUpr=parseInt(document.getElementById('rLbl1'+qId+'['+o+']').innerHTML);
				
				if(!valiFields(Array(ops[o].id+'-'+currLwr+'-'+currUpr,'abc'),'numrange'))
				{	OOR++;	HighLight(1,ops[o].id);	}
				else
				{	HighLight(0,ops[o].id);	}
			}
			
			if(isReqd==1)
			{
				if((cntPend==0)&&(OOR==0))
				{
					document.getElementById('reqdQss['+qId+']').value='';
					return true;
				}
				else if(cntPend!=0)
				{
					document.getElementById('reqdQss['+qId+']').value=qId;
					return false;
				}
				else if(OOR!=0)
				{
					alert('Question '+document.getElementById('reqdQss['+qId+']').title+' answer(s) have out of range or non-numeric value(s).');
					document.getElementById('reqdQss['+qId+']').value=qId;
					return false;
				}
			}
			else
			{
				if(OOR==0)
				{
					mess="";
					if(document.getElementById('reqdQss['+qId+']')!=null)
					{	document.getElementById('reqdQss['+qId+']').value='';	}
				}
				else
				{
					if(document.getElementById('reqdQss['+qId+']')==null)
					{
						var qsIdFld=document.createElement('input');
						qsIdFld.setAttribute('id','reqdQss['+qId+']');
						qsIdFld.setAttribute('name','reqdQss[]');
						qsIdFld.setAttribute('title',qsNum);
						qsIdFld.setAttribute('type','hidden');
						document.body.appendChild(qsIdFld);
					}
					alert('Question '+document.getElementById('reqdQss['+qId+']').title+' answer(s) have out of range or non-numeric value(s).');
					document.getElementById('reqdQss['+qId+']').value=qId;
					return false;
				}
			}
		}
		break;
		case 13:
		{
			var paras=qId.split(':');
			var stateId=paras[1];
			qId=paras[0];
			
			switch(stateId)
			{
				case '0':
					if(valiFields(Array('ans'+qId+'[0]','abc'),'num'))
					{
						HighLight(0,'ans'+qId+'[0]');
						return true;
					}
					else
					{
						alert('Question '+document.getElementById('reqdQss['+qId+']').title+' answer should be numeric.');
						HighLight(1,'ans'+qId+'[0]');
						return false;
					}
				break;
				case '1':
					if(valiFields(Array('ans'+qId+'[0]','abc'),'req'))
					{
						document.getElementById('reqdQss['+qId+']').value='';
						HighLight(0,'ans'+qId+'[0]');
						return true;
					}
					else
					{
						document.getElementById('reqdQss['+qId+']').value=qId;
						HighLight(1,'ans'+qId+'[0]');
						return false;
					}
				break;
				case '2':
					if(valiFields(Array('ans'+qId+'[0]','abc'),'req'))
					{
						document.getElementById('reqdQss['+qId+']').value='';
						if(valiFields(Array('ans'+qId+'[0]','abc'),'num'))
						{
							HighLight(0,'ans'+qId+'[0]');
							return true;
						}
						else
						{
							alert('Question '+document.getElementById('reqdQss['+qId+']').title+' answer should be numeric.');
							HighLight(1,'ans'+qId+'[0]');
							return false;
						}
					}
					else
					{
						document.getElementById('reqdQss['+qId+']').value=qId;
						HighLight(1,'ans'+qId+'[0]');
						return false;
					}
				break;
			}
		}
		break;
		case 14:
		{
			if(valiFields(Array('ans'+qId+'[]','abc'),'req'))
			{
				document.getElementById('reqdQss['+qId+']').value='';
				HighLight(0,'ans'+qId+'[]');
				return true;
			}
			document.getElementById('reqdQss['+qId+']').value=qId;
			HighLight(1,'ans'+qId+'[]');
			return false;
		}
		break;
		case 16:
		{
			if((document.getElementById('ansHr'+qId+'[]').value!='')&&(document.getElementById('ansMin'+qId+'[]').value!=''))
			{
				document.getElementById('reqdQss['+qId+']').value='';
				HighLight(0,'ansHr'+qId+'[]');
				HighLight(0,'ansMin'+qId+'[]');
				return true;
			}
			document.getElementById('reqdQss['+qId+']').value=qId;
			HighLight(1,'ansHr'+qId+'[]');
			HighLight(1,'ansMin'+qId+'[]');
			return false;
		}
		break;
	}
}

function onlyAlphaNum(event)
{
	var charCode=event.keyCode;
	if((charCode>=48)&&(charCode<=57))
		return true;
	else
		return false;
}

function getCharCode(event)
{
	return event.keyCode;
}

function genButtonHTML(trgt)
{
	document.getElementById('txtButtonCode').value="<button style='background-color:"+getEleInfo('txtButtonColBg','value')+"; color:"+getEleInfo('txtButtonColTxt','value')+";' onClick=\" window.open(\'"+ trgt + "\'); \" >"+ getEleInfo('txtButtonTxt','value') +"</button>";
}

function updateSurveyPreview(op)
{
	if(op==1)
	{
		changeCssClass('.surPreview','backgroundColor',document.getElementById('bgColor').value);
		changeCssClass('.surPreview','color',document.getElementById('txtColor').value);
		changeCssClass('.surPreview','fontFamily',document.getElementById('txtFont').value);
		changeCssClass('.surPreview','fontSize',document.getElementById('txtSize').value+'px');
		
		if((document.getElementById('surLogo')!=null)&&(document.getElementById('surLogo')!='undefined'))
		{
			document.getElementById('surLogo').style.width=(document.getElementById('logoAlign').value=='none')?'100%':'300px';
			document.getElementById('surLogo').style.cssFloat=document.getElementById('logoAlign').value;
			document.getElementById('surLogo').style.styleFloat=document.getElementById('logoAlign').value;
		}
		
		if(getEleInfo('showDivider','checked')==true)
		{	changeCssClass('.qsDivider','visibility','visible');	}
		else
		{	changeCssClass('.qsDivider','visibility','hidden');	}
		
		if(getEleInfo('showQsNums','checked')==true)
		{	changeCssClass('.qsNum','display','block');	}
		else
		{	changeCssClass('.qsNum','display','none');	}
		
		if(getEleInfo('showProgBar','checked')==true)
		{	document.getElementById('divProgBar').style.display='block';	}
		else
		{	document.getElementById('divProgBar').style.display='none';	}
	}
	else if(op==0)
	{
		var bgColVal=document.getElementById('rSurPreviewBgCol').value;
		changeCssClass('.surPreview','backgroundColor',bgColVal);
		var bgCol=document.getElementById('bgColor');
		bgCol.value = bgColVal;
		bgCol.style.backgroundColor = bgColVal;
		bgCol.style.color = bgColVal;
		
		var txtColVal=document.getElementById('rSurPreviewTxtCol').value;
		changeCssClass('.surPreview','color',txtColVal);
		var txtCol=document.getElementById('txtColor');
		txtCol.value = txtColVal;
		txtCol.style.backgroundColor = txtColVal;
		txtCol.style.color = txtColVal;
		
		changeCssClass('.surPreview','fontFamily',document.getElementById('rSurPreviewTxtFont').value);
		document.getElementById('txtFont').value=document.getElementById('rSurPreviewTxtFont').value;
		
		changeCssClass('.surPreview','fontSize',document.getElementById('rSurPreviewTxtSize').value+'px');
		document.getElementById('txtSize').value=document.getElementById('rSurPreviewTxtSize').value;
		
		changeCssClass('.surPreview','txtAlign','left');
		
		
		document.getElementById('logoAlign').value=document.getElementById('rSurLogoFloat').value;
		if((document.getElementById('surLogo')!=null)&&(document.getElementById('surLogo')!='undefined'))
		{
			document.getElementById('surLogo').style.width=(document.getElementById('rSurLogoFloat').value=='none')?'100%':'300px';
			document.getElementById('surLogo').style.cssFloat=document.getElementById('rSurLogoFloat').value;
			document.getElementById('surLogo').style.styleFloat=document.getElementById('rSurLogoFloat').value;
		}
		
		changeCssClass('.qsDivider','visibility',document.getElementById('rShowDivider').value);
		document.getElementById('showDivider').checked=(document.getElementById('rShowDivider').value=='visible')?true:false;
		
		changeCssClass('.qsNum','display',document.getElementById('rShowQsNums').value);
		document.getElementById('showQsNums').checked=(document.getElementById('rShowQsNums').value=='block')?true:false;
		
		document.getElementById('divProgBar').style.display=document.getElementById('rShowProgBar').value;
		document.getElementById('showProgBar').checked=(document.getElementById('rShowProgBar').value=='block')?true:false;
	}
}

function changeCssClass(theClass,element,value)
{
	var cssRules;
	if (document.all)
	{
		cssRules = 'rules';
	}
	else if (document.getElementById)
	{
		cssRules = 'cssRules';
	}
	for (var S = 0; S < document.styleSheets.length; S++)
	{
		for (var R = 0; R < document.styleSheets[S][cssRules].length; R++)
		{
			if (document.styleSheets[S][cssRules][R].selectorText == theClass)
			{
				document.styleSheets[S][cssRules][R].style[element] = value;
			}
		}
	}	
}

function closeMe()
{
	var win=window.open('','_self','');
	win.opener=win;
	win.close();
}

function moveWithScroll(trgtId,baseTop,baseLeft)
{
	var position = [0, 0];
	if (typeof window.pageYOffset != 'undefined')
	{
		position = [	window.pageXOffset,	window.pageYOffset	];
	}
	else if (typeof document.documentElement.scrollTop!= 'undefined' && document.documentElement.scrollTop > 0)
	{
		position = [	document.documentElement.scrollLeft,	document.documentElement.scrollTop	];
	}
	else if (typeof document.body.scrollTop != 'undefined')
	{
		position = [	document.body.scrollLeft,	document.body.scrollTop	];
	}
	document.getElementById(trgtId).style.left=(baseTop + position[0]) + 'px';
	document.getElementById(trgtId).style.top=(baseLeft + position[1]) + 'px';
	
	window.setTimeout("moveWithScroll('"+trgtId+"',"+baseTop+","+baseLeft+")",250);
}

//Cookie Functions Begin
function createCookie(name,value,time) 
{
	document.cookie = name+"="+value+"; expires="+time+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}
//Cookie Functions End

// -->