﻿// JScript File
function display_Questionnaire() {
    if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_1_G').selectedIndex == 1) {
        clearFriendPath();
        hidef('registration_questions_relative');
        showf('registration_questions');
        showf('registration_questions_yourself');
        showf('registration_questions_gender');
    }
    else if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_1_G').selectedIndex == 2) {
        clearYourselfPath();
        hidef('registration_questions_yourself');
        showf('registration_questions');
        showf('registration_questions_gender');
        showf('registration_questions_relative');
    }
    else {
        document.getElementById('ctl00_ContentPlaceHolder1_F').checked = false;
	    document.getElementById('ctl00_ContentPlaceHolder1_M').checked = false;
		clearYourselfPath();
        clearFriendPath();
        hidef('registration_questions_yourself');
        hidef('registration_questions_gender');
        hidef('registration_questions_relative');
        hidef('registration_questions');
    }
}

function clearYourselfPath() {
    for(var i=12;i<=19;i++) {
       if (i != 15) {
           for(var j=1;j<=11;j++) {
                document.getElementById("ctl00_ContentPlaceHolder1_UserResponse_R_1_" + i + "_" + j).checked = false;
           }
       }
    }
    document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_20_1').selectedIndex = 0;
    document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_20_1').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_20_2').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_21_1').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_21_2').checked = false;
}

function clearFriendPath() {
    document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_2_1').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_2_2').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_3_G').selectedIndex = 0;
	//document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_4_G').selectedIndex = 0;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_4_1').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_4_2').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_4_3').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_4_4').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_5_1').checked = false;
	document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_5_2').checked = false;
}

function display_PostalAddr() {
	if (document.getElementById('ctl00_ContentPlaceHolder1_ReceivePostalMail1').checked) {
		showf('postal_addr');
		matchZipCode('1');
	}
	else {
		document.getElementById('ctl00_ContentPlaceHolder1_UserAddress1').value = '';
		document.getElementById('ctl00_ContentPlaceHolder1_UserAddress2').value = '';
		document.getElementById('ctl00_ContentPlaceHolder1_UserCity').value = '';
		document.getElementById('ctl00_ContentPlaceHolder1_UserState').selectedIndex = 0;
		hidef('postal_addr');
	}
}

function matchZipCode(index) {
	if (index=='1')
		document.getElementById('ctl00_ContentPlaceHolder1_UserZipCode2').value = document.getElementById('ctl00_ContentPlaceHolder1_UserZipCode').value;
	if (index=='2')
		document.getElementById('ctl00_ContentPlaceHolder1_UserZipCode').value = document.getElementById('ctl00_ContentPlaceHolder1_UserZipCode2').value;
}

function showf(objId) {
	var agt=navigator.userAgent.toLowerCase(); 
    // *** BROWSER ***
    // Note: On IE5, these return 4, so use is_ie5up to detect IE5.
    var is_major = parseInt(navigator.appVersion);
    var is_minor = parseFloat(navigator.appVersion);

    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
    var is_nav2 = (is_nav && (is_major == 2));
    var is_nav3 = (is_nav && (is_major == 3));
    var is_nav4 = (is_nav && (is_major == 4));
    var is_nav4up = (is_nav && (is_major >= 4));
    var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
                          (agt.indexOf("; nav") != -1)) );
    var is_nav6 = (is_nav && (is_major == 5));
    var is_nav6up = (is_nav && (is_major >= 5));
    var is_gecko = (agt.indexOf('gecko') != -1);

    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    var is_ie3    = (is_ie && (is_major < 4));
    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
    var is_ie4up  = (is_ie && (is_major >= 4));
    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
    
   	// *** PLATFORM ***
	var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
   	// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
   	//        Win32, so you can't distinguish between Win95 and WinNT.
   	var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));

   	// is this a 16 bit compiled version?  
   	var is_win16 = ((agt.indexOf("win16")!=-1) || 
           (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
           (agt.indexOf("windows 16-bit")!=-1) );  

   	var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                (agt.indexOf("windows 16-bit")!=-1));

   	// NOTE: Reliable detection of Win98 may not be possible. It appears that:
   	//       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
   	//       - On Mercury client, the 32-bit version will return "Win98", but
   	//         the 16-bit version running on Win98 will still return "Win95".
   	var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
  	var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
   	var is_win32 = (is_win95 || is_winnt || is_win98 || 
                ((is_major >= 4) && (navigator.platform == "Win32")) ||
                (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

	var is_os2   = ((agt.indexOf("os/2")!=-1) || 
                (navigator.appVersion.indexOf("OS/2")!=-1) ||   
                (agt.indexOf("ibm-webexplorer")!=-1));

	var is_mac    = (agt.indexOf("mac")!=-1);
	var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || 
                           (agt.indexOf("68000")!=-1)));
	var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || 
                            (agt.indexOf("powerpc")!=-1)));
		
	if (is_ie) 
		document.getElementById(objId).style.display = "inline";
	else 
		document.getElementById(objId).style.display = "inherit";
}

function hidef(objId) {document.getElementById(objId).style.display = "none";}

// Registration Validation
function validateAge(source, args) {
    var yearObj = document.getElementById('ctl00_ContentPlaceHolder1_UserDateOfBirthYear');
    var now = new Date();
    if(yearObj.value == "") {
        args.IsValid = true;
        return;
    }
    try {
        var dif = eval (now.getFullYear() + "-" + yearObj.value);
        args.IsValid = dif > 17;
    } catch(x) {
        args.IsValid = true;        
    }  
}

function validateSpecifyBox(source, args) {
    var referenceObj = document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_6_G');
    var specifyBoxObj = document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_T_1_7_1');
    if (referenceObj.selectedIndex == 9 && specifyBoxObj.value.length < 1)
        args.IsValid = false;
    else
        args.IsValid = true;
}

