(function($) {
    var isValid = true;
    $(document).ready(function() {
	$('.placeholder').placeholder();
	transition('hide', '');
	$('#access-request').hide();
	$('.ui-input input').focusout(function() {
	    validate($(this));
	}).focusin(function() {
	    $('label[for="' + $(this).attr('id') + '"]').hide();
	});
	$('.ui-close').click(function(e) {
	    $(this).parents('.ui-modal').hide();
	    e.preventDefault();
	});
	$('input[id$="-submit"]').click(function() {
	    action = $(this).attr('id');
	    switch (action) {
	    case 'login-submit':
		message = 'Looking for your registration.';
		break;
	    case 'reg-submit':
		message = 'Adding your information to the roster.';
		break;
	    case 'order-submit':
		message = 'Finalizing your Order.';
		break;
	    }
	    transition('show', message);
	});
	$('input[name="shippingMethodID"]').change(function() {
	    validateShipping();
	});
	$("#access-help").click(function() {
	    $('#login').slideUp('slow');
	    $("#access-request").slideDown("slow");
	    return false;
	});
	$("#access-back").click(function() {
	    $('#login').slideDown('slow');
	    $("#access-request").slideUp("slow");
	    return false;
	});
	$('#privacy').click(function() {
	    $('#subscribe-note').show();
	    return false;
	});
	$('#help-csv').click(function() {
	    $('#csv').show();
	    e.preventDefault();
	});
	$('#eula').attr('target', '_blank');
	//
	$('#premises a').click(function() {
	    selected = $(this).html();
	    $("#ship-address-street").val(selected);
	    //validateShipping();
	    $('#ship-address-options').hide();
	    return false;
	});
	$('#multiple a').click(function() {
	    selected = $(this).html();
		if(selected != 'Review entered'){					
			addy = selected.split(',');
			street = addy[0];
			city= addy[1];
			state_zip = addy[2];
			state_zip = state_zip.split(' ');
			zip = state_zip[2];
			$("#ship-address-street").val(street);
			$("#ship-address-city").val(city);
			$("#ship-address-zip").val(zip);					
		}
		$('#ship-address-options').hide();
	    return false;
	});
	
	$('#street a').click(function() {
		
		selected = $(this).html();
		
		if(selected != 'Review entered'){
		
			addy = selected.split(',');
			street1 = addy[0];
			city= addy[1];
			state_zip = addy[2];			
			state_zip = state_zip.split(' ');
			zip = state_zip[2];			
			$("#ship-address-street").val(street1);
			$("#ship-address-city").val(city);
			$("#ship-address-zip").val(zip);		
			
		}
	    $("#salesTaxRequired").val('No');	    
	    $('#ship-address-options').hide();
	    return false;
	});
	
	$('#order-change').click(function() {
	    validateShipping();
	    return false;
	});
	if ($('#shipAddressValid').val() != 'Verified') {
	    $('#ship-address-options').show();
	}

    });
    function validateShipping() {
	transition('show', 'Updating your order details');
	 $('#checkout').attr('action','/computaught/student/editPurchase.do').submit();
    }
    function transition(status, message) {
	if (status == 'show') {
	    $('.ui-mask').fadeIn('slow');
	    $('#ui-cover').fadeTo('slow', 0.5);
	} else {
	    $('.ui-mask,#ui-cover').hide();
	}
	$('.ui-mask-message').html(message);
    }
    function validate(element) {
	element_id = $(element).attr('id');
	element_name = $('label[for="' + element_id + '"]').html();
	if ($(element).val() == '') {
	    $('label[for="' + element_id + '"]').show();
	    if ($(element).hasClass('required')) {
		var re = new RegExp("([0-9\(\)\-]+)\(.*\)?$", 'g');
		var el_name = element_name.replace(re, '');
		var message = el_name + ' is required';
		if (element_id == 'bill-cc-exp-month') {
		    message = 'Expiration Month is required';
		}
		if (element_id == 'bill-cc-exp-yr') {
		    message = 'Expiration Year is required';
		}
		showTooltip(element, message);
	    }
	} else {
	    $(element).removeClass('ui-note-error');
	}
    }
    function showTooltip(element, message) {
	tooltip = '<div class="ui-tooltip ui-error">Your ' + message + '<div class="ui-tooltip-pointer-down"><div class="ui-tooltip-pointer-down-inner"></div></div></div>';
	$(tooltip).prependTo($(element).parent('.ui-input')).delay(1500).fadeOut('slow').queue(function() {
	    $(this).remove();
	});
	$(element).addClass('ui-note-error');
    }
    $.fn.placeholder = function(options) {
	var opts = $.extend({}, $.fn.placeholder.defaults, options);
	return this.each(function() {
	    var element = this;
	    var input = '#' + $(element).attr('for');
	    if ($(input).val() != '') {
		$(element).hide();
	    }
	    $(element).addClass(opts.namespace);
	});
    };
    $.fn.placeholder.defaults = {
	mask : false,
	namespace : 'ui-placeholder'
    };
})(jQuery);
