function getRuledClass(tdNode, isOn, isMatrix)
{
var ruledClass = 'ruled';
if (isMatrix){
ruledClass += 'Matrix';}
if (tdNode.getElementsByTagName('img')[0].className.indexOf('Alt') > 0){
ruledClass += 'Alt';}
return ruledClass;
}
function EraseForcedRanking(QID, OptionID, i) {
if (eval('fr_' + QID)[i] != null && eval('fr_' + QID)[i] != '')
if (eval('fr_' + QID)[i].split('_')[1] == OptionID) eval('fr_' + QID)[i] = null;
}
function Ranking_unselectRow(qType, containerID, radioItems, selectedRow, selectedCol)
{
var radioItemsLen = radioItems.length;
for (i=0; i<radioItemsLen; i++)
{
var radioItem = radioItems[i];
var ItemID = radioItem.id;
if ((ItemID.indexOf("R" + selectedRow + "_") > 0) && (ItemID.indexOf("C" + selectedCol + "_") < 0))
{ 
radioItem.className = RB_Style(radioItem.className, false);
}
}
}
function Ranking_unselectCol(qType, containerID, radioItems, selectedRow, selectedCol)
{
var radioItemsLen = radioItems.length;
for (i=0; i<radioItemsLen; i++)
{
var radioItem = radioItems[i];
var ItemID = radioItem.id;
//if radioItem is on the same col, but not the same row, then unselect it. 
if ((ItemID.indexOf("R" + selectedRow + "_") < 0) && (ItemID.indexOf("C" + selectedCol + "_") >= 0))
{ 
radioItem.className = RB_Style(radioItem.className, false); 
var startIndex = ItemID.indexOf("R");
var endIndex = ItemID.indexOf("_", startIndex);
var newRow = ItemID.substr((startIndex + 1), (endIndex-startIndex-1));
var newCheckedInput = document.getElementById("input_" + containerID + "_" + qType + "_" + newRow + "_0");
//if the other row has the same column selected, then erase it.
if (newCheckedInput.value == selectedCol)
{ 
newCheckedInput.value = "";
}
}
}
}
function Ranking_click(groupID, qType, containerID, isNA)
{
var radioDiv = document.getElementById("Radio_" + containerID);
var radioItems = radioDiv.getElementsByTagName("IMG");
var rowID = groupID.split('_')[0];
var colID = groupID.split('_')[1];
var selectedInputList = "";
var clearedInputList = "";
var checkedInput = document.getElementById("input_" + containerID + "_" + qType + "_" + rowID + "_0");
var radioItemsLen = radioItems.length;
for (i=0; i<radioItemsLen; i++)
{
var radioItem = radioItems[i];
var ItemID = radioItem.id;
if (ItemID.indexOf("R" + rowID + "_") > 0 && ItemID.indexOf("C" + colID + "_") > 0)
{
if (radioItem.src.indexOf("RadioOff") >= 0 || (radioItem.src.indexOf("t.gif") >= 0 && radioItem.className.indexOf("RadioOff") >= 0))
{
checkedInput.value = colID;
radioItem.className = RB_Style(radioItem.className, true); 
Ranking_unselectRow(qType, containerID, radioItems, rowID, colID);
if (isNA == false)
Ranking_unselectCol(qType, containerID, radioItems, rowID, colID);
}
else
{
checkedInput.value = "";
radioItem.className = RB_Style(radioItem.className, false); 
}
}
}
}
function RB_Style(rbClassName, isOn)
{
var BtnClass='RadioOff';
if(isOn){BtnClass='RadioOn';}
if(rbClassName.indexOf('Alt') > 0){BtnClass+= "Alt";} 
return BtnClass; 
}
function RB_click(groupID, selectedID, qType, QID, ignoreDoubleClick)
{
var optionID = selectedID.split('_')[0];
var radioDiv = document.getElementById("Radio_" + groupID);
var radioItems = radioDiv.getElementsByTagName("IMG");
var checkedInput = null;
if (QID != null)
//--Non matrix
checkedInput = document.getElementById("input_" + QID + "_" + qType + "_" + groupID + "_0");
else
checkedInput = document.getElementById("input_" + groupID + "_" + qType + "_0_0");
//--hard reset of input	value
checkedInput.value='';
var radioItemsLen = radioItems.length;
for (i=0; i<radioItemsLen; i++)
{
var radioItem = radioItems[i];
var ItemID = radioItem.id;
var curOn =	(radioItem.className.indexOf("On") > 0);
if (curOn)
{	//--deselect
if (ignoreDoubleClick != true || i+1 < radioItemsLen)
radioItem.className = RB_Style(radioItem.className, false);
else
checkedInput.value = selectedID;
}
else if (ItemID.indexOf(optionID)>= 0)
{
//assign selected
checkedInput.value = selectedID;
radioItem.className = RB_Style(radioItem.className, true); 
}
}
}
function CB_Style(cbClassName, isOn)
{
var BtnClass='CheckboxOff';	
if(isOn){BtnClass='CheckboxOn';}
if(cbClassName.indexOf('Alt') > 0){BtnClass+= "Alt";} 
return BtnClass; 
}
//--keepOn used for comment feild as checkbox item!!!!
function CB_click(groupID, selectedID, qType, QID, ForceChk, columnID)
{
var optionID = selectedID.split('_')[0];
var radioDiv = document.getElementById("Checkbox_" + groupID);
var radioItems = radioDiv.getElementsByTagName("IMG");
var checkedInput = null;
if (columnID == null){columnID = 0}
if (QID != null)
//--Non matrix
checkedInput = document.getElementById("input_" + QID + "_" + qType + "_" + groupID + "_" + columnID);
else
checkedInput = document.getElementById("input_" + groupID + "_" + qType + "_" + optionID + "_" + columnID);
var radioItemsLen = radioItems.length;
for (i=0; i<radioItemsLen; i++)
{
var radioItem = radioItems[i];
if (radioItem.id.indexOf(optionID) > 0)
{
var curOn =	(radioItem.className.indexOf("On") > 0);
//--forcecheck (used on checkbox comment)
if(ForceChk){
if (checkedInput != null){checkedInput.value = selectedID;} 
radioItem.className = CB_Style(radioItem.className, true);
radioItem.buttonState = "On";
}	
else
{
if (curOn)
{
if (checkedInput != null){checkedInput.value = "";}
radioItem.className = CB_Style(radioItem.className, false); 
radioItem.buttonState = "Off";
}
else
{	
if (checkedInput != null){checkedInput.value = selectedID;} 
radioItem.className = CB_Style(radioItem.className, true);
radioItem.buttonState = "On";
}
}
}
}
}
function tableruler()
{
if (document.getElementById && document.createTextNode)
{
var tables=document.getElementsByTagName('TABLE');
for (var i=0;i<tables.length;i++)
{
if (tables[i].className.indexOf('rulermatrix') >= 0)
{
var tds=tables[i].getElementsByTagName('td');
for(var j=0;j<tds.length;j++)
{
var tdNode = tds[j];
if (tdNode.getElementsByTagName('img').length > 0)
{
tdNode.className = 'ruledcell';
//tdNode.onmouseover=function(){if (onButton==false) { this.className=getRuledClass(this, true, true); } return false}
//tdNode.onmouseout=function(){if (onButton==false) { this.className=getRuledClass(this, false, true); } return false} 
//tdNode.getElementsByTagName('img')[0].onmouseover=function(){onButton = true; alert(onButton); return false}
//tdNode.getElementsByTagName('img')[0].onmouseout=function(){onButton = false; alert(onButton); return false}
}
}
}
else if (tables[i].className.indexOf('ruler') >= 0)
{
var trs=tables[i].getElementsByTagName('tr');
for(var j=0;j<trs.length;j++)
{
var rowNode = trs[j];
if (rowNode.getElementsByTagName('img').length > 0)
{
rowNode.onmouseover=function(){this.getElementsByTagName('td')[1].className='ruled'; return false}
rowNode.onmouseout=function(){this.getElementsByTagName('td')[1].className=''; return false} 
}
}
}
}
}
}
function onesubmit(element, delay)
{
// This function takes an element (typically a submit button) and effectively
// disables it immediately upon clicking so that duplicate submissions are not
// sent to the server when users get a little click-happy. The element is then
// reset back to its original state after a delay of time (defaults to 1.5
// seconds) so that users can use the buttons if they click Back in the browser.
var tagname = element.tagName.toLowerCase();
delay = (delay) ? delay : 1500;
if(tagname == "a")
{
var href = element.href;
var click = element.onclick;
setTimeout(function() { element.href = "javascript:void(0);"; element.onclick = null; }, 0);
setTimeout(function() { element.href = href; element.onclick = click; }, delay);
}
else if(tagname == "input")
{
var click = element.onclick;
setTimeout(function() { element.disabled = true; element.onclick = null; }, 0);
setTimeout(function() { element.disabled = false; element.onclick = click; }, delay);
}
}
function toggle(obj,id,value)
{
toggleImg(obj);
var img_value=document.getElementById(id);
if(img_value.value==""){
img_value.value=value;
}
else{
img_value.value="";
}
}
function settoggle(count,obj,id,value)
{	
img = obj.id.substring(0,obj.id.length-1);	
for(i=1;i<=count;i++){
toggleRadioImg(document.getElementById(img+i),'false');
}
toggleRadioImg(obj,'true');
var radio_value=document.getElementById(id);
radio_value.value=value;
}
function selectDivOld(divId)
{
document.getElementById('section1').style.visibility="hidden";
document.getElementById('section1').style.position="absolute";
document.getElementById('section1').style.top="38px";
document.getElementById('section2').style.zIndex=-1;
document.getElementById('section2').style.visibility="hidden";
document.getElementById('section2').style.position="absolute";
document.getElementById('section2').style.top="38px";
document.getElementById('section2').style.zIndex=-1;
document.getElementById('section3').style.visibility="hidden";
document.getElementById('section3').style.position="absolute";
document.getElementById('section3').style.top="38px";
document.getElementById('section3').style.zIndex=-1;
document.getElementById('section4').style.visibility="hidden";
document.getElementById('section4').style.position="absolute";
document.getElementById('section4').style.top="38px";
document.getElementById('section4').style.zIndex=-1;
document.getElementById('section5').style.visibility="hidden";
document.getElementById('section5').style.position="absolute";
document.getElementById('section5').style.top="38px";
document.getElementById('section5').style.zIndex=-1;
document.getElementById('section6').style.visibility="hidden";
document.getElementById('section6').style.position="absolute";
document.getElementById('section6').style.top="38px";
document.getElementById('section6').style.zIndex=-1;
document.getElementById('section7').style.visibility="hidden";
document.getElementById('section7').style.position="absolute";
document.getElementById('section7').style.top="38px";
document.getElementById('section7').style.zIndex=-1;
document.getElementById(divId).style.visibility="visible";
document.getElementById(divId).style.zIndex=0;
}
function selectDiv(divId)
{
section1.style.display = "none";
section2.style.display = "none";
section3.style.display = "none";
section4.style.display = "none";
section5.style.display = "none";
section6.style.display = "none";
section7.style.display = "none";
var obj = eval(divId);	
obj.style.display = "";	
}
function togglediv(divId){
document.getElementById('teacher1').style.display = "none";
document.getElementById('teacher2').style.display = "none";
document.getElementById("teacher3").style.display = "none";
document.getElementById('teacher4').style.display = "none";
var obj = eval(document.getElementById(divId));	
obj.style.display = "";	
}
function toggleImg(obj){
obj.src=obj.src.indexOf(chkd)<0?chkd:unChkd;
}
function toggleRadioImg(obj,val){
if(obj!=null){
if(val=='true'){
obj.src=rchkd;
}
else{
obj.src=runChkd;
}
}
}
var req;
function navigate(){
if(document.parentSurveyForm.q4 !=null){
id= document.parentSurveyForm.email.value;
sid= document.parentSurveyForm.q4.value;
sobj=document.parentSurveyForm.q4;
preschool=sid;
document.parentSurveyForm.q1.value=sobj.options[sobj.selectedIndex].text;
var url = contextPath + "parentSurveyAction.do?methodToCall=ajaxRequest&id=" + id + "&sid=" + sid; 
if (typeof XMLHttpRequest != "undefined") {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);	
}
}
function callback() {
if (req.readyState == 4) {
if (req.status == 200) {
var message = req.responseXML.getElementsByTagName("message")[0].firstChild.data;
//alert(message);
if(message!="0"){ 
window.location.reload();
}
}
}
}
function validate(frm){ 
var qid=''; 
var req=false; 
if(frm.section.value=='1'){
var state = document.getElementById("state");
if(state.options[state.selectedIndex].value == "-1") {
alert("Please select the State");
return false;
}
var school = document.getElementById("q4");
if(school.options[school.selectedIndex].value == "-1") {
alert("Please select the School");
return false;
}
}
if(frm.section.value=='2'){
if(!checkEmail(frm.email.value)){
alert("Please enter a valid email id.");
return false;
}
if(frm.email.value != frm.reenterMailId.value){
alert("The email id's you entered does not match");
return false;
}
}
if(frm.q21!=null && frm.q21.value=='No'){
frm.q22.setAttribute("required", "false");
frm.q22.value='';
}
for (var i=0;i<frm.length;i++) 
{ 
var el=frm.elements[i]; 
if(el.getAttribute("qid")!=qid){ 
/*if(req == true && frm.previous.value!='true'){ 
alert("Please answer all mandatory questions." ); 
return false; 
}*/ 
if(el.getAttribute("required")=='true'){
req=true;
}
else{
req=false;
}
qid=el.getAttribute("qid"); 
} 
if( el.value!=null && el.value!=''){ 
req=false; 
} 
} 
if(req == true && frm.previous.value!='true'){ 
alert("Please answer all mandatory questions." ); 
return false; 
} 
if(frm.dt_month!=null){
var dtStr=frm.dt_month.value + "/" +frm.dt_day.value + "/" +frm.dt_year.value 
if(!isDate(dtStr)){
return false;
}
} 
return true; 
} 
function checkEmail(email) 
{	
return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email));
//return(email.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/);
}
var dtCh= "/";
var minYear=1900;
var maxYear=2100;
function isInteger(s){
var i;
for (i = 0; i < s.length; i++){ 
// Check that current character is number.
var c = s.charAt(i);
if (((c < "0") || (c > "9"))) return false;
}
// All characters are numbers.
return true;
}
function stripCharsInBag(s, bag){
var i;
var returnString = "";
// Search through string's characters one by one.
// If character is not in bag, append to returnString.
for (i = 0; i < s.length; i++){ 
var c = s.charAt(i);
if (bag.indexOf(c) == -1) returnString += c;
}
return returnString;
}
function daysInFebruary (year){
// February has 29 days in any year evenly divisible by four,
// EXCEPT for centurial years which are not also divisible by 400.
return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
for (var i = 1; i <= n; i++) {
this[i] = 31
if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
if (i==2) {this[i] = 29}
} 
return this
}
function isDate(dtStr){
var daysInMonth = DaysArray(12)
var pos1=dtStr.indexOf(dtCh)
var pos2=dtStr.indexOf(dtCh,pos1+1)
var strMonth=dtStr.substring(0,pos1)
var strDay=dtStr.substring(pos1+1,pos2)
var strYear=dtStr.substring(pos2+1)
strYr=strYear
if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
for (var i = 1; i <= 3; i++) {
if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
}
month=parseInt(strMonth)
day=parseInt(strDay)
year=parseInt(strYr)
if (pos1==-1 || pos2==-1){
alert("The date format should be : mm/dd/yyyy")
return false
}
if (strMonth.length<1 || month<1 || month>12){
alert("Please enter a valid month")
return false
}
if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
alert("Please enter a valid day")
return false
}
if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
return false
}
if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
alert("Please enter a valid date")
return false
}
return true
}
function initXMLHTTPRequest(){
var xmlRequest=null;
//Mozilla Safari
if(window.XMLHttpRequest){
xmlRequest= new XMLHttpRequest();
}else if(window.ActiveXObject){ // MS Browser
xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
return xmlRequest;
}
// Send request to server
function sendSummaryRequest(url,params,HttpMethod){
if(!HttpMethod){
HttpMethod='GET';
}
req=initXMLHTTPRequest();
if(req){
req.onreadystatechange=onReadyStateSummary;
req.open("GET",url,true);
req.setRequestHeader("Content-Type","application/x-www-form-urlenclosed");
//alert(params);
req.send(null);
}
}
function onReadyStateSummary(){
var ready=req.readyState;
var data=null;
if(ready==4){
data=req.responseText;
if(data!=""){
paintSummary(data);
}
}
}
function paintSummary(data){
var schoolArray = new Array();
schoolArray = data.split(",");
removeAllOptions(document.parentSurveyForm.q4);
addOption(document.parentSurveyForm.q4, "-1", "- Select School -");
fillPreschool(schoolArray);
selectPreSchool(document.parentSurveyForm.q4, preschool);
}
function getPreschool(url){
document.parentSurveyForm.q3.value=document.parentSurveyForm.city.value + ", " + document.parentSurveyForm.state.value
removeSchoolOptions(document.parentSurveyForm.q4);
addSchoolOption(document.parentSurveyForm.q4, "-1", "- Select School -");
var citySelect = document.parentSurveyForm.city; 
var city =citySelect.options[citySelect.selectedIndex].value;
var stateSelect = document.parentSurveyForm.state; 
var state =stateSelect.options[stateSelect.selectedIndex].value; 
// alert(" City "+ city );
// alert(" State "+ state ); 
url+= "&city=" + city+"&state="+state;
// alert(" Url "+ url );
sendSummaryRequest(url,"","");
}
function fillPreschool(schoolArray){
//alert(schoolArray);
for(i=0;i<schoolArray.length;i++){
// take out siid and school name
var schObj = schoolArray[i].split(":");
//alert("Hai ");
//alert(schObj[1]);
addOption(document.parentSurveyForm.q4,schObj[0],schObj[1]);
}
//setPreSchool();
}
function selectPreSchool(combo,selectValue){
if(combo!=null){
for(var i=1;i<combo.length;i++){
//alert(combo[i].value + ", " + selectValue);
if(combo[i].value==selectValue){
combo[i].selected='selected';
break;
}
}
}
}
