$(document).ready(function() {
	
	//SET DEFAULT VARIABLES
	var category = $('#category').val();	
	var original_category = $('#category').val();
	var view = "list";
	var page_number = 1;
	var code = $('#code').val();
	var original_code = $('#code').val();
	if($('#card_issuer').val()=='') {
		var original_card_issuer = "CIA";
	}else {
		var original_card_issuer = $('#card_issuer').val();
	}
	if($('#card_type').val()=='') {
		var original_card_type = "CTA";
	}else {
		var original_card_type = $('#card_type').val();
	}

	var show_count = "10";
	var page_url = window.location.pathname;
	
	//COLOR APPROPRIATE LABELS FOR CHECKBOXES
	$('.card-option:checked').each(function(index) {
		$('label[for='+$(this).attr("id")+']').css('color','#900');
	});

	//IF CARD ISSUER LANDING PAGE
	if($('#card_issuer').val()=='AEX' || $('#card_issuer').val()=='CAP' || $('#card_issuer').val()=='CHA' || $('#card_issuer').val()=='CIT' || $('#card_issuer').val()=='DIS') {
		$('#card_issuers').css('display','none');
	
		if($('#card_issuer').val()=='CAP' || $('#card_issuer').val()=='CHA' || $('#card_issuer').val()=='CIT') {
			if($('#card_issuer').val()=='CAP'){
				var issuing_bank = "Capital One";
			} else if($('#card_issuer').val()=='CHA') {
				var issuing_bank = "Chase";
			}else if($('#card_issuer').val()=='CIT'){
				var issuing_bank = "Citi";
			}
			$('#A').css('display','none');
			$('label[for=A]').css('display','none');
			$('#D').css('display','none');
			$('label[for=D]').css('display','none');
			$('#reset_text').html('This page features '+ issuing_bank +' credit cards. To view cards from other banks, <a href="#" id="reset_link">click here.</a>');
		} else if($('#card_issuer').val()=='AEX' || $('#card_issuer').val()=='DIS') {
			if($('#card_issuer').val()=='AEX'){
				var issuing_bank = "American Express";
			} else if($('#card_issuer').val()=='DIS') {
				var issuing_bank = "Discover";
			}
			$('#card_types').css('display','none');
			$('#reset_text').html('This page features '+ issuing_bank +' credit cards. To view cards from other issuers, <a href="#" id="reset_link">click here.</a>');
		} 
		$('label[for=CTA]').css('color','#900');
	} else {
		$('label[for=CIA]').css('color','#900');
	}

	//IF CARD TYPE LANDING PAGE
	if($('#card_type').val()=='V' || $('#card_type').val()=='M') {
			
			$('label[for='+$('#card_type').val()+']').css('color','#900');
			
			if($('#card_type').val()=='V'){
				var issuing_bank = "Visa";
			} else if($('#card_type').val()=='M') {
				var issuing_bank = "MasterCard";
			}
			
			$('#AEX').css('display','none');
			$('label[for=AEX]').css('display','none');
			$('#CIT').css('display','none');
			$('label[for=CIT]').css('display','none');
			$('#A').css('display','none');
			$('label[for=A]').css('display','none');
			$('#D').css('display','none');
			$('label[for=D]').css('display','none');
			
			$('#reset_text').html('This page features '+issuing_bank+' credit cards. To view other card types, <a href="#" id="reset_link">click here.</a>');
	} else {
		$('label[for=CTA]').css('color','#900');
	}
	
	//DEFAULT VIEW WHEN PAGE LOADS
	get_cards(category,view,page_number,code,show_count);
	
	////////////////////////////////////////////////////////////////////////////////////////////////////
	
	//USER ACTIONS
	$('#compare').click(function(e) {
		e.preventDefault();
		var compare_params = "";
		var compare = $('.compare:checked').map(function(i,n) {
        	if(i != 0) {
				compare_params = compare_params + "&";		
			}
			compare_params = compare_params + "comp[" + $(n).val() + "]=on";
    	})
		var compare_url = "compare_cards.php?" + compare_params;
		$("#compare").colorbox({href:compare_url, height:"100%"});
	});	
	
	$('.category-link').click(function(e) {
		category = $(this).attr('rel');
		e.preventDefault();
		get_cards($(this).attr('rel'),view,1,code,$('select[name="show_count"]').val());
	});
	
	$('.card-option').change(function() {
		if($(this).is(':checked')) {
			$('label[for='+$(this).attr('id')+']').css("color","#900");
		} else {
			$('label[for='+$(this).attr('id')+']').css("color","#000");
		}
		get_cards(category,view,1,code,$('select[name="show_count"]').val());
	});
	
	$('input[name=card_issuer]').click(function() {
		//SET HIDDEN INPUT VALUE
		$('#card_issuer').val($(this).attr('id'));
		$('input[name="'+ $(this).attr("name") +'"]').siblings().css('color','black');
		if($(this).is(':checked')) {	
			$('label[for='+$(this).attr('id')+']').css("color","#900");
		} else {
			$('label[for='+$(this).attr('id')+']').css("color","#000");
		}
		get_cards(category,view,1,code,$('select[name="show_count"]').val());
	});
	
	$('input[name=card_type]').click(function() {
		$('#card_type').val($(this).attr('id'));
		$('input[name="'+ $(this).attr("name") +'"]').siblings().css('color','black');
		if($(this).is(':checked')) {	
			$('label[for='+$(this).attr('id')+']').css("color","#900");
		} else {
			$('label[for='+$(this).attr('id')+']').css("color","#000");
		}
		get_cards(category,view,1,code,$('select[name="show_count"]').val());
	});
	
	$('#btn_reset').click(function() {
		$('#frm_options')[0].reset();
		$('.card-option').each(function(index) {
			$(this).removeAttr("checked");
		});
		$('#'+original_code).attr("checked","checked");
		
		$('label').css('color','black');
		$('label[for='+code+']').css("color","#900");
		$('label[for='+original_card_issuer+']').css("color","#900");
		$('label[for='+original_card_type+']').css("color","#900");
		category = original_category;
		view = "list";
		page_number = 1;
		code = original_code;
		$('#card_issuer').val(original_card_issuer);
		$('#card_type').val(original_card_type);
		show_count = "10";
		get_cards(category,view,page_number,code,show_count);
		$( 'html, body' ).animate( { scrollTop: 0 }, 'slow' );
	});
	
	$('#reset_link').live('click', function(e) {
		e.preventDefault();
		if(category=="CONS") {
			var cat_link = "consumer";
		} else if(category=="BU"){
			var cat_link = "business_credit_card";
		} else if(category=="ST") {
			var cat_link = "student_credit_card";
		}
		
		var link = "/creditcards/" + cat_link + "/";
		var started = 0;
		
		//Cycle through card options
		$('.card-option:checked').each(function(index) {
		    if(index == 0) {
				started = 1;
				link = link + "?" + $(this).attr("id") + "=true";
			} else {
				link = link + "&" + $(this).attr("id") + "=true";
			}
		});
		
		if(started==0) {
			started = 1;
			link = link + '?' + $('input[name=card_issuer]:checked').attr('id') + "=true";
		}else{
			link + '&' + $('input[name=card_issuer]:checked').attr('id') + "=true";
		} 
		if(started==0) {
			link = link + '?' + $('input[name=card_type]:checked').attr('id') + "=true";
		}else {
			link = link + '&' + $('input[name=card_type]:checked').attr('id') + "=true";
		}
		
		window.location = link;
	});
	
	$('.view_type').click(function(e) {
		e.preventDefault();
		view = $(this).attr('rel');
		if(view=="list") {
			show_count = $('select[name="show_count"]').val();
		} else {
			show_count ="0";	
		}
		get_cards(category,view,1,code,show_count);	
	});
	
	$('.page_num').live('click', function(e) {
		e.preventDefault();
		get_cards(category,"list",$(this).attr('rel'),"",$('select[name="show_count"]').val());	
		$( 'html, body' ).animate( { scrollTop: 0 }, 'slow' );
	});
	
	$('#show_count').live('change', function() {
		get_cards(category,"list","1",code,$('select[name="show_count"]').val());	
	});
	
	$('.category-link').hover(function() {
		$(this).parent().css('background-color', 'green');
		}, function() {
		if( $(this).attr('rel') == category) {
			$(this).parent().css('background-color','#6699CC');
		} else {
			$(this).parent().css('background-color','#999');
		}
	});
	
	function reset_page() {
		$('#pagination').empty();
		$('#results').empty();
		$('#card-results').empty();	
	}
	
	function get_cards(category,view,page_number,code,show_count) {
		
		reset_page();
		
		$('.category').css({"background-color":"#999"});
		$('a[rel="'+category+'"]').parent("td").css({"background-color":"#6699CC", "color":"white"});
		$('a[rel="'+category+'"]').css({"color":"white"});
	 	
		$.ajax({
			type: "POST",
			url: "php/results.php",
			dataType: "json",
			data: {zero_on_purchases: $('#PUR').is(':checked'),zero_on_balances: $('#BAL').is(':checked'),bonus_cash_credit: $('#BCC').is(':checked'),bonus_miles: $('#BOM').is(':checked'),bonus_points: $('#BOP').is(':checked'),cash_back: $('#CAS').is(':checked'),gas: $('#GAS').is(':checked'),merchandise: $('#SHO').is(':checked'),travel: $('#AIR').is(':checked'),no_annual_fee: $('#NOF').is(':checked'),annual_waived: $('#ANW').is(':checked'),low_interest_rate: $('#LIR').is(':checked'),instant_decision: $('#IAP').is(':checked'), charge_card: $('#CHG').is(':checked'),card_issuer:$('#card_issuer').val(),card_type: $('#card_type').val(),credit_rating: $('select[name="credit_rating"]').val(),category: category,page_number: page_number,show_count: show_count,intro_code: code,page_url: page_url},
			beforeSend: function() {
				$('#card-results').html('<div style="text-align:center;padding-top:50px"><img src="http://static.myrateplan.com/imgs/spinner.gif" /></div>');
			},
			success: function(data) {	
						$('#card-results').empty();
						
						if(data.results == null) {
							$('#results').html("0");
							$('#card-results').prepend('<div style="height:200px; text-align:center; font-weight:bold;padding-top:50px">NO RESULTS</div>');
						} else {
							if(view == "image") {
								$.each(data.results, function(key, value) { 
									$('#card-results').css('border-left','1px solid #ccc');
									$('#card-results').append('<div id="card_'+data.results[key].card_id+'" class="image_view"><a target="_blank" href="'+data.results[key].link_url+'"><img src="'+data.results[key].gif_path+'" class="card-image" /></a><div><a class="card-name" target=_blank href="'+data.results[key].card_details+'">'+data.results[key].card_name+'</a></div><div><input type="checkbox" name="compare[]" class="compare" value="'+data.results[key].card_id+'"></div></div>');
								if (key%2 != 0) {
										$('#card_' + data.results[key].card_id).addClass("card-details-alt");
									}
								
								});
							} else {
								$.each(data.results, function(key, value) {   
									var our_rating = "";
									var rating = data.results[key].rating.split(".");
									var total_boxes;
									
									for(i=1;i<=rating[0];i++) {
										our_rating = our_rating + '<img src="../imgs/onsquare.gif" />';
										total_boxes = i;
									}
									
									if(rating[1] == "5") {
										our_rating = our_rating + '<img src="../imgs/halfsquare.gif" />';
										total_boxes = total_boxes + 1;
									}
									for(i=total_boxes;i<5;i++) {
										our_rating = our_rating + '<img src="../imgs/offsquare.gif" />';
									}
									
									
									$('#card-results').css('border','none');
									
									$('#card-results').append('<div id="card_'+data.results[key].card_id+'" class="card-details"><div style="overflow:hidden;margin-bottom:10px"><a target=_blank href="'+data.results[key].link_url+'"><div style="overflow:hidden;width:135px;float:left"><img src="'+data.results[key].gif_path+'" class="card-image" /></a></div><div class="card-details-top"><a class="card-name" target=_blank href="'+data.results[key].card_details+'">'+data.results[key].card_name+'</a><br /><span>'+data.results[key].intro_offer+'</span><br /><div style="float:left;width:205px"><span style="font-weight:bold">APR: </span>'+data.results[key].pur_rate+'</div><div style="float:left;width:140px"><span style="font-weight:bold">Annual Fee: </span>'+data.results[key].ann_fee+'</div><div style="clear:both"><div><span>Our Rating: </span>'+our_rating+'</div></div><a href="../terms.php?card_id='+data.results[key].card_id+'" rel="card_info"><img src="../images/cc_info.gif" class="card_info_img" /></a></div><div style="clear:both">'+data.results[key].comments+'</div><div class="card-details-bottom"><div style="float:right"><a target=_blank href="'+data.results[key].link_url+'"><img style="margin-left:10px" src="http://static.myrateplan.com/images/applyonline.png" /></a></div><div style="float:right"><input type="checkbox" name="compare[]" class="compare" value="'+data.results[key].card_id+'"><label>Compare</label></div></div></div>');
								
									$("a[rel='card_info']").colorbox({previous:"",next:"",current:""});
								
									if (key%2 != 0) {
										$('#card_' + data.results[key].card_id).addClass("card-details-alt");
									}
									
								});
							}
							
							$('#intro_text').html(data.intro_text);
							$('#results').html(data.card_count);
							
							if(data.card_count < 10 || view == "image") {
								$('#show_count').hide();				
							} else {
								$('#show_count').show();
							}
						
							if(show_count != "0") {
								var pages = Math.ceil(data.card_count / show_count);
								$('#pagination').html("Page: ");
								for(i=1;i<= pages;i++) {
									$('#pagination').append('<a class="page_num" href="#" rel="'+i+'">'+i+'</a> ');
								}
							}
						}
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
						alert ("ERROR: " + textStatus + ": " + errorThrown);
			}
		});	
	}
});

