// This page contains all user event control script. - GM
// This page depends on utils.js,dhtml.js,ajax.js,model.js
// Wire all event handlers in onLoad



window.onload = function(){
	//I need to replace innerHTML of this section because we don't think we can get the HTML edits done in time
	innerHtmlOfPhoneList2();
	//removeHrefLink();
	
	//Hiding the spec sheet pdf icon and link
	document.getElementById('specLink_warp').style.display="none";
	document.getElementById('specLink_transformultra').style.display="none";
	document.getElementById('specLink_BB9670').style.display="none";
	document.getElementById('specLink_prevail').style.display="none";
	document.getElementById('specLink_BB8530').style.display="none";
	document.getElementById('specLink_theory').style.display="none";
	//document.getElementById('specLink_seek').style.display="none";
	document.getElementById('specLink_i475').style.display="none";
	document.getElementById('specLink_i412').style.display="none";
	//document.getElementById('specLink_rant').style.display="none";
	//document.getElementById('specLink_rambler').style.display="none";
	//document.getElementById('specLink_i1').style.display="none";
	//document.getElementById('specLink_bali').style.display="none";
	document.getElementById('specLink_SCP2700p').style.display="none";
	document.getElementById('specLink_SCP2700b').style.display="none";
	document.getElementById('specLink_i296').style.display="none";
	document.getElementById('specLink_SCP6760').style.display="none";
	document.getElementById('specLink_SCP3810').style.display="none";
	document.getElementById('specLink_i465g').style.display="none";
	document.getElementById('specLink_i465').style.display="none";
	//document.getElementById('specLink_i9').style.display="none";
	document.getElementById('specLink_i9r').style.display="none";
	document.getElementById('specLink_W385').style.display="none";
	document.getElementById('specLink_factor').style.display="none";
	document.getElementById('specLink_lg102').style.display="none";
	document.getElementById('specLink_innuendo').style.display="none";
	
	
	//Disabling add to cart functionality for
	//document.getElementById('addToCartButton_i475').style.display="none";
	//document.getElementById('addToCartButton_i412').style.display="none";
	//document.getElementById('addToCartButton_theory').style.display="none";
	//document.getElementById('addToCartButton_i776w').style.display="none";
	//document.getElementById('addToCartButton_rambler').style.display="none";
	//document.getElementById('addToCartButton_bali').style.display="none";
	//document.getElementById('addToCartButton_i465g').style.display="none";
	//document.getElementById('addToCartButton_i465').style.display="none";
	//document.getElementById('addToCartButton_i290').style.display="none";
	//document.getElementById('addToCartButton_i410').style.display="none";
	//document.getElementById('addToCartButton_BB8530').style.display="none";
	//document.getElementById('addToCartButton_BB8330').style.display="none";
	//document.getElementById('addToCartButton_SCP3810').style.display="none";
	//document.getElementById('addToCartButton_W385').style.display="none";
    //document.getElementById('allPhonesButton').style.display="none";
	document.getElementById('listOfPhones2').style.display="none";
    //document.getElementById('addToCartButton_i856').style.display="none";
	//document.getElementById('addToCartButton_i856w').style.display="none";
	//document.getElementById('addToCartButton_i9r').style.display="none";
	//document.getElementById('addToCartButton_i9').style.display="none";
	//document.getElementById('addToCartButton_prevail').style.display="none";
	//document.getElementById('i425t_priceAddCartWrap.h3').style.display="none";
	document.getElementById('addToCartButton_lg102').style.display="none";
	//document.getElementById('addToCartButton_i425t').style.display="none";
	//document.getElementById('addToCartButton_SCP6760').style.display="none";
	// document.getElementById('addToCartButton_SCP2700b').style.display="none";
	// document.getElementById('addToCartButton_SCP2700p').style.display="none";
	//document.getElementById('addToCartButton_rant').style.display="none";
	//document.getElementById('addToCartButton_i1').style.display="none";
	//document.getElementById('addToCartButton_seek').style.display="none";
	//document.getElementById('addToCartButton_i335').style.display="none";
	//document.getElementById('addToCartButton_i296').style.display="none";
	
removeHrefLink = function(){
 	var noLink = document.getElementById('hdr_step3');
 	noLink.href = 'javascript:void(0)';
	noLink.style.cursor = 'default'; 
 }
	
	// do not changed the load order!!
	var page = 2;
	var pageCode = 'choose_a_phone'; 

	doc = document;
	// Libraries init must be included in this
	// order due to dependancies
	doc.utils = doc.utils || new utils;
	doc.dhtml = dhtml;
	doc.val = val = new validate;
	doc.ajax = ajax;
	doc.ajax.initializeBuffer();
  	session.initialize(page);
	doc.cart = new cart(pageCode);
	doc.tracking = new tracking(pageCode);
	
	currentPostion["unltd"]=0;
	currentPostion["paygo"]=0;
	
	
	phones.initialize();
	addEventListeners();
	loadFlash();
  	
  // must display initial model last so that
  // time allows for load of thumbs and swf;
	setType1Rows();

	delete mdl;
	delete addEventListeners;
	delete setType1Rows;
	delete loadFlash;
	delete initializeThumbs;

// uncomment and use the area below to place an image above the add to cart button
	
	/*var addTo = document.getElementById('addToCartForm');
	var addBefore = document.getElementById('seek_promoPrice');

	var promoDiv = document.createElement("DIV");
	promoDiv.innerHTML = '<BR><img src="http://plans.boostmobile.com/images/expeditedmessage.gif">';
	addTo.insertBefore(promoDiv, addBefore);
	
	// Display promo message for the seek
	var addTo = document.getElementById('seek_promoPrice');
	var addBefore = document.getElementById('seek_priceAddCartWrap');
	var promoDiv = document.createElement("DIV");
	promoDiv.innerHTML = '<img src="http://plans.boostmobile.com/images/20pcnt.jpg"></div>';
	addTo.insertBefore(promoDiv, addBefore);
	*/
	
	
}

