eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(b($){$.m.E=$.m.g=b(s){h($.x.10&&/6.0/.I(D.B)){s=$.w({c:\'3\',5:\'3\',8:\'3\',d:\'3\',k:M,e:\'F:i;\'},s||{});C a=b(n){f n&&n.t==r?n+\'4\':n},p=\'<o Y="g"W="0"R="-1"e="\'+s.e+\'"\'+\'Q="P:O;N:L;z-H:-1;\'+(s.k!==i?\'G:J(K=\\\'0\\\');\':\'\')+\'c:\'+(s.c==\'3\'?\'7(((l(2.9.j.A)||0)*-1)+\\\'4\\\')\':a(s.c))+\';\'+\'5:\'+(s.5==\'3\'?\'7(((l(2.9.j.y)||0)*-1)+\\\'4\\\')\':a(s.5))+\';\'+\'8:\'+(s.8==\'3\'?\'7(2.9.S+\\\'4\\\')\':a(s.8))+\';\'+\'d:\'+(s.d==\'3\'?\'7(2.9.v+\\\'4\\\')\':a(s.d))+\';\'+\'"/>\';f 2.T(b(){h($(\'> o.g\',2).U==0)2.V(q.X(p),2.u)})}f 2}})(Z);',62,63,'||this|auto|px|left||expression|width|parentNode||function|top|height|src|return|bgiframe|if|false|currentStyle|opacity|parseInt|fn||iframe|html|document|Number||constructor|firstChild|offsetHeight|extend|browser|borderLeftWidth||borderTopWidth|userAgent|var|navigator|bgIframe|javascript|filter|index|test|Alpha|Opacity|absolute|true|position|block|display|style|tabindex|offsetWidth|each|length|insertBefore|frameborder|createElement|class|jQuery|msie'.split('|'),0,{}))

function flyoutSitemap() {
	$('#corp-toolbox-sitemap > a').click(function() {
		if($('#container span.ajax-loader').length == 0) {
			$('#container').prepend('<span class="ajax-loader"></span>');
		}
	});
	$('#corp-toolbox-sitemap > a').toggle(function() {
		if($('#corp-toolbox-sitemap div#sitemap-flyout ul.ul0').length != 0) {
			$('#corp-toolbox-sitemap > a').addClass('sitemap-flyout');
			$('#corp-toolbox-sitemap div#sitemap-flyout').slideDown('slow');
		}
		else {
		$('#corp-toolbox-sitemap > a').addClass('sitemap-flyout');
		$('#corp-toolbox-sitemap').append('<div id="sitemap-flyout"></div>');
		var linkToSitemap = $('#corp-toolbox-sitemap > a').attr('href');
		$('#corp-toolbox-sitemap div#sitemap-flyout').load(linkToSitemap + ' #sitemap ul.ul0', function() { 
			$('#container span.ajax-loader').addClass('off'); 
			if (jQuery.isFunction(jQuery.fn.bgiframe)) { 
				$(this).bgiframe();
			}
			var sections = $('#sitemap-flyout ul.ul0 > li').get();
			for(var i = 0; i < sections.length; i++) {
				if(((i % 4) == 0) && (i > 3)) {
					$(sections[i-1]).after('<li class="ul0 sep">&nbsp;</li>')
				}
			}
		} );
		$('#corp-toolbox-sitemap div#sitemap-flyout').css('display', 'none').slideDown('slow');}
		return false;
	},
	function() {
		$('#corp-toolbox-sitemap div#sitemap-flyout').slideUp('slow', function() {
			$('#corp-toolbox-sitemap > a').removeClass('sitemap-flyout');
		});
		return false;
	});
}


function horizontalMenuIeHack() {
	if ($("#menu").css("display") != "none") {
		if ($.browser.version < 8){
		
			$("ul.ul0 li.ul0 > a span").wrap("<span class='loveIE'></span>");
			var li_width = $("ul.ul0 li.ul0").width();
			$("ul.ul0 li.ul0 > a").css({
				position: "relative",
				left: "0"
			})
			var ie = 0;
			$("ul.ul0 li.ul0").each(function(i){
				$(this).find(".loveIE span").css({
					width: $(this).width()
				});
			});
			
		} else if ($.browser.version == 8){
			$('li.ul0 > a').each(function(){
				 var innerHeight = $(this).height();
				var outerHeight = $(this).outerHeight();
				
				$(this).height( 2*innerHeight - outerHeight );
				$(this).hide().show(); // force redraw
			});
		
		}
	}
}

// display quotes randomly
function addQuotes() {
	if ($("#region18 blockquote.semirandom")) {
		var blockquote = $("#region18 blockquote.semirandom");
		var listvessel = $(blockquote).find('ul')[0];
		var listitems = $(listvessel).find('li');
		var random = $(listitems[rndnm(listitems.length)]).html();
		var para = document.createElement('p');
		$(para).append(random)
		$(blockquote).empty();
		$(blockquote).html(para);
	}
}

function glossary() {
	$('#glossary dd:first').addClass('show');
	$('#glossary dl dl dt:first').addClass('mark');
	$('#glossary dd dd:first').addClass('show');
	var ddHeight = $('#glossary dd dd:first').height();
	$('#glossary dl dl:first').css('height', ddHeight);

	$('#glossary > dl > dt').not('dt.empty').each(function() {
		$(this).click(function() {
			$('#glossary > dl > dd').removeClass('show');
			$(this).next('dd').addClass('show');
		});
	});

	$('#glossary > dl > dd > dl > dt').each(function() {
		$(this).click(function() {
			$('#glossary > dl > dd > dl > dd').removeClass('show');
			$('#glossary > dl > dd > dl > dt').removeClass('mark');
			$(this).addClass('mark');
			$(this).next('dd').addClass('show');
			var ddHeight = $(this).next('dd').height();
			$(this).parent().css('height', ddHeight);
		});
	});
}



function isValidEmail(email){
  if ($(email).length==0) return false;
  if ($(email).val().length == 0) return false;
  return  ($(email).val().length > 5 && $(email).val().indexOf('@') > -1 && $(email).val().indexOf('.') > -1) ? true : false; 
}

function isValidCode(zip_code_selector){
  if ($(zip_code_selector).length==0) return true;
  if ($(zip_code_selector).val().length == 0) return true;
  return ( !isNaN($(zip_code_selector).val()) && $(zip_code_selector).val().length>4)?true:false;
}

/**
 * appends paragraph with an error message from the hidden input
 * @param {Object} el - element causing error
 */
function showError(el) {
	var inputs = $(el).parent().find("input");
	var error_message = inputs[inputs.length-1].value;
	$(el).parent().removeClass("error").find("p.error_message").remove();						
	var error_para = document.createElement("p");
	$(error_para).addClass("error_message").append(error_message).css("display", "none");
	$(el).parent().addClass("error").append(error_para);
	$(error_para).slideDown("slow");
}

function showErrorMessage(form_selector, email_selector, zip_code_selector) {
	//$('#standard-error li').show('normal',ieSlideFix); /* Cause strange IE6 errors */
	$('#standard-error').find('li').show('normal', ieSlideFix);
	$('#success').show('normal',ieSlideFix);
	
	$("#layout form").submit(
		function() {		
		try {
			$(form_selector + " p.error_message").hide();
			$(form_selector + " .mandatory").removeClass("error");
			var mandatories = $(this)
				.find(".mandatory :text, .mandatory :checkbox, .mandatory textarea, .mandatory select, .mandatory :radio")
				.filter(function() {
					return !($(this).css("display") == "none");
				});
			mandatories.each (
				function() {
					if($(this).is(":text, textarea") && $(this).val().length == 0) {
						showError(this);
					} else if($(this).is(":checkbox") && !$(this).is(":checked")) {
						showError(this);
					} else if($(this).is(":radio") && $(this).parent().parent().find(":checked").length == 0) {
						showError(this);
					} else if ($(this).is("select") && $(this).get(0).options.selectedIndex == 0) {
						showError(this);
					} 
				}
			);
			
			if(($(email_selector).val().length != 0) && !isValidEmail(email_selector)){
				var email_error_message = $("#email_error_message").val();
				var error_para = document.createElement("p");
				$(error_para).addClass("error_message").append(email_error_message).css("display", "none");
				$(email_selector).parent().addClass("error").append(error_para);
				$(error_para).slideDown("slow");				
			};
			//if(!isValidCode(zip_code_selector)){
			//	$(zip_code_selector).parent().parent().find("strong.email-error").slideDown("fast");
			//};
			for(var i = 0; i < mandatories.length; i++) {
				if((mandatories.eq(i).is(":text, textarea") && mandatories.eq(i).val().length == 0)) {
					return false;
				} else if(mandatories.eq(i).is(":checkbox") && !(mandatories.eq(i).is(":checked"))) {
					return false;
				} else if(mandatories.eq(i).is(":radio") && mandatories.eq(i).parent().parent().find(":checked").length == 0) {
				  return false;
				} else if(mandatories.eq(i).is("select") && mandatories.eq(i).get(0).options.selectedIndex == 0) {
					return false;
				} 
			}
			
			if(!isValidEmail(email_selector)){return false;};
			//if(!isValidCode(zip_code_selector)){return false;};
			
			return true;
		}
			catch(err) {
				return true
			}
		}
	)
}

function ieSlideFix(){
  $('#region15,button').css('opacity',0.9).css('opacity',1)    
}

function backLink(where, label) {
	$(where).append('<p class="backlink"><a href="#">' + label + '</a></p>').find("p.backlink a").click(function() {
		history.back();
		return false;
	});
}


function prepareRegistrationForm() {
	var reg = $('html#re7212001 #userregistration-s2');
	if (reg.length) {
		$(':checkbox', reg).addClass('checkbox');
		$('li:last-child label+input+label', reg).remove();
		$('li:last-child', reg).addClass('confirmation');
		$('label[for=displayedFields_interest]', reg).parent().addClass('receiveEmail');
		if (!$('span.errorMessage', reg).length) $('label[for=displayedFields_interest] ~ :checkbox', reg).attr('checked', 'checked');
	}
}

function fixWrapieMinHeight() {
	var minHeight = $('#navigation ul.ul1').height();
	if (minHeight > parseInt($('#wrapie').css('min-height'), 10)) {
		if ($.browser.msie && parseInt($.browser.version, 10) < 7) {
			$('#wrapie').css('height', minHeight + 'px');
		}
		else {
			$('#wrapie').css('min-height', minHeight + 'px');
		}
	}
}

function initialize() {
	if($("#re7158003").length > 0) {
		backLink("#userregistration-newuser form", "volver");
	}
	flyoutSitemap();
	addQuotes();
	fixWrapieMinHeight();
	eipf.changeTextSize.corpToolboxChangetextsize("3");
	glossary();
	showErrorMessage(".form-builder", "#contact-form-email", "#contact-from-zip");

	if ($.browser.msie) {
		if ($("#menu li.selected .ul1").height() > $("#wrapie").height()) {
			$("#wrapie").css("height", $("#menu li.selected .ul1").height());
		}

		horizontalMenuIeHack();
	}
	else {
		$("#wrapie").css("min-height", $("#menu li.selected .ul1").height());
	}

	prepareRegistrationForm();
}

$(document).ready(initialize);

