
// browser

	var varPRM = Request.QueryString("PRM");
	
	function CheckPRM()
	{
		var varbrowserType = GetBrowserType();
	
		if (varPRM != null && varPRM != "" && varPRM != "undefined")
		{
			if (varbrowserType == "NN4")
			{
				document.frmStep1.PRM.value = varPRM;
				//document.PromotionDiv.visibility="hidden";
			}
			else if (varbrowserType == "NN6")
			{
				document.frmStep1.PRM.value = varPRM;
				//document.getElementById("PromotionDiv").style.visibility="hidden";
			}
			else //ie 
			{
				document.frmStep1.PRM.value = varPRM;
				//document.all.PromotionDiv.style.visibility = "hidden";	
			}
			
		}
	}
	
	function GetBrowserType()
	{
        if(document.layers)
        {
            return "NN4";
        }
        if(document.all)
        {
             return "ie";
        }
        if(!document.all && document.getElementById)
        {
             return "NN6";
        }
	}




function IsEmail(object_value, min_value)

{

            var i, ch, intAtCount, intDotPos, intLastDotPos;

            

            var strEmailChars = "_-@.~!#$%&*+\"'"

 

            var len = object_value.length;

 

            if (len == 0) {

                        return true;

            }

            

            if (len < min_value) {

                        return false;

            }

            

            intAtCount = 0;

            intDotPos = 0;

            for(i = 0; i < len; i++) {

                        ch = object_value.charAt(i);

                        

                        if(!(        IsAlphaChar(ch) || 

                                                IsNumberChar(ch) ||

                                                strEmailChars.indexOf(ch) != -1) 

                                    ) {

                                                return false;

                        } else {

                                    if(ch == '@') {

                                                intAtCount++;

                                                if(intAtCount > 1) {

                                                            return false;

                                                }

                                    } else if (ch == '.') {

                                                // don't allow consecutive .'s

                                                if (i - 1 == intLastDotPos) {

                                                            return false;

                                                }

                                                intDotPos = i;

                                                intLastDotPos = i;

                                    }

                        }

            }

            

            return (intDotPos > 0 && intAtCount > 0 && intDotPos < (len - 1));

 

}

 

function IsURL(object_value)

{

            var i, ch, intDotCount;

            

            var strURLChars = "~!@#$%*_+-:/.?&="

            

            var len = object_value.length;

            

            if (object_value.length == 0) {

                        return true;

            }

            

            if (object_value.length < 10) {

                        return false;

            }

            

            if           ((object_value.indexOf("http://") == -1) &&

                                    (object_value.indexOf("https://") == -1) &&

                                    (object_value.indexOf("ftp://") == -1)) {

                        return false;

            }

            

            intDotCount = 0;

            for(i = 0; i < len; i++) {

                        ch = object_value.charAt(i);

                        

                        if(!(        IsAlphaChar(ch) || 

                                                IsNumberChar(ch) ||

                                                strURLChars.indexOf(ch) != -1) 

                                    ) {

                                                return false;

                        } else if(ch == '.') {

                                    intDotCount++;

                        } 

            }

            

            return (intDotCount > 0);

            

}

 

function IsValidExtension(object_value, extensions)

{

            // ---------------Examples----------------

            // extensions -->   "jpeg, gif, zip"

            // object_value --> "chaka.zip"

            // ---------------------------------------

 

            var i, ch, intDotCount;

            var test_extension = "";

            var obj_extension = "";

            var len = object_value.length;

 

            if ((object_value == "") || (extensions == ""))

                        return true;

                         

            // --------------------------------------------------

            // First get the extension of the object value

            // --------------------------------------------------

            for (i = len; i > 0; i--) {

                        ch = object_value.charAt(i);

                        if (ch == '.') {

                                    intDotCount = i;

                                    break;

                        }

            }           

            

            for (i = (intDotCount + 1); i < len; i++) {

                        obj_extension = obj_extension + object_value.charAt(i);

            }

 

            if (obj_extension.length == 0)

                        return false;

 

            // --------------------------------------------------

            // Then, we compare that string to every extension we passed in

            // --------------------------------------------------

 

            extensions = extensions.toLowerCase();

            obj_extension = obj_extension.toLowerCase();

 

            len = extensions.length;

            test_extension = "";

 

            for (i = 0; i <= len; i++) {

 

                        ch = extensions.charAt(i);

 

                        if ((ch == ',') || (ch == ' ') || (i == len)) {

                                    if (test_extension.length == 0)

                                                continue;                                   

                                    if (test_extension == obj_extension)

                                                return true;

                                    test_extension = "";

                        }

                        else {

                                    test_extension = test_extension + ch;

                        }

            }

            return false;

}



