$(document).ready(function(){
	var current_step = 1;
	
	/* if IE 6 forward to the old version of enrollment */
	if (jQuery.browser.msie) {
		  if(parseInt(jQuery.browser.version) == 6) {
			  alert("Please update your browser!");
		      window.location.href = "https://office.agel.com";
		  }

	}
	if (jQuery.browser.mozilla) {
		  if(parseInt(jQuery.browser.version) < '1.9.1.2') {
			  alert("Please update your browser!");
		      window.location.href = "https://office.agel.com";
		  }

	}	
	
	$.ajaxSetup ({
		/* Disable caching of AJAX responses */
		cache: false
	});

	
	if(jaaulde.utils.cookies.get('enrollment_data') != undefined) {
		popup_screen("khara");
		$.wizard = $.evalJSON( jaaulde.utils.cookies.get('enrollment_data') );
	}else {
		$.wizard = {};
	}
	
	
	$("div#enrollment_content").load("/enroll/index/step1",stop_loading );
	
	$("ul#enrollment_menu li#activeTab a").css({'height':'11px', 'background-color':'#EFF3F7'});
	
	//$("ul#enrollment_menu  a").click(function(){
		//$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
		//$(this).css({'height':'11px', 'background-color':'#EFF3F7'});
			
	//});
	
	$("a#start_over").live("click", function() {
		
		jaaulde.utils.cookies.del("enrollment_data");		
		hide_popup_screen();
		window.location.href = "/enroll/index";
		return false;
	});
	

	
	$("a[id^='step']").bind("navigate", function() {

		start_loading();
		id = $(this).attr('id');	
		
		
		step = parseInt(id.substring(4));
		
		if(step > 0) {
			if(step<current_step) {
				go_to(step);
			}else {
				
				switch(current_step) {
					case 1:	
						validate_step1(step);
						break;
					case 2:			
						validate_step2(step);
						break;
					case 3:
						validate_step3(step);
						break;
					case 4:
						validate_step4(step);
						break;
					case 5:
						validate_step5(step);
					default:
						break;
				}
			}
			
	/* Rashid		
			if(step==2){				
		
				if($.wizard.step2_input != undefined){
											
					goto_step2($("input#sponser_id_input").val());
				}else{
					validate_step1();
				}
			}
			else if(step==3){
				
				if(validate_step2()) {
					goto_step3();
				}
			}
			else if(step==4){
				goto_step4();
			}
			else if(step==5){
				goto_step5();
			}else{
				
				$.wizard.step2_input = undefined;
				//alert(step);
				$("div#enrollment_content").html('');	
				$("div#enrollment_content").load('/enroll/index/'+id,stop_loading);	
				$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
				$(this).css({'height':'11px', 'background-color':'#EFF3F7'});
			}
		*/
			
		}
		return false;
	});
	
	$("li.payment_select").live("click", function(){
		start_loading_payment();
		
		$("div#payment_content").html('<p>&nbsp;</p><p>&nbsp;</p>');
		id = $(this).attr('id');
		
		$("div#payment_content").load('/enroll/index/'+id,stop_loading_payment);
		return false;
	});
	
	
	//wizard = new Wizard();
	//alert(wizard.classVersion);
	
	$("a#go_to_autoship").live("click", function(){
		popup_enrollment();
	});
	
	
	function popup_screen(body) {
		
		
		
		var src = "";
			src += '<div id="popup_screen" style="position:absolute;top:0px;left:0px;">';
			src += body;
			src += '</div>';
			src += '<div id="popup_screen_content">';
			src += '	<div id="popup_screen_border">';	
			src += '		<div id="popup_screen_header">';
			src += '			Session exists! ';
			src += '		</div>';
			src += '		<div id="popup_screen_data">';
			src += '			It looks like you were already going through the enrollment process and have not finished it yet! Would you like to <a onclick="hide_popup_screen();" href="#">Continue</a> or <a href="#" id="start_over">Start Over</a>';
			src += '		</div>';
			src += '	</div>';
			src += '</div>';
			
		$('body').append(src);
		
		$('div#popup_screen_content').css('top', $(document).height()/2-$('div#popup_screen_content').height()/2);
		$('div#popup_screen_content').css('left', $(document).width()/2-$('div#popup_screen_content').width()/2); 
		$('div#popup_screen_content').css('opacity', '1');
		
		$('div#popup_screen').width($(document).width());
		$('div#popup_screen').height($(document).height());
		
		
		$(window).resize(function(){
			$('div#popup_screen').width($(document).width());
			$('div#popup_screen').height($(document).height());
			
			$('div#popup_screen_content').css('top', $(window).height()/2-$('div#popup_screen_content').height()/2);
			$('div#popup_screen_content').css('left', $(window).width()/2-$('div#popup_screen_content').width()/2); 
		});

		$("body").css("overflow", "hidden");

	}
	
	function popup_enrollment() {
		
		var src = "";
			src += '<div id="popup_screen" style="position:absolute;top:0px;left:0px;">';
			
			src += '</div>';
			src += '<div id="popup_screen_content">';
			src += '	<div id="popup_screen_border">';	
			src += '		<div id="popup_screen_header">';
			src += '			New Enrollment ';
			src += '		</div>';
			src += '		<div id="popup_screen_data">';
			src += '			Please wait, we are in the process of creating your account... ';
			src += '		</div>';
			src += '		<div id="enrollment_loading">';
			src += '		<img src="/images/loading.gif" width="32" height="32" alt="Loading..." style="padding-left:160px;padding-top:50px;" id="loading_img"/>';
			src += '		</div>';
			
			src += '	</div>';
			src += '</div>';
			
		$('body').prepend(src);
		
		$('div#popup_screen_content').css('top', $(window).height()/2-$('div#popup_screen_content').height()/2);
		$('div#popup_screen_content').css('left', $(window).width()/2-$('div#popup_screen_content').width()/2); 
		$('div#popup_screen_content').css('opacity', '1');
		
		$('div#popup_screen').width($(document).width());
		$('div#popup_screen').height($(document).height());
		
		
		$(window).resize(function(){
			$('div#popup_screen').width($(document).width());
			$('div#popup_screen').height($(document).height());
			
			$('div#popup_screen_content').css('top', $(window).height()/2-$('div#popup_screen_content').height()/2);
			$('div#popup_screen_content').css('left', $(window).width()/2-$('div#popup_screen_content').width()/2); 
		});

		$("body").css("overflow", "hidden");
		
		
		var json_data = jaaulde.utils.cookies.get('enrollment_data');
		
		$.post("/enroll/index/enroll-distributor", {json_data:json_data}, function(data){
			$("div#popup_screen_data").html("");
			
			
			$.json = $.evalJSON(data);
			
			//$.json['order_id'] = "555555555";
			//$.json['username'] = "123456789";
			
			
			if($.json['error'] != undefined ) {
				$("div#popup_screen_header").html('Error <a href="#" style="margin-left:300px;" onclick="hide_popup_screen();">CLOSE</a>');
				$("div#enrollment_loading").html("");
				$("div#popup_screen_data").html($.json['error']);
				
			}else if( $.json['order_id'] != undefined && $.json['username'] != undefined ) {
				
				//$("div#popup_screen_header").html('Error <a href="#" style="margin-left:300px;" onclick="hide_popup_screen();">CLOSE</a>');
				$("div#enrollment_loading").html("");
				
				
				$("div#popup_screen_data").html("Account was created...PLEASE WAIT!!");
				
				$.wizard['order_id'] = $.json['order_id'];
				$.wizard['username'] = $.json['username'];
				
				var encoded_enrollment = $.toJSON($.wizard);            	
				jaaulde.utils.cookies.set('enrollment_data', encoded_enrollment); // set cookie
				
				//window.location.href = '/enroll/autoship';
				$("div#popup_screen_data").html("<p style='font-size:14px;font-family:Arial'>You are now an Agel Team Member! Your order confirmation number is <span style='font-weight:bold'>"+$.json['order_id']+"</span> and your ID number is <span style='font-weight:bold'>"+$.json['username']+"</span> . Please make note of this information.</p><table style='margin-top:100px;width:100%'><tr><td align='left'><a href='#' id='start_over' style='font-size:10px;'>Enroll another person</a></td><td align='right'><a href='/enroll/autoship'>Next</a></td></tr></table>");
			}
			
			
		});

	}
/*	
	function popup_agreement() {
		var src = "";
			src += '<div id="popup_agreement" style="position:absolute;z-index:3333;background-color:#5A656B">';
			//src += body;
			src += '</div>';
		
		$('body').append(src);
		
		$("div#popup_agreement").load("/enroll/index/agreements", function(){
			$(this).css('top', $(document).height()/2-$('div#popup_agreement').height()/2);
			$(this).css('left', $(document).width()/2-$('div#popup_agreement').width()/2); 
			$(this).css('opacity', '1');			
		});
		
		

		
		
		$(window).resize(function(){
			$('div#popup_agreement').css('top', $(document).height()/2-$('div#popup_agreement').height()/2);
			$('div#popup_agreement').css('left', $(document).width()/2-$('div#popup_agreement').width()/2); 
		});		
	}
*/
	function popup_agreement() {
		
		var src = "";
			src += '<div id="popup_screen" style="position:absolute;top:0px;left:0px;">';
			
			src += '</div>';
			src += '<div id="popup_screen_content">';
			src += '	<div id="popup_screen_border">';	
			src += '		<div id="popup_screen_header">';
			src += '			Agreements ';
			src += '		</div>';
			src += '		<div id="popup_screen_data">';
			src += '		</div>';
			src += '	</div>';
			src += '</div>';
			
		$('body').prepend(src);
		$("div#popup_screen_data").load("/enroll/index/agreements");
		
		var top = ($(window).height()/2)-(280/2);
		var left = ($(window).width()/2)-(450/2);
		
		$('html,body').animate({scrollTop: 0}, 500);
		
		$('div#popup_screen_content').css('top', top);
		$('div#popup_screen_content').css('left', left); 
		$('div#popup_screen_content').css('opacity', '1');
		
		$('div#popup_screen').width($(document).width());
		$('div#popup_screen').height($(document).height());
		
		$("body").css("overflow", "hidden");
		
		$(window).resize(function(){
			
			$('div#popup_screen').width($(document).width());
			$('div#popup_screen').height($(document).height());
			
			$('div#popup_screen_content').css('top', ($(window).height()/2)-(280/2));
			$('div#popup_screen_content').css('left', ($(window).width()/2)-(450/2)); 
			
			//scrollTo($('div#popup_screen_content'));
		});
		
		
		//scrollTo($('div#popup_screen_content'));
	
	}	
	
	function  build_wizard_array(){
	

		// remove all produtcs
		if(current_step == 3) {
			jQuery.each($.wizard, function(i, val) {
				if(i.indexOf("product_id_") != -1) {
					$.wizard[i] = 0;
				}
			});
		}
		
		//print_array();
		//for all text fields and radio buttons
		jQuery.each($("input[id$='_input']"), function(i, val) {
			var index = $(this).attr('id');
			var value = $(this).val();
						
			$.wizard[index] = value;	
			
		});
		jQuery.each($("input[id$='_cbox']"), function(i, val) {
			var index = $(this).attr('id');
			
			if($(this).is(':checked')){
				$.wizard[index] = 1;
			}else{
				$.wizard[index] = 0;
			}
		});		
		jQuery.each($("select[id$='_select']"), function(i, val) {
			var index = $(this).attr('id');
			var value = $(this)[0].selectedIndex;
			//alert(value);
			$.wizard[index] = value;
		});
		if( $("input#chosen_kit_id").val() != undefined ) {
			$.wizard['chosen_kit_id'] = $("input#chosen_kit_id").val();
			$.wizard['chosen_kit_name'] = $("input#chosen_kit_name").val();
			
		}
		var encoded_enrollment = $.toJSON($.wizard);            	
		jaaulde.utils.cookies.set('enrollment_data', encoded_enrollment); // set cookie
	}
	
	function print_array() {
		var printme = "";
		jQuery.each($.wizard, function(i, val) {
			printme += i+'>'+val+"\n";
		});
		alert(printme);
	}
	
	
    function scrollTo(selector) {
        var targetOffset = ($(selector).offset().top)-20;
        
        $('html,body').animate({scrollTop: targetOffset}, 500);
    }
	
	function go_to(step) {
		
		switch(step) {
			case 1:
				goto_step1();
				break;	
			case 2:
				goto_step2();
				break;
			case 3:
				goto_step3();
				break;
			case 4:
				goto_step4();
				break;
			case 5:
				goto_step5();
				break;
		}
	}
	
	function goto_step1() {
		
		current_step = 1;
		
		$("div#enrollment_content").load('/enroll/index/step1',stop_loading);
		$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
		$("a#step1").css({'height':'11px', 'background-color':'#EFF3F7'});
	}
	function goto_step2(id) {
		id = $("input#sponser_id_input").val();
		build_wizard_array();
		current_step = 2;
		
		var refresh = false;
		
		if(id==undefined){		
			id=$.wizard['sponser_id_input'];
		}
		
		if( id != $.wizard['sponser_id_input'] && $.wizard['sponser_id_input'] != undefined ) {
			var refresh = true;
		}
		
		
		
		//if($.wizard.sponser_name_input==undefined || refresh){
			//alert("first time");
			$.post('/enroll/index/get-sponser-name', { id: id }, function(data){
				$.wizard.sponser_name_input=data;
	
				$("div#enrollment_content").html('');	
				
				$("div#enrollment_content").load('/enroll/index/step2?sponser_id='+id,stop_loading);	
				$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
				$("a#step2").css({'height':'11px', 'background-color':'#EFF3F7'});				
				
			});
		
		//}else{
		//	$("div#enrollment_content").html('');	
		//	$("div#enrollment_content").load('/enroll/index/step2?sponser_id='+id,stop_loading);	
		//	$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
		//	$("a#step2").css({'height':'11px', 'background-color':'#EFF3F7'});				
		//}
	
	}
	function goto_step3(){
		
		build_wizard_array();
		current_step = 3;
		
		$("div#enrollment_content").html('');	
		$("div#enrollment_content").load('/enroll/index/step3',stop_loading);	
		$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
		$("a#step3").css({'height':'11px', 'background-color':'#EFF3F7'});		
	}

	function goto_step4(){
		
		build_wizard_array();
		
		current_step = 4;
		
		$("div#enrollment_content").html('');	
		$("div#enrollment_content").load('/enroll/index/step4',stop_loading);	
		
		$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
		$("a#step4").css({'height':'11px', 'background-color':'#EFF3F7'});	
		
		if( $.wizard['read_policies_pro_cbox'] == undefined || $.wizard['read_policies_pro_cbox'] == 0 ) {
			popup_agreement();
		}
		
	}

	function goto_step5(){
		
		build_wizard_array();
		//print_array();
		current_step = 5;
		
		var json_data = jaaulde.utils.cookies.get('enrollment_data');
		$("div#enrollment_content").html('');	
		//$("div#enrollment_content").load('/enroll/index/step5?'+json_data,stop_loading);	
		$.post('/enroll/index/step5', {json_data: json_data}, function(data){
			
			$("div#enrollment_content").html(data);
			stop_loading();
		});
		
		$("ul#enrollment_menu  a").css({'height':'9px', 'background-color':'#FFFFFF'});
		$("a#step5").css({'height':'11px', 'background-color':'#EFF3F7'});	
		
	}	
	
	function validate_step1(step){


		//alert("validate_step1 step:"+step);

		$("#form1").validate({
			errorElement: 'span',

			rules: {
					sponser_id_input: {required:true, digits:true}
						
					
			},
			messages: {
					sponser_id_input: "Please enter a valid sponser id"
			}
		});
		
		$("#form1").valid();
		
		id=$('input#sponser_id_input').val();

		if($("#form1").valid()) {
			
			 $.post('/enroll/index/get-sponser-name', { id: id }, function(data){
				
				if(data == 0){
					
					$("span#sponser_id_error").html("If you do not have the ID number of the person who shared Agel with you, please get in contact with them first before proceeding");
					$("span#sponser_id_error").show();
					stop_loading();
					return false;
				}else{
					$("span#sponser_id_error").html("");
					
					go_to(step);
					return true;
				}
			});	
		}else {
			stop_loading();
			return false;
		}
			
	}
		
	function validate_step2(step){
		
		//alert("validate_step2 step:"+step);
		
		/*
		jQuery.validator.addMethod("all_bithday_selected", function(value, element) {
		    if($("select#birthday_month_select").val() > 0 && $("select#birthday_day_select").val() > 0 && $("select#birthday_year_select").val() > 0 ) {    	
		    	return true;
			}else {		
				return false;
			}
		}, "");
		*/
		
		
		jQuery.validator.addMethod("phone", function(phone_number, element) {
			var digits = "0123456789";
			var phoneNumberDelimiters = "()- ext.";
			var validWorldPhoneChars = phoneNumberDelimiters + "+";
			var minDigitsInIPhoneNumber = 10;
			s=stripCharsInBag(phone_number,validWorldPhoneChars);
			return this.optional(element) || isInteger(s) && s.length >= minDigitsInIPhoneNumber;
			}, "Please enter a valid phone number");
		
		jQuery.validator.addMethod("password_numeric", function(password_text, element) {
			var digits = "0123456789";
			
			for (i = 0; i < password_text.length; i++) {
				if (digits.indexOf(password_text.charAt(i)) != -1) {
					return true;
				}			
			}
		}, "You password must at least have 1 number");
			
		jQuery.validator.addMethod("password_uppcase", function(password_text, element) {
			var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
			for (i = 0; i < password_text.length; i++) {
				if (upr.indexOf(password_text.charAt(i)) != -1) {
					return true;
				}
			}
		}, "You password must at least have 1 UPPER CASE letter");
		
		jQuery.validator.addMethod("password_lowercase", function(password_text, element) {
			var upr = 'abcdefghijklmnopqrstuvwxyz';
			for (i = 0; i < password_text.length; i++) {
				if (upr.indexOf(password_text.charAt(i)) != -1) {
					return true;
				}
			}
		}, "You password must at least have 1 LOWER CASE letter");
		
		jQuery.validator.addMethod("ssn_ein", function(ssn_ein, element) {
			var digits = "0123456789";
			var sep = "-";
			var ret = false;
			var digits_num = 0;
			for (i = 0; i <ssn_ein.length; i++) {
				if (digits.indexOf(ssn_ein.charAt(i)) != -1 ) {
					ret = true;
					digits_num++;
				}else if(sep.indexOf(ssn_ein.charAt(i)) != -1) {
					ret = true;
				}else{
					return false;
				}
			}
			if( digits_num != 9 ) { 
				return false; 
			}
			return ret;
		}, "Please enter a valid SSN/EIN");
		
		jQuery.validator.addMethod(
		        "letters_regex",
		        function(value, element, regexp, error_msg) {
		            if (regexp.constructor != RegExp)
		                regexp = new RegExp(regexp);
		            else if (regexp.global)
		                regexp.lastIndex = 0;
		            return this.optional(element) || regexp.test(value);
		        },
		        'This input only accepts letters.'
		);


		
		$("#form2").validate({
			
			errorElement: 'span',
			
			rules: {
					first_name_input: 		{required:true,minlength:2, letters_regex: '^[A-Za-z ]+$'},
					last_name_input: 		{required:true,minlength:2, letters_regex: '^[A-Za-z ]+$'},
					ssn_input:				{required:true, ssn_ein: true},
					street_address1_input:	"required",
					state_input:			"required",
					city_input:				{required:true, letters_regex: '^[A-Za-z ]+$'},
					//zip_input:				{required:true, ZIPCODE:true},
					p_phone_input:			{required:true, phone:true},
					email_input:			{required:true, email:true},
					r_email_input:			{required:true, equalTo: "#email_input"},
					password_input:			{required: true, minlength: 7, password_numeric: true, password_uppcase: true, password_lowercase: true},
					r_password_input:		{equalTo: "#password_input"},
					contact_info_country_select:	"required",
					address_field_state_select:		"required",
					zip_input:						{required: true, minlength: 5, maxlength: 5, digits: true}
					
					
						
			},
			messages: {
					first_name_input: 		{required: "Please enter your first name",minlength: "Your first name must consist of at least 2 characters"},
					last_name_input: 		{required: "Please enter your last name",minlength: "Your last name must consist of at least 2 characters"},
					ssn_input:				{required: "Please enter your SSN"},
					street_address1_input:	"Please enter your street address",
					state_input:			"Please enter your state",
					city_input:				{required: "Please enter your city"},
					zip_input:				"Please enter a valid zip code",
					p_phone_input:			"Please enter a valid primary phone number",
					email_input:			"Please enter a valid email address",
					r_email_input:			{required: "Please renter your email address", equalTo: "Please enter the same email as above"},
					password_input:			{required: "Please provide a password",minlength: "Your password must be at least 7 characters long"},
					r_password_input:		{required: "Please provide a password",equalTo: "Please enter the same password as above"},
					contact_info_country_select:	"Please select your country",
					address_field_state_select:		"Please select your state",
					zip_input:						"Please enter a valid zip code",
					birthday_year_select:	"Please select your Birthday"
						
			}
		});
		
		// saving birthdate
		$.wizard['birth_day'] = $("select#birthday_day_select").val();
		$.wizard['birth_month'] = $("select#birthday_month_select").val();
		$.wizard['birth_year'] = $("select#birthday_year_select").val();
		
		scrollTo($("span.error"));
		if($("#form2").valid()) {	
			
			$.wizard['address_field_state_select_val'] = $("select#address_field_state_select :selected").val();
			$.wizard['address_field_state_select_text'] = $("select#address_field_state_select :selected").text();
			
			var tax_id = $("#ssn_input").val();
			$.post('/enroll/index/validate-tax-number', { tax_id: tax_id }, function(data){
				

				
				if(data == 0){
					
					$("span#tax_number_error").html("Please enter a valid SSN/EIN");
					$("span#tax_number_error").show();
					stop_loading();
					return false;
				}else if( data == 1 ){
					$("span#sponser_id_error").html("");
					go_to(step);
					return true;
				}
			});
			
			
			//go_to(step);
		}else {
			stop_loading();
		}
	}	
	
	function validate_step3(step){
		//alert("validate_step3 step:"+step);
		
		var unit_type = "boxes";
		
		if ($("input#kit_is_cv").val() == '1') {
			unit_type = "cv";
		}
		
		if( $.wizard['chosen_kit_id'] > 0 && $.wizard['remaining_boxes'] == 0 ) {
			$("div#step3_error").html("");

			go_to(step);
			return true;
		}else {
			
			//alert("remaining boxes:"+$.wizard['remaining_boxes']+"AND chosen kit:"+$.wizard['chosen_kit_id']);
			var msg = "";
			if($.wizard['remaining_boxes'] > 0) {
				msg = "You have "+$.wizard['remaining_boxes']+" remaining "+unit_type+" to choose";
			}else if( $.wizard['remaining_boxes'] < 0) {
				msg = "You have exceeded the number of boxes you can select";
			}
			$("div#step3_error").html(msg);
			scrollTo($("div#product_wall"));
			stop_loading();
			return false;
		}
	}
	
	function validate_step4(step){
			
		//alert("validate_step4 step:"+step);
		jQuery.validator.addMethod("credit_card_date", function(value, element) {
		    if($("select#credit_card_exp_month_select").val() > 0 && $("select#credit_card_exp_year_select").val() > 0 ) {    	
		    	return true;
			}else {		
				return false;
			}
		}, "");
		
		$("form#payment_cc").validate({
			
			errorElement: 'span',
			
			rules: {
				credit_card_number_input:	{required:true,minlength:2},
				cvv2_input:					"required",
				billing_address_country_select:	"required",
				credit_card_number_input: {
	            creditcard2: 	function(){ 
									return $('#credit_card_type_select').val(); }
	            				},
				credit_card_exp_year_select : {credit_card_date: true},
				
				shipping_address_field_street1_input :	{required: true},
				shipping_address_country_select:	"required",
				shipping_address_field_state_input:	"required",
				shipping_address_field_city_input:	"required",
				shipping_address_field_zip_input:	"required",
				
				billing_address_field_street1_input :	{required: true},
				billing_address_country_select:	"required",
				billing_address_field_state_input:	"required",
				billing_address_field_city_input:	"required",
				billing_address_field_zip_input:	"required",	
				read_policies_pro_cbox:	"required",
				s3capcha: "required"
							
						
			},
			messages: {
				credit_card_number_input:	"Please enter a valid credit card number",
				cvv2_input				:	"Please enter the cvv2",
				shipping_address_country_select:	"Please select the shipping country",
				billing_address_country_select:	"Please select the billing country",
				credit_card_type_select:	"Please select your credit card",
				credit_card_exp_year_select:	"Please select the expiration date",
				shipping_address_field_street1_input:	"Please enter a street name",
				billing_address_field_street1_input:	"Please enter a street name",
				shipping_address_field_state_input:		"Please enter a valid state",
				billing_address_field_state_input:		"Please enter a valid state",
				shipping_address_field_city_input:		"Please enter a valid city",
				billing_address_field_city_input:		"Please enter a valid city",
				shipping_address_field_zip_input:		"Please enter a valid zip code",
				billing_address_field_zip_input:		"Please enter a valid zip code",
				read_policies_pro_cbox:					"You need to accept the agreement",
				s3capcha:								"Select one of the icons"
			}
		});
				
		// capcha
		$.wizard['capcha_valid'] = false;
		
		jQuery.each($("input[name='s3capcha']"), function(i, val) {
			if($(this).is(':checked')) {
				$("div#capcha_error").html('');
				
				
				var capcha_value = $(this).val();
				
				$.post('/enroll/index/validate-capcha', { capcha: capcha_value }, function(data){
			
					
					if(data == 1) {
						//go to step
						if( $("form#payment_cc").valid() ) {
								$.wizard['capcha_value'] = capcha_value;
								
								$.wizard['shipping_address_field_state_select_val'] = $("select#shipping_address_field_state_select :selected").val();
								$.wizard['shipping_address_field_state_select_text'] = $("select#shipping_address_field_state_select :selected").text();

								$.wizard['billing_address_field_state_select_val'] = $("select#billing_address_field_state_select :selected").val();
								$.wizard['billing_address_field_state_select_text'] = $("select#billing_address_field_state_select :selected").text();
								
								go_to(step);
							
						}else{
							scrollTo($("span.error"));
							stop_loading();
						}
									
					}else {
						
						$("div#capcha_error").html('Select the correct icon');
						$('#capcha').load('/enroll/index/capcha');
						stop_loading();
					}
				});				
				
				return false;
			}else {
				$("div#capcha_error").html('Please select an icon');
			}
		});
		
		

	}	
	
	function validate_step5(step){
		
		go_to(step);
		
	}
	
	
	/* STEP 4 EVENT HANDLERS */
	$("input#read_policies_pro_cbox").live("click",function () {
		
		if($(this).is(':checked')){
			popup_agreement();
			return false;
		}else{
		   return true;
		}
	});
	
	/* STEP 2 EVENT HANDLERS */
	$("span#change_sponser_id").live("click", function(){
		start_loading();
		go_to(1);
	});
	
	/* STEP 5 EVENT HANDLERS */
	$("span#edit_contact_info").live("click", function(){
		go_to(2);
	});
	$("span.edit_payment_options").live("click", function(){
		go_to(4);
	});
	$("span.edit_products_options").live("click", function(){
		go_to(3);
	});
	
});

function start_loading(){
	$("img#loading_img").show();
	
}
function stop_loading(){
	$("img#loading_img").hide();
}

function start_loading_payment(){
	$("img#loading_img2").show();
	
}
function stop_loading_payment(){
	$("img#loading_img2").hide();
}


function hide_popup_screen() {
	
	$('div#popup_screen').hide();
	$('div#popup_screen_content').hide();
	$("body").css("overflow", "auto");
	
}

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++)
	{
	// Check that current character isn't whitespace.
	var c = s.charAt(i);
	if (bag.indexOf(c) == -1) returnString += c;
	}
	return returnString;
}

function strpos (haystack, needle, offset) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Onno Marsman    
    // +   bugfixed by: Daniel Esteban
    // *     example 1: strpos('Kevin van Zonneveld', 'e', 5);
    // *     returns 1: 14
 
    var i = (haystack+'').indexOf(needle, (offset ? offset : 0));
    return i === -1 ? false : i;
}

