
    $(document).ready(function() {
        $('input#register-aed-1').live('click', Registration.showEMEA);
        $('input#register-aed-8').live('click', Registration.showEMEA);
        $('input#edit-profile-aed-1').live('click', Registration.showEMEA);
        $('input#edit-profile-aed-8').live('click', Registration.showEMEA);
        $('input#register-submit').live('click', Registration.submit);
        $('select.register-date').live('change', checkBirthDate);
        Registration.showEMEA();
    });

    var Registration = {
        showEMEA: function(e) {
            var emeaCount = $('input.emea:checked').length;
	    	if (emeaCount > 0) {
                var aed = 'register-aed-8';
                $('input.emea:checked').each(function() {
                    aed = $(this).attr('id');
                    aed = aed.replace('edit-profile', 'register');
                });
                $('div.register-emea').removeClass('hidden');
				if ($('label.' + aed).length == 0) {
				    aed = aed.replace('register', 'edit-profile');
				}
                $('label.register-aed-duration span').html($('label.' + aed).html());
                $('select#register-day-of-birth').prev().html($('select#register-day-of-birth').prev().html().replace(' *', '') + ' *');
                $('select#register-month-of-birth').prev().html($('select#register-month-of-birth').prev().html().replace(' *', '') + ' *');
                $('select#register-year-of-birth').prev().html($('select#register-year-of-birth').prev().html().replace(' *', '') + ' *');
            } else {
            	$('div.register-emea').addClass('hidden');
	       		$('input#register-emea').removeClass('required');
	       		$('div.register-emea input').removeClass('required');
	       		$('div.register-emea select').removeClass('required');
	       		$('select#register-day-of-birth').prev().html($('select#register-day-of-birth').prev().html().replace(' *', ''));
	       		$('select#register-month-of-birth').prev().html($('select#register-month-of-birth').prev().html().replace(' *', ''));
	       		$('select#register-year-of-birth').prev().html($('select#register-year-of-birth').prev().html().replace(' *', ''));
	       		$('select#register-day-of-birth').removeClass('required');
	       		$('select#register-month-of-birth').removeClass('required');
	       		$('select#register-year-of-birth').removeClass('required');
            }
        },
        submit: function(e) {
        	$('[id^=register]').each(function() {
        		console.log($(this).attr('id'));
        		
        		switch($(this).attr('id')) {
                    case 'register-emea':
                        if (!$('div.register-emea').hasClass('hidden')) {
                            if (!validateEMEA($(this).val())) {
                                $(this).addClass('required');
                            } else {
                                $(this).removeClass('required');
                            }
                        }
                        break;
                    case 'register-aed-duration':
                        if (!$('div.register-emea').hasClass('hidden')) {
                            if ($(this).val() == '-1') {
                                $(this).addClass('required');
                            } else {
                                $(this).removeClass('required');
                            }
                        }
                        break;
                    case 'register-submit':
                        return true;
                    case 'register-phone':
                        return true;
                    case 'register-mobile':
						return true;
                    case 'register-send-information':
                        //if ($(this).val() == 'N' || $(this).val() == -1 || $(this).val() == null) {
                        if (!$(this).attr("checked")) {
                            $("#sendinfolabel").addClass('error');
                            $(this).addClass('required');
                        } else {
			    			$("#sendinfolabel").removeClass('error');
                            $(this).removeClass('required');
						}
						break;
					case 'register-day-of-birth':
					case 'register-month-of-birth':
					case 'register-year-of-birth':
						if (!$('div.register-emea').hasClass('hidden')) {
							if ($(this).val() == -1) {
								$(this).addClass('required');
							} else {
								$(this).removeClass('required');
							}
						}
                        break;
                    default:
                    	if ($(this).val() == '' || $(this).val() == -1) {
                            $(this).addClass('required');
                        } else {
                            $(this).removeClass('required');
                        }
                }
        		
        		
            });
        	
        	$('[id^=edit-profile]').each(function() {
        		switch($(this).attr('id')) {
                    default:
                    	if ($(this).val() == '' || $(this).val() == -1) {
                            $(this).addClass('required');
                        } else {
                            $(this).removeClass('required');
                        }
                }
        		
            });

            if (!validateEmail($("#register-email").attr("value"))) {
            	$("#register-email").addClass('required');

            }

            if ($('.required').length > 0) {
            	//$("#form_error").css("display","block");
				$('.required').addClass('guide-point');
				$('.required:first').trigger('click');
				if ($('.required:first').attr('id') == 'register-send-information') {
					$('.required:first').trigger('click');
				}
				$('.required:first').focus();
                return false;
            }
            if ($('input#form_concordance_update').length == 0) {
            	trackFunnel('register/register' + referer);
            }
            return true;
        }
    }

	function validateEmail(elementValue){
   		var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
   		return emailPattern.test(elementValue);
 	}

 	function validateEMEA(elementValue){
 		var codesKeppra = new Array("EU/1/00/146/001","EU/1/00/146/002","EU/1/00/146/003","EU/1/00/146/004","EU/1/00/146/005","EU/1/00/146/006","EU/1/00/146/007","EU/1/00/146/008","EU/1/00/146/009",
 									"EU/1/00/146/010","EU/1/00/146/011","EU/1/00/146/012","EU/1/00/146/013","EU/1/00/146/014","EU/1/00/146/015","EU/1/00/146/016","EU/1/00/146/017","EU/1/00/146/018",
 									"EU/1/00/146/019","EU/1/00/146/020","EU/1/00/146/021","EU/1/00/146/022","EU/1/00/146/023","EU/1/00/146/024","EU/1/00/146/025","EU/1/00/146/026","EU/1/00/146/027",
 									"EU/1/00/146/028","EU/1/00/146/029","EU/1/00/146/030");
 		var codesVimpat = new Array("EU/1/08/470/001","EU/1/08/470/002","EU/1/08/470/003","EU/1/08/470/004","EU/1/08/470/005","EU/1/08/470/006","EU/1/08/470/007","EU/1/08/470/008",
 									"EU/1/08/470/009","EU/1/08/470/010","EU/1/08/470/011","EU/1/08/470/012","EU/1/08/470/013","EU/1/08/470/014","EU/1/08/470/015","EU/1/08/470/016");
 		var codesLevetiracetam = new Array('81751.00.00', '81752.00.00', '81753.00.00', '81754.00.00', '81755.00.00');

 		var theInput = elementValue.replace(" ","");
 		var codeFound = false;

 		// Keppra
 		if ($('#edit-profile-aed-1').is(':checked') || $('#register-aed-1').is(':checked')) {
	 		for (var s in codesKeppra) {
	 			if (codesKeppra[s]==theInput) {
	 				codeFound = true;
	 			}
	 		}
	 		// Levetiracetam
	 		for (var s in codesLevetiracetam) {
	 			if (codesLevetiracetam[s]==theInput) {
	 				codeFound = true;
	 			}
	 		}
	 		return codeFound;
 		}

 		// Vimpat
 		if ($('#edit-profile-aed-8').is(':checked') || $('#register-aed-8').is(':checked')) {
	  		for (var s in codesVimpat) {
	 			if (codesVimpat[s]==theInput) {
	 				codeFound = true;
	 			}
	 		}
	 		return codeFound;
 		}
 		
 		return codeFound;
 	}


	function checkBirthDate() {

		if (($("#register-day-of-birth > option:selected").attr("value") != -1) && ($("#register-month-of-birth > option:selected").attr("value") != -1) && ($("#register-year-of-birth > option:selected").attr("value") != -1)) {

			var currentDate = new Date();
			var requiredDate = new Date();
			var userDate = new Date();

			requiredDate.setFullYear(currentDate.getFullYear() - 18);
			userDate.setFullYear($("#register-year-of-birth").attr("value"));
			userDate.setDate($("#register-day-of-birth > option:selected").html());
			userDate.setMonth(parseInt($("#register-month-of-birth > option:selected").html()) - 1);

			if (userDate > requiredDate) {

				alert(registerformstrings['msg18']);
				$("input.xl:not(:disabled)").attr("value","");
				$("fieldset select > option[value='-1']").attr("selected","selected");
				$("#form_concordance_update").attr("value","1");
				$("input").removeAttr("checked");
				$("#register-emea").attr("value","");
			}
		}
	}