flashClick = function(){
	doc.tracking.flashClick();
}

addEventListeners = function(){
	var clicks = [];
	var mouseovers = [];
	var mouseouts = [];
	var mousedowns = [];
	var mouseups = [];

	var i;

	// push an array of id,funcRef to each event type array
	//	clicks.push(['',]);   mouseovers.push(['',]);   mouseouts.push(['',]);
	clicks.push(['featureFilterButton',toggleFeatureFilter]);
	clicks.push(['cartSummaryButton',toggleCartSummary]);

	clicks.push(['cartDetail',doc.dhtml.cancelEvent]);
	clicks.push(['zipCheckButton',doc.cart.addPhone]);

	clicks.push(['allPhonesButton',toggleViewPhones]);
	clicks.push(['partialPhonesButton',toggleViewPhones]);
	clicks.push(['allPhones',doc.dhtml.cancelEvent]);
	clicks.push(['lastSet_on',navigateRows]);
	clicks.push(['nextSet_on',navigateRows]);
	clicks.push(['tab1_trigger',viewPhoneInfoTab]);
	clicks.push(['tab2_trigger',viewPhoneInfoTab]);
	clicks.push(['tab3_trigger',viewPhoneInfoTab]);
	
	//molecular:rm added event for UNLTD pager
	clicks.push(['nextSet_unltd_on',nextPanel]);
	clicks.push(['lastSet_unltd_on',lastPanel]);


	mousedowns.push(['btnPromoViewCart',doc.dhtml.swapImgBySrc]);
	mousedowns.push(['zipCheckButton',doc.dhtml.swapImgBySrc]);
	mousedowns.push(['nextSet_on',doc.dhtml.swapImgBySrc]);
	mousedowns.push(['lastSet_on',doc.dhtml.swapImgBySrc]);
	mousedowns.push(['partialPhonesButton',doc.dhtml.swapImgBySrc]);
	mousedowns.push(['allPhonesButton',doc.dhtml.swapImgBySrc]);

	mouseovers.push(['cartSummaryButton',doc.dhtml.swapImgBySrc]);
	mouseovers.push(['featureFilterButton',doc.dhtml.swapImgBySrc]);
	mouseovers.push(['tab1_trigger',doc.dhtml.swapImgBySrc]);
	mouseovers.push(['tab2_trigger',doc.dhtml.swapImgBySrc]);
	mouseovers.push(['tab3_trigger',doc.dhtml.swapImgBySrc]);

	mouseouts.push(['cartSummaryButton',doc.dhtml.swapImgBySrc]);
	mouseouts.push(['featureFilterButton',doc.dhtml.swapImgBySrc]);
	mouseouts.push(['tab1_trigger',doc.dhtml.swapImgBySrc]);
	mouseouts.push(['tab2_trigger',doc.dhtml.swapImgBySrc]);
	mouseouts.push(['tab3_trigger',doc.dhtml.swapImgBySrc]);

	clicks.push(['hdr_step1',doc.utils.goToURL]);
	mouseovers.push(['hdr_step1',doc.dhtml.swapImgBySrc]);
	mouseouts.push(['hdr_step1',doc.dhtml.swapImgBySrc]);
	clicks.push(['hdr_step3',doc.utils.goToURL]);
	mouseovers.push(['hdr_step3',doc.dhtml.swapImgBySrc]);
	mouseouts.push(['hdr_step3',doc.dhtml.swapImgBySrc]);

	var models = phones.models;
	var id;

	for (i = 0; i < models.length; i++){
		id = models[i].id + '_thumb';
		clicks.push([id,phones.selectModel]);
		mouseovers.push([id,filterFeatures]);
		mouseouts.push([id,resetFeatureFilter]);
    clicks.push(['specLink_' + models[i].id, doc.tracking.sendSpecViewHit]);
  

		
		if (models[i].type != 2){
			id = id + '_all';
			clicks.push([id,phones.selectModel]);
			mouseovers.push([id,filterFeatures]);
			mouseouts.push([id,resetFeatureFilter]);
		}

	 	id = 'addToCartButton_' + models[i].id;
		doc.dhtml.addEvent(id,'click', doc.cart.addPhone,true);
		doc.dhtml.addEvent(id,'mousedown',doc.dhtml.swapImgBySrc,true);
	}

	var filters = phones.filters;

	for (i = 0; i < filters.length; i++){
		id = filters[i] + '_filter';
		clicks.push([id,doc.dhtml.cancelEvent]);
		mouseovers.push([id,filterPhones]);
		mouseouts.push([id,resetFeatureFilter]);
	}

	for (i = 1; i <= phones.totalFeatures; i++){
		id = 'feature' + i;
		clicks.push([id,phones.selectFeature]);
		mouseovers.push([id,doc.dhtml.swapImgBySrc])	;
		mouseouts.push([id,doc.dhtml.swapImgBySrc]);
	}

		// add addToCart listeners here	
		

	// attach listeners
	for (i = 0; i < clicks.length; i++){
		doc.dhtml.addEvent(clicks[i][0],'click',clicks[i][1]);
	}
	for (i = 0; i < mouseovers.length; i++){
		doc.dhtml.addEvent(mouseovers[i][0],'mouseover',mouseovers[i][1]);
	}

	for (i = 0; i < mouseouts.length; i++){
		doc.dhtml.addEvent(mouseouts[i][0],'mouseout',mouseouts[i][1]);
	}
	for (i = 0; i < mousedowns.length; i++){
		doc.dhtml.addEvent(mousedowns[i][0],'mousedown',mousedowns[i][1]);
	}

	doc.dhtml.addEvent('addToCartForm','submit',doc.dhtml.cancelEvent);
}


