
uc=uc||{};uc.utils=uc.utils||{};uc.utils.centeredContainer=function(html_container){this.html_container=html_container;}
uc.utils.centeredContainer.currentContainer=null;uc.utils.centeredContainer.centerCurrent=function(){if(uc.utils.centeredContainer.currentContainer==null)return;var jq_container=uc.utils.centeredContainer.currentContainer;var jq_window=jQuery(window);var popup_x=jq_window.scrollLeft()+((jq_window.width()-jq_container.width())/2);var popup_y=jq_window.scrollTop()+((jq_window.height()-jq_container.height())/2);jq_container.css('top',popup_y);jq_container.css('left',popup_x);}
uc.utils.centeredContainer.showCurrent=function(){if(uc.utils.centeredContainer.currentContainer==null)return;var jq_container=uc.utils.centeredContainer.currentContainer;var jq_window=jQuery(window);jq_window.bind("resize",uc.utils.centeredContainer.centerCurrent);jq_window.bind("scroll",uc.utils.centeredContainer.centerCurrent);uc.utils.centeredContainer.centerCurrent();jq_container.show();}
uc.utils.centeredContainer.hideCurrent=function(){if(uc.utils.centeredContainer.currentContainer==null)return;var jq_container=uc.utils.centeredContainer.currentContainer;var jq_window=jQuery(window);jq_container.hide();jq_container.remove();jq_window.unbind("resize",uc.utils.centeredContainer.centerCurrent);jq_window.unbind("scroll",uc.utils.centeredContainer.centerCurrent);}
uc.utils.centeredContainer.prototype={show:function(){this.hide();var jq_body=jQuery("body");var jq_container=jQuery(this.html_container);jq_container.hide();jq_container.css('position','absolute');jq_container.css('display','block');jq_body.append(jq_container);uc.utils.centeredContainer.currentContainer=jq_container;uc.utils.centeredContainer.showCurrent();},hide:function(){uc.utils.centeredContainer.hideCurrent();}}
uc.utils.showModalWrapper=function(){if(jQuery('#modal-wrapper').length>0)return false;var jq_body=jQuery("body");var jq_modal_wrapper=jQuery('<div id="modal-wrapper"></div>');jq_modal_wrapper.height(jq_body.height());jq_body.append(jq_modal_wrapper);}
uc.utils.hideModalWrapper=function(){jQuery('#modal-wrapper').remove();}
uc.utils.showLoader=function(){var loader=new uc.utils.centeredContainer('<img id="loader" src="/images/pictos/loader.gif" />')
loader.show();}
uc.utils.hideLoader=function(){jQuery('#loader').remove();}
uc.utils.executeServerJS=function(http_url,http_data,http_method,complete_callback,enable_history){if(http_method==null)http_method='GET';if(enable_history==null)enable_history=false;var ajax_callback=function(){if(complete_callback!=null)complete_callback();if(enable_history){var base_url=document.location.href.split('#')[0];var path_url=document.location.pathname;if(!!(window.history&&history.pushState))
{history.pushState(null,null,http_url);}else if(http_url.indexOf(path_url)==0){document.location.href=base_url+'#ajax/'+http_url.slice(path_url.length+1);}}
if(http_method=='GET'){try{urchinTracker(http_url);}catch(e){}}}
if(http_method=='POST')uc.utils.showModalWrapper();uc.utils.showLoader();jQuery.ajax({url:http_url,type:http_method,data:http_data,beforeSend:function(xhr){xhr.setRequestHeader("Accept","application/javascript");},complete:function(XMLHttpRequest,textStatus){uc.utils.hideLoader();ajax_callback();},success:function(data,textStatus){},dataType:"script"});}
uc.utils.ajaxifyLink=function(jq_selector,http_method,complete_callback,enable_history){jq_selector.removeClass('ajax').removeClass('ajax-post');jq_selector.parents('.ajax').removeClass('ajax').removeClass('ajax-post');jq_selector.each(function(){var jq_this=jQuery(this);var ajax_url=jq_this.attr('href');if(ajax_url.indexOf('javascript:')==0)return false;jq_this.attr('href','javascript:void(0);');jq_this.removeClass('ajax');jq_this.click(function(){uc.common.ajaxHistoryUpdate=true;uc.utils.executeServerJS(ajax_url,{},http_method,complete_callback,enable_history);return false;});});}
uc.utils.ajaxifyForm=function(jq_selector,complete_callback){jq_selector.removeClass('ajax');jq_selector.submit(function(){var jq_this=jQuery(this);var ajax_url=jq_this.attr('action');var ajax_data={};jQuery('textarea, input:text,  input:password, input:hidden, select, input:checked, input:selected',jq_this).each(function(){var jq_input=jQuery(this);ajax_data[jq_input.attr('name')]=jq_input.val();});uc.utils.executeServerJS(ajax_url,ajax_data,'POST',complete_callback);return false;});}
uc.utils.buildSelectList=function(jq_selector){window.setTimeout(function(){jq_selector.each(function(){var jq_select=jQuery(this);var jq_selected_item=jQuery('li.selected',jq_select);if(jq_selected_item.length==1){var top=jq_selected_item.position().top;if(top>200)jq_select.scrollTop(top-200);}
jQuery('li a',jq_select).click(function(){jQuery('li.selected',jq_select).toggleClass('selected');jQuery(this).parents('li').toggleClass('selected');});});},1000);}
