/* 
	Star Musician of Iran 
	© 2011 www.starmusician.com  
	version 1.0          
*/


/*=======================*/
/*   jQuery Functions    */
/*=======================*/
$(document).ready(function(){

	// sign-in form dialog
	var login = $( "#login" ),
	password = $( "#password" ),
	allFields = $( [] ).add( login ).add( password ),
	tips = $( ".validateTips" );
	
	// update tip and validation functions
	function updateTips( t ) {
		tips
			.text( t )
			.addClass( "ui-state-highlight" );
		setTimeout(function() {
			tips.removeClass( "ui-state-highlight", 500 );
		}, 1500 );
	}
	
	function checkLength( o, n, min, max ) {
		if ( o.val().length > max || o.val().length < min ) {
			o.addClass( "ui-state-error" );
			updateTips( "Length of " + n + " must be between " +
				min + " and " + max + "." );
			return false;
		} else {
			return true;
		}
	}
	
	function checkRegexp( o, regexp, n ) {
		if ( !( regexp.test( o.val() ) ) ) {
			o.addClass( "ui-state-error" );
			updateTips( n );
			return false;
		} else {
			return true;
		}
	}

	$("#signin-form").dialog({
			autoOpen: false,
			position: ['right',20],
			resizable: false,
			draggable:false,
			dialogClass: 'signin',
			/*height: 450,*/
			height: 450,
			width: 300,
			modal: false,
			buttons: {
				"Sign in": function() {
					
					var bValid = true;
					
					allFields.removeClass( "ui-state-error" );

					bValid = bValid && checkLength( login, "email", 6, 80 );

					bValid = bValid && checkRegexp( login, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "Enter an email address (example@starmusician.com)" );
					
					//bValid = bValid && checkRegexp( password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );
					
					bValid = bValid && checkLength( password, "password", 6, 16 );

					if ( bValid ) { 
						$("#frm_signin").submit();
						//$("this").submit();
						//$( this ).dialog( "close" );
					}
				}
			},
			close: function() {
				allFields.val( "" ).removeClass( "ui-state-error" );
			}
		});
	
	// enter key press on login modal form
	$(document).keypress(function(e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			if ($('#signin-form').dialog('isOpen')) {
				$('[aria-labelledby$=signin-form]').find(":button:contains('Sign in')").click();
			} else { 
			    $('#frm_loginPage').find(":button:contains('Login')").click(); 
			}
			return false;
		}
	});
	
	$("textarea").keypress(function(e) {
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)) {
			$(this).val( $(this).val() + "\n" );
		}
	});
	
	// sign-in link function
	$("#signin-link").click(function(event) {
				event.returnValue = false; //IE 7 fix
				if(event.preventDefault) event.preventDefault();
				$("#signin-link").removeClass('staticHeaderLink').addClass('activeHeaderLink');
				$("#signin-form").dialog( "open" );
				$(".signin").removeClass('ui-corner-all').addClass('ui-corner-bottom');
				$(".ui-dialog-titlebar").hide();
	});
	
	// sign-in close button
	$("#signin-form-close").click(function(event) {
		event.returnValue = false; //IE 7 fix
		if(event.preventDefault) event.preventDefault();
		$("#signin-form").dialog( "close" );
		$("#signin-link").removeClass('activeHeaderLink');
		$("#signin-link").addClass('staticHeaderLink');
	});
	// sign-in close on facebook login
	$("#signin-fb").click(function(event) {
		event.returnValue = false; //IE 7 fix
		if(event.preventDefault) event.preventDefault();
		$("#signin-form").dialog( "close" );
		$("#signin-link").removeClass('activeHeaderLink');
		$("#signin-link").addClass('staticHeaderLink');
	});
	
});