// If events received then 
toggleFeatureFilter = function( evt ){
	var id = 'featureFilter';
	var state = 'hidden';
	var evt = doc.dhtml.getEvent(evt);

	if(evt != null) {
		toggleCartSummary();
		state = 'visible';
    doc.tracking.sendSClickHit('featureFilterTab');
		doc.dhtml.toggleVisibilityById('miscCartAlert','hidden');
	}
	doc.dhtml.toggleVisibilityById(id,state);
}

toggleCartSummary = function( evt ){
	var id = 'cartSummary';
	var state = 'hidden';
	
	var evt = doc.dhtml.getEvent(evt);
	
	if(evt != null){
		toggleFeatureFilter( );
		var state = 'visible';
		var btn = doc.dhtml.getTarget(evt);
		if(btn && btn.id.indexOf('cartSummaryButton') > -1){
    			doc.tracking.sendSClickHit('shoppingCartTab');
   		}
	}
	doc.dhtml.toggleVisibilityById(id,state);
}

toggleCartDetail = function( evt, state ){
	doc.dhtml.cancelEvent(evt);
	var id = 'cartDetail';
	var style = doc.dhtml.getStyleObj(id);
	var state = state || 'hidden'; //(style.visibility == 'visible') ? 'hidden' : 'visible';
	var evt = doc.dhtml.getEvent(evt);

	if(evt){
		toggleFeatureFilter( );
		var state = 'visible';
		doc.dhtml.addEvent(doc.body,'click',closeCart);
	}else{
		doc.dhtml.removeEvent(doc.body,'click',closeCart);
	}

	doc.dhtml.toggleVisibilityById(id,state);
}