function IsValidDate(month, day, year) {

            var blnRet;

 

            if (month ==  "" || day == "" || year == "") {

                        return true;

            }

 

            day = parseInt(day)

            month = parseInt(month)

            year = parseInt(year)

            

 

            if( (day >= 1 && day <= 31) && 

                        (month >=1 && month <= 12) && 

                        (year > 0) ) {

                        blnRet = true;

                        switch(month) {

                                    case 2:

                                                

                                                if(day > 28) {

                                                            // check for leap years

                                                            if( ((year % 4 == 0) && (year % 100 != 0)) ||

                                                                        (year % 400 == 0) ) {

                                                                        if(day > 29) {

                                                                                    blnRet =  false;

                                                                        }

                                                            } else {

                                                                        blnRet = false;

                                                            }

                                                }

                                                break;

                                    case 4:

                                    case 6:

                                    case 9:

                                    case 11:

                                                if(day > 30) {

                                                            blnRet = false;

                                                }

                                                break;

                                    default:

                                                break;

                        }

            } else {

                        blnRet = false;

            }

                        

            return blnRet;

}



function InLengthRange(object_value, min_value, max_value)

{

            

            if (object_value == null) {

                        return true;

            }

 

            if (min_value == null) {

                        min_value = 0;

            }

            

            if (typeof object_value == "string")

            {

                        var temp_object_value = object_value;

                        var ch = temp_object_value.substring(0, 1);

                        while (ch == " ") { // Check for spaces at the beginning of the string

                                    temp_object_value = temp_object_value.substring(1, temp_object_value.length);

                                    ch = temp_object_value.substring(0, 1);

                        }

                        ch = temp_object_value.substring(temp_object_value.length-1, temp_object_value.length);

                        while (ch == " ") { // Check for spaces at the end of the string

                                    temp_object_value = temp_object_value.substring(0, temp_object_value.length-1);

                                    ch = temp_object_value.substring(temp_object_value.length-1, temp_object_value.length);   

                        }

                        

                        if (max_value == null) {

                                    if(temp_object_value.length >= min_value) {

                                                return true;

                                    } else {

                                                return false;

                                    }

                        }

                        

                        if(temp_object_value.length >= min_value && temp_object_value.length <= max_value) {

                                    return true;

                        } else {

                                    return false;

                        }                       

                        

            }

            

            if (max_value == null) {

                        if (object_value.length >= min_value) {

                                    return true;

                        } else {

                                    return false;

                        }

            }

            

            if (object_value.length >= min_value && object_value.length <= max_value) {

                        return true;

            } else {

                        return false;

            }

 

}


 function IsNumberChar(ch)

{

            return (ch >= '0' && ch <= '9');

}

 

function IsAlphaChar(ch)

