
var checks = new Array;
checks['email'] = false;
checks['email_confirm'] = false;
checks['password'] = false;
checks['password_confirm'] = false;
checks['fname'] = false;
checks['lname'] = false;
checks['primary'] = false;
checks['reg_key'] = false;
checks['country'] = false;
checks['zipcode'] = false;
checks['state_license'] = false;
var submitted = false;


var ezines = new Array;
ezines[0] = 103001; // Diabezine - default
ezines[23] = 128152; // Nurzine
ezines[24] = 128152;// Nurzine
ezines[38] = 1214225; // Nutrizine
ezines[16] = 1214225; // Nutrizine
ezines[8] = 99389; // Footnotes



function checkSubmit()
{
	submitted = true;
	
	if(document.getElementById("secondary_specialty"))
	{
		allSelectSpecialty();
	}

	allSelectSuffix();
	checkField('email');
	checkEmailConfirm();
	checkCapcha();
	checkPassword_confirm();
	checkName('fname','first');
	checkName('lname','last');
	check_license();
	checkCountry();
	checkZip();
	checkPrimary();
	setTimeout("checkSubmit2()",350);
}

function check_license()
{
	if($('#state_license').length > 0)
	{
		if ($('#primary_specialty').val() == '8' || $('#primary_specialty').val() == '9')
		{
			checks['state_license'] = true;
		}
		else
		{
			if ($('#state_license').val() == '')
			{
				checks['state_license'] = false;
			}
			else
			{
				checks['state_license'] = true;
			}
		}
	}
	else
	{
		checks['state_license'] = true;
	}
}

function checkSubmit2()
{
	if (!checks['email'])
	{
		$('#email').focus();
		if ($('#email').val() == '')
		{
			alert('Please enter your Email address.');
		}
		else
		{
			alert('Please correct your Email address.');
		}
		submitted = false;
		return;
	}
	if (!checks['email_confirm'])
	{
		$('#email_confirm').focus();
		if ($('#email_confirm').val() == '')
		{
			alert('Please fill out the Confirm Email.');
		}
		else
		{
			alert('Please correct the Confirm Email.');
		}
		submitted = false;
		return;
	}
	if (!checks['password'])
	{
		$('#reg_password').focus();
		if ($('#reg_password').val() == '')
		{
			alert('Please enter a Password.');
		}
		else
		{
			alert('Passwords do not match.');
		}
		submitted = false;
		return;
	}
	if (!checks['password_confirm'])
	{
		$('#password_confirm').focus();
		alert('Please fill out the Confirm Password.');
		submitted = false;
		return;
	}
	if (!checks['fname'])
	{
		$('#fname').focus();
		if ($('#fname').val() == '')
		{
			alert('Please enter your First Name.');
		}
		else
		{
			alert('Please correct your First Name.');
		}
		submitted = false;
		return;
	}
	if (!checks['lname'])
	{
		$('#lname').focus();
		if ($('#lname').val() == '')
		{
			alert('Please enter your Last Name.');
		}
		else
		{
			alert('Please correct your Last Name.');
		}
		submitted = false;
		return;
	}
	if (!checks['country'])
	{
		$('#country').focus();
		alert('Please select your Country.');
		submitted = false;
		return;
	}
	if (!checks['zipcode'])
	{
		$('#zipcode').focus();
		if ($('#zipcode').val() == '')
		{
			alert('Please enter your ZIP Code.');
		}
		else
		{
			alert('Please correct your ZIP Code.');
		}
		submitted = false;
		return;
	}
	if (!checks['primary'])
	{
		$('#primary_specialty').focus();
		alert('Please select a Primary Specialty.');
		submitted = false;
		return;
	}
	if (!checks['reg_key'])
	{
		$('#reg_key').focus();
		if ($('#reg_key').val() == '')
		{
			alert('Please enter the Validation Code.');
		}
		else
		{
			alert('Please correct the Validation Code.');
		}
		submitted = false;
		return;
	}
	
	if(!checks['state_license'])
	{
		$('#state_license').focus();
		
		if ($('#state_license').val() == '')
		{
			alert('Please enter your state license');
		}
			
		submitted = false;
		return;
	}
	
	for (k in ezines)
	{
		$('#ezine_'+ezines[k]).attr('disabled', false);
	}
	$('#registration_form').submit();
}

