//Rotates Link Bar on the top
YUI({modules: {
         'gallery-formmgr': {
             fullpath:
'http://www.dashofer.pt/yui/gallery/gallery-formmgr-debug.js',
             requires: ['node-base','substitute'],
             optional: ['gallery-scrollintoview'],
             supersedes: []}
     }}).use('anim','node','overlay','gallery-formmgr', function(Y) {
    var node = Y.get('#bannerContainerDiv');
    var firstRow=Y.one('.topBarLink').cloneNode(true);
    var step=40;
    Y.one("#topBarUl").append(firstRow);
    var anim = new Y.Anim({
        node: node,
        to: {
            scroll: function(node) {
                return [0, node.get('scrollTop') + step]
            }
        },
        easing: Y.Easing.easeOut
    });

    //
    var move = function(e) {
    	anim.on('end', onEnd);
        anim.set('to', { scroll: [0, node.get('scrollTop') + step] });
        anim.run();
    };

	//Scrolls div back to top
    var onEnd=function(){
       if((Y.one("#bannerScrollDiv").get("offsetHeight")-(Y.one('#bannerContainerDiv').get('scrollTop')))<=step){
       	Y.one("#bannerContainerDiv").set('scrollTop',"0px");
        }

    }
	Y.later(8000,this,move,[],true);

// Shows Social networks tooltip tooltip
    //var xy = Y.one("#overlay-position").getXY();
    // Create an overlay from markup
    var overlay = new Y.Overlay({
        contentBox:"#socialNwTooltip",
        xy:[-100, -100]
    });

    overlay.render();


    var over=function(e){
        var x = this.getX();
    	var y = this.getY();
        overlay.move(x-230,y+50);
    	if(this.hasClass("socialLnDiv")){
            overlay.setStdModContent("body", "Adira&nbsp;à&nbsp;nossa&nbsp;comunidade&nbsp;no&nbsp;LinkedIn", "replace");
            overlay.show();
		}

		if(this.hasClass("socialFbDiv")){
            overlay.setStdModContent("body", "Acompanhe&nbsp;todas&nbsp;as&nbsp;not&iacute;cias&nbsp;e&nbsp;promoções&nbsp;no&nbsp;Facebook", "replace");
            overlay.show();
		}

		if(this.hasClass("socialTwDiv")){
            overlay.setStdModContent("body", "Siga tudo sobre a Verlag Dashöfer no Twitter", "replace");
            overlay.show();
		}
    }

    var out=function(e){
    	if(this.hasClass("socialLnDiv")){
            overlay.hide();
		}

		if(this.hasClass("socialFbDiv")){
            overlay.hide();
		}

		if(this.hasClass("socialTwDiv")){
            overlay.hide();
		}
    }

    Y.on("mouseover", over, ".socialNDivs");
    Y.on("mouseout", out, ".socialNDivs");


//Displays SMS field
if(Y.one("#formEncomendas")){
     var clickAction = function(e){
         //alert(Y.one("#trackPackageNr").get("disabled"));
         if(Y.one("#trackPackageNr").get("disabled")){
             Y.one("#trackPackageNr").set('disabled', false);
         }else{
             Y.one("#trackPackageNr").set('disabled', true);
         }
     }
     Y.on("click", clickAction, Y.one("#trackPackage"));
     }
     
//Rotates big banner

    var node2 = Y.get('#bigBanner');
    var firstRow2=Y.one('.bannerItem').cloneNode(true);
    var step2=593;
   Y.one("#scrollContainer").append(firstRow2);
    var anim2 = new Y.Anim({
        node: node2,
        to: {
            scroll: function(node2) {
                return [node2.get('scrollLeft') + step2,0]
            }
        },
        easing: Y.Easing.easeOut
    });

    //
    var move2 = function(e) {
    	anim2.on('end', onEnd);
        anim2.set('to', { scroll: [node2.get('scrollLeft') + step2,0] });
        anim2.run();
    };

	//Scrolls div back to top
    var onEnd=function(){
       if((Y.one("#scrollContainer").get("offsetWidth")-(Y.one('#bigBanner').get('scrollLeft')))<=step2){
       Y.one("#bigBanner").set('scrollLeft',"0px");
       }

    }
	Y.later(8000,this,move2,[],true);
	Y.on("click", move2, Y.one("#firstBannerItem"));
//Validates order form, witch is under product

	if(Y.one("#formEncomendas")){
     var f = new Y.FormManager('formEncomendas')

     f.prepareForm();

     f.setErrorMessages('company',
         {
             required: 'Insira o nome da empresa por favor'
         });

     f.setErrorMessages('firstName',
         {
             required: 'Insira o seu primeiro nome por favor'
         });

     f.setErrorMessages('lastName',
         {
             required: 'Insira o seu último nome por favor'
         });

     f.setErrorMessages('company_branche',
         {
         	 required: 'Insira a área de actividade da sua empresa por favor'
         });

     f.setErrorMessages('jobFunction',
         {
             required: 'Insira o seu cargo na empresa por favor'
         });

     f.setErrorMessages('address_f',
         {
             required: 'Insira a sua morada por favor'
         });

     f.setErrorMessages('phone_f',
         {
             required: 'Insira o seu telefone/telemovel por favor'
         });

     f.setErrorMessages('ncontribuinte_f',
         {
             required: 'Insira o seu número de contribuite por favor'
         });

     f.setErrorMessages('email',
     {
         required: 'Insira o seu e-mail por favor',
         regex:    'Insira um e-mail válido por favor'
     });
     f.setRegex('email', /@.+\..+/);

     f.setErrorMessages('pagamento',
         {
             required: 'Insira o seu metodo de pagamento preferêncial por favor'
         });

     f.setErrorMessages('zona',
         {
             required: 'Insira a cidade por favor'
         });

     f.setErrorMessages('zip1',
         {
             regex: ' '
         });


//Checks radio buttons and other functions
                 f.postValidateForm = function(form) {
                 var ret=1;
                 if((!form.sex_man.checked)&&(!form.sex_woman.checked)){
                     f.displayMessage(form.sex_man, 'Insira o seu sexo por favor', 'error');
                     ret=0;

                 }

  				 if((!form.pagamento_card.checked)&&(!form.pagamento_contra.checked)){
                     f.displayMessage(form.pagamento_card, 'Insira o seu metodo de pagamento preferêncial por favor', 'error');
                     ret=0;
                 }

                 if((!form.Continente.checked)&&(!form.Ilhas.checked)){
                     f.displayMessage(form.Continente, 'Insira a sua região por favor', 'error');
                     ret=0;
                 }

                 if(!form.agreement.checked){
                     f.displayMessage(form.agreement, 'Aceito as condições', 'error');
                     ret=0;
                 }

                 if((!form.zip1.value)||(!form.zip2.value)){
                         f.displayMessage(form.zip1, 'Insira o seu código postal por favor', 'error');
                     ret=0;
                 }
                 //submits form / or not
                 if(ret==0){
                     return false;
                 }else{
                     form.submit();
                 }
             };


     //listener for validate button
     Y.on('click', function()
     {
         f.validateForm();
     },
     '#submit_form');
     //listener for
     Y.on('click', function()
     {
         f.clearForm();
     },
     '#reset_form');
     }
});