{

            return (ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || ( ch.charCodeAt(0) >= 0x05d0 && ch.charCodeAt(0) <= 0x05ea);

}

 

function IsAlphaNumeric(object_value)

{

            var i;

            var intLength, ch;

            intLength = object_value.length;

            for(i = 0; i < intLength; i++) 

            {

                        ch = object_value.charAt(i);

                        if(!(IsAlphaChar(ch) || IsNumberChar(ch))) {

                                    return false;

                        }

            }

            return true;

}


function IsEmpty(obj, obj_type)
{

            if (obj_type == "text" || obj_type == "password" || obj_type == "textarea" || obj_type == "file")           {

                        var objValue;                        

                        objValue = obj.value.replace(/\s+$/,"");
                        
                        if (objValue.length == 0) {

                                    obj.focus();

                                    return true;

                        } else {

                                    return false;

                        }

            } else if (obj_type == "select") {

	if(obj.options == null)
	{
		return false;
	}

                        for (i=0; i < obj.length; i++) {

                                    if (obj.options[i].selected) {

                                                if(obj.options[i].value == "") {

                                                            obj.focus();

                                                            return true;

                                                } else {

                                                            return false;

                                                }

                                    }

                                    

                        }

                        return true;        

            } else if (obj_type == "radio" || obj_type == "checkbox") {

                        if (!obj[0] && obj) {

                                    if (obj.checked) {

                                                return false;

                                    } else {

                                                obj.focus();

                                                return true;        

                                    }

                        } else {

                                    for (i=0; i < obj.length; i++) {

                                                if (obj[i].checked) {

                                                            return false;

                                                }

                                    }

                                    obj[0].focus();

                                    return true;

                        }

            } else {

                        return false;

            }

}

 


// validation

var blnAbortValidation = false;
function validateFormfrmStep1() {//debugger;

//alert("here")
 if (blnAbortValidation == true) {
  blnAbortValidation = false;
  return true;
 }
	var vfrmStep1selGenderID = document.frmStep1.GenderID;
	var vfrmStep1selSeekingGenderID = document.frmStep1.SeekingGenderID;
	var vfrmStep1txtUserName = document.frmStep1.UserName;
	var vfrmStep1dteBirthDate_month = document.frmStep1.BirthDate_month[document.frmStep1.BirthDate_month.selectedIndex].value;
	var vfrmStep1dteBirthDate_day = document.frmStep1.BirthDate_day[document.frmStep1.BirthDate_day.selectedIndex].value;
	var vfrmStep1dteBirthDate_year = document.frmStep1.BirthDate_year[document.frmStep1.BirthDate_year.selectedIndex].value;
	var vfrmStep1txtEmail = document.frmStep1.Email;
	var vfrmStep1pasPassword = document.frmStep1.Password;
	var vfrmStep1txtEmail2 = document.frmStep1.Email2;
	var vfrmStep1selCountryRegionID = document.frmStep1.CountryRegionID;
	var vfrmStep1txtPostalCode = document.frmStep1.PostalCode;
	if(IsEmpty(vfrmStep1selGenderID, 'radio')) {
		alert("Your Gender is required");
		return false;
	}
	if(IsEmpty(vfrmStep1selSeekingGenderID, 'radio')) {
		alert("Seeking Gender is required");
		return false;
	}
	if(IsEmpty(vfrmStep1txtUserName, 'text')) {
		alert("User Name is required");
		return false;
	}
	if ( IsAlphaNumeric(vfrmStep1txtUserName.value) == false) {
		alert("User Name must be alphanumeric (i.e. jsmith33)");
		vfrmStep1txtUserName.focus();
		return false;
	}
	if ( InLengthRange(vfrmStep1txtUserName.value, 2, 25) == false) {
		alert("User Name must be between 2 and 25 characters");
		vfrmStep1txtUserName.focus();
		return false;
	}
	if (vfrmStep1dteBirthDate_month == "") {
	alert("Birthday is required");
		document.frmStep1.BirthDate_month.focus();
		return false;
	}
	if (vfrmStep1dteBirthDate_day == "") {
		alert("Birthday is required");
		document.frmStep1.BirthDate_day.focus();
		return false;
	}
	if (vfrmStep1dteBirthDate_year == "") {
		alert("Birthday is required");
		document.frmStep1.BirthDate_year.focus();
		return false;
	}
	if (!IsValidDate(vfrmStep1dteBirthDate_month, vfrmStep1dteBirthDate_day, vfrmStep1dteBirthDate_year) ){
		alert("Birthday is required");
		document.frmStep1.BirthDate_day.focus();
		return false;
	}
	if(IsEmpty(vfrmStep1txtEmail, 'text')) {
		alert("Your email address is required");
		return false;
	}
	if ( IsEmail(vfrmStep1txtEmail.value, 3) == false) {
		alert("Your email address is not a valid email address");
		vfrmStep1txtEmail.focus();
		return false;
	}
	if ( InLengthRange(vfrmStep1txtEmail.value, null , 255) == false) {
		alert("Your email address can not have more than 255 characters");
		vfrmStep1txtEmail.focus();
		return false;
	}
	if(IsEmpty(vfrmStep1pasPassword, 'password')) {
		alert("Password is required");
		return false;
	}
	if ( InLengthRange(vfrmStep1pasPassword.value, 4, 16) == false) {
		alert("Password must be between 4 and 16 characters");
		vfrmStep1pasPassword.focus();
		return false;
	}
	if(IsEmpty(vfrmStep1txtEmail2, 'email')) {
		alert("Re-enter your email is required");
		return false;
	}
	if(vfrmStep1txtEmail2.value != vfrmStep1txtEmail.value) {
		alert("The value of Re-enter your email doesn't match the value of email");
		return false;
	}
	if(IsEmpty(vfrmStep1selCountryRegionID, 'select')) {
		alert("Region is required");
		return false;
	}
	if(IsEmpty(vfrmStep1txtPostalCode, 'text')) {
		alert("Zip Code is required");
		return false;
	}
	if ( IsAlphaNumeric(vfrmStep1txtPostalCode.value) == false) {
		alert("Zip Code must be alphanumeric (i.e. jsmith33)");
		vfrmStep1txtPostalCode.focus();
		return false;
	}
	if ( InLengthRange(vfrmStep1txtPostalCode.value, 5, 6) == false) {
		alert("Zip Code must be between 5 and 6 characters");
		vfrmStep1txtPostalCode.focus();
		return false;
	}
}