function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function checkKeywordCheck() {
    trimmedString = trim(jQuery('div#checkKeyword').text());
	if( trimmedString != "") {
	    return false;
	}
	return true;
}

function checkZipcodeCheck() {
    trimmedString = trim(jQuery('div#checkZipcode').text());
	if( trimmedString != "") {
	    return false;
	}
	return true;
}

function validatePhone(controlID) {
    elPhone = document.getElementById(controlID);
    if ((elPhone.value.search(/\d{3}\-\d{3}\-\d{4}/)==-1) &&
        (elPhone.value.search(/\(\d{3}\) \d{3}\-\d{4}/)==-1) &&
        (elPhone.value.search(/\d{10}/)==-1)) {
        return false;
    }
    return true;
}

function validateStep1() {
    if( jQuery("#id_title").val() == "" ) {
        alert('Please enter a name!');
        jQuery("#id_title").focus();
        return false;
    }
    if( jQuery("#id_keyword").val() == "" || !checkKeywordCheck() ) {
        alert('Please enter a valid keyword!');
        jQuery("#id_keyword").focus();
        return false;
    }
    return true;
}

function validateStep2() {
    if (!checkZipcodeCheck(document.getElementById('id_zipcode'))) {
        alert('Please enter a valid Postal Code!');
        jQuery("#id_zipcode").focus();
        return false;
    }
    return true;
}

function validateStep3() {
    if (jQuery("#id_msg_in").val() == "" || jQuery("#id_msg_in").val() == "<Insert your \"Thank You\" promotion here to reward your new subscriber for signing up and encourage redemption>" || jQuery("#id_msg_in").val() == "-Code:-") {
        alert('You must provide a valid first message!');
        return false;
    }
    return true;
}

function validateStep4() {
    alertMessage = "You must enter a valid phone number!\n\nExample: (###) ###-#### OR ###-###-####";
    if (jQuery("#id_reply_admin").val() != "") {
        if (!validatePhone("id_reply_admin")) {
            alert(alertMessage);
            jQuery("#id_reply_admin").focus();
            return false;
        }
	}
	
    if (jQuery("#id_t2b_admin_mobilenum").val() != "") {
        if (!validatePhone("id_t2b_admin_mobilenum")) {
            alert(alertMessage);
            jQuery("#id_t2b_admin_mobilenum").focus();
            return false;
        }
	}
	
    if (jQuery("#id_t2b_admin_mobilenum2").val() != "") {
        if (!validatePhone("id_t2b_admin_mobilenum2")) {
            alert(alertMessage);
            jQuery("#id_t2b_admin_mobilenum2").focus();
            return false;
        }
	}

    if (jQuery("#id_t2b_admin_mobilenum3").val() != "") {
        if (!validatePhone("id_t2b_admin_mobilenum3")) {
            alert(alertMessage);
            jQuery("#id_t2b_admin_mobilenum3").focus();
            return false;
        }
	}
	
    return true;
}

function createSummary() {	
    outString = "Summary: <br /><div style='width: auto; min-width: 370px;'>";
    
    if (jQuery("input[name=is_visible]:checked").val() == '1') {
        outString += "&nbsp;&nbsp;&nbsp;<img src='./images/bullet1.gif'>&nbsp;Display on website.<br />";
    }
    if (jQuery("input[name=is_featured]:checked").val() == '1') {
        outString += "&nbsp;&nbsp;&nbsp;<img src='./images/bullet1.gif'>&nbsp;Display in category favorites.<br />";
    }
    if (jQuery("input[name=is_visible_widget]:checked").val() == '1') {
        outString += "&nbsp;&nbsp;&nbsp;<img src='./images/bullet1.gif'>&nbsp;Display as a <em>web widget</em>.<br />";
    }
    if (jQuery("input[name=is_coupon]:checked").val() == '1') {
        outString += "&nbsp;&nbsp;&nbsp;<img src='./images/bullet1.gif'>&nbsp;Display as a <em>coupon</em>.<br />";
    }
    if (jQuery("input[name=exclude_metric]:checked").val() == '1') {
        outString += "&nbsp;&nbsp;&nbsp;<img src='./images/bullet1.gif'>&nbsp;Exclude from <em>broadcast statistics</em>.<br />";
    }
    
    outString += "</div>"
    
    jQuery("#summaryPane").html(outString);
}

