var currentStep = "1";

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
 	
 if(sText)
 {	 	
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
  }else
  	return false;
}

function setFreeInputs()
{
	$("#free input[name=FFWebsite]").val("http://");
	  	//FREE - DISABLING AND ADDING CLASSES TO ENABLED
  	$("#free input:checkbox").each( function(){ 
  		if($(this).is(':checked')) {
  		
  		//ADDING CLASS TO THE CHECKED ITEM...
  		  if($(this).val() != "unchecked")
       		$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").addClass(items_free[parseInt($(this).val())][2]);
       		
    	} else {
    	//DISABLING ANY UNCHECKED ITEMS
    	  if($(this).val() != "unchecked")
       	 	$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").attr('disabled', true);
    	}  
  	});

}

//##########################################
//# PROMO CODE FUNCTION FRONT END...
//# THIS BABY PULLS EVERYTHING FROM THE PAGE AND SENDS IT TO 
//# UPDATE THE DIV WITH PROMO PRICING!
//##########################################

function promo_getSelectedItems( clicked )
{
		var str = "";
		
		if( clicked != "false"){
			$("input[name=plk]").val( $(".promo-code-input").val() );
		}
		
		str = "promo="+$("input[name=plk]").val();
			
		str+= "&listing="+$("input:radio[name=listing_type]:checked").val();
		str+= "&paytype="+$("#basic input:radio[name=payment_option]:checked").val();
		str+= "&P1=1";	
		$("#basic input:checked|selected|hidden").each( function(i) { 
  			var pos = $(this).val();
  		if(IsNumeric(pos))
  		{
  				str += "&P"+(i+1)+"="+pos;
  		}			
  	});
  	show("/professional-signup/step3-part.php?"+str, "step-3-right");
}

function removeFreeClasses()
{
			$("#free input[name=FFWebsite]").val("");
	$("#free input:checkbox").each( function(){ 
  		//ADDING CLASS TO THE CHECKED ITEM...
  		  if($(this).val() != "unchecked")
  		  {
       		$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").removeClass(items_free[parseInt($(this).val())][2]);
       	  }
  	});
}

function freetotal()
{
	//---------GIVING USER A TOTAL ---------------
  		free_total = 0.0;
  		$("#free input:checkbox:checked").each( function(i) { 
  			var pos = $(this).val();
  			if(IsNumeric(pos))
  			{
  				free_total += parseFloat(items_free[parseInt($(this).val())][1]);
  			}
  		});
  		//SET THE TOTAL....
  		$("#free_total_amount").html(free_total);
}

function setFreePreview()
{	
	$("#step-3-free-name").html( $("input[name=company_name]").val() );
	var str = "";
	var str2 = "";
	
	if($("#free input[name=F-Website]").is(":checked") )
		str = " | ";
	if($("#free input[name=F-Email]").is(":checked") )
		str2 = " | ";
		
	$("#step-3-phone").html( str+$("input[name=phone]").val()+str2 );
	
	if( $("#free input[name=F-Logo]").is(":checked") == false  )
		$("#step-3-free-logo").hide();
	else
		$("#step-3-free-logo").show();
	
	
	if( $("#free input[name=F-Website]").is(":checked") )
		$("#step-3-website").html( $("#free input[name=FFWebsite]").val() );
	else
		$("#step-3-website").html( "" );
	
	if( $("#free input[name=F-Email]").is(":checked") )
		$("#step-3-email").html( "email" );
	else
		$("#step-3-email").html( "" );
		
	if( $("#free input[name=F-Description]").is(":checked") )
		$("#step-3-free-desc").html( $("#free input[name=FFDescription]").val()+"<br/>" );
	else
		$("#step-3-free-desc").html( "" );
		
	$("#free-container").show();	
	
}

function hidePromo() { $(".promo-code-box").hide(); $("#promo-code-box").hide();}
function hideFreePreview(){ $("#free-container").hide(); }

