var main = new Class(
{
	other_source : function() {
		if ($('ddlb_source') != null) {
			$('ddlb_source').addEvents({
				"change" : function() {
					if (this.value == "OTHER") {
						$('tr_other_source').setStyle('display' , 'inline');
						$('txt_source_others').setProperty('rel' , 'validate[\'required\']');
					} else {
						$('tr_other_source').setStyle('display' , 'none');
						$('txt_source_others').setProperty('rel' , '');
					}
				}
			});
		}
	},

    validateMaxSelection : function(el) {
        var maxCheckeds = 0;
        for(var ax = 0; ax < el.length; ax++){
            if(el[ax].checked) {
                maxCheckeds = maxCheckeds + 1;
            }
		}

        el.getProperty("rel")[0].split(' ').each(function(classX){
            if(classX.match(/^validate(\[.+\])$/)) {
                var validators = eval(classX.match(/^validate(\[.+\])$/)[1]);

                for(var i = 0; i < validators.length; i++) {
                    if (validators[i].contains("maximum")) {
                        var maximum_text = validators[i].split(":");
                        if (maxCheckeds > maximum_text[1]) {
                            alert("Please select a maximum of (" + maximum_text[1] + ") " + el.getProperty("title")[0] + " only.");
                        }
                    }
                }
            }
        });
    },
    
	initElements : function()
	{
		var ctrAvail = 0;
		var ctrExpLvl = 0;

		if ($('rbt_gender') != null)
		{
			$$(".cls_rbt_gender").setProperty("rel", "validate['required']");
		}

		if ($$('.cls_industry_code') != null)
		{
			$$(".cls_industry_code").setProperty("title", "Seeking Job Function");
			$$(".cls_industry_code").setProperty("rel", "validate['required','maximum:5']");
            $$('.cls_industry_code').addEvent("click", function(){
                this.validateMaxSelection($$('.cls_industry_code'));
            }.bind(this));
		}

		if ($$(".cls_employment_type") != null)
		{
			$$(".cls_employment_type").setProperty("title", "Seeking Job Type");
			$$(".cls_employment_type").setProperty("rel", "validate['required']");
		}

		if ($$(".cls_preferred_location") != null)
		{
			$$(".cls_preferred_location").setProperty("title", "Preferred Work Location");
			$$(".cls_preferred_location").setProperty("rel", "validate['required','maximum:5']");
            $$('.cls_preferred_location').addEvent("click", function(){
                this.validateMaxSelection($$('.cls_preferred_location'));
            }.bind(this));
		}


		if ($("cbx_emp_present") != null)
		{
			$("cbx_emp_present").addEvents(
			{
				"click" : function()
				{
					if ($("cbx_emp_present").checked == true)
					{
						$("ddlb_emp_to_month").set("disabled", true);
						$("ddlb_emp_to_year").set("disabled", true);
						$("ddlb_emp_to_month").value = "";
						$("ddlb_emp_to_year").value = "";
						$("ddlb_emp_to_month").removeProperty("rel");
						$("ddlb_emp_to_year").removeProperty("rel");
					}
					else
					{
						$("ddlb_emp_to_month").set("disabled", false);
						$("ddlb_emp_to_year").set("disabled", false);
						$("ddlb_emp_to_month").setProperty("rel", "validate['required']");
						$("ddlb_emp_to_year").setProperty("rel", "validate['required','range:lt:ddlb_emp_from_year']");
					}
				}
			});
		}

		$$("[rel=btn_next]").addEvents(
		{
			"click" : function()
			{
				if (document.getElementById("ddlb_no_mos") != null)
				{
					$$(".cls_rbt_availability").each(function(objectValue)
					{
						if (objectValue.checked == true)
						{
							ctrAvail = ctrAvail + 1;
							if (objectValue.value == "immediately")
							{
								$("ddlb_no_mos").set("disabled",true);
							}
						}
					});
					if (ctrAvail == 0)
					{
						$("ddlb_no_mos").set("disabled",true);
					}
				}
			}
		});

		if (document.getElementById("ddlb_no_mos") != null)
		{
			$$(".cls_rbt_availability").each(function(objectValue)
			{
				if (objectValue.checked == true)
				{
					ctrAvail = ctrAvail + 1;
					if (objectValue.value == "immediately")
					{
						$("ddlb_no_mos").set("disabled",true);
					}
				}
			});
			if (ctrAvail == 0)
			{
				$("ddlb_no_mos").set("disabled",true);
			}
		}

		if ($("prof_bg") != null)
		{
			$$(".cls_rbt_exp_level").each(function(objectValue)
			{
				if (objectValue.value == "F")
				{
					if (objectValue.checked == true)
					{
						$("prof_bg").getElements("tr").hide();
					}
					else
					{
						$("prof_bg").getElements("tr").show();
					}
				}

				if (objectValue.checked == true)
				{
					ctrExpLvl = ctrExpLvl + 1;
				}
			});
			if (ctrExpLvl == 0)
			{
				$("prof_bg").getElements("tr").hide();
			}
		}

		if ($("cbx_emp_present") != null)
		{
			if ($("cbx_emp_present").checked == true)
			{
				$("ddlb_emp_to_month").set("disabled", true);
				$("ddlb_emp_to_year").set("disabled", true);
				$("ddlb_emp_to_month").value = "";
				$("ddlb_emp_to_year").value = "";
				$$(".cls_rbt_exp_level").each(function(el)
				{
					if (el.value == "E")
					{
						if (el.checked == true)
						{
							$("ddlb_emp_to_month").removeProperty("rel");
							$("ddlb_emp_to_year").removeProperty("rel");
						}
					}
				});
			}
			else
			{
				$("ddlb_emp_to_month").set("disabled", false);
				$("ddlb_emp_to_year").set("disabled", false);
				$$(".cls_rbt_exp_level").each(function(el)
				{
					if (el.value == "E")
					{
						if (el.checked == true)
						{
							$("ddlb_emp_to_month").setProperty("rel", "validate['required']");
							$("ddlb_emp_to_year").setProperty("rel", "validate['required','range:lt:ddlb_emp_from_year']");
						}
					}
				});
			}
		}


		if ($$(".cls_rbt_exp_level") != null)
		{
			$$(".cls_rbt_exp_level").addEvents(
			{
				"click" : function()
				{
					$$(".cls_rbt_exp_level").each(function(el)
					{
						if (el.value == "E")
						{
							if (el.checked == true)
							{
								$("ddlb_years_of_exp").setProperty("rel", "validate['required']");
								$("txt_company_name").setProperty("rel", "validate['required']");
								$("txt_job_position").setProperty("rel", "validate['required']");
								$("ddlb_industry_sector").setProperty("rel", "validate['required']");
								$("ddlb_salary").setProperty("rel", "validate['required']");
								$("ddlb_emp_from_month").setProperty("rel", "validate['required']");
								$("ddlb_emp_from_year").setProperty("rel", "validate['required']");
								$("ddlb_emp_to_month").setProperty("rel", "validate['required']");
								$("ddlb_emp_to_year").setProperty("rel", "validate['required','range:lt:ddlb_emp_from_year']");
								$("txt_responsibility").setProperty("rel", "validate['required']");
							}
							else
							{
								$("ddlb_years_of_exp").removeProperty("rel");
								$("txt_company_name").removeProperty("rel");
								$("txt_job_position").removeProperty("rel");
								$("ddlb_industry_sector").removeProperty("rel");
								$("ddlb_salary").removeProperty("rel");
								$("ddlb_emp_from_month").removeProperty("rel");
								$("ddlb_emp_from_year").removeProperty("rel");
								$("ddlb_emp_to_month").removeProperty("rel");
								$("ddlb_emp_to_year").removeProperty("rel");
								$("txt_responsibility").removeProperty("rel");
							}
						}
					});
				}
			});
		}
	},

	disableAvailability : function()
	{
		$$(".cls_rbt_availability").addEvents(
		{
			"click" : function(e)
			{
				$$(".cls_rbt_availability").each(function(objectValue)
				{
					if (objectValue.checked == true)
					{
						if (objectValue.value == "immediately")
						{
							$("ddlb_no_mos").set("disabled",true);
						}
						else
						{
							$("ddlb_no_mos").set("disabled",false);
						}
					}
				});
			}
		});
	},

	ShowHideExperienceLevel : function()
	{
		$$(".cls_rbt_exp_level").addEvents(
		{
			"click" : function()
			{
				$$(".cls_rbt_exp_level").each(function(objectValue)
				{
					if (objectValue.checked == true)
					{
						if (objectValue.value == "F")
						{
							$("prof_bg").getElements("tr").hide();
						}
						else
						{
							$("prof_bg").getElements("tr").show();
						}
					}
				});
			}
		});
	},

    capitalizeLetter : function() {
        if (($("txt_fname") != null) && ($("txt_mname") != null) && ($("txt_lname") != null)) {
            $("txt_fname").addEvents({
                "blur" : function() {
                    $("txt_fname").value = this.functionCapitalize($("txt_fname").value).trim();
                }.bind(this)
            });

            $("txt_mname").addEvents({
                "blur" : function() {
                    $("txt_mname").value = this.functionCapitalize($("txt_mname").value).trim();
                }.bind(this)
            });

            $("txt_lname").addEvents({
                "blur" : function() {
                    $("txt_lname").value = this.functionCapitalize($("txt_lname").value).trim();
                }.bind(this)
            });
        }
    },

    functionCapitalize : function(el) {
        var val = el;
        newVal = '';
        val = val.split(' ');
        for(var c=0; c < val.length; c++) {
            newVal += val[c].substring(0,1).toUpperCase() + val[c].substring(1,val[c].length) + ' ';
        }
        return newVal;
    },

    assessment : function() {
        if ($("lnk_assessment") != null) {
            $("lnk_assessment").addEvent("click", function(e){
                e.stop();
                window.open("assessment_exam.php", "Assessment", "status = 0, resizable = 1, scrollbars=1");
            });
        }
    },

	initialize : function()
	{
		this.initElements();
		this.disableAvailability();
		this.ShowHideExperienceLevel();
        this.capitalizeLetter();
		this.other_source();
		this.assessment();
	}
});

