//GLOBAL VARIABLES
var card1_param = null;
var card2_param = null;
var card3_param = null;
var card1 = new Card();
var card2 = new Card();
var card3 = new Card();
var empty_card_image = '/cards/_assets-custom/images/empty-card.gif';

//Main function -- initialise cards, check query params, display cards
function init() {
	//Initialize Cards
	initializeCards();

	//Check query params for cards to compare
	card1_param = getURLParam('c1');
	card2_param = getURLParam('c2');
	card3_param = getURLParam('c3');
		
	//Get card objects
	if (card1_param != null) card1 = getCardObjectById(card1_param);
	if (card2_param != null) card2 = getCardObjectById(card2_param);
	if (card3_param != null) card3 = getCardObjectById(card3_param);	
	
	//Set data in columns
	setCardColumnData(1); 
	setCardColumnData(2); 
	setCardColumnData(3); 
}

//Fills column with card data, if a card column is empty it also displays the card list
function setCardColumnData(num) {
	//Set card object
	var card;
	if (num == 1) card = card1;
	if (num == 2) card = card2;
	if (num == 3) card = card3;

	//Fill data
	if (card.id != undefined) {
		document.getElementById('c' + num + '_change').style.display = '';
		document.getElementById('c' + num + '_add').style.display = 'none';	
		document.getElementById('c' + num + '_name').innerHTML = card.name;
		document.getElementById('c' + num + '_image').src = '/cards/_assets-custom/images/mid-cards/m_' + card.id + '.gif';
		document.getElementById('c' + num + '_image').alt = card.name;
		document.getElementById('c' + num + '_links').style.display = '';
		document.getElementById('c' + num + '_choose').style.display = 'none';
		document.getElementById('c' + num + '_learn_more').href = card.learn_more;
		document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id;
		document.getElementById('c' + num + '_benefit').innerHTML = card.benefit;
		document.getElementById('c' + num + '_interest_rate').innerHTML = card.interest_rate;
		document.getElementById('c' + num + '_grace_period').innerHTML = card.grace_period;
		document.getElementById('c' + num + '_annual_fee').innerHTML = card.annual_fee  + ' ';
		//if (card.annual_fee_65 != '') document.getElementById('c' + num + '_annual_fee').innerHTML += '<br />' + card.annual_fee_65 + ' (age 65+)';
		document.getElementById('c' + num + '_add_card_fee').innerHTML = card.add_card_fee;
		document.getElementById('c' + num + '_min_income').innerHTML = card.min_income;
		document.getElementById('c' + num + '_features').innerHTML = '<li>' + card.feature1 + '</li><li>' + card.feature2 + '</li>';
		document.getElementById('c' + num + '_merchandise').innerHTML = (card.feature_merchandise=='Y') ? "Yes" : "No";
		document.getElementById('c' + num + '_travel').innerHTML = (card.feature_travel=='Y') ? "Yes" : "No";
		document.getElementById('c' + num + '_comprehensive').innerHTML = (card.feature_insurance=='Y') ? "Yes" : "No";
		document.getElementById('c' + num + '_special_offer').innerHTML = (card.special_offer == '') ? '' : '<li>' + card.special_offer + '</li>';
		document.getElementById('c' + num + '_footer_links').style.display = '';
		document.getElementById('c' + num + '_learn_more_footer').href = card.learn_more; 
		document.getElementById('c' + num + '_learn_more_footer').style.display = '';
		
		if (card.id == 'business') {
			document.getElementById('c' + num + '_apply_footer').href = apply_business_link;
			document.getElementById('c' + num + '_apply').href = apply_business_link;
			}
		else if (card.id == 'bus_avion') {
			document.getElementById('c' + num + '_apply_footer').href = apply_business_avion_link;
			document.getElementById('c' + num + '_apply').href = apply_business_avion_link;
			}
		else if (card.id == 'creditline') {
			document.getElementById('c' + num + '_apply_footer').href = apply_creditline_link;
			document.getElementById('c' + num + '_apply').href = apply_creditline_link;
			}
		else if (card.id == 'cashback'){ 
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=HD0024'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=HD0024';
		}else if (card.id == 'avion_inf'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP069'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP069'; 
		}else if (card.id == 'rewards_gold'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP037'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP037'; 
		}else if (card.id == 'classic2'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP004'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP004'; 
		}else if (card.id == 'avion_p'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP001'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP001'; 
		}else if (card.id == 'gold_p'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP002'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP002'; 
		}else if (card.id == 'ba_platinum'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP009'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP009'; 
		}else if (card.id == 'cp_platinum'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP035'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP035'; 
		}else if (card.id == 'gold_us'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP007'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP007'; 
		}else if (card.id == 'esso'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP011'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP011'; 
		}else if (card.id == 'classic_lr'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP014'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP014'; 
		}else if (card.id == 'platinum'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=IAP012'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=IAP012'; 
		}else if (card.id == 'westjet' || obj.id == 'westjet_world'){
			document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id + '&ASC=WJR061'; 
			document.getElementById('c' + num + '_apply').href = apply_link + '?cid=' + card.id + '&ASC=WJR061'; 
		}else document.getElementById('c' + num + '_apply_footer').href = apply_link + '?cid=' + card.id; 
			
		document.getElementById('c' + num + '_apply_footer').style.display = '';
		document.getElementById('c' + num + '_cardlist').style.display = 'none';	
		$('#c' + num + '_cardlist').hide("blind", {}, 500);												
	}
	else {
		document.getElementById('c' + num + '_change').style.display = 'none';
		document.getElementById('c' + num + '_add').style.display = '';
		document.getElementById('c' + num + '_name').innerHTML = '';
		document.getElementById('c' + num + '_image').src = empty_card_image;
		document.getElementById('c' + num + '_image').alt = '';
		document.getElementById('c' + num + '_links').style.display = 'none';
		document.getElementById('c' + num + '_choose').style.display = '';		
		document.getElementById('c' + num + '_learn_more').href = '';
		document.getElementById('c' + num + '_apply').href = '';
		document.getElementById('c' + num + '_benefit').innerHTML = '';
		document.getElementById('c' + num + '_interest_rate').innerHTML = '';
		document.getElementById('c' + num + '_grace_period').innerHTML = '';
		document.getElementById('c' + num + '_annual_fee').innerHTML = '';
		document.getElementById('c' + num + '_add_card_fee').innerHTML = '';
		document.getElementById('c' + num + '_min_income').innerHTML = '';
		document.getElementById('c' + num + '_features').innerHTML = '';
		document.getElementById('c' + num + '_merchandise').innerHTML = '';
		document.getElementById('c' + num + '_travel').innerHTML = '';
		document.getElementById('c' + num + '_comprehensive').innerHTML = '';
		document.getElementById('c' + num + '_special_offer').innerHTML = '';
		document.getElementById('c' + num + '_footer_links').style.display = 'none';
		document.getElementById('c' + num + '_learn_more_footer').style.display = 'none';
		document.getElementById('c' + num + '_apply_footer').style.display = 'none';	
		populateCardList(num, true);
	}
}

