jQuery(document).ready(function() {

	// console.log("insidereadyfuncofregreq  1.js");

	jQuery.fn.colorbox.settings.opacity = 0.50;

	var cboxWidth = "1000px";
	var cboxHeight = "610px"; 
	jQuery(".colorbox_registration").click(function() {
		jQuery("#showAllCntr").remove();
		jQuery("#view_outer").remove();
	});
	jQuery(".colorbox_registration").colorbox({
		width:cboxWidth, 
		height:cboxHeight, 
		inline:true,
		href:"#registration_lightbox",
		onComplete:function(){ 
			jQuery(":input").each(function(idx) {
				jQuery(this).addClass("requiredField");
				jQuery(this).focus(function() { jQuery(this).val(""); jQuery(this).removeClass("requiredField");});
				jQuery(this).blur(function() { 
					
					var fieldValue = jQuery.trim(jQuery(this).val());
					if (fieldValue.length === 0 || fieldValue == null || fieldValue == '') {
						jQuery(this).addClass("requiredField");
						var id = jQuery(this).attr("id");
						if("manuTypeCd" === id || "retlTypeCd" === id) {
							//Nothing
						} else {
							jQuery(this).val("Required"); 
						}
					}
				});
			});
		}
	});
/*	
	jQuery().bind('cbox_complete', function(){$.fn.colorbox.close();});
*/
	// DO NOT REMOVE THIS JQUERY TIP TO RESET FORM FIELDS.
	// jQuery(":input", "#inputForm").val("").removeAttr("checked");
	// DO NOT REMOVE THIS JQUERY TIP TO RESET FORM FIELDS.

	// console.log("insidereadyfuncofregreq  2.js");

	
	jQuery("#inputForm").show();
	jQuery("#confirmationMessage").hide();
	if(document.getElementById('inputForm'))
		document.getElementById('inputForm').reset();
	jQuery(".registerClass").click(function(){processRegistrationRequest();});
	
	// console.log("insidereadyfuncofregreq  3.js");
	
});

