﻿/* hover! */
Element.implement({
	'hover': function(fn1,fn2) {
		return this.addEvents({
			'mouseenter': function(e) {
				fn1.attempt(e,this);
			},
			'mouseleave': function(e) {
				fn2.attempt(e,this);
			}
		})
	}
});

//  Gestion du cookie et de l'affichage de la page presentation
window.addEvent('domready', function() {
    //Definition Error handler pour les requestes AJAX MS
    if (typeof Sys !== 'undefined')
    {
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(requestEndHandler);
    };
    
    //Language menu
    var selecta = new mooSelecta({
        wrapperHeight: 194
    });
    
    //Language menu events 
    $('language_select').addEvents({
         change: function() {
            //User Prefs cookie
            Cookie.write('LanguagePref', this.value, {duration: 365});
            
            //Redirect
            var uri = new URI(window.location.href.toString());
            uri.setData("Language", this.value);
            window.parent.location = uri.toString();
         }
     }); 
        
    //Fenetres squeezebox
    SqueezeBox.assign($$('a.boxed'), {
            parse: 'rel'
    });
    
    //Gestion du cookie
    if (Cookie.read('FirstVisit') == null ) 
    { 
        var myel = new Element('div',{'html' : firstVisitHTML});
        SqueezeBox.fromElement(myel,{
            size: {x: 951, y: 552},
            handler: 'adopt',
            closeBtn: false,
            onHide: function(){
                var now = new Date();
                Cookie.write('FirstVisit', now.toGMTString(), {duration: 365});
            }
        }); 
    }
    else
    {
        //Maj de l'expiration du cookie 
        var firstVisit = Cookie.read('FirstVisit');
        var cookie = Cookie.write('FirstVisit', firstVisit, {duration: 365});
    };
    
    // Gestion des controles type Accordion
    var myAccordion = new Accordion($('accordion'), $$('.toggler'), $$('.element'), {
        opacity: false,
        onActive: function(toggler, element){
	        if( toggler.hasClass('background') )
	            toggler.removeClass('background');
	        if( !toggler.hasClass('active') )
	            toggler.addClass('active');
        },
        onBackground: function(toggler, element){
	        if( toggler.hasClass('active') )
	            toggler.removeClass('active');
	        if( !toggler.hasClass('background') )
	            toggler.addClass('background');
        }
    });
    
    // gestion des toggle
    var uri = new URI(window.location.href.toString());
    var orderId = uri.getData('ID');
    if( orderId != null )
    {
         var classToExpand = 'ORTHO-'+orderId+'_slide';
    }
        
    var toggleAll = $(document.body).getElements('[class$=_toggle]');
    toggleAll.each(function(item){
        item.setStyle('cursor', 'pointer');
        var toggleAllClass = item.getProperty('class');
        toggleAllClass = toggleAllClass.replace("_toggle", "");
        var slideAllClass = toggleAllClass + "_slide";
        var slideAll = $(document.body).getElements('.' + slideAllClass);
        
        if( classToExpand != null && classToExpand == slideAllClass)
        {
            var img = item.getElementsByTagName("img")[0];
            if( img != null )
            {
                img.src = "../img/site/collapse.png";
            }
        }
        else
        {
            slideAll.slide('hide');
        }
        
        $(item).addEvent('click', function(){
		        slideAll.slide();
		        
		        var img = this.getElementsByTagName("img")[0];
		        if( img != null )
		        {
		            var pos= img.src.indexOf("expand")
		            if( pos > 0 )
		            {
		                img.src = "../img/site/collapse.png";
		            }
		            else
		            {
		                img.src = "../img/site/expand.png";
		            }
		        }
        });
    });
    
    // validation des forms
    if(typeof onValidateSuccess !== 'undefined')
    {
        formsCheck = new FormCheck(aspNetForm, {submit : false, onValidateSuccess: onValidateSuccess});
    }
    else
    {
        formsCheck = new FormCheck(aspNetForm);
    }
        
    //Iframe Refresh
    $$('iframe').each(function(el){
           el.src = el.src;
    });
});

// Patch pour le conflit mootools MS ajax
//http://gist.github.com/269990
//http://mootools.net/blog/2009/06/22/the-dollar-safe-mode/
Function.prototype.startsWith = function(){ return false; };
// Fin Patch 

//Error handler pour les requestes AJAX MS
function requestEndHandler(sender, args) {
   if( args!= null && args.get_error() ){
      args.set_errorHandled(true);
   }
};

