//GLOBAL VARIABLES
var cards = new Array();
var apply_link = 'https://' + document.domain + '/cgi-bin/cards/cardapp/apply.cgi';
var apply_business_link = 'https://' + document.domain + '/cgi-bin/cards/busapp/apply.cgi';
var apply_creditline_link = 'https://' + document.domain + '/cgi-bin/cards/clsb/apply.cgi';
var compare_tool_link = 'http://' + document.domain + '/produits/cpg/tools/compare/index.html';
var select_tool_link = 'http://' + document.domain + '/produits/cpg/tools/select/index.html';
// Card object constructor
//Fields correspond to excel card data file
function Card(id, name, type, weight, goal1, goal2, goal3, goal4, amount1, amount2, access1, access2, term1, term2, term3, redeemable, min_inv, inv_terms, learn_more, desc, features, int_pay_opt, plan_eligib) {
	this.id=id;
	this.name=name;
	this.type=type;
	this.weight=weight;
	this.goal1=goal1;
	this.goal2=goal2;
	this.goal3=goal3;
	this.goal4=goal4;
	this.amount1=amount1;
	this.amount2=amount2;
	this.access1=access1;
	this.access2=access2;
	this.term1=term1;
	this.term2=term2;
	this.term3=term3;
	this.redeemable=redeemable;
	this.min_inv=min_inv;
	this.inv_terms=inv_terms;
	this.learn_more=learn_more;
	this.desc=desc;
	this.features=features;	
	this.int_pay_opt=int_pay_opt;	
	this.plan_eligib=plan_eligib;	
}
//Main function -- initialise cards, check query params, display cards
function initializeCards() {
	//Initialise cards
cards.push(new Card("p00_non_redeemable", "CPG non remboursables", "Guaranteed-return", "0", "2","10","10","8", "10","10", "-99","10", "10","10","10", "Non", "<ul><li>500 $ pour les REER, CELI, REEE et REEI</li><li>1 000 $*</li><li>5 000 $ (pour les termes de 30 &agrave; 364 jours) ou</li><li>100 000 $ (pour les termes de moins de 30 jours)</li></ul><br />*5 000 $ pour les clients qui souhaitent toucher des int&eacute;r&ecirc;ts mensuellement", "<ul><li>De 1 &agrave; 364 jours</li><li>1, 5, 7 ou 10 ans</li></ul>", "/produits/cpg/regulargic.html", "Offre un taux d'int&eacute;r&ecirc;t fixe pour un terme d&eacute;termin&eacute;; le capital et le versement des int&eacute;r&ecirc;ts sont garantis.", "<ul><li>Taux d'int&eacute;r&ecirc;t concurrentiels</li><li>Choix de la fr&eacute;quence de paiement des int&eacute;r&ecirc;ts</li><li>Termes de placement souples</li><li>S&eacute;curit&eacute; assur&eacute;e</li></ul>", "<ul><li>Termes de moins de un an, int&eacute;r&ecirc;ts payables &agrave; l'&eacute;ch&eacute;ance</li><li>Termes de un an ou plus, int&eacute;r&ecirc;ts pay&eacute;s mensuellement, versements mensuels &eacute;gaux, semestriellement, annuellement ou &agrave; l'&eacute;ch&eacute;ance (les int&eacute;r&ecirc;ts sont compos&eacute;s annuellement)</li></ul>","Non enregistr&eacute;s, REER, CELI, REEE, FERR, FRV et REEI<br /><br /><span class='subcopy'>Toutes les options de paiement ne sont pas offertes pour tous les types de r&eacute;gime.</span>"));
cards.push(new Card("p01_redeemable", "CPG remboursables", "Guaranteed-return", "0", "7","10","10","5", "10","10", "7","-99", "10","10","10", "Oui, &agrave; un taux r&eacute;duit", "<ul><li>500 $ pour les REER, CELI, REEE et REEI</li><li>1 000 $*</li><li>5 000 $ (pour les termes de 30 &agrave; 364 jours) ou</li><li>100 000 $ (pour les termes de moins de 30 jours)</li></ul><br />*5 000 $ pour les clients qui souhaitent toucher des int&eacute;r&ecirc;ts mensuellement", "<ul><li>De 1 &agrave; 364 jours</li><li>1, 5, 7 ou 10 ans</li></ul>", "/produits/cpg/regulargic.html", "Offre un taux d'int&eacute;r&ecirc;t fixe pour un terme d&eacute;termin&eacute;; le capital et le versement des int&eacute;r&ecirc;ts sont garantis.", "<ul><li>Taux d'int&eacute;r&ecirc;t concurrentiels</li><li>Choix de la fr&eacute;quence de paiement des int&eacute;r&ecirc;ts</li><li>Termes de placement souples</li><li>S&eacute;curit&eacute; assur&eacute;e</li></ul>", "<ul><li>Termes de moins de un an, int&eacute;r&ecirc;ts payables &agrave; l'&eacute;ch&eacute;ance</li><li>Termes de un an ou plus, int&eacute;r&ecirc;ts pay&eacute;s mensuellement, semestriellement, ou annuellement</li></ul>","Non enregistr&eacute;s, REER et CELI<br /><br /><span class='subcopy'>Toutes les options de paiement ne sont pas offertes pour tous les types de r&eacute;gime.</span>"));
cards.push(new Card("p02_five_in_one", "CPG &Eacute;chelonn&eacute;<sup>&reg;</sup>", "Guaranteed-return", "0", "-99","5","5","8", "-99","10", "-99","10", "-99","-99","10", "Non. Une partie des fonds devient accessible chaque anniversaire.", "5 000 $", "Cinq ans", "/produits/cpg/5in1.html", "Le capital est automatiquement r&eacute;parti en cinq tranches &eacute;gales, et une tranche vient &agrave; &eacute;ch&eacute;ance tous les ans, et ce, pendant cinq ans; &agrave; l'&eacute;ch&eacute;ance de chaque tranche, le d&eacute;tenteur a la possibilit&eacute; de r&eacute;investir automatiquement les fonds pendant cinq ans et de maintenir sa strat&eacute;gie d'&eacute;chelonnement, d'investir autrement ou de retirer ses fonds.", "<ul><li>Gains plus &eacute;lev&eacute;s que ceux des CPG &agrave; court terme</li><li>Souplesse &ndash; acc&egrave;s &agrave; 20 % du capital investi chaque ann&eacute;e</li><li>&Eacute;chelonnement des termes du placement &ndash; r&eacute;duction du risque associ&eacute; aux fluctuations des taux d'int&eacute;r&ecirc;t</li><li>Possibilit&eacute; de tirer parti de la fluctuation des taux d'int&eacute;r&ecirc;t</li></ul>", "<ul><li>Mensuels</li><li>Semestriels</li><li>Annuels</li><li>&Agrave; l'&eacute;ch&eacute;ance (int&eacute;r&ecirc;ts compos&eacute;s annuellement)</li></ul>","Non enregistr&eacute; seulement"));
cards.push(new Card("p03_building_block", "CPG Progressif<sup>&reg;</sup>", "Guaranteed-return", "0", "7","1","5","-99", "10","5", "6","10", "-99","10","-99", "Oui, &agrave; un taux r&eacute;duit", "Options de versements pr&eacute;autoris&eacute;s pour un placement de 1 000 $ :<br /><ul><li>10 $ par semaine</li><li>25 $ toutes les deux semaines</li><li>50 $ par mois</li></ul>", "Un ans", "/produits/cpg/bblock.html", "Accumulation d'un montant cible gr&acirc;ce &agrave; un plan de cotisations pr&eacute;autoris&eacute;es.", "<ul><li>Commodit&eacute; &ndash; versements automatiques</li><li>S&eacute;curit&eacute; d'un taux garanti avec accumulation de capital</li><li>Satisfaction d'avoir fix&eacute; et atteint un objectif</li><ul>", "<ul><li>Versement de l'int&eacute;r&ecirc;t &agrave; l'&eacute;ch&eacute;ance</li></ul>","Non enregistr&eacute; seulement"));
cards.push(new Card("p04_canadian_marketlinked", "CPG March&eacute; canadien<sup>&reg;</sup>", "RBC Market Access", "0", "-99","5","-99","10", "10","10", "-99","10", "-99","10","-99", "Non", "1 000 $", "Trois ans", "/produits/cpg/marketlinked.html", "Offre un rendement variable reposant sur les gains de l'indice S&amp;P/TSX 60 durant le terme du placement.", "<ul><li>Possibilit&eacute; d'obtenir des taux de rendement plus &eacute;lev&eacute;s</li><li>S&eacute;curit&eacute; d'un capital garanti</li></ul>", "<ul><li>Le rendement, s'il y en a un, sera vers&eacute; &agrave; l'&eacute;ch&eacute;ance ou &agrave; la date anniversaire de blocage, &agrave; la fin de la deuxi&egrave;me ann&eacute;e</li></ul>","Non enregistr&eacute;s, REER, CELI, REEE, et REEI"));
cards.push(new Card("p05_global_marketlinked", "CPG March&eacute; mondial<sup>mc</sup>", "RBC Market Access", "0", "-99","5","-99","10", "10","10", "-99","10", "-99","10","-99", "Non", "1 000 $", "Trois ans", "/produits/cpg/globallinked.html", "Offre un rendement variable reposant sur les gains d'un groupe pond&eacute;r&eacute; d'indices internationaux durant tout le terme du placement et comprend DAX (Allemagne), CAC (France), Nikkei (Japon), FT-SE (R.-U.) et S&amp;P (&Eacute;.-U.).", "<ul><li>Possibilit&eacute; d'obtenir des taux de rendement plus &eacute;lev&eacute;s</li><li>S&eacute;curit&eacute; d'un capital garanti</li></ul>", "<ul><li>Le rendement, s'il y en a un, sera vers&eacute; &agrave; l'&eacute;ch&eacute;ance ou &agrave; la date anniversaire de blocage, &agrave; la fin de la deuxi&egrave;me ann&eacute;e</li></ul>","Non enregistr&eacute;s, REER, CELI, REEE, et REEI"));
cards.push(new Card("p06_primelinked_cashable", "CPG Encaissable Taux pr&eacute;f&eacute;rentiel<sup>&reg;</sup>", "Interest Rate-linked", "0", "10","5","10","3", "-99","10", "10","-99", "10","10","-99", "Oui", "5 000 $", "Un an", "/produits/cpg/primelinked.html", "Offre un taux d'int&eacute;r&ecirc;t li&eacute; &agrave; la fluctuation du taux pr&eacute;f&eacute;rentiel de RBC Banque Royale<sup>&reg;</sup> au Canada (ce taux est variable); est encaissable en tout temps, et int&eacute;r&ecirc;ts vers&eacute;s s'il est d&eacute;tenu pendant 30 jours ou plus.", "<ul><li>Liquidit&eacute;</li><li>Avantage imm&eacute;diat lorsque le taux pr&eacute;f&eacute;rentiel augmente</li></ul>", "<ul><li>Mensuels</li><li>Semestriels</li><li>&Agrave; l'&eacute;ch&eacute;ance</li><li>Au moment du remboursement si d&eacute;tenu pendant 30 jours ou plus</li></ul>","Non enregistr&eacute; seulement"));
cards.push(new Card("p07_oneyear_cashable", "CPG Encaissable d'un an<sup>mc</sup>", "Guaranteed-return", "0", "10","5","10","3", "10","10", "10","-99", "10","10","-99", "Oui", "<ul><li>1 000 $*</li><li>*5 000 $ pour les clients qui souhaitent toucher des int&eacute;r&ecirc;ts mensuellement</li></ul>", "Un an", "/produits/cpg/cashable_gic.html", "Offre un taux d'int&eacute;r&ecirc;t fixe; est encaissable en tout temps, et int&eacute;r&ecirc;ts vers&eacute;s s'il est d&eacute;tenu pendant 30 jours ou plus.", "<ul><li>Souplesse &ndash; acc&egrave;s aux fonds en tout temps</li><li>S&eacute;curit&eacute; d'un taux de rendement garanti</li></ul>", "<ul><li>Mensuels ou mensuels &eacute;gaux</li><li>Semestriels</li><li>&Agrave; l'&eacute;ch&eacute;ance</li><li>Au moment du remboursement si d&eacute;tenu pendant 30 jours ou plus</li></ul>","Non enregistr&eacute; seulement"));
	cards.push(new Card("p08_rateadvantage", "CPG Taux Privil&egrave;ge<sup>&reg;</sup>", "Guaranteed-return", "0", "-99","10","5","8", "10","10", "-99","10", "-99","10","10", "Non", "1 000 $", "<ul><li>Deux ans,</li><li>trois ans,</li><li>cinq ans</li></ul>", "/produits/cpg/rateadvantage_gic.html", "Taux d'int&eacute;r&ecirc;t garantis qui augmentent &agrave; chaque date anniversaire, et ce, pendant tout le terme; la version encaissable peut &ecirc;tre enti&egrave;rement ou partiellement encaiss&eacute;e &agrave; chaque date anniversaire.", "<ul><li>CPG indexable, ou &agrave; taux &eacute;chelonn&eacute;, assorti de taux concurrentiels dont l'augmentation annuelle est garantie</li><li>Possibilit&eacute; d'acc&eacute;der &agrave; des fonds &agrave; chaque date anniversaire</li></ul>", "<ul><li>Annuels</li><li>&Agrave; l'&eacute;ch&eacute;ance (int&eacute;r&ecirc;ts compos&eacute;s annuellement)</li></ul>","Non enregistr&eacute; seulement"));
	cards.push(new Card("p09_cashable_rateadvantage", "CPG Encaissable Taux Privil&egrave;ge<sup>&reg;</sup>", "Guaranteed-return", "0", "-99","10","5","6", "10","10", "5","-99", "-99","10","10", "Oui. Les fonds sont accessibles chaque anniversaire.", "1 000 $", "<ul><li>Deux ans,</li><li>trois ans,</li><li>cinq ans</li></ul>", "/produits/cpg/rateadvantage_gic.html", "Taux d'int&eacute;r&ecirc;t garantis qui augmentent &agrave; chaque date anniversaire, et ce, pendant tout le terme; la version encaissable peut &ecirc;tre enti&egrave;rement ou partiellement encaiss&eacute;e &agrave; chaque date anniversaire.", "<ul><li>CPG indexable, ou &agrave; taux &eacute;chelonn&eacute;, assorti de taux concurrentiels dont l'augmentation annuelle est garantie</li><li>Possibilit&eacute; d'acc&eacute;der &agrave; des fonds &agrave; chaque date anniversaire</li></ul>", "<ul><li>Annuels</li></ul>","Non enregistr&eacute; seulement"));
cards.push(new Card("p10_canfundlinked_gic", "CPG li&eacute; au Fonds canadien de dividendes RBC<sup>mc</sup>", "RBC Market Access", "0", "-99","5","-99","10", "10","10", "-99","10", "-99","9","10", "Non", "1 000 $", "Trois ou cinq ans", "/produits/cpg/dividendlinked.html", "Offre un rendement variable li&eacute; &agrave; la performance du Fonds canadien de dividendes RBC.", "<ul><li>Possibilit&eacute; d'obtenir des taux de rendement plus &eacute;lev&eacute;s</li><li>S&eacute;curit&eacute; d'un capital garanti</li></ul>", "<ul><li>Le rendement, s'il y en a un, sera vers&eacute; &agrave; l'&eacute;ch&eacute;ance</li></ul>","Non enregistr&eacute; seulement"));
cards.push(new Card("p11_intlfundlinked_gic", "CPG li&eacute; au Fonds d'actions internationales O'Shaughnessy RBC<sup>mc</sup>", "RBC Market Access", "0", "-99","5","-99","10", "10","10", "-99","10", "-99","9","10", "Non", "1 000 $", "Trois ou cinq ans", "/produits/cpg/equitylinked.html", "Offre un rendement variable li&eacute; &agrave; la performance du Fonds d'actions internationales O'Shaughnessy RBC.", "<ul><li>Possibilit&eacute; d'obtenir des taux de rendement plus &eacute;lev&eacute;s</li><li>S&eacute;curit&eacute; d'un capital garanti</li></ul>", "<ul><li>Le rendement, s'il y en a un, sera vers&eacute; &agrave; l'&eacute;ch&eacute;ance</li></ul>","Non enregistr&eacute; seulement"));
cards.push(new Card("p12_usdollarterm_gic", "D&eacute;p&ocirc;t &agrave; terme en USD", "Guaranteed-return", "0", "-99","-99","-99","-99", "-99","-99", "-99","-99", "-99","-99","-99", "Non", "<ul><li>1 000 $ (de 1 &agrave; 5 ans)</li><li>5 000 $ (de 30 &agrave; 364 jours)</li><li>100 000 $ (pour les termes de moins de 30 jours)</li></ul>", "<ul><li>De 30 &agrave; 364 jours</li><li>De 1 &agrave; 5 ans</li></ul>", "/produits/cpg/us-dollar-term-deposits.html", "", "<ul><li>Le placement initial et les versements d'int&eacute;r&ecirc;ts sont garantis</li><li>Taux d'int&eacute;r&ecirc;t concurrentiels - Garantis pendant toute la dur&eacute;e du terme</li></ul>", "<ul><li>Si le terme est inf&eacute;rieur &agrave; un an, les int&eacute;r&ecirc;ts sont vers&eacute;s &agrave; l'&eacute;ch&eacute;ance</li><li>Si le terme est &eacute;gal ou sup&eacute;rieur &agrave; un an, les int&eacute;r&ecirc;ts sont pay&eacute;s annuellement</li></ul>","Non enregistr&eacute; seulement"));
}
//Takes out "$", ",", "NA", "NA" 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;
}
