//GLOBAL VARIABLES

var cards = new Array();

var apply_link = 'https://' + document.domain + '/cgi-bin/cartes/cardapp/apply.cgi';

var apply_business_link = 'https://' + document.domain + '/cgi-bin/cartes/busapp/apply.cgi';

var apply_creditline_link = 'https://' + document.domain + '/cgi-bin/cartes/clsb/apply.cgi';

var compare_tool_link = 'http://' + document.domain + '/cartes/tools/compare/index.html';

var select_tool_link = 'http://' + document.domain + '/cartes/tools/select/index.html';



// Card object constructor

//Fields correspond to excel card data file

function Card(id, name, ranking, interest_rate, grace_period, annual_fee, annual_fee_65, add_card_fee, min_income, type_rewards, type_student, type_lowrate, type_nofee, type_business, feature_merchandise, feature_travel, feature_specialty, feature_usdollar, feature_insurance, benefit, feature1, feature2, special_offer, learn_more) {

	this.id=id;

	this.name=name;

	this.ranking=ranking;

	this.interest_rate=interest_rate;

	this.grace_period=grace_period;

	this.annual_fee=annual_fee;

	this.annual_fee_65=annual_fee_65;

	this.add_card_fee=add_card_fee;

	this.min_income=min_income;

	this.benefit=benefit;

	this.feature1=feature1;

	this.feature2=feature2;

	this.special_offer=special_offer;	

	this.feature_merchandise=feature_merchandise;

	this.feature_travel=feature_travel;

	this.feature_specialty=feature_specialty;

	this.feature_usdollar=feature_usdollar;

	this.feature_insurance=feature_insurance;

	this.learn_more=learn_more;

	this.type_rewards=type_rewards;

	this.type_student=type_student;

	this.type_lowrate=type_lowrate;

	this.type_nofee=type_nofee;

	this.type_business=type_business;

}



//Main function -- initialise cards, check query params, display cards

