//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/entreprises/credit/apply.cgi?exclusiveItem=apClassBus';
var apply_business_avion_link = 'https://' + document.domain + '/cgi-bin/entreprises/credit/apply.cgi?exclusiveItem=apAvionBus';
var apply_creditline_link = 'https://' + document.domain + '/cgi-bin/entreprises/credit/apply.cgi?exclusiveItem=apCreditLine';
var compare_tool_link = 'http://' + document.domain + '/cartes/tools/compare/index.html';
var select_tool_link = 'http://' + document.domain + '/cartes/tools/select/index.html';
var xmlhttp;
// 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_cashback, 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;
	
	
	this.type_cashback=type_cashback;
}
//Main function -- initialise cards, check query params, display cards
function initializeCards() {
	//Initialise cards
	cards.push(new Card("avion_inf", 		"Visa Infinite* Voyages", 						"1", 	"19,99 %", 										"21", 	"120 $", 	"", 	"50 $", 	"60 000 $", "N","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,99 %", 										"21", 	"120 $", 	"", 	"50 $", 	"n/a",		"N","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 Privil&egrave;ge RBC R&eacute;compenses ", 					"5", 	"19,99 %", 										"21", 	"110 $", 	"70 $", "40 $", 	"n/a",		"N","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", 		"Signature RBC R&eacute;compenses Visa ", 							"7", 	"19,99 %", 										"21", 	"39 $", 	"", 	"Gratuit", 	"n/a",		"N","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", 		"15", 	"19,99 %", 										"21", 	"15 $", 	"", 	"Gratuit", 	"n/a",		"N","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/student-cards/classic-2-student.html"));
	cards.push(new Card("rewards_gold", 	"Visa Or RBC R&eacute;compenses", 				"8", 	"19,99 %", 										"21", 	"0 $", 		"", 	"Gratuit", 	"n/a",		"N","Y","Y","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("gold_us", 			"Visa Or en dollars US", 						"12", 	"19,99 %", 										"21", 	"65 $ USD", "", 	"30 $ USD", "n/a", 		"N","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", 				"6", 	"20,50 %", 										"21", 	"165 $", 	"", 	"75 $", 	"n/a", 		"N","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 point Avios 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 points Avios 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 points Avios 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", 					"11", 	"20,50 %", 										"21", 	"150 $", 	"", 	"75 $", 	"n/a", 		"N","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", 							"10", 	"19,99 %", 										"21", 	"0 $", 		"", 	"Gratuit", 	"n/a",		"N","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**", 						"9", 	"19.50 %", 										"21", 	"0 $", 		"", 	"Gratuit", 	"n/a",		"N","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", 								"14", 	"19,99 %", 										"21", 	"0 $", 		"", 	"Gratuit", 	"n/a", 		"N","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_lr", 		"Visa Classique &agrave; taux r&eacute;duit", 	"13", 	"11,99 %", 										"21", 	"20 $", 	"", 	"Gratuit", 	"n/a", 		"N","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", 			"16", 	"19,99 %", 										"21", 	"0 $", 		"", 	"Gratuit", 	"n/a",		"N","N","N","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("westjet", 			"WestJet MasterCard RBC", 						"4", 	"19,99 %", 										"21", 	"39 $", 	"39 $", "19 $", 	"15 000 $",		"N","Y","N","N","N","N","N","Y","Y","N","N", "Obtenez des dollars WestJet pouvant &ecirc;tre &eacute;chang&eacute;s contre des vols WestJet ou des forfaits vacances WestJet.", "Obtenez 1 % des d&eacute;penses effectu&eacute;es sur votre carte de cr&eacute;dit en dollars WestJet ", "Obtenez 0,5 % de l'achat net de vols WestJet ou de forfaits vacances WestJet.", "25 dollars WestJet en prime &agrave; l'adh&eacute;sion", "/cartes/travel-cards/westjet.html"));
	cards.push(new Card("westjet_world", 	"WestJet World MasterCard RBC", 				"3", 	"19,99 %", 										"21", 	"79 $", 	"79 $", "39 $", 	"70 000 $", 	"N","Y","N","N","N","N","N","Y","Y","N","Y", "Obtenez des dollars WestJet pouvant &ecirc;tre &eacute;chang&eacute;s contre des vols WestJet ou des forfaits vacances WestJet.", "Obtenez 1,5 % des d&eacute;penses effectu&eacute;es sur votre carte de cr&eacute;dit en dollars WestJet ", "Couverture compl&egrave;te d'assurance", "100 dollars WestJet en prime &agrave; l'adh&eacute;sion", "/cartes/travel-cards/westjet-world-mastercard.html"));
	
	cards.push(new Card("business", 		"Visa Affaires", 								"19", 	"19,99 %", 										"21", 	"12 $", 	"", 	"", 		"n/a", 		"N","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", 						"17", 	"19,99 %", 										"17", 	"120 $", 	"", 	"50 $", 	"n/a", 		"N","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",		"N","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"));
	
	cards.push(new Card("cashback", 		"Visa Remise en argent", 							"21", 	"19,99 %", 										"21", 	"19 $", 		"", 	"Gratuit", 	"15 000 $", 		"Y","N", "Y", "N", "N", "N", "N", "N", "N", "N", "N", "Recevez une <strong>remise en argent de 1 %</strong> sur tous vos achats admissibles<a href='/carteremiseenargent/legal.html' onclick='return popupHelp(this.href)' title='(ouvre un nouvelle fen&ecirc;tre)' target='_blank' class='linkedtextandicon'>&sup1;</a>", "Utilisez notre service gratuit Transfert sur mesure<sup>&reg;</sup>", "", "", "/cartes/cash-back-cards/cash-back-cards.html"));
	cards.push(new Card("cashback_mc", 		"Carte Remise en argent MasterCard", 							"21", 	"19,99 %", 										"22", 	"0 $", 		"", 	"Gratuit", 	"15 000 $", 		"Y","N", "Y", "N", "Y", "N", "N", "N", "N", "N", "N", "Obtenez une remise en argent de 2 % sur vos achats d'&eacute;picerie.", "Obtenez jusqu'&agrave; 1 % de remise en argent sur vos achats courants et vos paiements pr&eacute;autoris&eacute;s<sup><a href=\"http://www.rbcbanqueroyale.com/cartes/_assets-custom/includes/pop-up/terms-and-condition/cashback_mc.html\" title=\"Conditions g&eacute;n&eacute;rales (ouvre une nouvelle fen&ecirc;tre)\" target=\"_blank\" onclick=\"return popupHelp(this.href)\">*</a></sup> port&eacute;s &agrave; votre compte Remise en argent MasterCard RBC.", "", "", "/cartes/cash-back-cards/cash-back-mastercard/index.html"));
	cards.push(new Card("bus_cashback", "Remise en argent Affaires MasterCard RBC", "23", "19.99%", "21", "0 $", "", "Gratuit", "n/a", "N", "N", "N", "N", "N","Y", "N", "N", "N", "N", "N","La carte Remise en argent Affaires MasterCard RBC est un excellent moyen de s&eacute;parer vos d&eacute;penses d'entreprise de vos d&eacute;penses personnelles et de g&eacute;rer vos flux de tr&eacute;sorerie au quotidien. Elle vous permet d'obtenir une remise en argent lorsque vous achetez ce dont vous avez besoin, tout en profitant d'une protection automatique de vos achats contre la perte, le vol ou les dommages." ,"Obtenez une remise en argent de 2 % sur tous vos achats<sup><a href=\"/entreprises/financing/_assets-custom/includes/pop-up/business_cash_back-legal.html#cross\" onclick=\"return popupHelp(this.href)\" title=\"(ouvre un nouvelle fen&ecirc;tre)\" target=\"_blank\" class=\"linkedtextandicon\"><span>*</span></a></sup> pendant les trois premiers mois lorsque votre compte est ouvert avant le 31 octobre 2012.", "Obtenez une remise en argent de 1 %<sup><a href=\"/entreprises/financing/_assets-custom/includes/pop-up/business_cash_back-legal.html#cross\" onclick=\"return popupHelp(this.href)\" title=\"(ouvre un nouvelle fen&ecirc;tre)\" target=\"_blank\" class=\"linkedtextandicon\"><span>*</span></a></sup> sur tous vos achats &agrave; compter du quatri&egrave;me mois.", "", "/entreprises/financing/business-credit-cards/business_cash_back.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/, "");
		
	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;
}