viewCartDetail = function( evt ){
	var evt = doc.dhtml.getEvent(evt);
	var btn = doc.dhtml.getTargetId(evt);
	
	// Then display
	toggleCartDetail(evt);
	toggleCartSummary(evt);
	toggleFeatureFilter(null,'hidden');

	doc.utils.flashSetVar(session.phoneViewer, 'cartDetailFlag',1);
	doc.dhtml.swapImgBySrc(null,btn,'off');
	doc.dhtml.toggleVisibilityById('miscCartAlert','hidden');
	togglePromoViewCartImage();
}

// togglePromoViewCartImage = function(){
// 	var promoViewCart = doc.dhtml.getElementById('btnPromoViewCart');
// 	var btnImg =  promoViewCart.childNodes[0];
// 	var curSrc = btnImg.src;
// 	
// 	if(curSrc.indexOf('ViewCheckOut') > -1){
// 		btnImg.src = doc.utils.baseURL + 'images/btnCheckOutLarge_off.gif';
// 		doc.dhtml.removeEvent('btnPromoViewCart','click',viewCartDetail);
// 		doc.dhtml.addEvent('btnPromoViewCart','click',doc.cart.checkOut);
// 	}else{
// 		btnImg.src = doc.utils.baseURL + 'images/btnViewCheckOut_off.gif';
// 		doc.dhtml.removeEvent('btnPromoViewCart','click',doc.cart.checkOut);
// 		doc.dhtml.addEvent('btnPromoViewCart','click',viewCartDetail);
// 	}
// 
// }

togglePromoViewCartImage = function(){
         var isCheckouthidden = (doc.dhtml.getElementById('btnPromoCheckOut').style.display == 'none');
 
         doc.dhtml.getElementById('btnPromoViewCart').style.display = isCheckouthidden ? 'none' : '';
         doc.dhtml.getElementById('btnPromoCheckOut').style.display = isCheckouthidden ? '' : 'none';
}



closeCart = function(evt){
	toggleCartDetail(null,'hidden');
	doc.utils.flashSetVar(session.phoneViewer,'cartDetailFlag',0);
	doc.dhtml.removeEvent(doc.body,'click',closeCart,true);
  var evt = doc.dhtml.getEvent(evt);
	togglePromoViewCartImage();
  if(evt) doc.tracking.sendSClickHit('closeCart');
}

toggleViewPhones = function( evt ){
	if(phones.numType1 < 6) return;
	
	var allPhones = 'allPhones';
	var partialPhones = 'partialPhones';
	var flashCover = 'flashCover';
	var allPhonesStyle = doc.dhtml.getStyleObj(allPhones);
	var evt = doc.dhtml.getEvent(evt);

	if (evt == null){
		doc.dhtml.toggleDisplayById(partialPhones,'none');
		doc.dhtml.toggleDisplayById(allPhones,'block');
	} else {
		doc.dhtml.cancelEvent(evt);
		var target = doc.dhtml.getTarget(evt);
		var btn = target.parentNode.id;
		if (btn.indexOf(partialPhones) != -1) navigateRows(evt,btn);

		doc.dhtml.toggleDisplayById(allPhones);
		doc.dhtml.toggleDisplayById(partialPhones);
		doc.dhtml.toggleDisplayById('flashCover');
		
		if(allPhonesStyle.display == 'block'){
			doc.utils.flashSetVar(session.phoneViewer,'viewPhonesFlag',1);
			doc.dhtml.addEvent(doc.body,'click',toggleViewPhones);
			doc.dhtml.swapImgBySrc(null,'partialPhonesButton','off');
		}else{
			doc.utils.flashSetVar(session.phoneViewer,'viewPhonesFlag',0);
			doc.dhtml.removeEvent(doc.body,'click',toggleViewPhones);
			doc.dhtml.swapImgBySrc(null,'allPhonesButton','off');
		  navigateRows(null,'partialPhonesButton');
		}		
	}
}


