var error_message=0;var product_class=0;var compatible={};var group_has_selected=0;var current_step_id=0;var forbidden_groups={};function fn_check_required_products(step_id,show_section)
{for(var groups_ in conf[step_id]){selected_product=fn_define_selected_product(step_id,groups_);if(conf[step_id][groups_]['required']=='Y'&&selected_product==false){if(show_section=='Y'){alert(lang.text_required_group_product.replace('[group_name]',conf[step_id][groups_]['name']));}
return false;}}
return true;}
function fn_check_all_steps()
{for(var step_id in conf){if(fn_check_required_products(step_id,'N')==false){return false;}}
return true;}
function fn_check_step(new_step_id)
{var step_id=current_step_id;var get_next=false;var i;var sections=$('#tabs_configurator > li');for(i=0;i<sections.length;i++){if(!new_step_id){if(get_next==true){new_step_id=sections.eq(i).attr('id');get_next=false;}
if(sections.eq(i).attr('id')==step_id){get_next=true;}}}
var j=sections.eq(i-1).attr('id');if(fn_check_required_products(step_id,'Y')==false){return false;}
if(new_step_id==j){$('#next_button').toggleBy(true);var sh=fn_check_all_steps();$('#pconf_buttons_block').toggleBy(!sh);}else{$('#next_button').toggleBy(false);}
fn_swith_configurator_tabs(new_step_id);current_step_id=new_step_id;return true;}
function fn_swith_configurator_tabs(tab_id)
{$('#tabs_configurator > li').each(function()
{$(this).removeClass('cm-active');$('#content_'+$(this).attr('id')).hide();});$('#'+tab_id).addClass('cm-active');$('#content_'+tab_id).show();}
function fn_check_all_compatibilities()
{for(var step_id in conf){for(var group_id in conf[step_id]){selected_product=fn_define_selected_product(step_id,group_id);if(selected_product!=false&&selected_product.indexOf(':')!=-1&&free_rec==0){do{fn_check_compatibilities(group_id,selected_product.substring(0,selected_product.indexOf(':')),conf[step_id][group_id]['type'],false);selected_product=selected_product.substr(selected_product.indexOf(':')+1);}while(selected_product.indexOf(':')!=-1);}else if(selected_product!=false&&free_rec==0){fn_check_compatibilities(group_id,selected_product,conf[step_id][group_id]['type'],false);}}}
var s_section=$('#tabs_configurator > li.cm-active').attr('id');if(s_section==step_id){$('#next_button').toggleBy(true);}
var sh=fn_check_all_steps();$('#pconf_buttons_block').toggleBy(!sh);}
function fn_check_compatibilities(group_id,product_id,type,update_price)
{var initial_product_id=[];if(type=='S'&&document.getElementById('group_'+group_id).value){initial_product_id=[document.getElementById('group_'+group_id).value];}else if(type=='R'&&product_id){initial_product_id=[product_id];}else if(type=='C'){for(var k in conf_prod[group_id]){if(document.getElementById('group_'+group_id+'_product_'+k).checked==true){initial_product_id.push(k);}}}
var detail_link_holder=$('#select_'+group_id);if(detail_link_holder.length){$('a',detail_link_holder).hide();if(type=='S'&&initial_product_id){$('#opener_description_'+group_id+'_'+initial_product_id,detail_link_holder).show();}}
$('[id*=group_'+group_id+'_]:not(.cm-configurator-disabled)').removeAttr('disabled');var compatible_classes=fn_get_compatible_classes(initial_product_id,group_id);if(product_id!=0&&compatible_classes){fn_disable_incompatible(compatible_classes,group_id);}
var sh=fn_check_all_steps();$('#pconf_buttons_block').toggleBy(!sh);}
function fn_get_compatible_classes(product_ids,group_id)
{var compatible_classes={};var exists=false;for(var i=0;i<product_ids.length;i++){if(product_ids[i]&&conf_prod[group_id][product_ids[i]]&&conf_prod[group_id][product_ids[i]]['compatible_classes']!='undefined'){for(var _class_id in conf_prod[group_id][product_ids[i]]['compatible_classes']){compatible_classes[_class_id]=conf_prod[group_id][product_ids[i]]['compatible_classes'][_class_id];exists=true;}}}
return(exists)?compatible_classes:false;}
function fn_disable_incompatible(compatible_classes,group_id)
{var i=0;var s_selected='';if(document.getElementById('group_'+group_id)&&document.getElementById('group_'+group_id).options){sbox=document.getElementById('group_'+group_id);s_selected=sbox.value;sbox.options.length=0;}
for(var restore_product in conf_prod[group_id]){if(conf_prod[group_id][restore_product]['type']=='R'){if(document.getElementById('group_'+group_id+'_product_'+restore_product)){if(conf_prod[group_id][restore_product]['amount']<=0&&hide_amount&&!conf_prod[group_id][restore_product]['no_amount']){document.getElementById('group_'+group_id+'_product_'+restore_product).disabled=true;}else{if(!$('#group_'+group_id+'_product_'+restore_product).hasClass('cm-configurator-disabled')){if(!$('#'+'group_'+group_id+'_product_'+restore_product).hasClass('cm-configurator-disabled')){document.getElementById('group_'+group_id+'_product_'+restore_product).disabled=false;}}}}}else if(conf_prod[group_id][restore_product]['type']=='C'){if(document.getElementById('group_'+group_id+'_product_'+restore_product)){if(conf_prod[group_id][restore_product]['amount']<=0&&hide_amount){document.getElementById('group_'+group_id+'_product_'+restore_product).disabled=true;}else{if(!$('#'+'group_'+group_id+'_product_'+restore_product).hasClass('cm-configurator-disabled')){document.getElementById('group_'+group_id+'_product_'+restore_product).disabled=false;}}}}else if(conf_prod[group_id][restore_product]['type']=='S'){sbox.options[i]=new Option(conf_prod[group_id][restore_product]['product_name'],restore_product);if(sbox.options[i].value==s_selected){sbox.options[i].selected=true;}
if(conf_prod[group_id][restore_product]['amount']<=0&&hide_amount){sbox.options[i].disabled=true;}
i++;}}
check_hierarchy_compatibilities(compatible_classes,group_id,0,{});}
function check_hierarchy_compatibilities(compatible_classes,group_id,digging,forbidden_groups)
{var set_next=0;var s_selected='';var selected_product=0;var checked_products={};var i=0;var digg=[];forbidden_groups[group_id]=true;for(var check_group_id in conf_prod){if(check_group_id!=group_id&&forbidden_groups[check_group_id]!=true){if(document.getElementById('group_'+check_group_id)&&document.getElementById('group_'+check_group_id).options){sbox=document.getElementById('group_'+check_group_id);s_selected=sbox.value;sbox.options.length=0;}
i=0;for(var check_product_id in conf_prod[check_group_id]){compatible[check_group_id]=1;for(var check_class_id in compatible_classes){if((check_group_id==compatible_classes[check_class_id])&&conf_prod[check_group_id][check_product_id]['class_id']&&conf_prod[check_group_id][check_product_id]['class_id']!=''){if(!forbidden_groups[check_group_id]){digg.push(check_group_id);forbidden_groups[check_group_id]=true;}
if(conf_prod[check_group_id][check_product_id]['class_id']==check_class_id){compatible[check_group_id]=1;}else{compatible[check_group_id]=0;checked_products[check_product_id]=true;}}}
if(compatible[check_group_id]==1&&!checked_products[check_product_id]){if(conf_prod[check_group_id][check_product_id]['type']=='R'){if(document.getElementById('group_'+check_group_id+'_product_'+check_product_id)){if(conf_prod[check_group_id][check_product_id]['amount']<=0&&hide_amount){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).disabled=true;}else{if(!$('#'+'group_'+check_group_id+'_product_'+check_product_id).hasClass('cm-configurator-disabled')){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).disabled=false;}}}
if(set_next==1){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).checked=true;set_next=0;}}else if(conf_prod[check_group_id][check_product_id]['type']=='C'){if(document.getElementById('group_'+check_group_id+'_product_'+check_product_id)){if(conf_prod[check_group_id][check_product_id]['amount']<=0&&hide_amount){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).disabled=true;}else{if(!$('#'+'group_'+check_group_id+'_product_'+check_product_id).hasClass('cm-configurator-disabled')){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).disabled=false;}}}}else if(conf_prod[check_group_id][check_product_id]['type']=='S'){sbox.options[i]=new Option(conf_prod[check_group_id][check_product_id]['product_name'],check_product_id);if(conf_prod[check_group_id][check_product_id]['amount']<=0&&hide_amount){sbox.options[i].disabled=true;}
i++;}}else{if(conf_prod[check_group_id][check_product_id]['type']=='R'){if(document.getElementById('group_'+check_group_id+'_product_'+check_product_id)){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).disabled=true;if(document.getElementById('group_'+check_group_id+'_product_'+check_product_id).checked==true){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).checked=false;set_next=1;}}}else if(conf_prod[check_group_id][check_product_id]['type']=='C'){if(document.getElementById('group_'+check_group_id+'_product_'+check_product_id)){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).disabled=true;if(document.getElementById('group_'+check_group_id+'_product_'+check_product_id).checked==true){document.getElementById('group_'+check_group_id+'_product_'+check_product_id).checked=false;}}}}}
if(set_next==1){for(c_product_id in conf_prod[check_group_id]){if(document.getElementById('group_'+check_group_id+'_product_'+c_product_id)&&document.getElementById('group_'+check_group_id+'_product_'+c_product_id).disabled==false&&set_next==1){document.getElementById('group_'+check_group_id+'_product_'+c_product_id).checked=true;set_next=0;}}}
if(document.getElementById('group_'+check_group_id)&&document.getElementById('group_'+check_group_id).options){sbox.value=s_selected;}}}
if(digging<depth){for(var low_level_group in digg){var _product_id=fn_define_selected_product(current_step_id,digg[low_level_group])||0;if(_product_id&&_product_id.indexOf(':')!=-1){var p_ids=_product_id.split(':');compatible_classes=fn_get_compatible_classes(p_ids,digg[low_level_group]);check_hierarchy_compatibilities(compatible_classes,digg[low_level_group],digging++,{});}else{compatible_classes=fn_get_compatible_classes([_product_id],digg[low_level_group]);check_hierarchy_compatibilities(compatible_classes,digg[low_level_group],digging++,forbidden_groups);}}}
return true;}
function fn_define_selected_product(step_id,group_id)
{var selected_product=false;if(document.getElementById('group_one_'+group_id)){selected_product=document.getElementById('group_one_'+group_id).value;}else if(conf[step_id][group_id]['type']=='S'){selected_product=document.getElementById('group_'+group_id).value;}else if(conf[step_id][group_id]['type']=='R'){var d_form=document.getElementById('group_'+group_id).getElementsByTagName("INPUT");for(var elem=0;elem<d_form.length;elem++){if(d_form[elem].type=="radio"&&d_form[elem].checked==true){selected_product=d_form[elem].value;}}}else if(conf[step_id][group_id]['type']=='C'){var d_form=document.getElementById('group_'+group_id).getElementsByTagName("INPUT");for(var elem=0;elem<d_form.length;elem++){if(d_form[elem].type=="checkbox"&&d_form[elem].checked==true){if(selected_product==false){selected_product=''}
selected_product+=d_form[elem].value+':';}}}
return selected_product;}
function fn_convert_conf_price(value)
{if(value==parseFloat(value)){return parseFloat(value);}
value=value.toString();decimals_count=currencies.secondary.decimals;decimals_separator=currencies.secondary.decimals_separator;if(decimals_count!='0'){decimal_position=value.lastIndexOf(decimals_separator);thousands=value.substr(0,decimal_position);decimals=value.substr(decimal_position+1);thousands=thousands.replace(currencies.secondary.thousands_separator,'');return parseFloat(thousands+'.'+decimals);}else{thousands=value.replace(currencies.secondary.thousands_separator,'');return parseFloat(thousands);}}
function fn_product_configurator_check_exceptions(data)
{if(typeof(conf_product_id)!='undefined'&&conf_product_id==data.id){fn_update_conf_price(data.id);}}
function fn_product_configurator_get_price_function(data)
{if(typeof(conf_product_id)!='undefined'&&conf_product_id==data.id){data.func=fn_update_conf_price;}}
