// JavaScript Document
if(window.jnc)
{
}else
{
	var jnc = jQuery.noConflict();
}
var dupemailpop;

function checkUsername(elem)
{
	jnc('#suerrUserNameUnset').remove();
	if(jnc(elem).val() != '' && jnc(elem).val() != jnc(elem).attr('title'))
	{
		jnc.getJSON('/index2.php',{ option:'com_ihutil', view:'register',task:'ajaxCheckUserName',format:'raw',username:jnc(elem).val() },function(html)
		{
			jnc('#suerrUserName').remove();
			if(html.err == 1)
			{
				jnc('#signupErrors').prepend('<li id="suerrUserName" class="signupusername">' + html.errmsg + '</li>');
			}
			setclasserror('signupusername');//this has to be here b/c of the nature of an ajax call.
		});		
	}else
	{
		jnc('#signupErrors').prepend('<li id="suerrUserNameUnset" class="signupusername">You must chose a username</li>');
	}
	setclasserror('signupusername');
}
function checkDisplayname(elem)
{
	jnc('#suerrDisNameUnset').remove();

	if(jnc(elem).val() != '' && jnc(elem).val() != jnc(elem).attr('title'))
	{
		jnc.getJSON('/index2.php',{option:'com_ihutil', view:'register',task:'ajaxCheckDisplayName',format:'raw',name:jnc(elem).val() },function(html)
		{
			jnc('#suerrDisplayName').remove();
			if(html.err == 1)
			{
				jnc('#signupErrors').prepend('<li id="suerrDisplayName" class="signupdisplayname">' + html.errmsg + '</li>');
			}
			setclasserror('signupdisplayname');
		});		
	}else
	{
		jnc('#signupErrors').prepend('<li id="suerrDisNameUnset" class="signupdisplayname">You must chose a display name.</li>');
	}
	setclasserror('signupdisplayname');
}
function checkpass(elem)
{
	jnc('#suerrPassLength').remove();
	jnc('#suerrPassMatch').remove();
	if(jnc(elem).val().length < 6){
		jnc('#signupErrors').prepend('<li id="suerrPassLength" class="signuppass">Password to short. Needs 6 characters.</li>');
	}
	if(jnc('#signuppassconfirm').val() != jnc('#signuppassconfirm').attr('title') && jnc('#signuppassconfirm').val() != '')
	{
		if(jnc(elem).val() != jnc('#signuppassconfirm').val())
		{
			jnc('#signupErrors').prepend('<li id="suerrPassMatch" class="signuppass signuppassconfirm">Password and Password confirm do not match</li>');
		}
	}
	if(jnc('#signuppass').val() == jnc('#signuppass').attr('title'))
	{
		jnc('#signupErrors').prepend('<li id="suerrPassChoose" class="signuppass">You must choose a password</li>');		
	}else
	{
		jnc('#suerrPassChoose').remove();
	}
	setclasserror('signuppass');
	setclasserror('signuppassconfirm');
}
function checkpassconfirm()
{
	jnc('#suerrPassMatch').remove();
	if(jnc('#signuppassconfirm').val() != jnc('#signuppass').val())
	{
		jnc('#signupErrors').prepend('<li id="suerrPassMatch" class="signuppass signuppassconfirm">Password and Password confirm do not match</li>');
	}
	if(jnc('#signuppassconfirm').val() == jnc('#signuppassconfirm').attr('title'))
	{
		jnc('#signupErrors').prepend('<li id="suerrPassConfirmChoose" class="signuppassconfirm">You must confirm your password</li>');		
	}else
	{
		jnc('#suerrPassConfirmChoose').remove();
	}
	setclasserror('signuppass');
	setclasserror('signuppassconfirm');
}
function checkemail(elem)
{
	jnc('#suerrEmail').remove();
	if(jnc(elem).val() != '' && jnc(elem).val() != jnc(elem).attr('title'))
	{
		jnc.getJSON('/index2.php',{option:'com_ihutil', view:'register',task:'ajaxCheckEmail',format:'raw',email:jnc(elem).val() },function(html)
		{
			if(html.err == 1)
			{
				jnc('#signupErrors').prepend('<li id="suerrEmail" class="signupemail">' + html.errmsg + '</li>');
				if(html.errmsg.indexOf('already exists. Please use a different email address.') > 0)
				{
					//popup message about duplicate email.
					dupemailpop.load();
				}
			}
			setclasserror('signupemail');
		});		
	}else
	{
				jnc('#signupErrors').prepend('<li id="suerrEmail" class="signupemail">You must supply a valid email address</li>');
	}
	setclasserror('signupemail');
}
function checkaddress()
{
	jnc('#suerrsignupaddress').remove();
	if(jnc('#signupaddress').val() != '')
	{
		setclasserror('signupaddress');
		return false;
	}else
	{
		jnc('#signupErrors').prepend('<li id="suerrsignupaddress" class="signupaddress">You must supply a valid address</li>');
		setclasserror('signupaddress');
		return true;
	}
}
function checkTerms()
{
	jnc('#suerrChecked').remove();
	if(jnc('#signupterms').attr('checked'))
	{
		return false;
	}else
	{
		jnc('#signupErrors').prepend('<li id="suerrChecked">You must agree to our Terms of Service, Privacy Policy and Copyright Policy.</li>');
		return true;
	}
}
function checkRole()
{
	jnc('#suerrRole').remove();
	if(jnc('#signuprole').val() < 1)
	{
		jnc('#signupErrors').prepend('<li id="suerrRole">You must select what your main role is.</li>');
		jnc('#register').find('#photographerInfo').hide('slow');
		jnc('#register').find('#modelInfo').hide('slow');
		jnc('#signupErrors').find('.photoError').remove();				
		jnc('#signupErrors').find('.modelError').remove();				
		jnc('#dashAssist').hide();
		return true;
	}else
	{
		switch(jnc('#signuprole').val())
		{
			case '1':
				jnc('#register').find('#modelInfo').hide('slow');
				jnc('#register').find('#maleModelInfo').hide('slow');
				jnc('#register').find('#photographerInfo').show('slow');
				//remove all model errors from list
				jnc('#signupErrors').find('.modelError').remove();				
				jnc('#dashAssist').show();
				break;
			case '2':
				jnc('#register').find('#photographerInfo').hide('slow');
				jnc('#register').find('#maleModelInfo').hide('slow');
				jnc('#register').find('#modelInfo').show('slow');
				//remove all photographer errors from list
				jnc('#signupErrors').find('.modelError').remove();				
				jnc('#signupErrors').find('.photoError').remove();				
				jnc('#dashAssist').hide();
				break;
			case '15':
				jnc('#register').find('#photographerInfo').hide('slow');
				jnc('#register').find('#modelInfo').hide('slow');
				jnc('#register').find('#maleModelInfo').show('slow');
				//remove all photographer errors from list
				jnc('#signupErrors').find('.modelError').remove();				
				jnc('#signupErrors').find('.photoError').remove();				
				jnc('#dashAssist').hide();
				break;
			case '4':
			case '5':
			case '6':
			case '7':
			case '8':
			case '9':
			case '10':
			case '11':
				jnc('#dashAssist').show();
				jnc('#register').find('#photographerInfo').hide('slow');
				jnc('#register').find('#modelInfo').hide('slow');
				jnc('#signupErrors').find('.photoError').remove();				
				jnc('#signupErrors').find('.modelError').remove();				
				break;
			default:
				jnc('#dashAssist').hide();
				jnc('#register').find('#photographerInfo').hide('slow');
				jnc('#register').find('#modelInfo').hide('slow');
				jnc('#signupErrors').find('.photoError').remove();				
				jnc('#signupErrors').find('.modelError').remove();				
		}
		return false;
	}
}