function processRegistrationRequest() {

	// console.log("insideprocessregistrationrequest()");

	// Get form fields into local variables.
	var addFirstName = jQuery("#firstName").val();
	var addLastName = jQuery("#lastName").val();
	var addJobTitle = jQuery("#jobTitle").val();
	var addEmail = jQuery("#email").val();
	var addPhoneNumber = jQuery("#phoneNumber").val();
	var addCompanyName = jQuery("#companyName").val();
	var addAddressLine1 = jQuery("#addressLine1").val();
	var addCity = jQuery("#city").val();
	var addState = jQuery("#state").val();
	var addZip = jQuery("#zip").val();
	var addUserWebsite = jQuery("#userWebsite").val();
	var addLoadItemsImages = jQuery("#loadItemsImages").val();

	var errors = new Array();
	var required = "REQUIRED";
	
	resetLabels(); // Reset form field labels back to normal that may have been set to some potential exception(s).
	
	// Do input validations.
	if (addFirstName == null || addFirstName.length === 0 || addFirstName.toUpperCase() == required) {
		// console.log("User name is required.");
		errors.push("firstNameLabel");
		jQuery('#firstNameLabel').addClass('error');
		jQuery("#loginButton").focus();
	}
	if (addLastName == null || addLastName.length === 0 || addLastName.toUpperCase() == required) {
		// console.log("User name is required.");
		errors.push("lastNameLabel");
		jQuery('#lastNameLabel').addClass('error');
		jQuery("#loginButton").focus();
	}
	if (addJobTitle == null || addJobTitle.length === 0 || addJobTitle.toUpperCase() == required) {
		// console.log("User job title is required.");
		errors.push("jobTitleLabel");
		jQuery('#jobTitleLabel').addClass('error');
		jQuery("#loginButton").focus();
	}
	if (addEmail == null || addEmail.length === 0 || addEmail.toUpperCase()  == required) {
		// console.log("Email is required.");
		errors.push("emailLabel");
		jQuery('#emailLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#email").focus();
	}
	if (addEmail.indexOf("@") == -1) {
        // console.log("A Valid formatted email address is required.");
		errors.push("emailLabel");
		jQuery('#emailLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#email").focus();
    }
	if (addPhoneNumber == null || addPhoneNumber.length === 0 || addPhoneNumber.toUpperCase()  == required) {
		// console.log("Phone number is required.");
		errors.push("phoneNumberLabel");
		jQuery('#phoneNumberLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#phoneNumber").focus();
	}
	if (addCompanyName == null || addCompanyName.length === 0 || addCompanyName.toUpperCase()  == required) {
		// console.log("company name is required.");
		errors.push("companyNameLabel");
		jQuery('#companyNameLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#companyName").focus();
	}
	if (addAddressLine1 == null || addAddressLine1.length === 0 || addAddressLine1.toUpperCase()  == required) {
		// console.log("Address is required.");
		errors.push("addressLabel");
		jQuery('#addressLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#addressLine1").focus();
	}
	if (addCity == null || addCity.length === 0 || addCity.toUpperCase()  == required) {
		// console.log("City is required.");
		errors.push("cityLabel");
		jQuery('#cityLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#city").focus();		
	}
	if (addState == null || addState.length === 0 || addState.toUpperCase()  == required) {
		// console.log("State is required.");
		errors.push("stateLabel");
		jQuery('#stateLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#state").focus();
	}	
	if (addZip == null || addZip.length === 0 || addZip.toUpperCase()  == required) {
		// console.log("Zip is required.");
		errors.push("zipLabel");
		jQuery('#zipLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#zip").focus();
	}
	if (addUserWebsite == null || addUserWebsite.length === 0 || addUserWebsite.toUpperCase()  == required) {
		// console.log("Website is required.");
		errors.push("userWebsiteLabel");
		jQuery('#userWebsiteLabel').addClass('error');
		jQuery("#loginButton").focus(); //jQuery("#userWebsite").focus();
	}

	// console.log("addLoadItemsImages:"+addLoadItemsImages);

	// No errors , hence proceed.
	if (!errors.length > 0) {

		// No errors hcloseRegisterRequestPanelence set resetLabels()URL with all the form fields.
		var random = Math.random() * 10000000;
		var parmList = jQuery("#inputForm").serialize();
		
		// console.log("PARMLIST:" + parmList);	

		jQuery("#inputForm").hide();
		jQuery("#confirmationMessage").show();
		
		var sUrl = "/registrationRequest.htm?" + parmList + "&uuid="+random;
		jQuery.getJSON(sUrl, function(data) { 
			jQuery("#firstName").val("");
			jQuery("#lastName").val("");
			jQuery("#jobTitle").val("");
			jQuery("#email").val("");
			jQuery("#phoneNumber").val("");
			jQuery("#companyName").val("");
			jQuery("#addressLine1").val("");
			jQuery("#city").val("");
			jQuery("#state").val("");
			jQuery("#zip").val("");
			jQuery("#userWebsite").val("");
			jQuery("#loadItemsImages").val("");
		});
	}
}

function closeRegisterRequestPanel() {

	// console.log("closingreg-req");

	// Clear all form fields.
	document.getElementById('inputForm').reset(); 
	resetLabels(); // Reset form field labels back to normal that may have been set to some potential exception(s).

	jQuery("#confirmationMessage").hide();
	jQuery("#inputForm").show();

	// Reset default text in each input.
	jQuery(":input").each(function(idx) {
		jQuery(this).addClass("requiredField");
	});

	jQuery.fn.colorbox.close();
}

function resetLabels() {

	jQuery('#firstNameLabel').removeClass('error');
	jQuery('#lastNameLabel').removeClass('error');
	jQuery('#jobTitleLabel').removeClass('error');
	jQuery('#emailLabel').removeClass('error');
	jQuery('#phoneNumberLabel').removeClass('error');
	jQuery('#companyNameLabel').removeClass('error');
	jQuery('#addressLabel').removeClass('error');
	jQuery('#cityLabel').removeClass('error');
	jQuery('#stateLabel').removeClass('error');	
	jQuery('#zipLabel').removeClass('error');
	jQuery('#userWebsiteLabel').removeClass('error');
}