function validateAddress1(source, args) {
    if (document.getElementById('ctl00_ContentPlaceHolder1_ReceivePostalMail1').checked == true) {
        var obj = document.getElementById('ctl00_ContentPlaceHolder1_UserAddress1').value;
        if(obj.length < 1) {
            args.IsValid = false;
            return;
        }
    }
}

function validateCity(source, args) {
    if (document.getElementById('ctl00_ContentPlaceHolder1_ReceivePostalMail1').checked == true) {
        var obj = document.getElementById('ctl00_ContentPlaceHolder1_UserCity').value;
        if(obj.length < 1) {
            args.IsValid = false;
            return;
        }
    }
}

function validateState(source, args) {
    if (document.getElementById('ctl00_ContentPlaceHolder1_ReceivePostalMail1').checked == true) {
        var obj = document.getElementById('ctl00_ContentPlaceHolder1_UserState').selectedIndex;
        if(obj == 0) {
            args.IsValid = false;
            return;
        }
    }
}

function validateZip(source, args) {
    if (document.getElementById('ctl00_ContentPlaceHolder1_ReceivePostalMail1').checked == true) {
        var obj = document.getElementById('ctl00_ContentPlaceHolder1_UserZipCode2').value;
        if(obj.length < 1) {
            args.IsValid = false;
            return;
        }
        else {
            var objRegExp  = /(^\d{5}$)|(^\d{5}-\d{4}$)/;
            args.IsValid = objRegExp.test(obj);
            return;
        }
    }
}

function yourself_selected() {
    return (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_1_G').selectedIndex == 1);
}

function validateRequestInfo(source, args) {
    args.IsValid = true;   
    if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_1_G').selectedIndex == 0)
        args.IsValid = false;   
}

function validateGender(source, args) {
    args.IsValid = true; 
//    if (yourself_selected())
    if (document.getElementById('ctl00_ContentPlaceHolder1_F').checked == false && 
            document.getElementById('ctl00_ContentPlaceHolder1_M').checked == false) 
        args.IsValid = false;   
}

function validateSurvey_q12(source, args) {
    args.IsValid = true;   
    //if (yourself_selected())
        args.IsValid = check_answers('12');   
}

function validateSurvey_q13(source, args) {
    args.IsValid = true;   
    //if (yourself_selected())
        args.IsValid = check_answers('13');   
}

function validateSurvey_q14(source, args) {
    args.IsValid = true;   
    //if (yourself_selected())
        args.IsValid = check_answers('14');   
}

/*
function validateSurvey_q15(source, args) {
    args.IsValid = true;   
    if (yourself_selected())
        args.IsValid = check_answers('15');   
}
*/

function validateSurvey_q16(source, args) {
    args.IsValid = true;   
    //if (yourself_selected())
        args.IsValid = check_answers('16');   
}

function validateSurvey_q17(source, args) {
    args.IsValid = true;   
    //if (yourself_selected())
        args.IsValid = check_answers('17');   
}

function validateSurvey_q18(source, args) {
    args.IsValid = true;   
    //if (yourself_selected())
        args.IsValid = check_answers('18');   
}

function validateSurvey_q19(source, args) {
    args.IsValid = true;
    //if (yourself_selected())
        args.IsValid = check_answers('19');           
}

function validateSurvey_q20(source, args) {
     args.IsValid = true;  
     //if (yourself_selected()) 
        if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_20_1').checked == false && 
                document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_20_2').checked == false) 
            args.IsValid = false;   
}

function validateSurvey_q21(source, args) {
     args.IsValid = true;   
     //if (yourself_selected()) 
        if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_21_1').checked == false && 
                document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_1_21_2').checked == false) 
            args.IsValid = false;   
}

function validateSurvey_q22(source, args) {
     args.IsValid = true;   
     //if (yourself_selected()) 
        if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_S_1_22_G').selectedIndex == 0)
            args.IsValid = false;   
}

function check_answers(index) {
    var valid = false;
    for(var j=1;j<=11;j++) {
        valid = (valid || document.getElementById("ctl00_ContentPlaceHolder1_UserResponse_R_1_" + index + "_" + j).checked);
    }
    return valid;
}

// Risk Assessor Validation
function validateGender2(source, args) {
    args.IsValid = true; 
    if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_2_2_1').checked == false && 
            document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_2_2_2').checked == false) 
        args.IsValid = false;   
}

function validateRequestInfo2(source, args) {
    args.IsValid = true;  
    if (document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_2_1_1').checked == false && 
            document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_R_2_1_2').checked == false) 
        args.IsValid = false;   
}

function validateAge2(source, args) {
    var yearObj = document.getElementById('ctl00_ContentPlaceHolder1_UserResponse_T_2_3_1');
    var now = new Date();
    if(yearObj.value == "") {
        args.IsValid = true;
        return;
    }
    try {
        var dif = eval (now.getFullYear() + "-" + yearObj.value);
        args.IsValid = dif > 17;
    } catch(x) {
        args.IsValid = true;        
    }  
}
function validateMultipleEmails(source, args) {
    args.IsValid = true;
    
    var emails = document.getElementById('ctl00_ContentPlaceHolder1_send_to_friend_page_control1_ToEmailAddress').value;
    if (emails != "") {
        var email = emails.split(';');
        for (var i = 0; i < email.length; i++) {
            if (!validateEmail(email[i])) {
                args.IsValid = false;
                return;
            }
        }
    }
}

function validateEmail(email) {
    var objRegExp  = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2,3})$/
    return objRegExp.test(email);
}
