$(document).ready(function () {
    ///////////////////////////////////////////////////////Form Recomendar Site//////////////////////////////////////////////////////
$('#sendRecomendation').validate({
    
            errorContainer: $(".recomende-popup .submit label"),
            errorPlacement: function (error, element) {
            $(".recomende-popup .submit label").html(error.text());
            error.hide();
            element.css("background-color", "#990000");
            
        },
        success: function(label){
            $("#" + label.attr("for")).css("background-color", "#999999")
        },
        submitHandler: function (form) {
            
            
           
            var link = "/base/SiteRecomendation/SendSiteRecomendation/"+model.page.GetLanguage()+".aspx";
            var emailFrom = $('#emailFrom').val();
            var emailTo = $('#emailTo').val()

            viewer.FormRecomendationShowLoader();

            $.post(link, { emailFrom: emailFrom, emailTo: emailTo },
                             function (data) {
                                 var res = eval("(" + data + ")");
                                 viewer.UpdateFormRecomendationAfterSend(res.Message);
                             }
                         );
            return false;
        },
        rules:
            {
                emailFrom:
                {
                    required: true,
                    email: true
                   
                    
                },
                emailTo:
                {
                    required: true,
                    email: true
                   
                }
            },
            messages: {
                emailFrom: {
                    required: ressources['fillallfields.'],
                    email: ressources['fillallfields.']
                },
               
                emailTo: {
                    required: ressources['fillallfields.'],
                    email: ressources['fillallfields.']
                }
               
            }

    });
    ///////////////////////////////////////////////////////Form Recomendar Site//////////////////////////////////////////////////////

    model.init();
    viewer.init();

    $(".lang li a").removeClass("active");
	
	if(model.page.GetLanguage() =='pt')
	{	
	
		$(".lang li  a[href='/pt']").addClass("active")
	}

	if(model.page.GetLanguage() =='en')
	{
	
		$(".lang li  a[href='/en']").addClass("active")
	}
    if(model.page.GetLanguage() =='es')
	{
	
		$(".lang li  a[href='/es']").addClass("active")
	}
    if(model.page.GetLanguage() =='fr')
	{
	
		$(".lang li  a[href='/fr']").addClass("active")
	}

    ////////////////////////////////////////////////////Bind de Eventos///////////////////////////////////////////////////////////////
    // sempre que o url mudar a func LoadPageByHashUrl é chamada


    if (!($.browser.msie)) {
        $(window).bind('hashchange', LoadPageByHashUrl);    
    } 
    
    $("#fecharRecomendar").click(function () { viewer.CloseRecomendar(); });
    $(".recomende").click(function () { viewer.OpenRecomendar(); });
    $(".menu.cinza > li > a").click(function () { });


    // {  viewer.OnMenu($(this.parent())); 
    ////////////////////////////////////////////////////Bind de Eventos///////////////////////////////////////////////////////////////


    LoadPageByHashUrl();

});

// Muda o conteudo Hash do URL
function GoTo(hashUrl, nodeId) {

   // GetSideImage();

    window.location.hash = '#' + hashUrl;
   	
    jQuery.each(jQuery.browser, function(i) {
        if ($.browser.msie) {
            LoadPageByHashUrl();
        } 
    });
    
}


function GoToDestaque(url)
{
	if (($.browser.msie)) {
        	url=url.replace("#/","");	
    	} 
	window.location=url;
}




// &&  $.browser.version == "7.0"
function LoadPageByHashUrl() {

     // trackPageView
    	
    model.trackPageView(model.page.GetRelativeUrl());
    
    if (model.page.GetRelativeUrl() != '') 
    {
        var func = model.page.GetFunc();
	
        if (!model.page.isHomepage())
        {
            GetSideImage(GetNodeIdByURL());
	 viewer.destqHome(0); // mostra Destaque na Homepage	
        }
	    else{
		viewer.destqHome(1); // esconde Destaque na Homepage
            GetSideImage();
	        document.title = 'José Avillez';
        }
	
        eval(func);
    }
    else// estamos na Homepage 
    {
	viewer.destqHome(1); // esconde Destaque na Homepage
        if (model.page.ContentLeftIsLoaded) {
            viewer.HideDarkContent();
            model.page.ContentLeftIsLoaded = false;
            model.page.ContentMainIsLoaded = false;
            model.page.SubMenuIsLoaded = false;
            model.page.MenuLeftIsLoaded = true;
            model.page.MenuRightIsLoaded = true;
            viewer.ChangeOn();
        }

    }
}