function checkField(field)
{
	var fields = new Array;
	fields['email'] = 'Email address';
	fields['email_confirm'] = 'Email address';
	if ($('#'+field).val() != '')
	{
		$.ajax({ 
		    method: "get",
		    url: "index.php",
		    data: 'ajax=yes&'+field+'=' + $('#'+field).val(), 
		    beforeSend: function(){ //show loading just when link is clicked 
			
			   $('#'+field+'check').html('<div class="verify-loader">Verifying</div>');
				
		    },
		    //complete: function(){}, //stop showing loading when the process is complete 
		    success: function(html){ //so, if data is retrieved, store it in html
		    	//alert(html);
		    	if (html == 'valid')
		    	{
		    		checks[field] = true;

					$('#'+field+'check').html('<div class="valid"></div>');
					$('#'+field+'-errorMsg').html(''); //clears error message
		    	}
		    	else if (html == 'invalid2')
		    	{
		    		checks[field] = false;
					
				    $('#'+field+'check').html('<div class="invalid"></div>');
					$('#'+field+'-errorMsg').html('<div class="errorMsg">An account already exists with that Email address</div>');

		    	} 
		    	else
		    	{
		    		checks[field] = false;
		    						
					$('#'+field+'check').html('<div class="invalid"></div>');
					$('#'+field+'-errorMsg').html('<div class="errorMsg">'+fields[field]+' is invalid.</div>');
					
		    	}
				
		    	if (field == 'email' && $('#email_confirm').val() != '')
		    	{
		    		checkEmailConfirm();
		    	}
		    }
	    });
    }
    else
    {
    	checks[field] = false;
    	if (submitted)
    	{
  
			$('#'+field+'check').html('<div class="invalid"></div>');
			$('#'+field+'-errorMsg').html('<div class="errorMsg">Please enter your email address.</div>');
					
    	}
    	else
    	{
    		$('#'+field+'check').html('');
			$('#'+field+'-errorMsg').html('');
    	}
    }
}

function checkCapcha()
{
	if ($('#reg_key').val().length == 5)
	{
		$.ajax({ 
		    method: "get",
		    url: "index.php",
		    data: 'ajax=yes&reg_key=' + $('#reg_key').val(), 
		    beforeSend: function(){  //show loading just when link is clicked
		    	$('#reg_keycheck').html('<div class="verify-loader">Verifying</div>');
		    },  
		    //complete: function(){}, //stop showing loading when the process is complete 
		    success: function(html){ //so, if data is retrieved, store it in html
		    	//alert(html);
		    	if (html == 'valid')
		    	{
		    		checks['reg_key'] = true;
		    		$('#reg_keycheck').html('<div class="valid"></div>');
					$('#reg_keycheck-errorMsg').html('');
		    	}
		    	else
		    	{
		    		checks['reg_key'] = false;
		    		$('#reg_keycheck').html('<div class="invalid"></div>');
					$('#reg_keycheck-errorMsg').html('<div class="errorMsg">Code Invalid</div>');
		    	}
		    }
	    });
    }
    else 
    {
    	checks['reg_key'] = false;
    	if (submitted)
    	{
    		$('#reg_keycheck').html('<div class="invalid"></div>');
			$('#reg_keycheck-errorMsg').html('<div class="errorMsg">Code Invalid</div>');
    	}
    	else
    	{
    		$('#reg_keycheck').html('');
			$('#reg_keycheck-errorMsg').html('');
    	}
    }
}

function checkPrimary()
{
	if ($('#primary_specialty').val() == '0')
	{
		checks['primary'] = false;
	}
	else
	{
		checks['primary'] = true;
	}
}

function checkPassword_confirm() 
{
	
	if ($('#reg_password').val() != '' && $('#password_confirm').val() != '')
	{
		if($('#password_confirm').val() == $('#reg_password').val())
		{
			
			$('#passwordcheck').html('<div class="valid"></div>');
			$('#password_confirmcheck').html('<div class="valid"></div>');
			
			//clears error messages
			$('#passwordcheck-errorMsg').html('');
			$('#password_confirmcheck-errorMsg').html('');
			
			checks['password'] = true;
			checks['password_confirm'] = true;
		}
		else
		{
				$('#passwordcheck').html('<div class="invalid"></div>');
				$('#passwordcheck-errorMsg').html('<div class="errorMsg">Passwords do not match.</div>');
				
				checks['password'] = false;
				checks['password_confirm'] = false;
				
				$('#password_confirmcheck').html('<div class="invalid"></div>');
				$('#password_confirmcheck-errorMsg').html('<div class="errorMsg">Passwords do not match.</div>');
		}
	}
	else
	{
		checks['password'] = false;
		checks['password_confirm'] = false;
		if ($('#password_confirm').val() == '' && submitted)
		{
			
			$('#password_confirmcheck').html('<div class="invalid"></div>');
			$('#password_confirmcheck-errorMsg').html('<div class="errorMsg">Please confirm your password.</div>');
				
		}
		else
		{
			$('#password_confirmcheck').html('');
			$('#password_confirmcheck-errorMsg').html('');
		}
		if ($('#reg_password').val() == '' && submitted)
		{
			
			$('#passwordcheck').html('<div class="invalid"></div>');
			$('#passwordcheck-errorMsg').html('<div class="errorMsg">Password Required.</div>');
		}
		else
		{
			$('#passwordcheck').html('');
			$('#passwordcheck-errorMsg').html('');
		}
			
	}
}

