$j = jQuery.noConflict();
$j(function() {

	//Home Page Slideshow
	jQuery('#slideshow').cycle({
        fx:      	'fade',
        timeout:  	 6000,
        slideExpr: 	'div.slide',
        prev:    	'#prev',
        next:    	'#next',
        pager:   	'#nav-items',
        pagerAnchorBuilder: pagerFactory
    });
	
	//Custom Pager
    function pagerFactory(idx, slide) {
        var s = idx > 2 ? ' style="display:none"' : '';
        return '<li'+s+'><a href="#">'+(idx+1)+'</a></li>';
    };

	//Get rid of text in pager
	jQuery("#nav-items li a").text('');

	
	// default page-load actions
	var hash = getUrlVars();
	if(!hash['qtype'] && !hash['qstyle']){
		jQuery("#requestquote").load('/request-a-quote/?ajax=true', function() {
			section_unavailable('');
			section_show("#quote_type");
			jQuery("input[type='radio']:selected").css("background", "#f00");
		});
	}else{
		var pid = 'quote_style';
		var valtype = urldecode(hash['qtype']);
		var valstyle = urldecode(hash['qstyle']);
		jQuery("#requestquote").load('/request-a-quote/?ajax=true&qtype='+hash['qtype']+'&qstyle='+hash['qstyle'], function() {
			section_unavailable('');
			section_hide("#quote_type");
			jQuery("#quote_type .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+valtype+'</span>');
			jQuery("#"+pid+" .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+valstyle+'</span>');
			section_hide("#"+pid);
			var pid2 = jQuery("#"+pid).nextAll(".quote_section").attr('id');
			section_show("#"+pid2);
			jQuery("#loading").css('display', 'none');
		});
	}
	
	
	jQuery('body').delegate('.quote_section_expand', 'click', function() {
		var status = jQuery(this).html();
		var pid = jQuery(this).parent().parent().attr('id');
		switch(status){
			case 'not available': break;
			case 'click to expand': section_show("#"+pid); break;
			case 'click to collapse': section_hide("#"+pid); break;
		}
	});
	
	jQuery('body').delegate(".next_section_radio", 'click', function() {
		jQuery("#loading").css('display', '');
		var pid = jQuery(this).parent().parent().attr('id');
		var valtype = jQuery('input[name="fence_types"]:checked').val();
		var valstyle = jQuery('input[name="fences"]:checked').val();
		switch(pid){
			case 'quote_type' :
				if(!valtype){ jQuery("#loading").css('display', 'none'); break; }
				jQuery("#requestquote").load('/request-a-quote/?ajax=true&qtype='+urlencode(valtype), function() {
					section_unavailable('');
					jQuery("#"+pid+" .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+valtype+'</span>');
					section_hide("#"+pid);
					var pid2 = jQuery("#"+pid).nextAll(".quote_section").attr('id');
					section_show("#"+pid2);
					jQuery("#loading").css('display', 'none');
				});
				break;
			case 'quote_style' :
				if(!valstyle){ jQuery("#loading").css('display', 'none'); break; }
				jQuery("#requestquote").load('/request-a-quote/?ajax=true&qtype='+urlencode(valtype)+'&qstyle='+urlencode(valstyle), function() {
					section_unavailable('');
					section_hide("#quote_type");
					jQuery("#quote_type .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+valtype+'</span>');
					jQuery("#"+pid+" .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+valstyle+'</span>');
					section_hide("#"+pid);
					var pid2 = jQuery("#"+pid).nextAll(".quote_section").attr('id');
					section_show("#"+pid2);
					jQuery("#loading").css('display', 'none');
				});
				break;
			default :
				var thisval = jQuery("#"+pid+" input[type='radio']:checked").val();
				jQuery("#"+pid+" .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+thisval+'</span>');
				section_hide("#"+pid);
				// start rules checking
				jQuery('.quote_section_desc span').each(function(){
					if(jQuery(this).attr('class')=='quote_selected_val_bad'){
						jQuery(this).attr('class', 'quote_selected_val');
					}
				});
				jQuery.each(rules, function(j, k){
					var var1 = k[0].split('|');
					var var1attr = var1[0];
					var var1val  = var1[1];
					var var2 = k[1].split('|');
					var var2attr = var2[0];
					var var2val  = var2[1];
					var temp1 = jQuery("input[name='"+var1attr+"']:checked").val();
					var temp1parent = jQuery("input[name='"+var1attr+"']:checked").parent().parent().parent().attr('id');
					var temp1attr = jQuery("#"+temp1parent+" .quote_section_control .quote_section_title").html();
					var temp2 = jQuery("input[name='"+var2attr+"']:checked").val();
					var temp2parent = jQuery("input[name='"+var2attr+"']:checked").parent().parent().parent().attr('id');
					var temp2attr = jQuery("#"+temp2parent+" .quote_section_control .quote_section_title").html();
					if((temp1==var1val) && (temp2==var2val)){
						jQuery("#"+temp1parent+" .quote_section_control .quote_section_desc span").attr('class', 'quote_selected_val_bad');
						//jQuery("#"+temp1parent+" .quote_section_control .quote_section_desc span").append(' - Not compatible with '+temp2attr+': '+var2val);
						jQuery("#"+temp2parent+" .quote_section_control .quote_section_desc span").attr('class', 'quote_selected_val_bad');
						jQuery("#"+temp2parent+" .quote_section_control .quote_section_desc span").append(' - Not compatible with: '+temp1attr+' ['+var1val+']');
					}
				});
				var pid2 = jQuery("#"+pid).nextAll(".quote_section").attr('id');
				section_show("#"+pid2);
				jQuery("#loading").css('display', 'none');
				// end rules checking
				break;
		}
	});
	
	jQuery('body').delegate(".next_section", 'click', function() {
		jQuery("#loading").css('display', '');
		var pid = jQuery(this).parent().parent().parent().attr('id');
		section_hide("#"+pid);
		if(jQuery("#"+pid+" input").val()=='' && pid=='quote_schematic'){
			jQuery("#"+pid+" .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">No file selected</span>');
		}else{
			jQuery("#"+pid+" .quote_section_control .quote_section_desc").html('<span class="quote_selected_val">'+jQuery("#"+pid+" input").val()+'</span>');
		}
		var pid2 = jQuery("#"+pid).nextAll(".quote_section").attr('id');
		section_show("#"+pid2);
		jQuery("#loading").css('display', 'none');
	});
	
	jQuery('body').delegate("#fsubmit", 'click', function() {
		var formok = true;
		var pleasefix = '';
		var incompat = '';
		jQuery('.quote_section_desc span').each(function(){
			if(jQuery(this).attr('class')!='quote_selected_val'){
				var section = jQuery(this).html().toLowerCase();
				if(jQuery(this).attr('class')=='quote_selected_val_bad'){
					var temp = jQuery(this).parent().parent().children('.quote_section_title').html();
					incompat += ' - '+temp+': '+section+"\n";
				}else{
					if(section!='show us a sketch of your project.' && section!='tell us how to reach you.'){
						formok = false;
						pleasefix += "Please "+section+"\n";
					}
				}
			}
		});
		if(incompat!=''){
			pleasefix += "The selected items are not compatible:\n"+incompat+"\n";
		}
		// if(jQuery("#fname").val()=='' || jQuery("#femail").val()==''){
		// 		formok = false;
		// 		pleasefix += "Please fill out your name and email\n";
		// 	}
		
		var name = jQuery("input#fname");
		var email = jQuery("input#femail");
		var phone = jQuery("input#fphone");
		var address = jQuery("textarea#faddress");
		
		if(name.val() == '' || email.val == '' || phone.val() == '' || address.val() == ''){
			
			formok = false;
			
			pleasefix += "Please fix the errors in red.";
			
			if(name.val() == ''){
				name.addClass('error');
			}
			
			if(email.val() == ''){
				email.addClass('error');
			}
			
			if(phone.val() == ''){
				phone.addClass('error');
			}
			
			if(address.val() == ''){
				address.addClass('error');
			}
			
		}
		
		if(formok)
			return true;
		else
			alert(pleasefix);
			return false;
	});
	
});

function section_unavailable(selector){
	jQuery(selector+" .quote_section_inputs").hide('fast');
	jQuery(selector+" .quote_section_expand").html('not available');
	jQuery(selector+" .quote_section_expand").css('color', '#c7c7c7');
	jQuery(selector).css('background-image', 'none');
	jQuery(selector+" .quote_section_expand").css('background-image', 'url(/wp-content/themes/homestead/images/arrow-right-disabled.png)');
	jQuery(selector+" .quote_section_expand").css('padding-right', '16px');
}

function section_hide(selector){
	jQuery(selector+" .quote_section_inputs").hide('fast');
	jQuery(selector+" .quote_section_expand").html('click to expand');
	jQuery(selector+" .quote_section_expand").css('color', '#61808C');
	jQuery(selector).css('background-image', 'none');
	jQuery(selector+" .quote_section_expand").css('background-image', 'url(/wp-content/themes/homestead/images/arrow-right.png)');
	jQuery(selector+" .quote_section_expand").css('padding-right', '16px');
}

function section_show(selector){
	jQuery(selector+" .quote_section_inputs").show('fast');
	jQuery(selector+" .quote_section_expand").html('click to collapse');
	jQuery(selector+" .quote_section_expand").css('color', '#61808C');
	jQuery(selector).css('background', 'url(/wp-content/themes/homestead/images/quote-section-bg.jpg) top no-repeat #f3f3f3');
	jQuery(selector+" .quote_section_expand").css('background-image', 'url(/wp-content/themes/homestead/images/arrow-down.png)');
	jQuery(selector+" .quote_section_expand").css('padding-right', '23px');
}

function urlencode(str) {
	return escape(str).replace('+', '%2B').replace('%20', '+').replace('*', '%2A').replace('/', '%2F').replace('@', '%40');
}

function urldecode(str) {
	return escape(str).replace('+', ' ').replace('+', ' ').replace('%2A', '*').replace('%2F', '/').replace('%40', '@');
}

function getUrlVars(){
	var vars = [], hash;
	var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
	for(var i = 0; i < hashes.length; i++){
			hash = hashes[i].split('=');
			vars.push(hash[0]);
			vars[hash[0]] = hash[1];
	}
	return vars;
}

