(function($){$.fn.tt_offer_pi1_form=function(options){options=$.extend({},$.OfferPi1Form.defaults,options);return this.each(function(){new $.OfferPi1Form(this,options);});};$.OfferPi1Form=function(element,options){var $element=$(element).submit(function(){var values=$.map($(this).serializeArray(),function(r){if(r.value){return r.value;}});if(values.length){$("body").css('cursor','wait');var params={'tx_ttoffer_pi1[tag]':values.join('-')};if(options.pageResultXHR){$.getJSON(options.pageResultXHR,params,function(data){swapPage(data.url);});}else{var uri=$(this).attr('action');uri+=((uri.indexOf('?')<0)?'?':'&')+$.param(params);swapPage(uri);}}
return false;});var labels=new Array();var selected=new Array();var $select=$("select",element);var numSelect=Number($select.length);if((typeof options.tagRelations=='object')&&typeof options.groupRelations=='object'){for(var p in options.groupRelations){_$(p).data('uid',p);for(var uid in options.groupRelations[p]){_$(uid).data('uid',uid);selected[uid]=_$(uid).val();$("option",_$(uid)).each(function(){labels[this.value]=this.text;});}}
$select.change(function(){if(this.type=='select-one'){var uid=$(this).data('uid');if((Number(uid)>0)&&(typeof options.groupRelations[uid]=='object')){for(var a in options.groupRelations[uid]){processData(_$(a)[0],'clean');}
var index=$(this).val();if(typeof options.tagRelations[uid][index]=='object'){for(var tag_uid in options.tagRelations[uid][index]){processData(_$(tag_uid)[0],'create',options.tagRelations[uid][index][tag_uid]);}}}}
return false;}).trigger('change');}
if(options.autoSubmit){if(options.autoSubmit=='one'){$select.change(function(){if(this.value){$element.trigger('submit');}});}else{$select.change(function(){var inc=0;$select.each(function(){if($(this).val()){inc++;}});if(inc==numSelect){$element.trigger('submit');}});}}
function _$(uid){return $("."+options.table+"_"+uid.toString(),element);}
function processData(select,proc,uids){switch(proc){case'clean':for(var i=select.options.length;i>=0;i--){select.options[i]=null;}
select.options[0]=new Option('-- Choisir --','');break;case'create':var group_uid=$(select).data('uid');var u=1;for(var uid in uids){select.options[u]=new Option(labels[uid],uid,(selected[group_uid]==uid));u++;}
break;}}
function swapPage(uri){if($.isFunction(windowLocationHref)){windowLocationHref.apply(null,[uri]);}else{document.location.href=uri;}}};$.OfferPi1Form.defaults={table:'tt_offer_tag',pageResultXHR:null,autoSubmit:false,tagRelations:null,groupRelations:null};})(jQuery);