function checkEmailConfirm()
{
	if ($('#email').val() != '' && $('#email_confirm').val() != '')
	{
		if ($('#email_confirm').val().toLowerCase() == $('#email').val().toLowerCase())
		{
			checks['email_confirm'] = true;
			if (checks['email'] == true)
			{
				$('#email_confirmcheck').html('<div class="valid"></div>');
			    $('#email_confirmcheck-errorMsg').html(''); //clears error message
				
			}
			else
			{
			$('#email_confirmcheck').html('<div class="invalid"></div>');
			$('#email_confirmcheck-errorMsg').html('<div class="errorMsg">Email address is invalid.</div>');
			}
		}
		else
		{
			checks['email_confirm'] = false;
			
			$('#email_confirmcheck').html('<div class="invalid"></div>');
			$('#email_confirmcheck-errorMsg').html('<div class="errorMsg">Email addresses do not match.</div>');
		}
	}
	else
	{
		checks['email_confirm'] = false;
		
		if (submitted)
		{ 
			$('#email_confirmcheck').html('');
			$('#email_confirmcheck-errorMsg').html('');
		}
	}
	
}

function checkName(eleid,pos)
{
	var nameToCheck = document.getElementById(eleid).value;
	//alert(nameToCheck);
	if ($('#'+eleid).val().length != 0)
	{
		if (pos == 'first')
		{
			var validChars = /[^a-zA-Z\'\s]/;
		}
		else
		{
			var validChars = /[^a-zA-Z\'\s]/;
		}
		
		if ($('#'+eleid).val().length == 0)
		{
			//Name is empty
			
		
 			    $('#'+eleid+'check').html('<div class="invalid"></div>');
				$('#'+eleid+'-errorMsg').html('<div class="errorMsg">'+pos.charAt(0).toUpperCase()+pos.substr(1,pos.length-1)+' Name Required.</div>');
				
			
			checks[eleid] = false;
			return false;
		}
		if (validChars.test(nameToCheck))
		{
			// Name has an invalid char
			if (pos == 'first')
			{
				$('#'+eleid+'check').html('<div class="invalid"></div>');
				$('#'+eleid+'-errorMsg').html('<div class="errorMsg">'+pos.charAt(0).toUpperCase()+pos.substr(1,pos.length-1)+' name can only contain letters.</div>');
			}
			else
			{
				
				$('#'+eleid+'check').html('<div class="invalid"></div>');
				$('#'+eleid+'-errorMsg').html('<div class="errorMsg">No special characters please.</div>');
				
			}
			checks[eleid] = false;
			return false;
		}
		Pos = pos.substr(0, 1).toUpperCase() + pos.substr(1);
		$('#'+eleid+'check').html('<div class="valid"></div>');
		$('#'+eleid+'-errorMsg').html('');
		
		checks[eleid] = true;
		return true;
	}
	else
	{
	
	checks[eleid] = false;
		if (submitted)
		{
			    $('#'+eleid+'check').html('<div class="invalid"></div>');
				$('#'+eleid+'-errorMsg').html('<div class="errorMsg">'+pos.charAt(0).toUpperCase()+pos.substr(1,pos.length-1)+' Name Required.</div>');
				
		}
		else
		{
			$('#'+eleid+'check').html('');
			$('#'+eleid+'-errorMsg').html('');
		}
		
	}
}

function checkCountry()
{
	if ($('#country').val() != '')
	{
		checkZip();
		checks['country'] = true;
	}
	else
	{
		checks['country'] = false;
	}
}

function checkZip(submitted)
{
	// letters, numbers, and dashes are valid
	var validChars = /[^a-zA-Z0-9\-]/
	// checks for the format 12345 or 12345-1234
	var validCharsUS = /^[0-9]{5}(-[0-9]{4})?$/
	if ($('#country').val() == 'USA')
	{
		if(!$('#zipcode').val()){
			
			$('#zipcheck').html('<div class="invalid"></div>');
			$('#zipcheck-errorMsg').html('<div class="clear"></div><div class="errorMsg" style="width:51px;">Required</div>');
					
			checks['zipcode'] = false;
			return false;
		}
		else if (validCharsUS.test($('#zipcode').val()))
		{
			
			$('#zipcheck').html('<div class="valid"></div>');
			$('#zipcheck-errorMsg').html('');
			
			checks['zipcode'] = true;
			return true;
		}
		else
		{
			$('#zipcheck').html('<div class="invalid"></div>');
			$('#zipcheck-errorMsg').html('<div class="clear"></div><div class="errorMsg" style="width:51px;text-indent:5px;">Invalid</div>');
			
			
			checks['zipcode'] = false;
			return false;
		}
	}
	else if ($('#zipcode').val() == '')
	{
		if (!submitted || $('#country').val() != 'USA')
		{
			$('#zipcheck').html('');
			checks['zipcode'] = true;
			return true;
		}
		else
		{
			
			$('#zipcheck').html('<div class="invalid"></div>');
			$('#zipcheck-errorMsg').html('<div class="clear"></div><div class="errorMsg" style="width:51px;">Required</div>');
			
			
			checks['zipcode'] = false;
			return false;
		}
	}
	else
	{
		if (validChars.test($('#zipcode').val()))
		{
			$('#zipcheck').html('<img src="../images/block.gif" /> <font style="font-size: 10px;color:#FF0000;">Numbers and letters only.</font>');
			checks['zipcode'] = false;
			return false;
		}
		else
		{
			if (submitted || $('#zipcode').val() != '')
			{
				
				$('#zipcheck').html('<div class="valid"></div>');
				$('#zipcheck-errorMsg').html('');
			
			}
			else
			{
				$('#zipcheck').html('');
			}
			checks['zipcode'] = true;
			return true;
		}
	}	
}

function reloadCapcha()
{
	document.getElementById('iframe1').contentWindow.location.reload(true);
	$('#reg_key').val('');
	$('#reg_keycheck').html('');
}

function add (listTo, listFrom)
{
	var moved = new Array();
	var count = 0;
	for (var item = 0; item < listFrom.options.length; item++)
	{
		if (listFrom.options[item].selected)
		{
			var temp = document.createElement("OPTION");
			temp.text = listFrom.options[item].text;
			temp.value = listFrom.options[item].value;
			var index = 0;
			var currOpn;
			while (index < listTo.options.length && temp.text > listTo.options[index].text)
			{
				index ++;
			}
			if (index < listTo.options.length)
			{
				currOpn = listTo.options[index];
			}
			else
			{
				currOpn = null;
			}
			try
			{
				listTo.add(temp, currOpn);
			}
			catch(ex)
			{
				listTo.add(temp, index);
			}
			moved[count] = listFrom.options[item].value; count ++;
		}
	}
	if (moved.length > 0)
	{
		remove(listFrom, moved);
	}
}

function moveIt(what,where,who)
{
	var items = what.elements[who]
	var curItem = items.selectedIndex
	if (curItem==-1)
	{
		//alert("select something.")
	}
	else
	{
		var newItem = curItem+( where? -1 : 1)
		if (newItem<0)
		{
			newItem=items.length-1
		}
		if (newItem>=items.length)
		{
			newItem=0
		}
		var oldVal = items[curItem].value
		var oldText = items[curItem].text
		items[curItem].value = items[newItem].value
		items[curItem].text = items[newItem].text
		items[newItem].value = oldVal
		items[newItem].text = oldText
		items.selectedIndex = newItem
	}
}

function remove (listToRemoveFrom, items)
{
	for (element in items)
	{
		var index = 0;
		while (index < listToRemoveFrom.options.length && listToRemoveFrom.options[index].value != items[element])
		{
			index ++;
		}
		listToRemoveFrom.remove(index);
	}
}

function allSelectSpecialty()
{
	List4 = document.registration_form.secondary_specialty_selected;
	for (i=0;i<List4.length;i++)
	{
		List4.options[i].selected = true;
	}
}

function allSelectSuffix()
{
	List = document.registration_form.suffix_selected;
	for (i=0;i<List.length;i++)
	{
		List.options[i].selected = true;
	}
}

function selectezine(specialty)
{
	if (!ezines[specialty])
	{
		ezine = ezines[0];
	} 
	else
	{
		ezine = ezines[specialty];
	}
	for (k in ezines)
	{
		$('#ezine_'+ezines[k]).attr('disabled', false);
	}
	$('#ezine_'+ezine).attr('checked', 'checked');
	$('#ezine_'+ezine).attr('disabled', 'disabled');	
}