function GetSideImage(nodeId) {

    //nodeId == '1137'
   //alert(nodeId);
    var style = undefined;
    if (nodeId == undefined) 
    {
        nodeId = 1083;
        style = "avilezHome";
    } else if ((nodeId == "1694") || (nodeId == "1676") || (nodeId == "1365") || (nodeId == "1118") || (nodeId == "1705") || (nodeId == "1685") || (nodeId == "1130") || (nodeId == "1127") || (nodeId == "1133") || (nodeId == "1205") || (nodeId == "1271") || (nodeId == "1278") || (nodeId == "1285") || (nodeId == "1293") || (nodeId == "1358") || (nodeId == "1365") || (nodeId == "1372") || (nodeId == "1380") || (nodeId == "1445") || (nodeId == "1452") || (nodeId == "1459") || (nodeId == "1467") || (nodeId == "1475") || (nodeId == "1475") || (nodeId == "1297") || (nodeId == "1471")) {
		 style = "avilezPrato";
	} else {
		style = "avilezGeral";
    }



    //alert(nodeId);
        model.CallUrlGetParams("/base/GeneralServices/GetSideImage.aspx", "NodeId=" + nodeId, function(data) {
        var res = eval("(" + data + ")");
        //console.log(data);
        //alert(data);
        viewer.LoadMultipleSideImage(res.Images, style);
        //alert(res.Message + "::" + nodeId);

        //if (res.Images.length > 1) {
                 
        /*} else {
        if (res.Images.length > 0) {
        viewer.LoadSideImage(res.Images[0], style);
        }
        }*/
    });


}


function GetNodeIdByURL() {

    var url = model.page.GetRelativeUrl();
    var nid = $($('a[link|='+url+']')[0]).attr("nodeid");

    return nid;
}