//Populates and displays the card list
function populateCardList(num, animate) {
	//Get Current Category
	var cat = document.getElementById('c' + num + '_cardlist_category').value;

	//Create List
	var temp;
	var list = '';
	for (var x=0; x< cards.length; x++) {
		temp = cards[x].id;
		if (temp != card1.id && temp != card2.id && temp != card3.id) {
			//Ensure card is part of selected category
			if ((cat == 'rewards' && cards[x].type_rewards=='Y') || (cat == 'travel' && cards[x].feature_travel=='Y') || (cat == 'student' && cards[x].type_student=='Y') || (cat == 'lowrate' && cards[x].type_lowrate=='Y') || (cat == 'nofee' && cards[x].type_nofee=='Y') || (cat == 'business' && cards[x].type_business=='Y') || (cat == 'cashback' && cards[x].type_cashback == 'Y')) {
					list += '<li><a href="javascript:changeColumnCard(' + num + ', \'' + cards[x].id + '\')">' + cards[x].name + '</a></li>';	
			}
		}
	}
	
	if (list == '' && cat!='') list = 'Please choose a different category.'; 
	else if (list == '' && cat=='') list = 'Please choose a category to add a card';
	document.getElementById('c' + num + '_cardlist_links').innerHTML = list;
	
	//Show displays blind rolldown animation
	if (animate) $('#c' + num + '_cardlist').show("blind", {}, 500);
}

//Clears the card object for the given column
function clearCardObject(num) {
	//Default cardlisting to "Seelct" category
	document.getElementById('c' + num + '_cardlist_category').selectedIndex = 0;
	
	
	//Remove current card from given column
	if (num == 1) card1 = new Card();
	else if (num == 2) card2 = new Card();
	else if (num == 3) card3 = new Card();
	
	//Set this columns data to blank
	setCardColumnData(num);
	
	//Repopulate other lists
	if (num != 1) populateCardList(1, false);
	if (num != 2) populateCardList(2, false);
	if (num != 3) populateCardList(3, false);	
}

//Changes the columns card and sets the data
function changeColumnCard(num, cid) {
	//Set card object
	if (num == 1) card1 = getCardObjectById(cid);
	else if (num == 2) card2 = getCardObjectById(cid);
	else if (num == 3) card3 = getCardObjectById(cid);
	
	//Set data in column
	setCardColumnData(num); 
	
	//Repopulate other lists
	if (num != 1) populateCardList(1, false);
	if (num != 2) populateCardList(2, false);
	if (num != 3) populateCardList(3, false);	
	
}