navigateRows = function(evt,btn){
	var model = phones.getModelById((session.viewingModel.type == 1)? session.viewingModel : session.lastType1Model);
 	if(model.type == 2) return;

	doc.dhtml.cancelEvent(evt);
	var target = doc.dhtml.getTarget(evt);

	var rows = phones.type1Rows;
	var btn = (btn) ? btn : (target.id == '') ? target.parentNode.id : target.id;

  	var lastSetOn = doc.dhtml.getStyleObj('lastSet_on');
	var lastSetOff = doc.dhtml.getStyleObj('lastSet_off');
	var nextSetOn = doc.dhtml.getStyleObj('nextSet_on');
	var nextSetOff = doc.dhtml.getStyleObj('nextSet_off');
	var prevRow = 0;
	var i;
	var style;

	for (i = 0; i < rows.length; i++) { 
		style = doc.dhtml.getStyleObj(rows[i]);
		if (style.display == 'block') prevRow = i;
		style.display = 'none';
	}
	
	switch (btn) {
		case 'partialPhonesButton':
			model.parentEl.style.display = 'block';
			var nextRow = model.parentEl.id.substring(model.parentEl.id.lastIndexOf('_')+1);
			//alert('1');
 			if (rows[nextRow]) {
				//alert('2');
 				nextSetOn.display = 'block';
 				nextSetOff.display = 'none';
			}else{
				//alert('3');
 				nextSetOn.display = 'none';
 				nextSetOff.display = 'block';
			}
 			if (rows[nextRow - 2]) {
				//alert('4');
 				lastSetOn.display = 'block';
 				lastSetOff.display = 'none';
			}else{
				//alert('5');
 				lastSetOn.display = 'none';
 				lastSetOff.display = 'block';
			}
							
			break;
		case 'nextSet_on':
			//alert('6');
			rows[prevRow+1].style.display = 'block';
 			if (!rows[prevRow + 2]) {
				//alert('7');
				nextSetOn.display = 'none';
 				nextSetOff.display = 'block';

			}
			lastSetOn.display = 'block';
			lastSetOff.display = 'none';
			break;
		case 'lastSet_on':
			//alert('8');
			rows[prevRow-1].style.display = 'block';
			
			nextSetOn.display = 'block';
			nextSetOff.display = 'none';
			
			if (rows[prevRow-2]){
				//alert('last-1:'+prevRow);
				lastSetOn.display = 'block';
				lastSetOff.display = 'none';
			}
			else{
				//alert('last-2:'+prevRow);
				lastSetOn.display = 'none';
				lastSetOff.display = 'block';
			}		
			break;
	}

	if(lastSetOn.display == 'block') doc.dhtml.swapImgBySrc(null,'lastSet_on','on');
	if(nextSetOn.display == 'block') doc.dhtml.swapImgBySrc(null,'nextSet_on','on');
}

filterPhones = function( evt ){
	// on feature filter mouseover
	var evt = doc.dhtml.getEvent(evt);
	var target = doc.dhtml.getTarget(evt);
	var feature = (target.id == '') ? target.parentNode.id : target.id;
	feature = feature.slice(0,feature.indexOf('_'));
	doc.dhtml.swapImgBySrc(null, feature + '_filter','over' );
	doc.dhtml.toggleVisibilityById(feature + '_filter_header','visible');

	var models = phones.models;

	var imgId;
	for (var i = 0; i < models.length; i++) {
		imgId = models[i].id + ((models[i].type == 1) ? '_thumb_all' : '_thumb');
		doc.dhtml.swapImgBySrc(null, imgId, (models[i][feature] == 1)?'on':'off' );
	}

	var partialPhones = doc.dhtml.getStyleObj('partialPhones');
	if (partialPhones.display == 'block') {
		toggleViewPhones(evt);
		navigateRows(evt,'partialPhonesButton');
	}

	// headers
	doc.dhtml.swapImgBySrc(null,'hdrType1','on');
	doc.dhtml.swapImgBySrc(null,'hdrType2','on');	

  doc.tracking.filterMouseOver(feature);
  doc.tracking.filterMouseOverTotals(feature);
 }

// DSTH on 12/14/09 -- initFilterFeatures() added to assign the proper filter feature to the phone when its switched.
initFilterFeatures = function(){

	//closeCart();
	var model = phones.getModelById(session.viewingModel);

	var filters = phones.filters;
	for (var i = 0; i < filters.length; i++) {
		doc.dhtml.swapImgBySrc(null, filters[i] + '_filter', ((model[filters[i]] == 1) ? 'on' : 'off'));
	}
}
 
 
// DSTH on 12/14/09 -- Commented out the innards of these functions (filterfeatures and resetfeaturefilter) so that they don't work anymore but can be reinserted upon need. The listeners required to make them work the way they used to are still firing.
filterFeatures = function( evt ){
	// on phones roll over
	var featureFilter = doc.dhtml.getStyleObj('featureFilter');
	if (featureFilter.visibility == 'hidden') toggleFeatureFilter(evt);
	//closeCart();
	var model = phones.getModelByEvent(evt);
	
	doc.dhtml.swapImgBySrc(evt); // mouseover img swap phone
	doc.dhtml.swapImgBySrc(null,'hdrType'+model.type,'on');
/*
	var filters = phones.filters;
	for (var i = 0; i < filters.length; i++) {
		doc.dhtml.swapImgBySrc(null, filters[i] + '_filter', ((model[filters[i]] == 1) ? 'on' : 'off'));
	}

  doc.tracking.phoneMouseOver(model.id);
  doc.tracking.phoneMouseOverTotals(model.id);*/
}