//////////////////////////////////Dark Area///////////////////////////////////////////////////////////



    function GoToHomepage() {

        //viewer.LoadSideImage("#imgBGAHome");
        
        //estado inicial Homepage + sem submenu para carregar
        if (model.page.ContentLeftIsLoaded) {
            viewer.HideDarkContent(function() {//alert("swswq");
                model.page.ContentLeftIsLoaded = false;
                model.page.ContentMainIsLoaded = false;
                model.page.SubMenuIsLoaded = false;
                model.page.MenuLeftIsLoaded = true;
                model.page.MenuRightIsLoaded = true;
                viewer.ChangeOn();
                
            });
        }
        
        
        

        if (!model.page.ContentLeftIsLoaded && model.page.ContentMainIsLoaded && model.page.SubMenuIsLoaded) {

          
            viewer.HideWhiteContent(function() {
               
            viewer.HideSubmenu(function() {
          		$("#conteMain").html('');
                    viewer.ShowLeftMenu(function() {
                                
                                model.page.ContentLeftIsLoaded = false;
                                model.page.ContentMainIsLoaded = false;
                                model.page.SubMenuIsLoaded = false;
                                model.page.MenuLeftIsLoaded = true;
                                model.page.MenuRightIsLoaded = true;
                                viewer.ChangeOn();
                    });
                });
            });


        }


        if (!model.page.ContentLeftIsLoaded && model.page.ContentMainIsLoaded && !model.page.SubMenuIsLoaded) {


            viewer.HideWhiteContent(function() {
			$("#conteMain").html('');
                    viewer.ShowLeftMenu(function() {
                       
                        model.page.ContentLeftIsLoaded = false;
                        model.page.ContentMainIsLoaded = false;
                        model.page.SubMenuIsLoaded = false;
                        model.page.MenuLeftIsLoaded = true;
                        model.page.MenuRightIsLoaded = true;
                        viewer.ChangeOn();
                        
                    });
            });


        }
        
        
    
    
     }


     function LoadContenForLeftMenu() {

     
         var url = model.page.GetRelativeUrl();
         model.CallUrlGet(url, function(html) {

             if (!model.page.ContentLeftIsLoaded && !model.page.ContentMainIsLoaded) {

                 viewer.LoadHtmlForDarkContent(html, function() {
                 scrollFunction();
                 viewer.AnimateForDarkContent(function() {

                     

                         
                         menusHoverFunction();
                         model.page.MenuRightIsLoaded = true;
                         model.page.SubMenuIsLoaded = false;
                         model.page.ContentMainIsLoaded = false;
                         model.page.MenuLeftIsLoaded = true;
                         model.page.ContentLeftIsLoaded = true;
                         viewer.ChangeOn(model.page.GetRelativeUrl());

                     });


                 });


             }
             else {


                 if (!model.page.ContentLeftIsLoaded && model.page.ContentMainIsLoaded && !model.page.SubMenuIsLoaded) {


                     viewer.HideWhiteContent(function() {
			$("#conteMain").html('');
                         viewer.ShowLeftMenu(function() {


                         viewer.LoadHtmlForDarkContent(html, function() {
                            scrollFunction();
                             viewer.AnimateForDarkContent(function() {

                                

                                     model.page.ContentLeftIsLoaded = true;
                                     model.page.ContentMainIsLoaded = false;
                                     model.page.SubMenuIsLoaded = false;
                                     model.page.MenuLeftIsLoaded = true;
                                     model.page.MenuRightIsLoaded = true;
                                     menusHoverFunction();

                                 });
                             });
                         });
                     });


                 }

                 else {
                     if (!model.page.ContentLeftIsLoaded && model.page.ContentMainIsLoaded && model.page.SubMenuIsLoaded) {


                         viewer.HideWhiteContent(function() {
				$("#conteMain").html('');
                             viewer.HideSubmenu(function() {
                                 viewer.ShowLeftMenu(function() {
                                 viewer.LoadHtmlForDarkContent(html, function() {
                                    scrollFunction();
                                     viewer.AnimateForDarkContent(function() {

                                           
                                             menusHoverFunction();
                                             model.page.ContentLeftIsLoaded = true;
                                             model.page.ContentMainIsLoaded = false;
                                             model.page.SubMenuIsLoaded = false;
                                             model.page.MenuLeftIsLoaded = true;
                                             model.page.MenuRightIsLoaded = true;

                                         });
                                     });
                                 });
                             });
                         });


                     }
                     else {


                         viewer.LoadHtmlForDarkContent(html, function() {

                            
                             menusHoverFunction();
                             model.page.MenuRightIsLoaded = true;
                             model.page.SubMenuIsLoaded = false;
                             model.page.ContentMainIsLoaded = false;
                             model.page.MenuLeftIsLoaded = true;
                             model.page.ContentLeftIsLoaded = true;
                             viewer.ChangeOn(model.page.GetRelativeUrl());
                             scrollFunction();
                         });

                     } 
                 } 
             }
         });
         
     }




//////////////////////////////////END Dark Area///////////////////////////////////////////////////////////





