var IbericoMouseOver = {

	// color change when the mouse is over the object

	init: function() {
		var ref = this;
		
		// dsl index page, box inactive
		var divs = document.getElementsByClassName('dslSpeedBoxStep1');
		
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// dsl index page, box active
		for(var j = 0; j < divs.length; j++) {
			divs[j].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}
		
		
		// index page, dsl box inactive
		var divs = document.getElementsByClassName('dslSpeedBox');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// index page, dsl box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}
		
		// index page, dsl box inactive
		var divs = document.getElementsByClassName('dslSpeedBoxMiddle');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// index page, dsl box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}
		
		// index page, dsl box inactive
		var divs = document.getElementsByClassName('kBoxMiddle');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// index page, cuenta box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}

		// index page, cuenta box inactive
		var divs = document.getElementsByClassName('cuentaBoxMiddle');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// index page, cuenta box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}

		// index page, cuenta box inactive
		var divs = document.getElementsByClassName('cuentaBoxMiddleb');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// index page, dsl box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}
		
		// index page, dsl box inactive
		var divs = document.getElementsByClassName('kDslSpeedBoxMiddle');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this); return false; };
		}
		
		// index page, dsl box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this); return false; };
		}
		
		// uncheck all other boxes if a radio button is pressed
		//var radioButtons = document.getElementsByClassName('radio');
		
		/*for(var m = 0; m < radioButtons.length; m++) {
			radioButtons[m].onclick = function(){ ref.uncheckBoxes(this, ref); return true; };
		}*/
		
		
		/* mouseover in lists */
		//var columns = document.getElementsByTagName('td');
		var columns = document.getElementsByClassName('switchMe');
		
		for(var n = 0; n < columns.length; n++) {
			var isSwitch = columns[n].id.indexOf("switch_");
		
			if (isSwitch > -1) {
				columns[n].onmouseover= function(){ref.myHighlight(this); return true; };
				columns[n].onmouseout= function(){ref.myDeHighlight(this); return true; };
			}
		}

		
		
	},
	
	changeColorActivate: function(div) {
		div.style.backgroundColor="#ffe7ab";
	},
	
	changeColorUnactivate: function(div) {
		var index = div.id.lastIndexOf(".");
		var id = div.id.substring(index + 1);
		
		var radio = document.getElementById("profile.minDownstream." + id);
		
		//if (radio && !radio.checked) {
		if (radio) {
			div.style.backgroundColor="#ffffff";
		}
	},
	
	uncheckBoxes: function(button, ref) {
		var index = button.id.lastIndexOf(".");
		var id = button.id.substring(index + 1);
		
		//alert("id: " + id);
		
		var radioButtons = document.getElementsByClassName('radio');
		
		for(var m = 0; m < radioButtons.length; m++) {
		
			if (radioButtons[m].id) {
				//alert(" all buttons " + radioButtons[m].id);
				var storeIndex = radioButtons[m].id.lastIndexOf(".");
				var storeId = radioButtons[m].id.substring(index + 1);
				
				if (storeId != id) {
					var div = document.getElementById("dslSpeedBoxStep1" + "." + storeId);
					
					if (div) {
						ref.changeColorUnactivate(div);
					}
					
					div = document.getElementById("dslSpeedBox" + "." + storeId);
					 
					if (div) {
						ref.changeColorUnactivate(div);
					}
					
					div = document.getElementById("dslSpeedBoxMiddle" + "." + storeId);
					 
					if (div) {
						ref.changeColorUnactivate(div);
					}
				}
			}
		}
	},
	
	switchToHover: function( elementPrefix, count, normalClass, hoverClass ) {
		var element = $( elementPrefix+count ); 
		
		if( element ) {
			if( normalClass != 'none' ) {
				element.removeClassName( normalClass );
			}
			element.addClassName( hoverClass );
		}
	},
	
	switchBackFromHover: function( elementPrefix, count, normalClass, hoverClass ) {
		var element = $( elementPrefix+count ); 
		
		if( element ) {
			element.removeClassName( hoverClass );
				
			if( normalClass != 'none' ){
				element.addClassName( normalClass );
			}
		}
	},
	
	myHighlight: function(element) {
		var index = element.id.lastIndexOf("_");
		var count = element.id.substring(index + 1);
		
		IbericoMouseOver.switchToHover( 'tr', count, 'none', 'dslTableActive' );
		IbericoMouseOver.switchToHover( 'option1_', count, 'dslConfirm', 'dslConfirmBlue' );
		IbericoMouseOver.switchToHover( 'option3_', count, 'dslConfirm', 'dslConfirmBlue' );
		IbericoMouseOver.switchToHover( 'option4_', count, 'dslConfirm', 'dslConfirmBlue' );
		
		if ( $('option5_'+count) ) {
			if( $('option5_'+count).hasClassName( 'dslConfirmBlue' ) || $('option5_'+count).hasClassName( 'dslConfirm' ) ) {
				IbericoMouseOver.switchToHover( 'option5_', count, 'dslConfirm', 'dslConfirmBlue' );
			}
			else {
				IbericoMouseOver.switchToHover( 'option5_', count, 'dslTelefonica', 'dslTelefonicaBlue' );
			}
		}
		
		IbericoMouseOver.switchToHover( 'option7_', count, 'dslBonus', 'dslBonusBlue' );
		IbericoMouseOver.switchToHover( 'submit_', count, 'dslBtnOrangeArrow', 'dslBtnOrangeArrowActive' );
		IbericoMouseOver.switchToHover( 'submit_', count, 'dslBtnOrangeArrowSmall', 'dslBtnOrangeArrowSmallActive' );
		IbericoMouseOver.switchToHover( 'submit_0_', count, 'dslBtnOrangeArrowSmall', 'dslBtnOrangeArrowSmallActive' );
		
		IbericoMouseOver.switchToHover( 'price_', count, 'dslPriceInfo', 'dslPriceInfoBlue' );
		IbericoMouseOver.switchToHover( 'tariff_name_', count, 'dslInfo', 'dslInfoBlue' );
		IbericoMouseOver.switchToHover( 'tariff_duration_', count, 'dslInfo', 'dslInfoBlue' );
				
		IbericoMouseOver.switchToHover( 'submit_credit_', count, 'creditBtnBlueArrow', 'creditBtnBlueArrowActive' );
		IbericoMouseOver.switchToHover( 'submit_credit_', count, 'creditBtnBlueArrowSmall', 'creditBtnBlueArrowSmallActive' );
		IbericoMouseOver.switchToHover( 'credit_interest_tip_', count, 'creditInterestInfo', 'creditInterestInfoActive' );
		IbericoMouseOver.switchToHover( 'credit_interest_tip_light_', count, 'dslPriceInfo', 'dslPriceInfoBlue' );
		IbericoMouseOver.switchToHover( 'credit_tip_costs_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_desc_', count, 'creditInfo', 'creditInfoActive' );
		
		IbericoMouseOver.switchToHover( 'tariff_guaranteed_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_max_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_extra_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_account_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_fee_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_withdraw_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchToHover( 'tariff_character_desc_', count, 'creditInfo', 'creditInfoActive' );
	},
	
	myDeHighlight: function( element ) {
		var index = element.id.lastIndexOf("_");
		var count = element.id.substring(index + 1);
	
		IbericoMouseOver.switchBackFromHover( 'tr', count, 'none', 'dslTableActive' );
		IbericoMouseOver.switchBackFromHover( 'option1_', count, 'dslConfirm', 'dslConfirmBlue' );
		IbericoMouseOver.switchBackFromHover( 'option3_', count, 'dslConfirm', 'dslConfirmBlue' );
		IbericoMouseOver.switchBackFromHover( 'option4_', count, 'dslConfirm', 'dslConfirmBlue' );
		
		if ( $('option5_'+count) ) {
			if( $('option5_'+count).hasClassName( 'dslConfirmBlue' ) || $('option5_'+count).hasClassName( 'dslConfirm' ) ) {
				IbericoMouseOver.switchBackFromHover( 'option5_', count, 'dslConfirm', 'dslConfirmBlue' );
			}
			else {
				IbericoMouseOver.switchBackFromHover( 'option5_', count, 'dslTelefonica', 'dslTelefonicaBlue' );
			}
		}
		
		IbericoMouseOver.switchBackFromHover( 'option7_', count, 'dslBonus', 'dslBonusBlue' );
		IbericoMouseOver.switchBackFromHover( 'submit_', count, 'dslBtnOrangeArrow', 'dslBtnOrangeArrowActive' );
		IbericoMouseOver.switchBackFromHover( 'submit_', count, 'dslBtnOrangeArrowSmall', 'dslBtnOrangeArrowSmallActive' );
		IbericoMouseOver.switchBackFromHover( 'submit_0_', count, 'dslBtnOrangeArrowSmall', 'dslBtnOrangeArrowSmallActive' );
		
		IbericoMouseOver.switchBackFromHover( 'price_', count, 'dslPriceInfo', 'dslPriceInfoBlue' );
		IbericoMouseOver.switchBackFromHover( 'tariff_name_', count, 'dslInfo', 'dslInfoBlue' );
		IbericoMouseOver.switchBackFromHover( 'tariff_duration_', count, 'dslInfo', 'dslInfoBlue' );
		
		IbericoMouseOver.switchBackFromHover( 'submit_credit_', count, 'creditBtnBlueArrow', 'creditBtnBlueArrowActive' );
		IbericoMouseOver.switchBackFromHover( 'submit_credit_', count, 'creditBtnBlueArrowSmall', 'creditBtnBlueArrowSmallActive' );
		IbericoMouseOver.switchBackFromHover( 'credit_interest_tip_', count, 'creditInterestInfo', 'creditInterestInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'credit_interest_tip_light_', count, 'dslPriceInfo', 'dslPriceInfoBlue' );
		IbericoMouseOver.switchBackFromHover( 'credit_tip_costs_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_desc_', count, 'creditInfo', 'creditInfoActive' );
		
		IbericoMouseOver.switchBackFromHover( 'tariff_guaranteed_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_max_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_extra_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_account_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_fee_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_withdraw_desc_', count, 'creditInfo', 'creditInfoActive' );
		IbericoMouseOver.switchBackFromHover( 'tariff_character_desc_', count, 'creditInfo', 'creditInfoActive' );
	}
};

Iberico.addPageLoadModule(IbericoMouseOver);