// BY DSTH on 12/14/09 -- Commented out resetFeatureFilter so that the feature filter isn't cleared out when you move the mouse
resetFeatureFilter = function(evt){
		var target = doc.dhtml.getTarget(evt);
		phones.deselectAllModels();
		phones.selectModel(evt);
		if (target.parentNode && target.parentNode.id.indexOf('_filter') != -1) 	toggleViewPhones(evt);

		var filters = phones.filters;
		for (var i = 0; i < filters.length; i++) {
			doc.dhtml.swapImgBySrc(null, filters[i] + '_filter', 'on' );
			doc.dhtml.toggleVisibilityById(filters[i] + '_filter_header','hidden');
		}
		initFilterFeatures();
		doc.dhtml.toggleVisibilityById('miscCartAlert','hidden');
}

// Set up a function to handle tab display 
viewPhoneInfoTab = function (evt) {

	var target = doc.dhtml.getTarget(evt);
	var id = (target && target.parentNode) ? target.parentNode.id.slice(3,target.parentNode.id.indexOf('_') ) : 1;

	var model = phones.getModelById(session.viewingModel);
	doc.dhtml.toggleDisplayById(model.id + '_priceAddCartWrap','none'); // due to strange ie 6 bug! 
	var border1 = 	doc.dhtml.getElementById('phoneInfo');
	var border2 = 	doc.dhtml.getElementById('titleAndTabs');
	var border3 = 	doc.dhtml.getElementById(model.id+'_txtSPromo');

	border1.className = 'tab' + id + '_' + model.type;
	border2.className = 'type' + model.type;
	border3.className = 'type' + model.type;

	var trigger;
	var content;
  for (var i = 1; i <= 3; ++i){ 		// Turn all off
		trigger = 	doc.dhtml.getElementById('tab' + i +'_trigger');
		doc.dhtml.swapImgBySrc(null,trigger.childNodes[0],'off');
		content = doc.dhtml.getStyleObj('tab' + i + '_content');
		trigger.style.display = "block";
  	content.display = "none";
  } 
  // turn active on
	trigger = 	doc.dhtml.getElementById('tab' + id +'_trigger');
	doc.dhtml.swapImgBySrc(null,trigger.childNodes[0],'on');
	doc.dhtml.toggleDisplayById('tab' + id + '_content','block');

	trigger.style.display = 'block';

	switch (id) {
		case '2':
			doc.utils.flashSetVar(session.phoneViewer,'proposedSWF','specs');
			doc.dhtml.toggleDisplayById(model.id + '_promoPrice','block');
			swapAddCartButton(model);
      doc.tracking.sendSClickHit('specsTab');
			break;
		case '3':
			model.selectAccessory();			
			doc.dhtml.toggleDisplayById(model.id + '_promoPrice','none');
			doc.dhtml.toggleDisplayById('viewCheckOutWrap','block');
      doc.tracking.sendSClickHit('accessoriesTab');
			break;
		default:
			phones.selectFeature(evt);
			doc.dhtml.toggleDisplayById(model.id + '_promoPrice','block');
			swapAddCartButton(model);
			if(target != null)  doc.tracking.sendSClickHit('overviewTab'); // target == null during load;
  		break;
	}

}

swapAddCartButton = function( model ){
	if(model.inCart){
		doc.dhtml.toggleDisplayById('viewCheckOutWrap','block');
		doc.dhtml.toggleDisplayById(model.id + '_priceAddCartWrap','none');
	} else {
		doc.dhtml.toggleDisplayById('viewCheckOutWrap','none');
		doc.dhtml.toggleDisplayById(model.id + '_priceAddCartWrap','block');
	}
	// DSTH - Added 5/29/10 - Hide the entire add to cart button area for the i1
	//if(model.id == 'i1'){
		//document.getElementById('i1_priceAddCartWrap').style.display='none';
	//}

}