//////////////////////////////////White Area///////////////////////////////////////////////////////////




     function LoadContenForRightMenu() {



         var url = model.page.GetRelativeUrl();

         model.CallUrlGet(url, function(html) {


             var response = ParseResponse(html);


             //estado inicial Homepage + sem submenu para carregar
             if (!model.page.ContentMainIsLoaded && !model.page.ContentLeftIsLoaded && !model.page.SubMenuIsLoaded && response.submenu == null) {


                 viewer.HideLeftMenu(function() {

                     viewer.LoadHtmlForWhiteContent(response.content, function() {
                         scrollFunction();
                         viewer.AnimateForWhiteContent(function() {

                             menusHoverFunction();
                             viewer.ChangeOn(model.page.GetRelativeUrl());
                             model.page.MenuRightIsLoaded = true;
                             model.page.SubMenuIsLoaded = false;
                             model.page.ContentMainIsLoaded = true;
                             model.page.MenuLeftIsLoaded = false;
                             model.page.ContentLeftIsLoaded = false;
                             scrollFunction();


                         });

                     });

                 });
             }


             //estado inicial Homepage + com submenu para carregar sem o submenu ainda visivel
             if (!model.page.ContentMainIsLoaded && !model.page.ContentLeftIsLoaded && !model.page.SubMenuIsLoaded && !model.page.ContentLeftIsLoaded && response.submenu != null) {

                 viewer.HideLeftMenu(function() {

                     viewer.ShowSubmenu(response.submenu, function() {

                         viewer.LoadHtmlForWhiteContent(response.content, function() {
                             scrollFunction();
                             viewer.AnimateForWhiteContent(function() {

                                 menusHoverFunction();
                                 viewer.ChangeOn(model.page.GetRelativeUrl());
                                 model.page.MenuRightIsLoaded = true;
                                 model.page.SubMenuIsLoaded = true;
                                 model.page.ContentMainIsLoaded = true;
                                 model.page.MenuLeftIsLoaded = false;
                                 model.page.ContentLeftIsLoaded = false;

                                 var parent = $($(".menu.preto.small > li")[0]);
                                 if (model.page.IssameURLInDiferentLanguages ("/produtos/vinhos", model.page.GetRelativeUrlWithoutLang())){
                                     parent = $($(".menu.preto.small > li")[6]);
                                 }
                                 viewer.SetParentOn(parent);
                                 scrollFunction();
                             });

                         });

                     });

                 });
             }



             //Menu Right + ContentMain + com submenu para carregar sem o submenu ainda visivel
             if (model.page.ContentMainIsLoaded && !model.page.SubMenuIsLoaded && !model.page.ContentLeftIsLoaded && response.submenu != null) {

                 viewer.ShowSubmenu(response.submenu, function() {

                     viewer.LoadHtmlForWhiteContent(response.content, function() {


                         scrollFunction();
                         menusHoverFunction();

                         viewer.ChangeOn(model.page.GetRelativeUrl());

                         model.page.MenuRightIsLoaded = true;
                         model.page.SubMenuIsLoaded = true;
                         model.page.ContentMainIsLoaded = true;
                         model.page.MenuLeftIsLoaded = false;
                         model.page.ContentLeftIsLoaded = false;

                         var parent = $($(".menu.preto.small > li")[0]);
                         
			if (model.page.IssameURLInDiferentLanguages ("/produtos/vinhos", model.page.GetRelativeUrlWithoutLang())){
                             parent = $($(".menu.preto.small > li")[6]);
                         }    
                         viewer.SetParentOn(parent);
                         scrollFunction();


                     });

                 });
             }


             //RigthMenuLoaded + ContentMainLoaded + com submenu para carregar com o submenu já visivel
             if (model.page.ContentMainIsLoaded && model.page.SubMenuIsLoaded && !model.page.ContentLeftIsLoaded && response.submenu != null) {

                 viewer.HideLeftMenu(function() {

                     viewer.ShowSubmenu(response.submenu, function() {

                         viewer.LoadHtmlForWhiteContent(response.content, function() {

                             scrollFunction();
                             menusHoverFunction();
                             viewer.ChangeOn(model.page.GetRelativeUrl());

                             model.page.MenuRightIsLoaded = true;
                             model.page.SubMenuIsLoaded = true;
                             model.page.ContentMainIsLoaded = true;
                             model.page.MenuLeftIsLoaded = false;
                             model.page.ContentLeftIsLoaded = false;


                             var parent = $($(".menu.preto.small > li")[0]);
                             if (model.page.IssameURLInDiferentLanguages ("/produtos/vinhos", model.page.GetRelativeUrlWithoutLang() )){
                                  parent = $($(".menu.preto.small > li")[6]);
                             }   
                             viewer.SetParentOn(parent);
                             scrollFunction();
                         });

                     });

                 });
             }






             //RigthMenuLoaded + ContentMainLoaded + sem submenu para carregar com o submenu já visivel
             if (model.page.ContentMainIsLoaded && !model.page.ContentLeftIsLoaded && response.submenu == null && model.page.SubMenuIsLoaded) {

                 viewer.HideLeftMenu(function() {


                     viewer.HideSubmenu(function() {

                         viewer.LoadHtmlForWhiteContent(response.content, function() {

                             scrollFunction();
                             menusHoverFunction();
                             viewer.ChangeOn(model.page.GetRelativeUrl());

                             model.page.MenuRightIsLoaded = true;
                             model.page.SubMenuIsLoaded = false;
                             model.page.ContentMainIsLoaded = true;
                             model.page.MenuLeftIsLoaded = false;
                             model.page.ContentLeftIsLoaded = false;
                             scrollFunction();

                         });

                     });

                 });
             }



             //RigthMenuLoaded + ContentMainLoaded + sem submenu para carregar com o submenu já visivel
             if (model.page.ContentMainIsLoaded && !model.page.ContentLeftIsLoaded && response.submenu == null && !model.page.SubMenuIsLoaded) {

                 viewer.HideLeftMenu(function() {

                     viewer.LoadHtmlForWhiteContent(response.content, function() {

                         scrollFunction();
                         menusHoverFunction();
                         viewer.ChangeOn(model.page.GetRelativeUrl());

                         model.page.MenuRightIsLoaded = true;
                         model.page.SubMenuIsLoaded = false;
                         model.page.ContentMainIsLoaded = true;
                         model.page.MenuLeftIsLoaded = false;
                         model.page.ContentLeftIsLoaded = false;
                         scrollFunction();

                     });

                 });
             }




             //////////////////////////////////////Dark////////////////////////////////////////////////////////////////



             //estado inicial Homepage + sem submenu para carregar
             if (!model.page.ContentMainIsLoaded && model.page.ContentLeftIsLoaded && !model.page.SubMenuIsLoaded && response.submenu == null) {




                 viewer.HideDarkContent(function() {
                     //alert("saiu");
                     viewer.HideLeftMenu(function() {

                         viewer.LoadHtmlForWhiteContent(response.content, function() {
                             scrollFunction();
                             viewer.AnimateForWhiteContent(function() {


                                 menusHoverFunction();
                                 viewer.ChangeOn(model.page.GetRelativeUrl());

                                 model.page.MenuRightIsLoaded = true;
                                 model.page.SubMenuIsLoaded = false;
                                 model.page.ContentMainIsLoaded = true;
                                 model.page.MenuLeftIsLoaded = false;
                                 model.page.ContentLeftIsLoaded = false;
                                 scrollFunction();


                             });

                         });

                     });

                 });
             }



             //estado inicial Homepage + com submenu para carregar sem o submenu ainda visivel
             if (!model.page.ContentMainIsLoaded && model.page.ContentLeftIsLoaded && !model.page.SubMenuIsLoaded && model.page.ContentLeftIsLoaded && response.submenu != null) {

                 viewer.HideDarkContent(function() {
                     viewer.HideLeftMenu(function() {
                         viewer.ShowSubmenu(response.submenu, function() {

                             viewer.LoadHtmlForWhiteContent(response.content, function() {
                                 scrollFunction();
                                 viewer.AnimateForWhiteContent(function() {

                                     model.page.ContentMainIsLoaded = true;
                                     model.page.SubMenuIsLoaded = true;

                                     menusHoverFunction();
                                     viewer.ChangeOn(model.page.GetRelativeUrl());

                                     model.page.MenuRightIsLoaded = true;
                                     model.page.SubMenuIsLoaded = true;
                                     model.page.ContentMainIsLoaded = true;
                                     model.page.MenuLeftIsLoaded = false;
                                     model.page.ContentLeftIsLoaded = false;
                                     scrollFunction();

                                 });

                             });

                         });
                     });
                 });
             }









         });
     }




//////////////////////////////////End White Area///////////////////////////////////////////////////////////



     

//////////////////////////////////////////////////////////utils/////////////////////////////////////////////////////////////




function ParseResponse(html) {

   
    htmlAll = $("<div></div>");
    htmlAll = $(htmlAll).append(html);

    var submenu = $($(htmlAll).children("#submenuTag")[0]).detach();
    var content = $(htmlAll); 

    var response = new Object();
    if (submenu.children().size() == 0) {

        response.submenu = null;
    }
    else {

        response.submenu = submenu.html();

    }
    response.content = content.html();

//    alert(response.content);
//    alert(response.submenu);

    return response;


}







//function GetElementByURL(hashUrl) {

//    //hashUrl += ".aspx";
//    alert(hashUrl);
//        var aux = $('a[link|=' + hashUrl + ']');    
//        return  aux.parent();
//}


function GetFirstSubMenuElementLink(elem) {

    var item = $("<div></div>");
    $(item).append(elem);
    return $($(item).find("a")).attr("link");
    
}































