// For IE6, attach hover for navigation list items
// -----------------------------------------------
sfHover = function(){
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++){
		sfEls[i].onmouseover=function() {
			this.className+=" hover";
		}         
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
} 
if (window.attachEvent) window.attachEvent("onload", sfHover); 
// -----------------------------------------------

$(document).ready(function(){

	//$(document).pngFix();

	// Rounded corners fix
	if ($.browser.msie){
		$('#banner').prepend('<div id="rounded"><img src="/_images/top-left.png" /></div>');
	}
	
	// -------------------
	// Homepage banner
	
	$('#slider a').click(function(){
		if (!$(this).parent().is('.on')){
			$('#banner li.on').removeClass('on');
			$(this).parent().addClass('on');
			
			$id = $(this).attr('href');
			if ($('.slide:visible').length > 0){
				$('.slide:visible').slideUp(200, function(){
					$($id).slideDown(400);
				});
			}
			else{
				$($id).slideDown(400);
			}
		}
	});

	// -------------------
	// Solution finder
	
	$('.accordion a').click(function(){
		if (!$(this).parent().is('.on')){
			$('li.on', $(this).parents('.accordion')).removeClass('on');
			$('li, h3', $('#accordion-solutions')).hide();
			$(this).parent().addClass('on');
			
			if ($(this).attr('href').length > 1){
				$('li.on', $(this).attr('href')).removeClass('on');
				$($(this).attr('href')).show().siblings().hide();
			}
			else{
				var arySolutions = $(this).attr('class').split(' ');
				for (i=0; i<arySolutions.length; i++){
					$('a[name=' + arySolutions[i] + ']').parent().show();	
				}
				if (arySolutions.length > 0){
					$('a[name=' + arySolutions[0] + ']').parents('div').find('h3').show();	
				}
				else{
					$('a[name=' + arySolutions[0] + ']').parents('div').find('h3').hide();	
				}
			}
		}
		return false;
	});

	// -------------------
	// Tabs
	
	$('.tabs a').click(function(){
		if (!$(this).parent().is('.on')){
			$('li.on, div.on', $('#content')).removeClass('on');
			$(this).parent().addClass('on');
			$($(this).attr('href')).addClass('on');
		}
		return false;
	});

	// -------------------
	// Page initiation


	// Start banner animation
	changeSlide();

	// Remove border from all last list items
	$('ul').each(function(){
		if (!$(this).parent().is('.tabs')){
			$('li:last, li:last a', $(this)).css('border','0px');
		}
	});
	
	// Open default tab
	if (document.location.hash){
		$('.tabs a[href=' + document.location.hash + ']').trigger('click');
	}
	else if (!$('.tabs li:first').is('.on')){
		$('.tabs li:first a').trigger('click');
	}
	
	// Form validation
	
    $('button').click(function(){
		$('input, textarea').css('border-color','#fff');
        if ($('input[name=iName]').val() == ''){ showError($('input[name=iName]'),'missing'); return false; }
        if ($('input[name=iEmail]').val() == ''){ showError($('input[name=iEmail]'),'missing'); return false; }
		
		var emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
        if (!emailRegex.test($('input[name=iEmail]').val())) { showError($('input[name=iEmail]'),'invalid'); return false; }
	        
        if ($('textarea[name=iQuery]').text() == ''){ showError($('textarea[name=iQuery]'),'missing'); return false; }
    
		$('form').trigger('submit');
    });
    
    function showError(field, type){
		field.css('border-color','red');
        field.trigger('focus');
        msg = type == 'missing' ? 'You have left out a mandatory field. Please complete and try again.' : 'There is an error in one of the fields. Please amend and try again.'
        alert(msg);
    }
	

});


// -------------------
// Rotates banners on the homepage

function changeSlide(){
	var $sCurr = $('#slider li.on');
	var $sNext = '';
	
	if ($sCurr.length == 0){
		var rnd = Math.floor(Math.random()*3);
		$sNext = $('#slider li').eq(rnd);
	}
	else if (!$sCurr.next().is('li')){
		$sNext = $('#slider li:first');
	}
	else{
		$sNext = $sCurr.next();
	}
	
	$('a', $sNext).trigger('click');
	var $t = setTimeout('changeSlide()', 6000);
}