// here rather than in models.js due to page specific implementation
initializeThumbs = function(){
	// loop through models and create and add elements
	var models = phones.type1Models;
	var row = 1;
	var ulClass = 'phoneList';
	 
	var ulPartial = document.createElement('ul');
	ulPartial.setAttribute('id', 'phoneList1_' + row);
	ulPartial.className = ulClass;

	var ulAll = document.createElement('ul');
	ulAll.setAttribute('id', 'phoneList2_' + row);
	ulAll.className = ulClass;
	
	/*var ulMore = document.createElement('ul');
	ulMore.setAttribute('id', 'phoneList3_' + row);
	ulMore.className = ulClass;*/
	
	var partialPhones = doc.dhtml.getElementById('partialPhonesRows');
	var allPhones = doc.dhtml.getElementById('allPhonesRows');
		if (document.createElement		&& document.documentElement 
			&& (window.opera||navigator.userAgent.indexOf('MSIE 5.0')==-1))
	 	{
		phonesInRow = 5;
		phoneCount = 0;
		for (var i = 0; i < models.length; i++) {
			phoneCount++;

			if (phoneCount > phonesInRow) {
				phoneCount = 1;
				row += 1;
				partialPhones.appendChild(ulPartial);
				allPhones.appendChild(ulAll);
				ulPartial = document.createElement('ul');
				ulPartial.setAttribute('id', 'phoneList1_' + row);
				ulPartial.className = ulClass;
				ulPartial.style.display = 'none';

				ulAll = document.createElement('ul');
				ulAll.setAttribute('id', 'phoneList2_' + row);
				ulAll.className = ulClass;
				ulAll.style.listStyleType = 'none';
				
				/*ulMore = document.createElement('ul');
				ulMore.setAttribute('id', 'phoneList3_' + row);
				ulMore.className = ulClass;
				ulMore.style.listStyleType = 'none';*/

			}
			models[i].parentEl = ulPartial;
			ulPartial.appendChild(phones.createThumbNode(models[i], null, row, i));	
			ulAll.appendChild(phones.createThumbNode(models[i],1));
			/*ulMore.appendChild(phones.createThumbNode(models[i],2));*/
		}

		partialPhones.appendChild(ulPartial);
		allPhones.appendChild(ulAll);
		document.getElementById('phoneList1_1').style.display='none';
		/*allPhones.appendChild(ulMore);*/
	}
	
	//molecular:rm
	//loop and set type 2 models
	models = phones.type2Models;
	var existingUL=document.getElementById("phoneList2");
	for (var i = 0; i < models.length; i++) {
		existingUL.appendChild(phones.createThumbNode(models[i]));	
	}
	setUlWidth(models.length);
	toggleButtonActions(0);
	if(models.length<4){
		document.getElementById("nextSet_unltd_on").style.display='none';
		document.getElementById("lastSet_unltd_on").style.display='none';
		document.getElementById("nextSet_unltd_off").style.display='none';
		document.getElementById("lastSet_unltd_off").style.display='none';
	}
	// DSTH Added 5/29/10 - Hide the tray price of the i1
	//document.getElementById('i1_trayprice').style.display='none';	
}

setType1Rows = function(){
	var el;
	for (var i = 1; i == i; i++){
		el = doc.dhtml.getElementById('phoneList1_' + i);
		if(el != null) phones.type1Rows.push(el);
		else break;
	}
}

accessoryMouseEvent = function(evt){
	doc.dhtml.cancelEvent(evt);
	var evt = doc.dhtml.getEvent(evt);
	var i = doc.dhtml.getTargetId(evt);

	i = i.slice(i.lastIndexOf('_')+1);
	var model = phones.getModelById(session.viewingModel);

	switch (evt.type) {
		case 'click':
			model.selectAccessory(i);
			doc.dhtml.swapImgBySrc(null,model.id + '_aThumb_'+ i,'on');
			break;
		case 'mouseover':
			doc.dhtml.swapImgBySrc(null,model.id + '_aThumb_'+ i,'on');
			break;
		case 'mouseout':
			if(session.currentAccessory != i) {
				doc.dhtml.swapImgBySrc(null,model.id + '_aThumb_'+ i,'off');
			}
			break
	}
}

viewSamplePhoto = function(){
	var url = doc.utils.baseURL + doc.utils.urls['samplePhoto'];
	window.open(url,'samplePhoto','scrollbars');

}