function indCode(code) {

	var codeValues = document.getElementById("call_center_code").value;
	var splittedVal = codeValues.split(" ");


	if (code == splittedVal[0]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[1]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[2]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[3]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[4]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[5]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[6]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[7]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else if (code == splittedVal[8]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	} else {
		document.getElementById("ddlb_voice_or_non").style.display = "none";
		document.getElementById("txt_acct_type").style.display = "none";
		document.getElementById("ddlb_voice_or_non").value = "";
		document.getElementById("txt_acct_type").value = "";
	}

}

function indCodeEdit(code) {

	var codeValues = document.getElementById("call_center_code").value;
	var splittedVal = codeValues.split(" ");


	if (code == splittedVal[0]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	} else if (code == splittedVal[1]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
 	} else if (code == splittedVal[2]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	} else if (code == splittedVal[3]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	} else if (code == splittedVal[4]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	}else if (code == splittedVal[5]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	}else if (code == splittedVal[6]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	}else if (code == splittedVal[7]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	}else if (code == splittedVal[8]) {
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
		document.getElementById("call_center_code_ind").value = 1;
		document.getElementById("call_center_code_ind_db").value = 1;
	} else {
		document.getElementById("ddlb_voice_or_non").style.display = "none";
		document.getElementById("txt_acct_type").style.display = "none";
		document.getElementById("ddlb_voice_or_non").value = "";
		document.getElementById("txt_acct_type").value = "";
		$("ddlb_voice_or_non").removeProperty("rel");
		$("txt_acct_type").removeProperty("rel");
		document.getElementById("typeofaccount").style.display = "none";
		document.getElementById("typeAccCol").style.display = "none";
		document.getElementById("specAcct").style.display = "none";
		document.getElementById("specAcctCol").style.display = "none";
		document.getElementById("call_center_code_ind").value = 0;
		document.getElementById("call_center_code_ind_db").value = 0;
	}
}

function voiceOrNon() {
	document.getElementById("txt_acct_type").style.display = "block";
	document.getElementById("dispAccType").style.display = "block";
}

function resetCC() {
	if (document.getElementById("call_center_code_ind_db").value != 1) {
		document.getElementById("typeofaccount").style.display = "none";
		document.getElementById("typeAccCol").style.display = "none";
		document.getElementById("specAcct").style.display = "none";
		document.getElementById("specAcctCol").style.display = "none";
		document.getElementById("ddlb_voice_or_non").style.display = "none";
		document.getElementById("txt_acct_type").style.display = "none";
	} else if (document.getElementById("call_center_code_ind").value == 0 && document.getElementById("call_center_code_ind_db").value == 1) {
		document.getElementById("typeofaccount").style.display = "block";
		document.getElementById("typeAccCol").style.display = "block";
		document.getElementById("specAcct").style.display = "block";
		document.getElementById("specAcctCol").style.display = "block";
		document.getElementById("ddlb_voice_or_non").style.display = "block";
		document.getElementById("txt_acct_type").style.display = "block";
	}
	document.thisForm.reset();
}

function fillUpMobile(mobile, fieldValue) {
		if (mobile == "0-mobile") {
			document.getElementById("txt_mobile_num_0").value = fieldValue;
		} else if (mobile == "1-mobile") {
			document.getElementById("txt_mobile_num_1").value = fieldValue;
		}
}

var ctr = 0;
function addRow(name)
{
	var table = document.getElementById(name);
	var numRows = table.rows.length;
	var newRow = table.insertRow(numRows);
	var newCell1 = newRow.insertCell(0);
	var newCell2 = newRow.insertCell(1);
	var newCell3 = newRow.insertCell(2);
 	var isOk = true;

	if (document.getElementById("txt_mobile_num").value != "") {
		if (document.getElementById("counter").value <= 1) {
			newCell1.innerHTML = "";
			newCell2.innerHTML = ":";

			if (document.getElementById("counter").value == 0) {
				newCell3.innerHTML = "<input type='text' name='txt_mobile_num_0' id='txt_mobile_num_0' maxlength='11' class='txtbox_short' onChange='fillUpMobile(\"0-mobile\", this.value);'/>[<span style='color:#006aae; text-decoration: underline' onClick ='javascript: deleteRow(this, \"0-mobile\")'>Delete</span>]";
			} else if (document.getElementById("counter").value == 1) {
				newCell3.innerHTML = "<input type='text' name='txt_mobile_num_1' id='txt_mobile_num_1' maxlength='11' class='txtbox_short' onChange='fillUpMobile(\"1-mobile\", this.value);'/>[<span style='color:#006aae; text-decoration: underline' onClick ='javascript: deleteRow(this, \"1-mobile\")'>Delete</span>]";
			}
			document.getElementById("counter").value++;
			return isOk;
		} else {
			alert("The maximum mobile numbers is three (3).");
			isOk = false;
			return isOk;
		}
	} else {
		alert("Please enter a mobile number before you add another.");
		isOk = false;
		return isOk;
	}

}

function deleteRow(element, mobileTag){

  var cel = element.parentNode.parentNode.rowIndex;
  var table = document.getElementById('table_contact');
	if (confirm("Are you sure you want to delete this?")) {
		table.deleteRow(cel);
		document.getElementById("counter").value = document.getElementById("counter").value -1;

		if (mobileTag == "0-mobile") {
			document.getElementById("txt_mobile_num_0").value = "";
		} else if (mobileTag == "1-mobile") {
			document.getElementById("txt_mobile_num_1").value = "";
		}
	}
}

function EnableDisable(element) {
	if (element.checked == true) {
		document.getElementById("ddlb_emp_to_month").value ="";
		document.getElementById("ddlb_emp_to_year").value = "";
		document.getElementById("ddlb_emp_to_month").disabled = true;
		document.getElementById("ddlb_emp_to_year").disabled = true;
	} else {
		document.getElementById("ddlb_emp_to_month").disabled = false;
		document.getElementById("ddlb_emp_to_year").disabled = false;
	}
}
function EnableAvail(element) {

 	if (element.value == "immediately") {
		document.getElementById("ddlb_no_mos").disabled = true;
		document.getElementById("ddlb_no_mos").value = "";

	} else if (element.value == "after") {
		document.getElementById("ddlb_no_mos").disabled = false;
	}

}
function checkCCAccount() {
	//alert(document.getElementById('call_center_code_ind_db').value);
	if (document.getElementById('call_center_code_ind_db').value == 1) {
		$("ddlb_voice_or_non").setProperty("rel", "validate['required']");
		$("txt_acct_type").setProperty("rel", "validate['required']");
	}
}

function empvalidate(){
	$('e_validate').value = $('e_validate2').value ;
}

