/**
 * Share with a friend reset field function
 */
var i = 1;

function resetFriendsFields() {
	$("#share-with-friend > div.modal-bg > div.modal-txt > fieldset").find("input.friend-field").each(function(){
		$(this).val("");
		$(this).css("border-color", "#7f9db9");
		$(this).css("color", "#525253");
		$(this).css("font-weight", "normal");
		$(this).css("background-color", "#fff");
	});
	
	$("#share-with-friend > div.modal-bg > div.modal-txt > fieldset").find("label").each(function(){			
		$(this).css("color", "#525253");
	});
	
	$("#share-with-friend > div.modal-bg > div.modal-txt > fieldset").find("div.error").each(function(){
		$(this).remove();
	});
	
	for(j=1; j<=4; j++) {
		$("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+j).hide();
	}
	
	$("#taf-loading").hide();
	
	i = 1;
}

function returnValidEmail(email) {
	return /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(email);
}
	
/*
 * Attach event when DOM is ready to be manipulated
 */
$(document).ready(function(){
	$("div#container").find("tr").hover(function() {
		if( $(this).parent().parent().hasClass("hasHover") ) {
			$(this).css("background-color", "#e7eef5");
		}
	}, function() {
		if( $(this).parent().parent().hasClass("hasHover") ) {
			$(this).css("background-color", "transparent");
		}
	});
	
	/**
	 * Share with a friend modal window settings
	 */
	$("#share-with-friend").jqm();
	$("#share-with-friend").jqmAddTrigger("a.jqmShare");
	
	var queryParams = new Querystring();
	
	// Showing the "Tell a Friend" interface if the URL becoming from a NewsLetter
	if( queryParams.get("newsletter") != "" && String(queryParams.get("newsletter")) != "undefined" )
	{
	    $("#share-with-friend").jqmShow();
	}
	
//			$("a.sbmtShare").click(function(){
//				$("#share-with-friend").jqmHide();
//				$("#thank-you").jqmShow();
//			});
	
	$("#thank-you").jqm();
	$("#thank-you").jqmAddClose("a.jqmCloseThankYou");
	
	$("a.add-button").click(function(){
		if(i <= 4) {
			if($("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+i).css("display") == "none") {
				$("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+i).show("fast");
			}
			i++;
		}
	});
	
	/**
	 * Validate form functions
	 */
	var required = jQuery.format($("#required-field").html());
	var invalid = jQuery.format($("#invalid-email").html());
	
	function validField(elem, isemail) {
		var elemlabel = elem.children("label");
		var eleminput = elem.children("input");
		
		if(eleminput.val() == "") {
			$(required(1)).appendTo(elem);
			elemlabel.css("color", "#800000");
			eleminput.css("color", "#fff");
			eleminput.css("font-weight", "bold");
			eleminput.css("border-color", "#e64141");
			eleminput.css("background-color", "#800000");
		} else if ( isemail == true && eleminput.val() != "" && !returnValidEmail(eleminput.val()) ) {
			$(invalid(1)).appendTo(elem);
			elemlabel.css("color", "#800000");
			eleminput.css("color", "#fff");
			eleminput.css("font-weight", "bold");
			eleminput.css("border-color", "#e64141");
			eleminput.css("background-color", "#800000");
		} else {
			elem.children(".error").remove();
						
			elemlabel.css("color", "#525253");
			eleminput.css("border-color", "#7f9db9");
			eleminput.css("color", "#525253");
			eleminput.css("font-weight", "normal");
			eleminput.css("background-color", "#fff");
		}
	}
	
	function validDependedFriendFields(nameelem, mailelem) {
		var namelabel = nameelem.children("label");
		var maillabel = mailelem.children("label");
		
		var nameinput = nameelem.children("input");
		var mailinput = mailelem.children("input");

		if (nameinput.val() != "" && mailinput.val() == "") {
			$(required(1)).appendTo(mailelem);
			maillabel.css("color", "#800000");
			mailinput.css("color", "#fff");
			mailinput.css("font-weight", "bold");
			mailinput.css("border-color", "#e64141");
			mailinput.css("background-color", "#800000");
		} else if (nameinput.val() == "" && mailinput.val() != "") {
			$(required(1)).appendTo(nameelem);
			namelabel.css("color", "#800000");
			nameinput.css("color", "#fff");
			nameinput.css("font-weight", "bold");
			nameinput.css("border-color", "#e64141");
			nameinput.css("background-color", "#800000");
		} else if ( (nameinput.val() == "" || mailinput.val() != "") && !returnValidEmail(mailinput.val()) && mailinput.val() != "") {
			$(invalid(1)).appendTo(mailelem);
			maillabel.css("color", "#800000");
			mailinput.css("color", "#fff");
			mailinput.css("font-weight", "bold");
			mailinput.css("border-color", "#e64141");
			mailinput.css("background-color", "#800000");
		} else {
			nameelem.children(".error").remove();
			mailelem.children(".error").remove();
			
			namelabel.css("color", "#525253");
			nameinput.css("border-color", "#7f9db9");
			nameinput.css("color", "#525253");
			nameinput.css("font-weight", "normal");
			nameinput.css("background-color", "#fff");
			
			maillabel.css("color", "#525253");
			mailinput.css("border-color", "#7f9db9");
			mailinput.css("color", "#525253");
			mailinput.css("font-weight", "normal");
			mailinput.css("background-color", "#fff");
		}
		
		// if is already with error, and user made the correct typing
		if ( (nameinput.next().is("div.error") && nameinput.val() != "") ) {
			nameelem.children(".error").remove();
			
			namelabel.css("color", "#525253");
			nameinput.css("border-color", "#7f9db9");
			nameinput.css("color", "#525253");
			nameinput.css("font-weight", "normal");
			nameinput.css("background-color", "#fff");
		}
		
		// if is already with error, and user made the correct typing
		if ( (returnValidEmail(mailinput.val()) && mailinput.val() != "") ) {
			mailelem.children(".error").remove();
			
			maillabel.css("color", "#525253");
			mailinput.css("border-color", "#7f9db9");
			mailinput.css("color", "#525253");
			mailinput.css("font-weight", "normal");
			mailinput.css("background-color", "#fff");
		}
	}
	
	function validFormFriend() {
		// share with a friend validation
		var yourname = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.your-name");
		var yourmail = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.your-mail");
		var friendname = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.first-friend > div:first");
		var friendmail = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.first-friend > div:last");
		
		validField(yourname, false);
		validField(yourmail, true);
		
		validField(friendname, false);
		validField(friendmail, true);
		
		for(k=1; k<=4; k++){
			// check which field is open
			if( $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+k).css("display") == "block" ) {
				var nameelem = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+k+" > div:first");
				var mailelem = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+k+" > div:last");
											
				validDependedFriendFields(nameelem, mailelem);
			}
		}
		
		var haserror = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset").find("div.error").length;
		return (haserror == 0) ? true : false;
	}
	
	$(".sbmtFormFriend").click(function(){
		if( validFormFriend() ) {
			
			var params = "";
			
			// In this moment we make sure of the From and To parameter is no empty due to the validation function
			// share with a friend validation
	        
	        var yourname = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.your-name > input:first").val();
	        
	        var yourmail = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.your-mail > input:first").val();
	        
	        var emailContent = $("div#preview-email input:first").val();
	        
	        var language = $("div#preview-email input:last").val();
	        
	        params += String(yourname) + "|" + String(yourmail) + ";";
	        
	        var friendName = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.first-friend > div:first > input:first").val();;
			var friendMail = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div.first-friend > div:last > input:first").val();;
	        params += String(friendName) + "|" + String(friendMail) + ";";
	        
	        for(friend=1; friend<=4; friend++){
			    // check which field is open
			    if( $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+friend+" > div:first > input:first").val() != "") {
				    var name = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+ friend +" > div:first > input:first").val();
				    var email = $("#share-with-friend > div.modal-bg > div.modal-txt > fieldset > div."+ friend +" > div:last > input:last").val();
												
				    params += name + "|" + email + ";";
			    }
		    }
			
			// Chamada jQuery/Ajax
			$.ajax({
                type: "POST",
                url: "default.aspx/SendEmail",
                data: "{param:'" + params + "', url:'"+ window.location.href +"', emailContent:'" + emailContent + "', language:'" + language + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(){
                    $('#share-with-friend').jqmHide();
                    $('#thank-you').jqmShow();
                    $("#taf-loading").hide();
                    window.scrollTo(0,0);
                },
                beforeSend: function(){
					$("#taf-loading").show();
                }
            });
			return false;
		}
		else
		{
		    return false;
		}
	});
	
	// preview e-mail
    $("a.preview-email").toggle(function(){
        $("#preview-email").slideDown("normal");
    }, function(){
        $("#preview-email").slideUp("normal");
    });
	
	/**
	 * Handle all sub item on left navigation
	 */
	
	/*
	$("ul#nav-primary li").find("a").toggle(function(){
			if( $(this).next().is("ul.nav-secondary") ) {
				$(this).parent().addClass("nav-opened");
				$(this).next().slideDown("fast");
			}
		}, function() {
			if( $(this).next().is("ul.nav-secondary") ) {
				$(this).next().slideUp("fast", function(){
					$(this).parent().removeClass("nav-opened");
				});
			}
		}
	);
	*/
	
    var search = $("#ctl00_txtSearch").val();
    
    $("#ctl00_txtSearch").focus(function(){
	    if ($(this).val() == search) {
	        $(this).val("");
	    }
	});
	
    $("#ctl00_txtSearch").blur(function(){
	    if ($(this).val() == "") {
	        $(this).val(search);
	    }
	});
	
	$("#disclaimer").jqm();
	$("#disclaimer").jqmAddTrigger("a.jqmDisclaimer");
	
	var linkDisclaimer = "";
	
	$("a.jqmDisclaimer").click(function(){
	    $("#disclaimer").jqmShow();
	    linkDisclaimer = $(this).attr("href");
	    return false;
	});
	
	$("a.openDisclaimerLink").click(function(){
	    $("#disclaimer").jqmHide();
	    window.open(linkDisclaimer);
	});
	
	$("a[@rel=external]").click(function(){
		window.open($(this).attr("href"));
		return false;
	});
	
	/**
	 * check if pngFix is loaded
	 */
	var pngFunction = jQuery.isFunction($(document).pngFix);
	if(pngFunction) { $(document).pngFix(); }
});

