/* ---------------------------------------------------------------
   Author : Remi Palard
   october 2006
   remi.palard@gmail.com  
/* --------------------------------------------------------------- */

// Global Tabs array
var isAirCanada = false;
var r09_globalTabs = new Array('r09_superElite','r09_elite','r09_prestige');

        var startPopUrl = "renom09_popUp('http://"+location.hostname+"/your_aeroplan/top_tier_benefits/popup09.do?tierStatus=&contentID=benefits&displayPDF=true&giftID=&benefitID=";
        var endPopUrl = "');";


/* --------------------------------------------------------------- */

function r09_superElite(waitMsg) {
	var ajaxUpdater;
	var id = 'r09_superElite';
	//var stepURL = 'r09_super_elite.html';
	var data = (isAirCanada) ? r09_ACprivilegesSuperEliteData : r09_privilegesSuperEliteData;
	var stepURL = '/renom09/ViewPrivilegesStatus.do?Status=SuperElite';

	// Start the show
	r09_globalTabs.each( function(el){ Element.hide(el); } );
	Element.show(id);

	// Change banner and selector
	$('r09_mainPrivBanner').src = r09_bannerURL + ((isAirCanada) ? banner_benefits_super_elite : banner_privileges_super_elite) ;
	$('r09_tabSelector').className = 'r09_privTabImgSuperElite';

	// Change PDF link
	if(isAirCanada) {
	    $('r09_pdfLinkAnchor').href = r09_pdfLinkUrlBenefitsSuperElite;
	    $('r09_pdfLinkAnchor').innerHTML = r09_pdfLinkTextBenefitsSuperElite;
    }
    else {
	    $('r09_pdfLinkAnchor').href = r09_pdfLinkUrlPrivilegesSuperElite;
    	$('r09_pdfLinkAnchor').innerHTML = r09_pdfLinkTextPrivilegesSuperElite;
    }

	// Load content in Ajax
	if ($(id).innerHTML == '') {
		ajaxUpdater = new Ajax.Updater( id, stepURL, {
			method: 'get',
			onComplete : function() {
				populatePrivileges('r09_superElitePrivilegesPH',data,waitMsg);
				Sc.init('r09_contentPV','r09_containerPV','r09_scrollerPV','r09_scrollAreaPV');		
												
				if(r09_productIdFromEmail!='' && r09_productIdFromEmail!=null) {
					renom09_popUp('http://localhost/your_aeroplan/top_tier_benefits/popup09.do?tierStatus=&contentID=benefits&displayPDF=true&giftID=&benefitID='+r09_productIdFromEmail);
				}
				
			}
		});
	}	else {
		Sc.restart();
	}
}

/* --------------------------------------------------------------- */

function r09_elite(waitMsg) {
	var ajaxUpdater;
	var id = 'r09_elite';
	//var stepURL = 'r09_elite.html';
	var data = (isAirCanada) ? r09_ACprivilegesEliteData : r09_privilegesEliteData;
	var stepURL = '/renom09/ViewPrivilegesStatus.do?Status=Elite';

	// Start the show
	r09_globalTabs.each( function(el){ Element.hide(el); } );
	Element.show(id);

	// Change banner and selector
	$('r09_mainPrivBanner').src = r09_bannerURL + ((isAirCanada) ? banner_benefits_elite : banner_privileges_elite) ;
	$('r09_tabSelector').className = 'r09_privTabImgElite';

	// Change PDF link
	if(isAirCanada) {
	    $('r09_pdfLinkAnchor').href = r09_pdfLinkUrlBenefitsElite;
	    $('r09_pdfLinkAnchor').innerHTML = r09_pdfLinkTextBenefitsElite;
    }
    else {
	    $('r09_pdfLinkAnchor').href = r09_pdfLinkUrlPrivilegesElite;
    	$('r09_pdfLinkAnchor').innerHTML = r09_pdfLinkTextPrivilegesElite;
    }

	// Load content in Ajax
	if ($(id).innerHTML == '') {
		ajaxUpdater = new Ajax.Updater( id, stepURL, {
			method: 'get',
			onComplete : function() {
				populatePrivileges('r09_ElitePrivilegesPH',data,waitMsg);
				
				if(r09_productIdFromEmail!='' && r09_productIdFromEmail!=null) {				
					renom09_popUp('http://localhost/your_aeroplan/top_tier_benefits/popup09.do?tierStatus=&contentID=benefits&displayPDF=true&giftID=&benefitID='+r09_productIdFromEmail);
				}
				
				Sc.restart();
			}
		});
	}	else {
		Sc.restart();
	}
}

/* --------------------------------------------------------------- */

