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

// Global Tabs array
var isAirCanada = false;

var r07_globalTabs = new Array('r07_superElite','r07_elite','r07_prestige');



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

function r07_superElite(waitMsg) {
	var ajaxUpdater;
	var id = 'r07_superElite';
	//var stepURL = 'r07_super_elite.html';
	var data = (isAirCanada) ? r07_ACprivilegesSuperEliteData : r07_privilegesSuperEliteData;
	var stepURL = '/renom07/ViewPrivilegesStatus.jsp?Status=SuperElite';

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

	// Change banner and selector
	$('r07_mainPrivBanner').src = r07_bannerURL + ((isAirCanada) ? banner_benefits_super_elite : banner_privileges_super_elite) ;
	$('r07_tabSelector').className = 'r07_privTabImgSuperElite';

	// Change PDF link
	if(isAirCanada) {
	    $('r07_pdfLinkAnchor').href = r07_pdfLinkUrlBenefitsSuperElite;
	    $('r07_pdfLinkAnchor').innerHTML = r07_pdfLinkTextBenefitsSuperElite;
    }
    else {
	    $('r07_pdfLinkAnchor').href = r07_pdfLinkUrlPrivilegesSuperElite;
    	$('r07_pdfLinkAnchor').innerHTML = r07_pdfLinkTextPrivilegesSuperElite;
    }

	// Load content in Ajax
	if ($(id).innerHTML == '') {
		ajaxUpdater = new Ajax.Updater( id, stepURL, {
			method: 'get',
			onComplete : function() {
				populatePrivileges('r07_superElitePrivilegesPH',data, waitMsg);
				Sc.init('r07_contentPV','r07_containerPV','r07_scrollerPV','r07_scrollAreaPV');
			}
		});
	}	else {
		Sc.restart();
	}
}

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

function r07_elite(waitMsg) {
	var ajaxUpdater;
	var id = 'r07_elite';
	//var stepURL = 'r07_elite.html';
	var data = (isAirCanada) ? r07_ACprivilegesEliteData : r07_privilegesEliteData;
	var stepURL = '/renom07/ViewPrivilegesStatus.jsp?Status=Elite';

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

	// Change banner and selector
	$('r07_mainPrivBanner').src = r07_bannerURL + ((isAirCanada) ? banner_benefits_elite : banner_privileges_elite) ;
	$('r07_tabSelector').className = 'r07_privTabImgElite';

	// Change PDF link
	if(isAirCanada) {
	    $('r07_pdfLinkAnchor').href = r07_pdfLinkUrlBenefitsElite;
	    $('r07_pdfLinkAnchor').innerHTML = r07_pdfLinkTextBenefitsElite;
    }
    else {
	    $('r07_pdfLinkAnchor').href = r07_pdfLinkUrlPrivilegesElite;
    	$('r07_pdfLinkAnchor').innerHTML = r07_pdfLinkTextPrivilegesElite;
    }

	// Load content in Ajax
	if ($(id).innerHTML == '') {
		ajaxUpdater = new Ajax.Updater( id, stepURL, {
			method: 'get',
			onComplete : function() {
				populatePrivileges('r07_ElitePrivilegesPH',data,waitMsg);
				Sc.restart();
			}
		});
	}	else {
		Sc.restart();
	}
}

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

function r07_prestige(waitMsg) {
	var ajaxUpdater;
	var id = 'r07_prestige';
	//var stepURL = 'r07_prestige.html';
	var stepURL = '/renom07/ViewPrivilegesStatus.jsp?Status=Prestige';
	var data = (isAirCanada) ? r07_ACprivilegesPrestigeData : r07_privilegesPrestigeData;

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

	// Change banner and Selector
	$('r07_mainPrivBanner').src = r07_bannerURL + ((isAirCanada) ? banner_benefits_prestige : banner_privileges_prestige) ;
	$('r07_tabSelector').className = 'r07_privTabImgPrestige';

	// Change PDF link
	if(isAirCanada) {
	    $('r07_pdfLinkAnchor').href = r07_pdfLinkUrlBenefitsPrestige;
	    $('r07_pdfLinkAnchor').innerHTML = r07_pdfLinkTextBenefitsPrestige;
    }
    else {
	    $('r07_pdfLinkAnchor').href = r07_pdfLinkUrlPrivilegesPrestige;
	    $('r07_pdfLinkAnchor').innerHTML = r07_pdfLinkTextPrivilegesPrestige;
    }

	// Load content in Ajax
	if ($(id).innerHTML == '') {
		ajaxUpdater = new Ajax.Updater( id, stepURL, {
			method: 'get',
			onComplete : function() {
				populatePrivileges('r07_prestigePrivilegesPH',data,waitMsg);
				Sc.restart();
			}
		});
	}	else {
		Sc.restart();
	}
}

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

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

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

function r07_togglePrivileges(id, all) {
	var ajaxUpdater;
	//var URL = 'ajax.php';	
	var URL = '/renom07/ViewPrivileges_Ajax.jsp';	
	var m = 'r07_minus';
	var p = 'r07_plus';
	var ph = id + '_desc';
	var spinner = id + '_spinner';
	
	// 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 r07_toggleAllPrivileges(way,data) {
	var p = 'r07_plus';
	var m = 'r07_minus';
	
	$H(data).each( function(entry){
		
		if (way == 'exp') {			
		
			// Expand description
			r07_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 = 'r07_privElWhite';
	var b = 'r07_privElBlue';
	var str, clr;	
				
	str = '';
	clr = w;
	
	// Display privileges
	$H(data).each(function(item) {		
					
		// Row Color
		clr = clr == b ? w : b;
        var startPopUrl = "renom07_popUp('http://"+location.hostname+"/your_aeroplan/top_tier_benefits/popup.do?tierStatus=&contentID=benefits&displayPDF=true&giftID=&benefitID=";
        var endPopUrl = "');";

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

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