jQuery(document).ready(function() {

	jQuery('#accordionView .accordionItem dt').click(function(){
		jQuery(jQuery(this).parent()).children('dd').slideToggle("slow");
	});

	/* Secondary Nav rainbow icons */
	jQuery('#accordionView > dl:nth-child(5n+1)').addClass('n1');
	jQuery('#accordionView > dl:nth-child(5n+2)').addClass('n2');
	jQuery('#accordionView > dl:nth-child(5n+3)').addClass('n3');
	jQuery('#accordionView > dl:nth-child(5n+4)').addClass('n4');
	jQuery('#accordionView > dl:nth-child(5n+5)').addClass('n5');

    jQuery('img').hover(function() {
		
		if (jQuery(this).attr('hoversrc') != undefined) {
			
			var currentImg = jQuery(this).attr('src');
			jQuery(this).attr('src', jQuery(this).attr('hoversrc'));
			jQuery(this).attr('hoversrc', currentImg);
		}
    }, function() {
		
		if (jQuery(this).attr('hoversrc') != undefined) {
			
			var currentImg = jQuery(this).attr('src');
			jQuery(this).attr('src', jQuery(this).attr('hoversrc'));
			jQuery(this).attr('hoversrc', currentImg);
		}
    });
	
	jQuery('img').click(function() {
		if (jQuery(this).attr('clicksrc') != '') {
			var currentImg = jQuery(this).attr('src');
			jQuery(this).attr('src', jQuery(this).attr('clicksrc'));
			jQuery(this).attr('clicksrc', currentImg);
		}
    });
	
	jQuery('input').focus(function(){
		if(jQuery(this).hasClass('notValid')){
			jQuery('.PowerValidateMessage').removeClass('PowerOn');
			var PowerMessageSelector = "#PV_" + jQuery(this).attr('name');
			jQuery(PowerMessageSelector).addClass('PowerOn');
		}
	});
	
	jQuery('input').change(function(){
		if (jQuery(this).attr('Required')) {
			if (jQuery(this).attr('Required').toLowerCase() == 'true') {
				checkPowerValidateRequired(jQuery(this));
			}else if (jQuery(this).attr('Required').toLowerCase() == 'email') {
				checkPowerValidateEmailRequired(jQuery(this));
			}else if (jQuery(this).attr('Required').toLowerCase() == 'phone') {
				checkPowerValidatePhoneRequired(jQuery(this));
			}
		}
	});
});

function addPowerValidateMessage(inputname, inputmessage, type){
	var inputSelector = "input[name=" + inputname + "]";
	var PowerMessageSelector = "#PV_" + inputname;
	jQuery(inputSelector).addClass("notValid");
	if(!(jQuery(inputSelector).attr('required'))){
		jQuery(inputSelector).attr('required', type);		
	}
	if(!(jQuery(inputSelector).attr('message'))){
		jQuery(inputSelector).attr('message', inputmessage);		
	}
	jQuery(inputSelector).before("<div id='PV_" + inputname + "' class='PowerValidateMessage'><div class='message'>" + inputmessage + "</div><div class='arrow'></div></div>");
	var PowerMessageTop = jQuery(inputSelector).position().top - jQuery(PowerMessageSelector).height() + 'px';
	var PowerMessageLeft = jQuery(inputSelector).position().left - ((jQuery(PowerMessageSelector).width() - jQuery(inputSelector).width())/2) + 'px';
	jQuery(PowerMessageSelector).css('top',PowerMessageTop);
	jQuery(PowerMessageSelector).css('left',PowerMessageLeft);
	focusFirstPowerValidateMessage();
}

function removePowerValidateMessage(inputname){
	var inputSelector = "input[name=" + inputname + "]";
	var PowerMessageSelector = "#PV_" + inputname;
	jQuery(inputSelector).removeClass('notValid');
	jQuery(PowerMessageSelector).remove();
}

function focusFirstPowerValidateMessage(){
	var PowerMessageSelector = "#PV_" + jQuery('.notValid:first').attr('name');
	jQuery('.notValid:first').focus();
	jQuery(PowerMessageSelector).addClass('PowerOn');
}

function checkPowerValidateRequired(input){
if(jQuery(input).val().length > 0){
		removePowerValidateMessage(jQuery(input).attr('name'));
	} else {
		if(jQuery(input).hasClass('notValid') == false){
			addPowerValidateMessage(jQuery(input).attr('name'),jQuery(input).attr('message'),'true');
		}
	}
}

function checkPowerValidateEmailRequired(input){
	if(jQuery(input).val().indexOf(".") > 2 && jQuery(input).val().indexOf("@") > 0){
		removePowerValidateMessage(jQuery(input).attr('name'));
	} else {
		if(jQuery(input).hasClass('notValid') == false){
			addPowerValidateMessage(jQuery(input).attr('name'),jQuery(input).attr('message'),'email');
		}
	}
}

function checkPowerValidatePhoneRequired(input){
	var phonenumber = jQuery(input).val();
	phonenumber = phonenumber.replace(/ /g,"");
	phonenumber = phonenumber.replace(/-/g,"");
	phonenumber = phonenumber.replace(/\./g,"");
	phonenumber = phonenumber.replace(/\)/g,"");
	phonenumber = phonenumber.replace(/\(/g,"");
	if(phonenumber.length > 9){
		removePowerValidateMessage(jQuery(input).attr('name'));
	} else {
		if(jQuery(input).hasClass('notValid') == false){
			addPowerValidateMessage(jQuery(input).attr('name'),jQuery(input).attr('message'),'phone');
		}
	}
}

function checkAllPowerValidateFields() {
	jQuery('input').each(function(){
		if (jQuery(this).attr('Required')) {
			if (jQuery(this).attr('Required').toLowerCase() == 'true') {
				checkPowerValidateRequired(jQuery(this));
			}else if (jQuery(this).attr('Required').toLowerCase() == 'email') {
				checkPowerValidateEmailRequired(jQuery(this));
			}else if (jQuery(this).attr('Required').toLowerCase() == 'phone') {
				checkPowerValidatePhoneRequired(jQuery(this));
			}
		}
	});
}