function checkModel()
{
	var goodtogo = true;
	jnc('#pserrfield54').remove();
	//check Height is not empty
	if( jnc('select:[name=field54]').val() == '' )
	{
		jnc('#signupErrors').prepend('<li id="pserrfield54" class="modelError">"Height" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield53').remove();
	//check Bust is not empty
	if( jnc('select:[name=field53]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield53" class="modelError">"Bust" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield51').remove();
	//check waist is not empty
	if( jnc('select:[name=field51]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield51" class="modelError">"Waist" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield49').remove();
	//check Hair Color is not empty
	if( jnc('select:[name=field49]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield49" class="modelError">"Hair Color" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield46').remove();
	//check Dress Size is not empty
	if( jnc('select:[name=field46]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield46" class="modelError">"Dress Size" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield45').remove();
	//check skin tone is not empty
	if( jnc('select:[name=field45]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield45" class="modelError">"Skin Tone" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield48').remove();
	//check Eye Color is not empty
	if( jnc('select:[name=field48]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield48" class="modelError">"Eye Color" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield128').remove();
	//check Tattoos is not empty
	if( jnc('select:[name=field128]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield128" class="modelError">"Tattoos" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield68').remove();
	//check Requires Escort is not empty
	if( jnc('select:[name=field68]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield68" class="modelError">"Requires Escort" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield47').remove();
	//check weight is not empty
	if( jnc('select:[name=field47]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield47" class="modelError">"Weight" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield52').remove();
	//check Cup is not empty
	if( jnc('select:[name=field52]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield52" class="modelError">"Cup" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield50').remove();
	//check hips is not empty
	if( jnc('select:[name=field50]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield50" class="modelError">"Hips" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield44').remove();
	//check hair length is not empty
	if( jnc('select:[name=field44]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield44" class="modelError">"Hair Length" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield84').remove();
	//check shoe size is not empty
	if( jnc('select:[name=field84]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield84" class="modelError">"Shoe Size" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield85').remove();
	//check Ethnicity is not empty
	if( jnc('select:[name=field85]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield85" class="modelError">"Ethnicity" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield129').remove();
	//check Facial Piercings is not empty
	if( jnc('select:[name=field129]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield129" class="modelError">"Facial Piercings" may not be empty. Please set it.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield42').remove();
	//check Breasts is not empty
	if( jnc('select:[name=field42]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield42" class="modelError">"Breasts" may not be empty. Please set it. (There is an option for no reponse)</li>');
		goodtogo = false;
	}
	jnc('#pserrfield43').remove();
	//check Pubic Area is not empty
	if( jnc('select:[name=field43]').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield43" class="modelError">"Pubic Area" may not be empty. Please set it. (There is an option for no reponse)</li>');
		goodtogo = false;
	}
	
	return goodtogo;
}

function checkPhoto()
{
	var goodtogo = true;
	jnc('#pserrfield67').remove();
	//check allow escorts is not empty
	if( typeof jnc('input:radio[name=field67]:checked').val() == 'undefined' )
	{
		jnc('#signupErrors').prepend('<li id="pserrfield67" class="photoError">You must select if you allow escorts or not.</li>');
		goodtogo = false;
	}
	jnc('#pserrfield65').remove();
	//check studio is not empty
	if( typeof jnc('input:radio[name=field65]:checked').val() == 'undefined')
	{
		jnc('#signupErrors').prepend('<li id="pserrfield65" class="photoError">You must select if you have a studio or not.</li>');
		goodtogo = false;
	}
	return goodtogo;
}

function checkFileupload()
{
	jnc('#suerrImages').remove();
	if(jnc('#js_image1').val() == '' || jnc('#js_image2').val() == '')
	{
		jnc('#signupErrors').prepend('<li id="suerrImages">You must upload 2 images</li>');
		return true;
	}else
	{
		return false;
	}
}

function checkSet()
{
	if(jnc('#signupusername').val() == jnc('#signupusername').attr('title'))
	{
		jnc('#suerrUserNameUnset').remove();
		jnc('#signupErrors').prepend('<li id="suerrUserNameUnset" class="signupusername">You must chose a username</li>');
	}else
	{
		jnc('#suerrUserNameUnset').remove();
	}
	setclasserror('signupusername');
	
	if(jnc('#signupdisplayname').val() == jnc('#signupdisplayname').attr('title'))
	{
		jnc('#suerrDisNameUnset').remove();
		jnc('#signupErrors').prepend('<li id="suerrDisNameUnset" class="signupdisplayname">You must chose a display name.</li>');
	}else
	{
		jnc('#suerrDisNameUnset').remove();
	}
	setclasserror('signupdisplayname');
	if(jnc('#signuppass').val() == jnc('#signuppass').attr('title'))
	{
		jnc('#suerrPassChoose').remove();
		jnc('#signupErrors').prepend('<li id="suerrPassChoose" class="signuppass">You must choose a password</li>');		
	}else
	{
		jnc('#suerrPassChoose').remove();
	}
	setclasserror('signuppass');
	if(jnc('#signuppassconfirm').val() == jnc('#signuppassconfirm').attr('title'))
	{
		jnc('#suerrPassConfirmChoose').remove();
		jnc('#signupErrors').prepend('<li id="suerrPassConfirmChoose" class="signuppassconfirm">You must confirm your password</li>');		
	}else
	{
		jnc('#suerrPassConfirmChoose').remove();
	}
	setclasserror('signuppassconfirm');
	if(jnc('#signupemail').val() == jnc('#signupemail').attr('title') || jnc('#signupemail').val() == '' )
	{
		jnc('#suerrEmail').remove();
		jnc('#signupErrors').prepend('<li id="suerrEmail" class="signupemail">You must supply a valid email address</li>');
	}else
	{
		jnc('#suerrEmail').remove();
	}
	setclasserror('signupemail');
	if(jnc('#signupaddress').val() == '' )
	{
		jnc('#suerrsignupaddress').remove();
		jnc('#signupErrors').prepend('<li id="suerrsignupaddress" class="signupaddress">You must supply a valid address</li>');
	}else
	{
		jnc('#suerrsignupaddress').remove();
	}
	setclasserror('signupaddress');
	
}
function checksignupform()
{
	var goodtogo = true;
	checkSet();
	
	if(checkRole())
	{
		goodtogo = false;
	}
	//Agreed to terms/privacy/copyright
	switch(jnc('#signuprole').val())
	{
		case '1':
			if(checkPhoto() !== true)
			{
				goodtogo = false;				
			}
			break;
		case '2':
			if(checkModel() !== true)
			{
				goodtogo = false;			
			}
			break;
	}
	
	if(checkTerms())
	{
		goodtogo = false;
	}
	checkFileupload();
	
	//check that there are no errors
	if(jnc('#signupErrors').find('li').length > 0)
	{
		goodtogo = false;
	}
	return goodtogo;
}
function setclasserror(elem)
{
	if(jnc('#signupErrors').find('.'+ elem).length > 0)
	{
		jnc('#'+ elem).addClass('error');		
	}else
	{
		jnc('#'+ elem).removeClass('error');
	}
}
jnc(document).ready(function()
{
	if(jnc('#signup_check_issue').length < 1)
	{
		jnc('body').append('<div id="signup_submit" class="popup">Creating your user account.  This might take a few moments.</div><div id="signup_exist_email" class="popup"><div class="x close"></div>The e-mail address you&#8217;ve entered is already in use. If you&#8217;re registering a second account, please close this and enter a different email. If not you have an existing account. You can use these links to recover your <a href="/remind" title="recover username/password" target=_blank>username/password</a>. Use the <a href="http://support.modelinsider.com/anonymous_requests/new" target=_blank>Helpdesk link</a> if you need assistance.<br /><div class="close button_sm buttonText small" style="margin-top:10px;">Close</div></div><div id="signup_check_issue" class="popup"><div class="x close"></div><img src="http://simg.inhsrv.com/mi/global/signup_note.gif" /></div>');
	}
	jnc('#address_help').hide();
	var check_popup = jnc('#signup_check_issue').overlay(
	{
		top: 'center',
		target: '#signup_check_issue',
		mask: {
				color: '#333333',
				loadSpeed: 200,
				opacity: 0.8
		},
		api: true
	});
	var submit_popup = jnc('#signup_submit').overlay(
	{
		top: 'center',
		target: '#signup_submit',
		mask: {
				color: '#333333',
				loadSpeed: 200,
				opacity: 0.8
		},
		api: true
	});
	dupemailpop = jnc('#signup_exist_email').overlay(
	{
		top: 'center',
		target: '#signup_exist_email',
		mask: {
				color: '#333333',
				loadSpeed: 200,
				opacity: 0.8
		},
		api: true
	});
	jnc('a.login_register_btn').click(function(e)
	{
		if(jnc('#signin_register_box').hasClass('open'))
		{
			box_height = jnc('#signin_register_box').height()+ 'px';
			jnc('#signin_register_box').removeClass('open').animate({ top: '-' + box_height }, 300);
			
		}else
		{
			jnc('#signin_register_box').addClass('open').animate({ top: '0px' }, 300);
		}
		e.preventDefault();
	});
	
	jnc('a.showRegForm').click(function(e)
	{
		jnc('#regChoice').hide('slow');
		jnc('#regFormWrap').show('slow');
		jnc('#signupusername').focus();
	});

	//signup checking.
	jnc('#signupusername').blur(function()
	{
		checkUsername(this);
	});
	jnc('#signupdisplayname').blur(function()
	{
		checkDisplayname(this);
	});
	jnc('#signuppass').blur(function()
	{
		checkpass(this);
	});
	jnc('#signuppassconfirm').blur(function()
	{
		checkpassconfirm();
	});
	jnc('#signupemail').blur(function()
	{
		checkemail(this);
	});
	jnc('#signupaddress').focus(function()
	{
		jnc('#address_help').show();
	});
	jnc('#signupaddress').blur(function()
	{
		checkaddress(this);
		jnc('#address_help').hide();
	});
	jnc('#signupterms').click(function ()
	{
		checkTerms();
	});
	jnc('#signuprole').change(function ()
	{
		checkRole();
	});
	jnc('#js_image1, #js_image2').change(function ()
	{
		checkFileupload()
	});
	jnc('#modelInfo select').change(function()
	{
		if(jnc(this).val() != '')
		{
			jnc('#pserr' + jnc(this).attr('name')).remove();
		}
	});
	jnc('#photographerInfo input').click(function()
	{
		jnc('#pserr' + jnc(this).attr('name')).remove();
	});
	jnc('#signup_check').click(function()
	{
		jnc('#signup_check_wrap').removeClass('error');
	});
	jnc('#signupBtn').click(function(e)
	{
		var stopSubmit = false;
		if(!checksignupform())
		{
			stopSubmit = true;
		}
		jnc('#signup_check_wrap').removeClass('error');
		if(jnc('#signup_check').is(':checked'))
		{
			stopSubmit = true;
			check_popup.load();
			jnc('#signup_check_wrap').addClass('error');
		}
		checkFileupload();
		if(stopSubmit)
		{	
			e.preventDefault();
		}else
		{
			//remove input fields that don't pretain to the role signed up as
			switch(jnc('#signuprole').val())
			{
				case '1':
					jnc('#register').find('#modelInfo').remove();
					jnc('#register').find('#maleModelInfo').remove();
					break;
				case '2':
					jnc('#register').find('#photographerInfo').remove();
					jnc('#register').find('#maleModelInfo').remove();
					break;
				case '15':
					jnc('#register').find('#photographerInfo').remove();
					jnc('#register').find('#modelInfo').remove();
					break;
				default:
					jnc('#register').find('#photographerInfo').remove();
					jnc('#register').find('#modelInfo').remove();
					jnc('#register').find('#maleModelInfo').remove();
			}
			submit_popup.load();
		}
	});
 	jnc('.tipme').tooltip({ position: 'bottom left',offset:[0, 110], predelay: 100, relative:true});
	//this will just make it so the signin box gets out of my way on load.
	box_height = jnc('#signin_register_box').height() + 'px';
	jnc('#signin_register_box').removeClass('open').animate({ top: '-' + box_height }, 300);
	function getdupemailpop()
	{
		
	}
});