function r09_prestige(waitMsg) {
	var ajaxUpdater;
	var id = 'r09_prestige';
	//var stepURL = 'r09_prestige.html';
	var stepURL = '/renom09/ViewPrivilegesStatus.do?Status=Prestige';
	var data = (isAirCanada) ? r09_ACprivilegesPrestigeData : r09_privilegesPrestigeData;
	//r09_newCorePrivilegesPrestigeData	
	
	// Start the show
	r09_globalTabs.each( function(el){ Element.hide(el); } );
	Element.show(id);

	// Change banner and Selector
	$('r09_mainPrivBanner').src = r09_bannerURL + ((isAirCanada) ? banner_benefits_prestige : banner_privileges_prestige) ;
	$('r09_tabSelector').className = 'r09_privTabImgPrestige';

	// Change PDF link
	if(isAirCanada) {
	    $('r09_pdfLinkAnchor').href = r09_pdfLinkUrlBenefitsPrestige;
	    $('r09_pdfLinkAnchor').innerHTML = r09_pdfLinkTextBenefitsPrestige;
    }
    else {
	    $('r09_pdfLinkAnchor').href = r09_pdfLinkUrlPrivilegesPrestige;
	    $('r09_pdfLinkAnchor').innerHTML = r09_pdfLinkTextPrivilegesPrestige;
    }

	// Load content in Ajax
	if ($(id).innerHTML == '') {
		ajaxUpdater = new Ajax.Updater( id, stepURL, {
			method: 'get',
			onComplete : function() {
				populatePrivileges('r09_prestigePrivilegesPH',data,waitMsg);
				
				if(r09_productIdFromEmail!='' && r09_productIdFromEmail!=null) {
					renom09_popUp('http://localhost/your_aeroplan/top_tier_benefits/popup09.do?tierStatus=&contentID=benefits&displayPDF=true&giftID=&benefitID='+r09_productIdFromEmail);
				}
				
				Sc.restart();
				
			}
		});
	}	else {
	
		Sc.restart();
	}
}

/* --------------------------------------------------------------- */

function r09_comparaisonTable() {
	var ajaxUpdater;
	var id = 'r09_tableComparaisonPlaceHolder';
	var stepURL = 'r09_comparaisonTable.html';	
	
	// Start the show
	Element.hide('r09_layerContent');
	Element.show(id);		
	
	// Load content in Ajax 	
	if ($(id).innerHTML == '') {		
		ajaxUpdater = new Ajax.Updater( id, stepURL, { 
			method: 'get'
		});
	} 	
}

/* --------------------------------------------------------------- */

function r09_togglePrivileges(id, all) {
	var ajaxUpdater;
	//var URL = 'ajax.php';	
	var URL = '/renom09/ViewPrivileges_Ajax.do';	
	var m = 'r09_minus';
	var p = 'r09_plus';
	var ph = id + '_desc';
	var spinner = id + '_spinner';

	//alert("r09_togglePrivileges :" + id);
	
	// link style
	if (all) $(id).className = m;
	else $(id).className = $(id).className == m ? p : m;
	
	// Ajax call for content (if usefull)
	if ($(ph).innerHTML == '' ) {
		ajaxUpdater = new Ajax.Updater( {success: ph}, URL, {
			method: 'post', 
			parameters: 'privId=' + id, 
			onLoading : function(){ 
				Element.show(spinner);
			},
			onComplete : function(){ 
				
				// Show or hide
				Element.hide(spinner);  				
				Element.show(ph);		
				
				// Restart Scrollbar
				Sc.restart();								
			},		
			onFailure: function(){
				Element.update(ph, 'Loading Error');
			}
		});	
	} else {
		
		// Show or hide    		
		if (all) Element.show(ph);
		else Element.toggle(ph);	
		
		// Restart Scrollbar
		Sc.restart();		
	}
}

/* --------------------------------------------------------------- */

function r09_toggleAllPrivileges(way,data) {
	var p = 'r09_plus';
	var m = 'r09_minus';
	
	$H(data).each( function(entry){
		
		
		//alert("entry.key :" + entry.key);
		
		if (way == 'exp') {			
		
			// Expand description
			r09_togglePrivileges(entry.key,true);	
			
		} else {
			
			// link style
			$(entry.key).className = p;
		
			// Expand description
			Element.hide(entry.key + '_desc');				
		}	
	});
	
	// Restart Scroll
	Sc.restart();
	
}

/* --------------------------------------------------------------- */
	
function populatePrivileges(ph, data,waitMsg) {
	var w = 'r09_privElWhite';
	var b = 'r09_privElBlue';
	var str, clr;	
				
        
	str = '';
	clr = w;
	
	// Display privileges
	$H(data).each(function(item) {		
					
		// Row Color
		clr = clr == b ? w : b;

		// Row innerHTML
		str += '<div class="r09_space1">&#160;</div><div class="' + clr + '">';	
		str += '<span style="cursor:pointer;" onclick="' + startPopUrl + item.key + endPopUrl + '" class="r09_plus">' + item.value + '</span>';
		str += '<a id="' + item.key + '" href="javascript:;" onclick="r09_togglePrivileges(\'' + item.key + '\');" class="r09_plus"> </a>';
		str += '<div id="' + item.key + '_spinner" class="r09_privSpinner" style="display:none;">';
		str += waitMsg + '</div>';
		str += '<div id="' + item.key + '_desc" style="display:none;"></div></div>';
	});
	
	str += '<div class="r09_space2">&#160;</div>';
		
		//alert(str);
		
	// Render html
	$(ph).innerHTML = str;			
}

/* --------------------------------------------------------------- */