function initializeCards() {

	//Initialise cards

	cards.push(new Card("avion_inf", "Visa Infinite* Voyages", "1", "19.50 %", "17", "120 $", "", "50 $", "60 000 $", "Y", "N", "N", "N", "N", "Y", "Y", "N", "N", "Y", "Primes-voyages et avantages de prestige", "Aucune p&eacute;riode d'interdiction ni aucune restriction de si&egrave;ge", "Un point RBC R&eacute;compenses pour chaque dollar d&eacute;pens&eacute;", "15 000 points en prime d'adh&eacute;sion<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/avion_inf.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "/cartes/rewards-cards/avion-infinite.html"));

	cards.push(new Card("avion_p", "Visa Platine Voyages", "2", "19.50 %", "17", "120 $", "", "50 $", "35 000 $", "Y", "N", "N", "N", "N", "Y", "Y", "N", "N", "Y", "&Eacute;changez vos points contre des primes-voyages avec n'importe quelle compagnie a&eacute;rienne", "Aucune p&eacute;riode d'interdiction ni aucune restriction de si&egrave;ge", "Un point RBC R&eacute;compenses pour chaque dollar d&eacute;pens&eacute;", "15 000 points en prime d'adh&eacute;sion<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/avion_p.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "/cartes/rewards-cards/avion-platinum.html"));

	cards.push(new Card("gold_p", "Visa Or Privil&egrave;ge", "3", "19.50 %", "21", "110 $", "70 $", "40 $", "35 000 $", "Y", "N", "N", "N", "N", "Y", "Y", "N", "N", "Y", "Couverture compl&egrave;te d'assurance", "Un point RBC R&eacute;compenses pour chaque dollar d&eacute;pens&eacute;", "&Eacute;changez vos points contre des primes-voyages, des articles et plus encore", "2 500 points en prime d'adh&eacute;sion<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/gold_p.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "/cartes/rewards-cards/gold-preferred.html"));

	cards.push(new Card("classic2", "Visa Classique II", "5", "19.50 %", "21", "35 $", "", "Gratuit", "15 000 $", "Y", "N", "N", "N", "N", "Y", "Y", "N", "N", "N", "Le parfait compagnon de magasinage", "Des points R&eacute;compenses pour chaque achat", "Un point RBC R&eacute;compenses pour chaque dollar d&eacute;pens&eacute;", "", "/cartes/rewards-cards/classic-2.html"));

	cards.push(new Card("classic2_student", "Visa Classique II pour &eacute;tudiant", "16", "19.50 %", "21", "15 $", "", "Gratuit", "n/a", "Y", "Y", "N", "N", "N", "Y", "Y", "N", "N", "N", "Le parfait compagnon de magasinage", "Des points R&eacute;compenses pour chaque achat", "Un point RBC R&eacute;compenses pour chaque dollar d&eacute;pens&eacute;", "", "/cartes/student-cards/classic-2-student.html"));

	cards.push(new Card("rewards_gold", "Visa Or RBC R&eacute;compenses", "6", "19.50 %", "21", "0 $", "", "Gratuit", "35 000 $", "Y", "N", "N", "Y", "N", "Y", "Y", "N", "N", "Y", "Une carte de cr&eacute;dit de prestige, sans frais annuels", "Un point RBC R&eacute;compenses par tranche d'achat de 2 $", "&Eacute;changez vos points contre des primes-voyages, des articles, des ch&egrave;ques/cartes-cadeaux et plus encore", "", "/cartes/rewards-cards/rewards-gold.html"));

	cards.push(new Card("rewards_classic", "Visa Classique RBC R&eacute;compenses", "7", "19.50 %", "21", "0 $", "", "Gratuit", "15 000 $", "Y", "N", "N", "Y", "N", "Y", "Y", "N", "N", "N", "Une carte de cr&eacute;dit RBC R&eacute;compenses, sans frais annuels", "Un point RBC R&eacute;compenses par tranche d'achat de 2 $", "&Eacute;changez vos points contre des primes-voyages, des articles, des ch&egrave;ques/cartes-cadeaux et plus encore", "", "/cartes/rewards-cards/rewards-classic.html"));

	cards.push(new Card("gold_us", "Visa Or en dollars US", "14", "19.50 %", "21", "65 $ USD", "", "30 $ USD", "35 000 $", "Y", "N", "N", "N", "N", "Y", "Y", "N", "Y", "Y", "Le choix id&eacute;al pour les personnes qui voyagent aux &Eacute;tats-Unis", "Effectuez vos op&eacute;rations en dollars am&eacute;ricains", "Un point RBC R&eacute;compenses pour chaque dollar US d&eacute;pens&eacute;", "", "/cartes/rewards-cards/us-gold.html"));

	cards.push(new Card("ba_platinum", "Visa British Airways Platine", "4", "20.50 %", "17", "165 $", "", "75 $", "35 000 $", "Y", "N", "N", "N", "N", "N", "Y", "Y", "N", "Y", "Assurance soins m&eacute;dicaux d'urgence hors de la province/du pays durant 31 jours", "Un mille BA par dollar d'achat port&eacute; &agrave; votre carte<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/ba_platinum.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "Le double de milles BA pour chaque billet d'avion British Airways port&eacute; &agrave; la carte<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/ba_platinum.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&sect;)</a></sup>", "10 000 milles BA en prime d'adh&eacute;sion<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/ba_platinum.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "/cartes/travel-cards/british-airways-platinum.html"));

	cards.push(new Card("cp_platinum", "Visa Cathay Pacific Platine", "10", "20.50 %", "17", "150 $", "", "75 $", "35 000 $", "Y", "N", "N", "N", "N", "Y", "Y", "Y", "N", "Y", "Accumulez des milles Asia miles qui pourront &ecirc;tre &eacute;chang&eacute;s contre des primes-voyages et plus encore", "Obtenez des milles Asia pour chaque achat port&eacute; &agrave; votre carte", "Inscription gratuite au club Marco Polo", "5 000 milles Asia en prime d'adh&eacute;sion<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/cp_platinum.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "/cartes/travel-cards/cathay-pacific-platinum.html"));

	cards.push(new Card("esso", "Visa Classique Esso", "9", "19.50 %", "21", "0 $", "", "Gratuit", "15 000 $", "Y", "N", "N", "Y", "N", "Y", "N", "Y", "N", "N", "Obtenez des points RBC R&eacute;compenses qui pourront &ecirc;tre &eacute;chang&eacute;s contre de l'essence gratuite aux stations Esso", "Carte de cr&eacute;dit sans frais annuels", "&Eacute;changez vos points contre des lavages d'auto, de l'essence, et plus encore", "", "/cartes/no-annual-fee-cards/esso.html"));

	cards.push(new Card("starbucks", "Visa Starbucks Duetto**", "8", "19.50 %", "21", "0 $", "", "Gratuit", "15 000 $", "Y", "N", "N", "Y", "N", "Y", "N", "Y", "N", "N", "Recevez 25 $ en prime &agrave; d&eacute;penser dans un Starbucks apr&egrave;s votre premier achat Visa<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/starbucks.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(+)</a></sup>", "Gagnez jusqu'&agrave; 3 % du montant d&eacute;pens&eacute; sur la partie Starbucks de votre carte Visa", "La souplesse et la tranquillit&eacute; d'esprit d'une carte Visa ainsi que la rapidit&eacute; et la commodit&eacute; d'une carte Starbucks rechargeable", "", "/cartes/no-annual-fee-cards/starbucks.html"));

	cards.push(new Card("platinum", "Visa Platine", "12", "19.50 %", "17", "0 $", "", "Gratuit", "35 000 $", "N", "N", "N", "Y", "N", "N", "N", "N", "N", "Y", "Carte de cr&eacute;dit Platine sans frais annuels", "Assurance voyage et assurance achats", "Limite de cr&eacute;dit allant jusqu'&agrave; 50 000 $", "", "/cartes/no-annual-fee-cards/platinum-no-fee.html"));

	cards.push(new Card("classic", "Visa Classique", "13", "19.50 %", "21", "0 $", "", "Gratuit", "15 000 $", "N", "N", "N", "Y", "N", "N", "N", "N", "N", "N", "Carte Visa de base pour une utilisation courante", "Carte de cr&eacute;dit sans frais annuels", "Carte suppl&eacute;mentaire gratuite", "", "/cartes/no-annual-fee-cards/classic.html"));

	cards.push(new Card("classic_lr", "Visa Classique &agrave; taux r&eacute;duit", "15", "11.90 %", "21", "20 $", "", "Gratuit", "15 000 $", "N", "N", "Y", "N", "N", "N", "N", "N", "N", "N", "Pratique, avantageuse et offrant un taux d'int&eacute;r&ecirc;t r&eacute;duit", "&Eacute;conomisez lorsque vous reportez un solde sur votre carte", "Carte suppl&eacute;mentaire gratuite", "", "/cartes/low-interest-rate-cards/classic-low-rate.html"));

	cards.push(new Card("classic_student", "Visa Classique pour &eacute;tudiant", "17", "19.50 %", "21", "0 $", "", "Gratuit", "n/a", "N", "Y", "N", "Y", "N", "N", "N", "N", "N", "N", "Carte Visa de base d'utilisation courante pour &eacute;tudiant", "Obtenez du cr&eacute;dit sans frais annuels", "Carte suppl&eacute;mentaire gratuite", "", "/cartes/student-cards/classic-student.html"));

	cards.push(new Card("business", "Visa Affaires", "19", "19.50 %", "21", "12 $", "", "", "n/a", "N", "N", "N", "N", "Y", "N", "N", "N", "N", "N", "Carte Visa Affaires souple et abordable", "Frais annuels peu &eacute;lev&eacute;s", "S&eacute;curit&eacute; et protection suppl&eacute;mentaires", "", "/cartes/business/visa_business.html"));

	cards.push(new Card("bus_avion", "Visa Affaires Voyages", "18", "19.50 %", "17", "120 $", "", "50 $", "n/a", "Y", "N", "N", "N", "Y", "Y", "Y", "N", "N", "Y", "S&eacute;parer les d&eacute;penses d'affaires des d&eacute;penses personnelles", "G&eacute;rer les d&eacute;penses de l'employ&eacute;", "Un point RBC R&eacute;compenses pour chaque dollar d&eacute;pens&eacute;", "15 000 points en prime d'adh&eacute;sion<sup><a href='/cartes/_assets-custom/includes/pop-up/terms-and-condition/bus_avion.html' title='Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)' target='_blank' onclick='return popupHelp(this.href)'>(&dagger;)</a></sup>", "/cartes/business/visa_business_avion.html"));

	cards.push(new Card("creditline", "Marge de Cr&eacute;dit Affaires", "20", "Taux pr&eacute;f&eacute;rentiel + majoration", "0", "0 $", "", "Gratuit", "n/a", "Y", "N", "Y", "Y", "Y", "Y", "Y", "N", "N", "N", "Marge de cr&eacute;dit avec la commodit&eacute; d'une carte de cr&eacute;dit", "Taux r&eacute;duit, sans frais annuels", "Points RBC R&eacute;compenses en prime", "", "/cartes/business/creditline.html"));

}



//Takes out "$", ",", "N/A", "n/a" from string to make it a valid number

function convertToNumber(str){

	var number = 0;

	number = str.replace(/\$/, "");

	number = number.replace(/,/, "");

	number = number.replace(/N\/A/, "");

	number = number.replace(/n\/a/, "");

	number = number.replace(" ", "");
		
	if (number == '') number = 0.00;

	

	return Number(number);

}



//Retrieves card object with specific id

function getCardObjectById(cid) {

	var temp;

	for (var x=0; x< cards.length; x++) {

		temp = cards[x].id;

		if (cid == temp) return cards[x];

	}

	

	return null;

}



//Retrieves specified parameter from URL string

function getURLParam(strParamName) {	

	// GetURL Params value from querystring

	var qs = location.search.split('?');

	if (qs.length > 1) {

	var pairs = qs[1].split("&");

		for (var i=0; i<pairs.length; i++) {

			var namevalue = pairs[i].split("=", 2);

			var name = unescape(namevalue[0]);

			var value = unescape(namevalue[1]);

			if (name.toUpperCase() == strParamName.toUpperCase()) {

				return value;

				//break;

			}

		}

	}

	return null;

}