function insertYourInformation()
{
	var who = "";
		if($("#step-1 input[name=company-name]").val() != "")
			who += "<p><span class=\"step-3-left-col\">company name</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=company_name]").val()+"</span></p>";
		if($("#step-1 input[name=contact-name]").val() != "")
			who += "<p><span class=\"step-3-left-col\">contact name</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=contact_name]").val()+"</span></p>";
		if($("#catid :selected").text() != "")
			who += "<p><span class=\"step-3-left-col\">category</span>	<span class=\"step-3-right-col\">"+$("#catid :selected").val()+"</span></p>";
		if($("#step-1 input[name=address1]").val() != "")
			who += "<p><span class=\"step-3-left-col\">address 1</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=address1]").val()+"</span></p>";
		if($("#step-1 input[name=address2]").val() != "")
			who += "<p><span class=\"step-3-left-col\">address 2</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=address2]").val()+"</span></p>";
		if($("#step-1 input[name=city]").val() != "")
			who += "<p><span class=\"step-3-left-col\">city</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=city]").val()+"</span></p>";
		if($("#state :selected").text() != "")
			who += "<p><span class=\"step-3-left-col\">nearest region</span>	<span class=\"step-3-right-col\">"+$("#state :selected").val()+"</span></p>";
		if($("#step-1 input[name=zip]").val() != "")
			who += "<p><span class=\"step-3-left-col\">zip</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=zip]").val()+"</span></p>";
		if($("#step-1 input[name=email]").val() != "")
			who += "<p><span class=\"step-3-left-col\">e-mail</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=email]").val()+"</span></p>";
		if($("#step-1 input[name=phone]").val() != "")
			who += "<p><span class=\"step-3-left-col\">phone</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=phone]").val()+"</span></p>";			
		if($("#step-1 input[name=fax]").val() != "")
			who += "<p><span class=\"step-3-left-col\">fax</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=fax]").val()+"</span></p>";
		if($("#step-1 input[name=website]").val() != "")
			who += "<p><span class=\"step-3-left-col\">website</span>	<span class=\"step-3-right-col\">"+$("#step-1 input[name=website]").val()+"</span></p>";
		$("#step-3-information").html(who);
}

function clearErrors(){ $("#error_message").hide("slow"); }


//CHANGE THE CURRENT STEP... REDUCES OUR CODE TO ONE LINE INSTEAD OF TWO AND MAKES IT PRETTIER...
function changeStep( step, currentStep )
{
	$("#step-"+currentStep).hide();
	if( parseInt(step) > parseInt(currentStep) )
		$("#step-"+step).slideDown("slow");
	else
		$("#step-"+step).show("slow");
	/*
	if(	step > currentStep )
	{
		$( "#step-"+currentStep ).slideUp("slow");
		$("#step-"+step).slideDown("slow");
	}else{
	
		$( "#step-"+currentStep ).slideDown("slow");
		$("#step-"+step).slideUp("slow");
	}*/
  	return step;
}

