var IbericoMouseOver = {

	// color change when the mouse is over the object

	init: function() {
		var ref = this;
		
		var bgHoverBoxExtraSmall		= 'url(images_new/box_extra_small_round.gif)';
		var bgHoverBoxExtraSmallActive 	= 'url(images_new/box_extra_small_round_hover.gif)';
		var bgHoverBoxSmallNew		  	= 'url(images/new_layout/box_small_round.gif)';
		var bgHoverBoxSmallActiveNew 	= 'url(images/new_layout/box_small_round_hover.gif)';
		var bgHoverBoxSmall		  		= 'url(images_new/box_small_round.gif)';
		var bgHoverBoxSmallActive 		= 'url(images_new/box_small_round_hover.gif)';
		var bgHoverBoxMedium			= 'url(images_new/box_medium_round.gif)';
		var bgHoverBoxMediumActive  	= 'url(images_new/box_medium_round_hover.gif)';
		var bgHoverBoxMedium2			= 'url(images_new/box_medium2_round.gif)';
		var bgHoverBoxMedium2Active 	= 'url(images_new/box_medium2_round_hover.gif)';

		
		// all extra small hover-boxes
		var divs = document.getElementsByClassName('hoverBox_extra_small');				
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.mousehover(this,bgHoverBoxExtraSmallActive); return false; };
			divs[i].onmouseout = function(){ ref.mousehover(this,bgHoverBoxExtraSmall); return false; };
		}		
		
		// all small hover-boxes
		var divs = document.getElementsByClassName('hoverBox_small');				
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.mousehover(this,bgHoverBoxSmallActive); return false; };
			divs[i].onmouseout = function(){ ref.mousehover(this,bgHoverBoxSmall); return false; };
		}
		
		// all small hover-boxes
		var divs = document.getElementsByClassName('hoverBox_small_internet');				
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.mousehover(this,bgHoverBoxSmallActiveNew); return false; };
			divs[i].onmouseout = function(){ ref.mousehover(this,bgHoverBoxSmallNew); return false; };
		}
		
		// all medium hover-boxes
		var divs = document.getElementsByClassName('hoverBox_medium');				
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.mousehover(this,bgHoverBoxMediumActive); return false; };
			divs[i].onmouseout = function(){ ref.mousehover(this,bgHoverBoxMedium); return false; };
		}
		
		// all medium2 hover-boxes
		var divs = document.getElementsByClassName('hoverBox_medium2');				
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.mousehover(this,bgHoverBoxMedium2Active); return false; };
			divs[i].onmouseout = function(){ ref.mousehover(this,bgHoverBoxMedium2); return false; };
		}
		
		// dsl index page, box inactive
		/*var divs = document.getElementsByClassName('lpSquare');
		
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.changeColorActivate(this,'lpSquareActive'); return false; };
		}
		
		// dsl index page, box active
		for(var j = 0; j < divs.length; j++) {
			divs[j].onmouseout = function(){ ref.changeColorUnactivate(this,'lpSquare'); return false; };
		}
		
		
		// mobiel index page, box inactive
		var divs = document.getElementsByClassName('lpSquareMobile');
		
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.changeColorActivate(this,'lpSquareMobileActive'); return false; };
		}
		
		// mobile index page, box active
		for(var j = 0; j < divs.length; j++) {
			divs[j].onmouseout = function(){ ref.changeColorUnactivate(this,'lpSquareMobile'); return false; };
		}
		
		// mobiel index page, box inactive
		var divs = document.getElementsByClassName('lpSquareMobileSmall');
		
		for(var i = 0; i < divs.length; i++) {
			divs[i].onmouseover = function(){ ref.changeColorActivate(this,'lpSquareMobileSmallActive'); return false; };
		}
		
		// mobile index page, box active
		for(var j = 0; j < divs.length; j++) {
			divs[j].onmouseout = function(){ ref.changeColorUnactivate(this,'lpSquareMobileSmall'); return false; };
		}
		
		
		// index page, dsl box inactive
		var divs = document.getElementsByClassName('dslInputBox');
		
		for(var k = 0; k < divs.length; k++) {
			divs[k].onmouseover = function(){ ref.changeColorActivate(this,'dslInputBoxActive'); return false; };
		}
		
		// index page, dsl box active
		for(var l = 0; l < divs.length; l++) {
			divs[l].onmouseout = function(){ ref.changeColorUnactivate(this,'dslInputBox'); return false; };
		}
		
		/* 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; };
			}
		}*/
	},
	
	mousehover : function(element,image) {
		element.style.backgroundImage = image;  
	},
	
	changeColorActivate: function(div,active) {
		div.className = active;
	},
	
	changeColorUnactivate: function(div,inactive) { 
		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.className = inactive;
		}
		
		radio = document.getElementById("profile.callDuration." + id);
		
		//if (radio && !radio.checked) {
		if (radio) {
			div.className = inactive;
		}
		
		radio = document.getElementById("dslSpeedBox." + id);
		
		//if (radio && !radio.checked) {
		if (radio) {
			div.className = inactive;
		}
		
		radio = document.getElementById("profile.mobileContractType." + id);
		
		//if (radio && !radio.checked) {
		if (radio) {
			div.className = inactive;
		}
		
		
		radio = $('profile.offerType');
		
		if (radio) {
			div.className = inactive;
		}
	},
	
	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, 'creditInterestInfoLight', 'creditInterestInfoLightActive' );
		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, 'creditInterestInfoLight', 'creditInterestInfoLightActive' );
		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);