function validateStep5() {
    return true;
}

(function($) {

	$.fn.easySlider = function(options){
	  
		// default configuration properties
		var defaults = {			
			prevId: 		'prevBtn',
			prevText: 		'Previous',
			nextId: 		'nextBtn',	
			nextText: 		'Next',
			controlsShow:	false,
			controlsBefore:	'',
			controlsAfter:	'',	
			controlsFade:	true,
			firstId: 		'firstBtn',
			firstText: 		'First',
			firstShow:		false,
			lastId: 		'lastBtn',	
			lastText: 		'Last',
			lastShow:		false,				
			vertical:		false,
			speed: 			800,
			auto:			false,
			pause:			5000,
			numeric: true,
			continuous:		false
		}; 
		
		var options = $.extend(defaults, options);  
				
		this.each(function() {  
			var obj = $(this); 				
			var s = $("li", obj).length;
			var w = $("li", obj).width(); 
			var h = $("li", obj).height(); 
			obj.width(w); 
			obj.height(h); 
			obj.css("overflow","hidden");
			var ts = s-1;
			var t = 0;
			$("ul", obj).css('width',s*w);			
			if(!options.vertical) $("li", obj).css('float','left');
			
			if(options.controlsShow){
				var html = options.controlsBefore;
				if(options.firstShow) html += '<span id="'+ options.firstId +'"><a href=\"javascript:void(0);\">'+ options.firstText +'</a></span>';
				html += ' <span id="'+ options.prevId +'"><a href=\"javascript:void(0);\">'+ options.prevText +'</a></span>';
				html += ' <span id="'+ options.nextId +'"><a href=\"javascript:void(0);\">'+ options.nextText +'</a></span>';
				if(options.lastShow) html += ' <span id="'+ options.lastId +'"><a href=\"javascript:void(0);\">'+ options.lastText +'</a></span>';
				html += options.controlsAfter;						
				$(obj).after(html);										
			};
	
			$("a","#"+options.nextId).click(function(){
				animate("next",true);
			});
			
			/* Process step 1 to step 2 transition */
			$("a#nextAnchor1").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
    			    if (validateStep1()) {
    			        prepStep1("disable");
    			        prepStep2("enable");
        	            animate("next",true);
    			    }
			    }
			});
			$("div#"+options.nextId+"1").click(function(){
			    if (validateStep1()) {
			        prepStep1("disable");
			        prepStep2("enable");
    	            animate("next",true);
			    }
			});
			
			/* Process step 2 to step 1 transition */
			$("a#prevAnchor2").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
			        prepStep2("disable");
			        prepStep1("enable");
                    animate("prev",true);
			    }
			});
			$("div#"+options.prevId+"2").click(function(){
		        prepStep2("disable");
		        prepStep1("enable");
                animate("prev",true);
			});
			
			
			/* Process step 2 to step 3 transition */
			$("a#nextAnchor2").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
    			    if (validateStep2()) {
		                prepStep2("disable");
		                prepStep3("enable");
        	            animate("next",true);
		    	    }
			    }
			});
			$("div#"+options.nextId+"2").click(function(){
			    if (validateStep2()) {
	                prepStep2("disable");
	                prepStep3("enable");
                    animate("next",true);
				}
			});
			
			/* Process step 3 to step 2 transition */
			$("a#prevAnchor3").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
	                prepStep3("disable");
	                prepStep2("enable");
			        animate("prev",true);
			    }
			});
			$("div#"+options.prevId+"3").click(function(){
                prepStep3("disable");
                prepStep2("enable");
		        animate("prev",true);
			});
			
			/* Process step 3 to step 4 transition */
			$("a#nextAnchor3").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
    			    if (validateStep3()) {
		                prepStep3("disable");
                        if (jQuery('#mediaLI').css("display") == "none") {
                            prepStep5("enable");
                        } else {
		                    prepStep4("enable");
		                }
        	            animate("next",true);
		    	    }
			    }
			});
			$("div#"+options.nextId+"3").click(function(){
			    if (validateStep3()) {
	                prepStep3("disable");
                    if (jQuery('#mediaLI').css("display") == "none") {
                        prepStep5("enable");
                    } else {
	                    prepStep4("enable");
	                }
                    animate("next",true);
				}
			});

			/* Process step 4 to step 3 transition */
			$("a#prevAnchor4").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
	                prepStep4("disable");
	                prepStep3("enable");
			        animate("prev",true);
			    }
			});
			$("div#"+options.prevId+"4").click(function(){
                prepStep4("disable");
                prepStep3("enable");
		        animate("prev",true);
			});
			

			/* Process step 4 to step 5 transition */
			$("a#nextAnchor4").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
    			    if (validateStep4()) {
		                prepStep4("disable");
		                prepStep5("enable");
        	            animate("next",true);
		    	    }
			    }
			});
			$("div#"+options.nextId+"4").click(function(){
			    if (validateStep4()) {
	                prepStep4("disable");
	                prepStep5("enable");
                    animate("next",true);
				}
			});

			/* Process step 5 to step 4 transition */
			$("a#prevAnchor5").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
	                prepStep5("disable");
                    if (jQuery('#mediaLI').css("display") == "none") {
                        prepStep3("enable");
                    } else {
	                    prepStep4("enable");
	                }
			        animate("prev",true);
			    }
			});
			$("div#"+options.prevId+"5").click(function(){
                prepStep5("disable");
                if (jQuery('#mediaLI').css("display") == "none") {
                    prepStep3("enable");
                } else {
                    prepStep4("enable");
                }
		        animate("prev",true);
			});
			
			/* Process step 5 to step 6 (submit) transition */
			$("a#nextAnchor5").keyup(function(event) {
			    if (event.keyCode == '13' || event.keyCode == '32' ) {
    			    if (validateStep5()) {
                        if (checkKeywordSubmit()) {
                            document.getElementById('campaignEdit_form').submit();
                        }
		    	    }
			    }
			});
			$("div#"+options.nextId+"5").click(function(){
			    if (validateStep5()) {
                    if (checkKeywordSubmit()) {
                        document.getElementById('campaignEdit_form').submit();
                    }
				}
			});
			
						
			$("a","#"+options.prevId).click(function(){
				animate("prev",true);
			});
			$("a","#"+options.firstId).click(function(){
				animate("first",true);
			});
			$("a","#"+options.lastId).click(function(){
				animate("last",true);
			});
			
			$("#step1").click(function(){
			    unPrepAll();
				prepStep1("enable");
				animate("first",true);
			});

			$("#step2").click(function(){
			    unPrepAll();
				prepStep2("enable");
				animate("2",true);
			});
			
			$("#step3").click(function(){
			    unPrepAll();
				prepStep3("enable");
				animate("3",true);
			});
			
			$("#step4").click(function(){
			    unPrepAll();
				prepStep4("enable");
				animate("4",true);
			});
			
			$("#step5").click(function(){
			    unPrepAll();
				prepStep5("enable");
                animate('last',true);
			});
			
            function unPrepAll() {
                prepStep1('disable');
                prepStep2('disable');
                prepStep3('disable');
                prepStep4('disable');
                prepStep5('disable');
            }
            
            function prepStep1(mode) {
                if (mode=="enable") {
                    $("#nextAnchor1").removeAttr('disabled');
                    $("#inputs1").removeClass('hideit');
                    $("#inputs1").addClass('showit');
                    $("#step1").addClass('activeCrumb');
                } else {
                    $("#nextAnchor1").attr('disabled','disabled');
                    $("#inputs1").removeClass('showit');
                    $("#inputs1").addClass('hideit');
                    $("#step1").removeClass('activeCrumb');
                }
            }

            function prepStep2(mode) {
                if (mode=="enable") {
                    $("#nextAnchor2").removeAttr('disabled');
                    $("#prevAnchor2").removeAttr('disabled');
                    $("#inputs2").removeClass('hideit');
                    $("#inputs2").addClass('showit');
                    $("#step2").addClass('activeCrumb');
                } else {
                    $("#nextAnchor2").attr('disabled','disabled');
                    $("#prevAnchor2").attr('disabled','disabled');
                    $("#inputs2").removeClass('showit');
                    $("#inputs2").addClass('hideit');
                    $("#step2").removeClass('activeCrumb');
                }
            }
            function prepStep3(mode) {
                if (mode=="enable") {
                    $("#prevAnchor3").removeAttr('disabled');
                    $("#nextAnchor3").removeAttr('disabled');
                    $("#inputs3").removeClass('hideit');
                    $("#inputs3").addClass('showit');
                    $("#step3").addClass('activeCrumb');
                } else {
                    $("#prevAnchor3").attr('disabled','disabled');
                    $("#nextAnchor3").attr('disabled','disabled');
                    $("#inputs3").removeClass('showit');
                    $("#inputs3").addClass('hideit');
                    $("#step3").removeClass('activeCrumb');
                }
            }
            
            function prepStep4(mode) {
                if (mode=="enable") {
                    $("#nextAnchor4").removeAttr('disabled');
                    $("#prevAnchor4").removeAttr('disabled');
                    $("#inputs4").removeClass('hideit');
                    $("#inputs4").addClass('showit');
                    $("#step4").addClass('activeCrumb');
                } else {
                    $("#nextAnchor4").attr('disabled','disabled');
                    $("#prevAnchor4").attr('disabled','disabled');
                    $("#inputs4").removeClass('showit');
                    $("#inputs4").addClass('hideit');
                    $("#step4").removeClass('activeCrumb');
                }
            }

            function prepStep5(mode) {
                if (mode=="enable") {
                    createSummary();
                    $("#nextAnchor5").removeAttr('disabled');
                    $("#prevAnchor5").removeAttr('disabled');
                    $("#inputs5").removeClass('hideit');
                    $("#inputs5").addClass('showit');
                    $("#step5").addClass('activeCrumb');
                } else {
                    $("#nextAnchor5").attr('disabled','disabled');
                    $("#prevAnchor5").attr('disabled','disabled');
                    $("#inputs5").removeClass('showit');
                    $("#inputs5").addClass('hideit');
                    $("#step5").removeClass('activeCrumb');
                }
            }
            
			function animate(dir,clicked){
				var ot = t;				
				switch(dir){
					case "next":
						t = (ot>=ts) ? (options.continuous ? 0 : ts) : t+1;						
						break; 
					case "prev":
						t = (t<=0) ? (options.continuous ? ts : 0) : t-1;
						break; 
					case "first":
					case "1":
						t = 0;
						break; 
					case "last":
					case "8":
						t = ts;
						break; 
					case "2":
					    t = 1;
						break; 
					case "3":
					    t = 2;
						break; 
					case "4":
					    t = 3;
						break; 
					case "5":
					    t = 4;
						break; 
					case "6":
					    t = 5;
						break; 
					case "7":
					    t = 6;
						break; 
					default:
						break; 
				};	
				
				var diff = Math.abs(ot-t);
				var speed = diff*options.speed;						
				if(!options.vertical) {
					p = (t*w*-1);
					$("ul",obj).animate(
						{ marginLeft: p }, 
						speed
					);				
				} else {
					p = (t*h*-1);
					$("ul",obj).animate(
						{ marginTop: p }, 
						speed
					);					
				};
				
				if(!options.continuous && options.controlsFade){					
					if(t==ts){
						$("a","#"+options.nextId).hide();
						$("a","#"+options.lastId).hide();
					} else {
						$("a","#"+options.nextId).show();
						$("a","#"+options.lastId).show();					
					};
					if(t==0){
						$("a","#"+options.prevId).hide();
						$("a","#"+options.firstId).hide();
					} else {
						$("a","#"+options.prevId).show();
						$("a","#"+options.firstId).show();
					};					
				};				
				
				if(clicked) clearTimeout(timeout);
				if(options.auto && dir=="next" && !clicked){;
					timeout = setTimeout(function(){
						animate("next",false);
					},diff*options.speed+options.pause);
				};
				
			};
			// init
			var timeout;
			if(options.auto){;
				timeout = setTimeout(function(){
					animate("next",false);
				},options.pause);
			};		
		
			if(!options.continuous && options.controlsFade){					
				$("a","#"+options.prevId).hide();
				$("a","#"+options.firstId).hide();				
			};				
			
		});
	  
	};

})(jQuery);




