jQuery(document).ready(function() {

/*
	jQuery('a.showMoreOptions').click(function() {
		$(this).next().next().slideToggle();
		return false;
	});
*/

	$('#viewFeatCompaniesList').click(function() {
		$('#featureCompaniesList').toggle();
	});

	$('.removeCartItem').live('click', function() {
		var $removeItem = $(this);
		var thisLink = $removeItem.attr('href');
		var removePattern=/(.*)remove=(.*)/g;
		var result = removePattern.exec(thisLink);
		var id = result[2];
		$.post("/ajaxCart.php", { coId:id, action: 'remove' },
			function(data) {
				$removeItem.parent().parent().remove();
				$('.cartItem', '#cartItemsContainer').removeClass('evenRow').removeClass('oddRow');
				$('.cartItem:nth-child(odd)', '#cartItemsContainer').addClass('evenRow'); // this way because I like the first item being white bg
				$('.cartItem:nth-child(even)', '#cartItemsContainer').addClass('oddRow');
				$('.'+id, '.moreOptionsContainer').find('.workingAnim').remove();
				$('.'+id, '.moreOptionsContainer').removeAttr('disabled');
				$('.'+id, '#remove').remove();
				$('option[value="'+id+'"]', '#remove').remove();
			}
		);
		return false;
	});
	
	$(".moreOptionsContainer a.companyInfo").click(function() {
		if($(this).attr('disabled') != "disabled") {
			$(this).append("<img src='/images/ajax-loader.gif' class='workingAnim' />");
			$thisAnim = $('.workingAnim', this);
			link = $(this).attr("href");
			coInfo = $(this).attr("rel");
			result = regexPattern.exec(link);
			if(result) {
				id = result[1];
				type = result[2];
			} else {
				newResult = regexPattern.exec(link);
				id = newResult[1];
				type = newResult[2];
			}
				
			var infoPattern=/(.*)\|\|(.*)/g;
			thisResult = infoPattern.exec(coInfo);
			coName = thisResult[1];
			coSymbol = thisResult[2];
			
			$.post("/ajaxCart.php", { coId: id, type: type },
				function(data){
						$('#remove').append('<option value="'+id+'" class="'+id+'">Qty: 1 &ndash; '+coName+'</option>');
					$thisAnim.attr('src', '/images/actionSucceeded.png');
					if($('.cartItem:last').hasClass('oddRow')) {
    					var nextClass = "evenRow";
					} else {
						var nextClass = "oddRow";
					}
					var newRow = "<div class='cartItem "+nextClass+"'><div class='companyName'>"+coName+" ("+coSymbol+")</div><div class='formAmount'><form action='cart.php' method='post' style='display: inline; margin-right: 10px;'>Qty: <input type='text' name='qty' size='1' value='1' /><input type='hidden' name='update' value='"+id+"' />&nbsp;<input type='submit' name='btnSubmit' value='Update' /></form><a class='removeCartItem' href='cart.php?remove="+id+"'>Remove</a></div><div id='moreOptions'>This item is in stock and will ship from our CT warehouse within 24 hours</div>";
					$('#cartItemsContainer').append(newRow);
					$thisAnim.parent().attr("disabled", "disabled");
	
				}
			);
			
		}
		return false;
	});
	
	$("a[disabled]").live('click', function() { return false; });


/*
		var coId = $(this).attr('rel');
		var qty = 1;
		var name = $formInfo.parents('.companyInfo').find('.coInfoName').text();
		$.post("/ajaxCart.php", { action : "update", coId : coId, qty : qty },
			function(data) {
				$("#remove option").each(function() {
					if($(this).attr("value") == coId) {
						$(this).remove();
						if(qty != 0) {
							$("#remove").append("<option value='"+coId+"'>Qty: "+qty+" &ndash; "+data+"</option>");
						} else {
							$formInfo.parent().removeClass("ordered").find('a').show().next().remove();;
						}
					}
				});
				$('.workingAnim', $formInfo).remove();
				$formInfo.find(".divQtyUpdate").append("<img src='/images/actionSucceeded.png' class='workingAnim' />");
				setTimeout("$('.workingAnim', $formInfo).fadeOut()",2000);
			
			}
		);

		return false;
	});
	
*/


	$('a.removeCartItem', '#cartItemsContainer').click(function() {
		//
	});


	$passfield = jQuery("#loginForm #loginPassword");
	
	jQuery("input:radio").change(function(){
		if(jQuery("input[@name='loginOption']:checked").val() == 'create') {
			$passfield.css("backgroundColor", "#ddd").attr("disabled", true); 
		} else if(jQuery("input[@name='loginOption']:checked").val() == 'current') {
			$passfield.css("backgroundColor", "#fff").removeClass('disabled').removeAttr("disabled"); 
		}
	});
	
	jQuery("#form_container input, #form_container textarea, #form_container select").focus(function() {
		jQuery('.highlighted').removeClass('highlighted');
		jQuery(this).parents("li").addClass("highlighted");
	});
	
	jQuery(".hasProfile").click(function(event) {
		thisId = event.target.id;
		thisId = thisId.replace(/btnProfile/,'');
		$whichProfile = jQuery("#divProfile"+thisId);
		$openProfile = jQuery(".openProfile");
		if($openProfile.attr('id') == "divProfile"+thisId){
			$whichProfile.toggleClass("openProfile").fadeToggle("fast");
		} else { 
			jQuery(".openProfile").removeClass("openProfile").hide();
			$whichProfile.addClass("openProfile").fadeIn("fast");
		}
	});
	
	jQuery(".profileBoxClose").click(function() {
		jQuery(this).parent().toggleClass("openProfile").fadeOut("normal");
	});
	
	jQuery.fn.fadeToggle = function(speed, easing, callback) {
		return this.animate({opacity: 'toggle'}, speed, easing, callback);
	};

	jQuery("#checkoutForm").submit(function(){
		if($("#remove option").length < 2) {
			alert("There Are No Items In Your Cart");
			return false;
		}
		var arrErrors = false;
		jQuery(".errorNotice").removeClass("errorNotice");
		jQuery(".formWarning").remove();
		jQuery(".fullCheckoutWidth").removeClass("fullCheckoutWidth");
		jQuery("input.req").each(function() {
			if(jQuery(this).val() == "") {
				jQuery(this).addClass("errorNotice");
			}
		});
		// Test name
		if((jQuery("#fname").val() == "") || (jQuery("#lname").val() == "")) {
			jQuery("#name").addClass("fullCheckoutWidth");
			jQuery("#lname").after("<span class='formWarning'>Please Enter Your Name</span>");
			arrErrors = true;
		}
		// Test address
		if((jQuery("#addr1").val() == "") || (jQuery("#city").val() == "") || (jQuery("#state").val() == "") || (jQuery("#postalCode").val() == "") || (jQuery("#country").val() == "")) {
			jQuery("#addressSection").addClass("fullCheckoutWidth");
			jQuery("#addressSection div.right").addClass("fullCheckoutRightWidth");
			if(jQuery("#addr1").val() == "") {
				jQuery("#addr1").after("<span class='formWarning'>Please Enter Your Address</span>");
				arrErrors = true;
			}
			if((jQuery("#city").val() == "") && (jQuery("#state").val() == "")) {
				jQuery("#state").after("<span class='formWarning'>Please Enter City & State</span>");
				arrErrors = true;
			} else {
				if(jQuery("#city").val() == "") {
					jQuery("#state").after("<span class='formWarning'>Please Enter Your City</span>");
				arrErrors = true;
				}
				if(jQuery("#state").val() == "") {
					jQuery("#state").after("<span class='formWarning'>Please Enter Your State</span>");
				arrErrors = true;
				}
			}
			if((jQuery("#postalCode").val() == "") && (jQuery("#country").val() == "")) {
				jQuery("#country").after("<span class='formWarning'>Enter PostalCode & Country</span>");
				arrErrors = true;
			} else {
				if(jQuery("#postalCode").val() == "") {
					jQuery("#country").after("<span class='formWarning'>Please Enter Your Postal Code</span>");
					arrErrors = true;
				}
				if(jQuery("#country").val() == "") {
					jQuery("#country").after("<span class='formWarning'>Please Enter Your Country</span>");
				arrErrors = true;
				}
			}			
		}
		// Test phone
		if(jQuery("#phone").val() == "") {
			jQuery("#phoneSection").addClass("fullCheckoutWidth");
			jQuery("#phone").after("<span class='formWarning'>Please Enter Your Phone Number</span>");
			arrErrors = true;
		}
		// Test email
		if((jQuery("#email").val() == "") || (testEmail(jQuery("#email").val())==false)) {
			jQuery("#emailSection").addClass("fullCheckoutWidth");
			jQuery("#email").after("<span class='formWarning'>Please Enter A Valid Email Address</span>");		
			arrErrors = true;
		}
		// Test howHear
		if(jQuery("#howHear").val() == 1) {
			jQuery("#howHearSection").addClass("fullCheckoutWidth");
			jQuery("#howHear").after("<span class='formWarning'>Please Tell Us How you Heard About The Public Register</span>");
			jQuery("#howHear").addClass("errorNotice");
			arrErrors = true;
		}
		// Test howhear with "other" option
		if((jQuery("#howHear").val() == 6) && (jQuery("#howHearOther").val() == "")) {
			jQuery("#howHearSection").addClass("fullCheckoutWidth");
			jQuery("#howHearOther").after("<span class='formWarning' style='margin-top: 5px'>Please Tell Us How You Heard About The Public Register</span>");
			arrErrors = true;
		}
		if(arrErrors == true) {
			alert("Some Required Fields Were Not Entered, Please Double-check Your Info.");
			jQuery(".errorNotice:first").focus();
			return false;
		} else {
			return true;
		}
	});
	
	$('.industryItems').hide();
	$('#expandCollapseLinks').css("display", "block");
	$('.noJS').removeClass('noJS');
	$('.industryGroup').click(function() {
		$('.industryItems', this).slideToggle('fast');
		$('.arrows', this).toggleClass('openArrow');
	});
	
	$('#collapseAll').click(function() {
		$('.industryItems').slideUp('fast');
		$('.arrows').removeClass('openArrow');
		return false;
	});
	$('#expandAll').click(function() {
		$('.industryItems').slideDown('fast');
		$('.arrows').addClass('openArrow');

		return false;
	});
	

	
	$("#emptyCart").click(function() {
		var c=confirm("Remove all items from your cart?");
		if (c==true) {
			window.location = '/cart.php?emptycart=ALL';
		} else {
			return false;
		}
	});	
	
	$("form.updateCartForm").live('submit', function() {
		$formInfo = $(this);
		$formInfo.find(".divQtyUpdate").append("<img src='/images/ajax-loader.gif' class='workingAnim' />");
		var coId = $('.coId', $formInfo).val();
		var qty = $('.qty', $formInfo).val();
		var name = $formInfo.parents('.companyInfo').find('.coInfoName').text();
		$.post("/ajaxCart.php", { action : "update", coId : coId, qty : qty },
			function(data) {
				$("#remove option").each(function() {
					if($(this).attr("value") == coId) {
						$(this).remove();
						if(qty != 0) {
							$("#remove").append("<option value='"+coId+"'>Qty: "+qty+" &ndash; "+data+"</option>");
						} else {
							$formInfo.parent().removeClass("ordered").find('a').show().next().remove();;
						}
					}
				});
				$('.workingAnim', $formInfo).remove();
				$formInfo.find(".divQtyUpdate").append("<img src='/images/actionSucceeded.png' class='workingAnim' />");
				setTimeout("$('.workingAnim', $formInfo).fadeOut()",2000);
			}
		);
		return false;
	});
	
	var regexPattern=/add=(.*)&type=(.*)/g;
	var link, result, $btn, id, type;
	$('.btnAddToCart').live("click", function() {
		$btn = $(this);
		link = $btn.attr("href");
		coName = $btn.attr("rel");
		result = regexPattern.exec(link);
		if(result) {
			id = result[1];
			type = result[2];
		} else {
			newResult = regexPattern.exec(link);
			id = newResult[1];
			type = newResult[2];
		}
		$.post("/ajaxCart.php", { coId: id, type: type },
			function(data){
				$btn.hide().parent().addClass('ordered').append(data);
				$('#remove').append('<option value="'+id+'">Qty: 1 &ndash; '+coName+'</option>');
			}
		);
		return false;
	});
	
	$('#userProfileForm').submit(function() {
		var isErrors = false;
		var newPass = $('#newPass').val();
		var newPassConf = $('#newPassConf').val();
		if(newPass != newPassConf) {
			// passwords aren't correct
			$('input', '#changePass').css('border', '1px solid red');
			$('#changePass').append("<p class='error'>Your New Password and Confirmation Password Do Not Match</p>");
			isErrors = true;	
		}
		// test #fname, #lname in #name

		var fname = $('#fname').val();
		var lname = $('#lname').val();
		if(fname == "" || lname == "") {
			$('input', '#name').css('border', '1px solid red');
			$('#name').append("<p class='error'>Please Enter Your First and Last Name</p>");
			isErrors = true;
		}
		// test #addr1, #city, #state, #postalCode, #country in #addressSection
		var addr1 = $('#addr1').val();
		var city = $('#city').val();
		var state = $('#state').val();
		var postalCode = $('#postalCode').val();
		if(addr1 == "" || city == "" || state == "" || postalCode == "") {
			$('input', '#addressSection').css('border', '1px solid red');
			$('#addressSection').append("<p class='error'>Please Complete your Address</p>");
			isErrors = true;
		}
		// test #phone in #phoneSection
		var phone = $('#phone').val();
		if(phone == "") {
			$('input', '#phoneSection').css('border', '1px solid red');
			$('#phoneSection').append("<p class='error'>Please Enter Your Phone Number</p>");
			isErrors = true;
		}
		if(isErrors == true) {
			return false;
		}
	});

	jQuery("#howHearOther").hide();
	jQuery("#howHear").change(function() {
		if(jQuery("#howHear").val() == "Other") {
			jQuery("#howHearOther").show();
		} else {
			jQuery("#howHearOther").hide();
		}
	});

	if(jQuery("#howHearOther").val() == "Other") {
		jQuery("#howHearOther").show();
	}
	function testEmail(email) {
		var at="@"
		var dot="."
		var lat=email.indexOf(at)
		var lstr=email.length
		var ldot=email.indexOf(dot)
		if (email.indexOf(at)==-1){ return false; }
		
		if (email.indexOf(at)==-1 || email.indexOf(at)==0 || email.indexOf(at)==lstr){ return false; }
		if (email.indexOf(dot)==-1 || email.indexOf(dot)==0 || email.indexOf(dot)==lstr){ return false; }
		if (email.indexOf(at,(lat+1))!=-1){ return false; }	
		if (email.substring(lat-1,lat)==dot || email.substring(lat+1,lat+2)==dot){ return false; }	
		if (email.indexOf(dot,(lat+2))==-1){ return false; }
		if (email.indexOf(" ")!=-1){ return false; }
		
		return true					
	}
	
	var arrowsDir = "down";
	$('.extendedSearchOptionsLink').click(function() {
		$('#extendedSearchOptions').slideToggle("normal", function() {
			if(arrowsDir == "down") {
				$('.SearchOptionsText').text("Show Less Search Options");
				arrowsDir = "up";

			} else {
				$('.SearchOptionsText').text("Show More Search Options");
				arrowsDir = "down";
			}
		});
		if(arrowsDir == "down") {
			$('#homepageReportContainer').animate({
	    		height: '794px'
	    	});
	    } else {
			$('#homepageReportContainer').animate({
	    		height: '563px'
	    	});
	    }
		return false;
	});
	
}); 


function addCommas(nStr) {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

function processChange(amount) {
	amount = amount.replace(/\+(.*)/, '<span class="stockUp"><span class="stockArrow"></span>$1</span>');
	amount = amount.replace(/\-(.*)/, '<span class="stockDown"><span class="stockArrow"></span>$1</span>');	
	return amount;
}

function processPercentChange(amount){
	amount = amount.replace(/\+(.*)/, '<span class="stockUp">$1</span>');
	amount = amount.replace(/\-(.*)/, '<span class="stockDown">$1</span>');	
	return amount;
}

function updateProfile() {
	window.open('/user.php','User Edit');
	
}