loadFlash = function(){
	// var so = new SWFObject("http://stageplans.boostmobile.com/includes/swf/boost_CAP_viewer.swf", "boost_CAP_viewer", "470", "365", "8", "#FFFFFF");
	var so = new SWFObject(doc.utils.baseURL + "http://espanol.boostmobile.com/sdplans/includes/js/includes/swf/boost_CAP_viewer.swf", "boost_CAP_viewer", "470", "365", "8", "#FFFFFF");
	so.addParam("align", "middle");
  so.addParam("quality", "high");
  so.addParam("wmode", "transparent");
  so.addParam("allowScriptAccess", "always");
  so.addVariable("swfRoot", "http://espanol.boostmobile.com/sdplans/includes/swf/");
  // so.addVariable("swfRoot", "http://stageplans.boostmobile.com/includes/swf/");

// so.addVariable("swfRoot",doc.utils.baseURL + "includes/swf/");
  so.write("phonePhotos");
}


loadInitialModel = function(){
	try{
		session.phoneViewer = doc.utils.getMovie('boost_CAP_viewer');
		phones.selectModel(session.loadEvent);
		clearInterval(iniTimer);
		delete iniTimer;
		navigateRows(null,'partialPhonesButton');
	} catch(err) {}
}



/*New functions by molecular:rm*/
//constant for UNLTD panel width, used to increment slide to more
var _UNLTD_OFFSET=132;
var _PHONE_DIV_WIDTH=44;
var _UNLTD_UL_WIDTH=132;
var currentPostion=[];

//molecular:rm I hate doing this, but time doesn't permit otherwise
innerHtmlOfPhoneList2=function(){
	var listOfPhones=document.getElementById('listOfPhones2');
	listOfPhones.innerHTML="<div id='ArrowRight_unltd'><img id='nextSet_unltd_off' style='display:none' src='http://plans.boostmobile.com/images/btnArrowR_off.png' width='17' height='15'/><a id='nextSet_unltd_on' href='javascript:void(0)'><img src='http://plans.boostmobile.com/images/btnArrowR_on.png' width='17' height='15'/></a></div>";
	listOfPhones.innerHTML+="<div class='maskLayer'><ul id='phoneList2' class='phoneList'></ul></div>";	
	listOfPhones.innerHTML+="<div id='ArrowLeft_unltd'><img id='lastSet_unltd_off' src='http://plans.boostmobile.com/images/btnArrowL_off.png' style='display:none' width='17' height='15'/><a  id='lastSet_unltd_on' href='javascript:void(0)'><img src='http://plans.boostmobile.com/images/btnArrowL_on.png'  width='17' height='15'/></a></div>";
}
//molecular:rm navigate panel by sliding wide UL within a div thet has overflow set to hidden
nextPanel=function(evt,btn){
	var moveToPixel=(currentPostion["unltd"]-_UNLTD_OFFSET);
	var sliderContainer=document.getElementById('phoneList2');
	movePanelTo(sliderContainer,moveToPixel);
	
	//check if we need to disable next button
	toggleButtonActions(moveToPixel);
}
lastPanel=function(evt,btn){
	var moveToPixel=(currentPostion["unltd"]+_UNLTD_OFFSET);
	var sliderContainer=document.getElementById('phoneList2');
	movePanelTo(sliderContainer,moveToPixel);
	//check if we need to disable next button
	toggleButtonActions(moveToPixel);
}
movePanelTo=function(targetElement,position){
	currentPostion["unltd"]=position;
	targetElement.style.left=position+"px";
}
setUlWidth= function (size){
	var ulWidth=(_PHONE_DIV_WIDTH*size)+10;
	_UNLTD_UL_WIDTH=ulWidth;
	document.getElementById("phoneList2").style.width=ulWidth+"px";
}
toggleButtonActions=function(finalPosition){
	var adjWidth=_UNLTD_UL_WIDTH-_UNLTD_OFFSET-20;
	//check next button
	if(finalPosition>(0-adjWidth)){
		document.getElementById("nextSet_unltd_off").style.display='none';
		document.getElementById("nextSet_unltd_on").style.display='block';
	} else {
		document.getElementById("nextSet_unltd_off").style.display='block';
		document.getElementById("nextSet_unltd_on").style.display='none';
	}
	//check last button
	if((finalPosition+5)<0){
		document.getElementById("lastSet_unltd_off").style.display='none';
		document.getElementById("lastSet_unltd_on").style.display='block';
	} else {
		document.getElementById("lastSet_unltd_off").style.display='block';
		document.getElementById("lastSet_unltd_on").style.display='none';
	}
}