//THE PAGE IS READY LETS DO IT!
$(document).ready(function(){
    	
   //PAGE HAS LOADED LETS LET THEM DO STUFF!
   $("#loader").slideUp("slow");
   $("#wrapper").fadeIn("slow"); 	
    
jQuery.validator.addMethod("phone", function(phone_number, element) {
    phone_number = phone_number.replace(/\s+/g, ""); 
	return this.optional(element) || phone_number.length > 9 &&
		phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please enter a valid phone number");

$("#step1_form").validate({
  rules: {
    field: {
      required: true,
      phone: true
    }
  }
});


$("#PROCESS_STEP").click(function() {
	
	$("#step1_form").validate();
  		
  		if($("#step1_form").valid())
  		{
  			switch ($("#TERMS:checked").size())
			{
				case 0:
					alert("You must accept our terms and conditions...");		
					break;
				case 1:
					document.step1_form.submit();
			}
  		}else{
  			
  			switch ($("#TERMS:checked").size())
			{
				case 0:
					alert("You must accept our terms and conditions...");		
					break;
			}
  		
  		}

});

$("#TERMS").attr("checked", "");


    //##########################################
    //#	PROMO CODES IF CLICKED AJAX THE PROMO! #
    //##########################################
    $(".promo-code-button").click(function(){promo_getSelectedItems( "true" );});
    	
  		$("#tabs").tabs({ fxFade: true, fxSpeed: 'fast' });
  		
  		//$("#accordion").accordion({ autoHeight: false });
   		//$('#dialog').jqm();
		//$(".popupImage a").fancybox({ 
		//'hideOnContentClick': true 
		//});
    
   //IF THERE IS AN ERROR..
   if(step != 1 && error)
   {
  	  currentStep = changeStep( 2, currentStep );
  	  
   	  removeFreeClasses();
   	  
   	   //CHECK TO SEE IF WE ARE A INTERESTED IN A BASIC OR FREE... 			 
  			if($("input:radio[name=listing_type]:checked").val() == "basic")
  			{
  				$('#tabs').tabs('select', 0);
  			}else{
  				setFreeInputs();
  				$('#tabs').tabs('select', 1);
  			}
   } 
    
  //*************************************************** 
  //<!-- GOING TO NEXT STEP! FROM STEP 1 to STEP 2 -->	
  //*************************************************** 
  	$("#step1-gotostep2").click(function() {
  		removeFreeClasses();
  		$("#step1_form").validate();
  		
  		if($("#step1_form").valid())
  		{
   			 //CHECK TO SEE IF WE ARE A INTERESTED IN A BASIC OR FREE... 			 
  			if($("input:radio[name=listing_type]:checked").val() == "basic")
  			{
  				$('#tabs').tabs('select', 0);
  			}else{
  				setFreeInputs();
  				$('#tabs').tabs('select', 1);
  			}
  			 
  			currentStep = changeStep( 2, currentStep );  			 			
  		}else{
  			//They must edit there form to our specs...	
  		}
  	});
  //<!-- END OF STEP1 to STEP2 -->
  
  
  //*************************************************** 
  //<!--- STEP 2 "BASIC AND FREE SELECTIONS -->
  //***************************************************   	

  	//CLICKING ON TABS...  SWITCHES BACK AND FORTH BETWEEN FREE AND BASIC
  	$("#step2-basic").click( function(){
  		clearErrors();
  		removeFreeClasses();
  		$("#listing-type-basic").attr("checked","checked");
  	});
  	//TAB 2  	
  	$("#step2-free").click( function(){
  		clearErrors();
  		setFreeInputs();
  		$("#listing-type-free").attr("checked","checked");
  		  	//FREE - DISABLING AND ADDING CLASSES TO ENABLED
  		$("#free input:checkbox").each( function(){ 
  			if($(this).is(':checked')) {
  		
  			//ADDING CLASS TO THE CHECKED ITEM...
  		 	 if($(this).val() != "unchecked")
       			$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").addClass(items_free[parseInt($(this).val())][2]);
       		
    		} else {
    		//DISABLING ANY UNCHECKED ITEMS
    	 	 if($(this).val() != "unchecked")
       	 		$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").attr('disabled', true);
    		}  
  		});
  		
  	});		
  	
  //*************************************************** 
  //<!--- RETURN STEP BUTTONS -->
  //*************************************************** 
  	
  	//Clicking to GO TO STEP 1 ----->
  	$("#step2-1-gotostep1").click(function() {
  		clearErrors();
  		removeFreeClasses(); 
  		$("input[name=TERMS]").removeClass("required");
  		currentStep = changeStep( 1, currentStep ); 	 		
  	});
    $("#step2-2-gotostep1").click(function() {
    	clearErrors();
    	removeFreeClasses(); 
    	$("input[name=TERMS]").removeClass("required");
  		currentStep = changeStep( 1, currentStep ); 	 		
  	});
  	$("#eiy").click(function() {
  		$("input[name=TERMS]").removeClass("required");
  		currentStep = changeStep( 1, currentStep );
  	});
  	
  	//Clicking to GO TO STEP 2 ----->
  	$("#step3-gotostep2").click(function() {
  		setFreeInputs();
  		$("input[name=TERMS]").removeClass("required");
  		currentStep = changeStep( 2, currentStep );
  	});
  	$("#step3-gotostep2").click(function() {
  		setFreeInputs();
  		$("input[name=TERMS]").removeClass("required");
  		currentStep = changeStep( 2, currentStep );
  	});
  	

  	//END OF BACK BUTTONS...
  	
  	
  	
  //*************************************************** 
  //<!--- BASIC LISTING TO -> STEP 3 -->
  //*************************************************** 
  
  	$("#step2-1-gotostep3").click(function() {
  		clearErrors();
  		
  		$(".promo-code-box").show();
  		hideFreePreview();
  		
   	if($("input[name=plk]").val() == "")
  	{	
  		//AJAX CALL FIRST!  		
  		//---------------STEP 3 ---------------------------
  		//Get all items under basic div 
  		//$("div#basic:input:checked").val();
		selected = $('#tabs').tabs('option', 'selected'); //SHOULD BE '0'
  		str = "";
  		onetime = 0;
  		payments = $("#basic input:radio[name=payment_option]:checked").val();
  		
  		 if(payments != "monthly")
  			total = default_total * 12;
  		else
  			total = default_total;
  		
  		//Putting basic listing in first...
  		str += "<p><span class=\"step-3-left-col\">&bull; "+items[1][1]+"</span><span class=\"step-3-right-col\">$"+total+"</span></p>\n";
  		//total = total + parseFloat(items[1][2]); ALREADY DO THIS IN THE BEGINNING
  		
  		//alert($("input:checkbox[name=noupgrades]:checked").val());
  		//Check to see if they actually want stuff... 
  		if($("input:checkbox[name=noupgrades]:checked").val() != "unchecked")
  		{
  		$("#basic input:checked|selected").each( function(i) { 
  			var pos = $(this).val();  			
  			if(IsNumeric(pos))
  			{
   				
  				//Multipler if Yearly, and none if Monthly.. Also note onetime payments do not get Multiplers
  				if(payments != "monthly" && items[pos][3] == 'f')
  				{
  					total = total + (parseFloat(items[pos][2]) * 12); //YEARLY PAYMENT
  			str+="<p><span class=\"step-3-left-col\">&bull; "+items[pos][1]+"</span><span class=\"step-3-right-col\">$"+(items[pos][2]*12)+"</span></p>\n";
  				}else{
  					total = total + parseFloat(items[pos][2]); //MONTHLY PAYMENT
  			str+="<p><span class=\"step-3-left-col\">&bull; "+items[pos][1]+"</span><span class=\"step-3-right-col\">$"+(items[pos][2])+"</span></p>\n";
  				}
  				if(items[pos][3] == 't')
  				{
  					onetime += parseFloat(items[pos][2]);
  				}
  			}
  			  			
  		});
  		
  		}//END OF do not want upgrades...
  		
  		if(payments == "monthly" && onetime == 0)
  		str += "<p><span class=\"step-3-left-col\">monthly payment:</span>";	
  		else{
  			str += "<p><span class=\"step-3-left-col\">total:</span>";
  		}				
  		str += "<span class=\"step-3-right-col\">$"+total+"</span></p>\n";
	
		
		if(onetime > 0 && payments == "monthly")
		{
			str +="<p>Your Monthly Payment will be $"+(total-onetime)+" after your first payment of $"+total+".</p>";
		}
		insertYourInformation();
		$("#step-3-campaign").html(str);
		$("#campaign-heading").html("your basic listing campaign <span class=\"edit-campaign\">( <a href=\"#\" onclick=\"javascript: currentStep = changeStep( 2, currentStep );\" class=\"eiyc\">edit</a> )</span>");
		}else{
			insertYourInformation();
			promo_getSelectedItems( "false" ); //THERE IS A PROMO SET SO WE NEED TO SHOW IT...
		}
		$("input[name=TERMS]").addClass("required");	
  		currentStep = changeStep( 3, currentStep );//GO TO STEP 3
  	});
  	
  	
  //*************************************************** 
  //<!--- FREE LISTINGS to -> STEP 3 -->
  //*************************************************** 
  	$("#step2-2-gotostep3").click(function() {
  		
  		//---------ERROR CHECK FIRST!!!-----------
  		$("#step1_form").validate();
  		  		
  		if($("#step1_form").valid())
  		{
  			clearErrors();
  			//IS VALID SO LETS LOAD IT UP!..
  			free_total = 0.0;
  			str = "<p><span class=\"step-3-left-col\">&bull; free listing</span><span class=\"step-3-right-col\">$0</span></p>\n";
  		
  		if($("input:checkbox[name=free-additional-options]:checked").val() != "unchecked")
  		{
  	
  		$("#free input:checked|selected").each( function(i) { 
  			var pos = $(this).val();  			
  			if(IsNumeric(pos))
  			{
  				free_total = free_total + parseFloat(items_free[pos][1]); //MONTHLY PAYMENT
  					str+="<p><span class=\"step-3-left-col\">&bull; "+items_free[pos][0]+"</span><span class=\"step-3-right-col\">$"+(items_free[pos][1])+"</span></p>\n";
  				
  			}
  			  			
  		});
  		
  		}//END OF do not want upgrades...
  		
  		str += "<p><span class=\"step-3-left-col\">Total:</span>";				
  		str += "<span class=\"step-3-right-col\">$"+free_total+"</span></p>\n";
  		$("#step-3-campaign").html(str);

  			//AJAX CALL FIRST!
  		
  			//---------------STEP 3 ---------------------------
  			//Get all items under basic div 
  			//$("div#basic:input:checked").val();
			selected = $('#tabs').tabs('option', 'selected'); //SHOULD BE '1'
  			insertYourInformation(); 
  			hidePromo();
  			setFreePreview();
  			$("#campaign-heading").html("your free listing campaign <span class=\"edit-campaign\">( <a href=\"#\" onclick=\"javascript: currentStep = changeStep( 2, currentStep );\" class=\"eiyc\">edit</a> )</span>");
  			$("input[name=TERMS]").addClass("required");	
  			currentStep = changeStep( 3, currentStep );
  		}
  	});
  	
  	//---- CLICKING IN FREE LISTINGS ------

  	$("#free input:checkbox").click( function() {
  		
  		//alert($(this).val());
  		//-------- DISABLING AND ENABLING INPUTS --------
  		if( $(this).is(':checked') )
  		{
  			if($(this).val() != "unchecked")
  			{
  				$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").removeAttr("disabled", "");
  				$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").addClass(items_free[parseInt($(this).val())][2]);
  			}
  		}else{
  			if($(this).val() != "unchecked")
  			{
  				$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").attr('disabled','disabled');
  				$("#free input[name=FF"+items_free[parseInt($(this).val())][0]+"]").removeClass(items_free[parseInt($(this).val())][2]);  
  			}			
  		}
  		
  		//---------GIVING USER A TOTAL ---------------
  		freetotal();
  	});
  	 
  	
  	
  	//STEP 2
  	$("input:radio[name=payment_option]").click(function(){
  		if($("input:radio[name=payment_option]:checked").val()=="monthly")
  		{
  			$("#annual-section").removeClass("peachbg");
  			$("#annual-section").addClass("pinkbg");
  			$("#monthly-section").removeClass("pinkbg");
  			$("#monthly-section").addClass("peachbg");
  		}else{
  			$("#annual-section").removeClass("pinkbg");
  			$("#annual-section").addClass("peachbg");
  			$("#monthly-section").removeClass("peachbg");
  			$("#monthly-section").addClass("pinkbg");
  		}
  	});
  	
  	//IF THEY REFRESH THE PAGE FOR SOME REASON... SET OUR COLOR TO THE PROPER SELECTION
  	if($("input:radio[name=payment_option]:checked").val()=="monthly")
  	{
  			$("#annual-section").removeClass("peachbg");
  			$("#annual-section").addClass("pinkbg");
  			$("#monthly-section").removeClass("pinkbg");
  			$("#monthly-section").addClass("peachbg");
  	}else{
  			$("#annual-section").removeClass("pinkbg");
  			$("#annual-section").addClass("peachbg");
  			$("#monthly-section").removeClass("peachbg");
  			$("#monthly-section").addClass("pinkbg");
  	}
  	
  	//LEAD LIST
  	$("input:checkbox[name=leadlist]").click( function(){
  		if($("input:checkbox[name=leadlist]:checked").val() != "unchecked")
  		{
  			$("input[name="+items[11][0]+"]").attr("checked","");
  			$("input[name="+items[10][0]+"]").attr("checked","");
  			
  			$("input[name="+items[10][0]+"]").attr("disabled","disabled");
  			$("input[name="+items[11][0]+"]").attr("disabled","disabled");
  		}else{
  			$("input[name="+items[10][0]+"]:nth(0)").attr("checked","checked");
  			$("input[name="+items[10][0]+"]").attr("disabled","");
  			$("input[name="+items[11][0]+"]").attr("disabled","");
  		}  		
  	});
  	//IF IT IS UNCHECKED INITALIY THAN WE DISABLE ITS CHILDREN
  	if($("input:checkbox[name=leadlist]:checked").val() != "unchecked")
  	{
  		$("input[name="+items[10][0]+"]").attr("disabled","disabled");
  		$("input[name="+items[11][0]+"]").attr("disabled","disabled");
  	}
  	freetotal();
  
    	
  });