function SubmitConfig()
{
    document.getElementById('go').value=1;
    document.getElementById('groups').submit();
}

function GetSelectedGoods(group)
{
    var good_ids = new Array();
    var form = document.getElementById('groups');
    var j=0;
    for(i=0; i<form.elements.length; i++)
    {
        var string = new String(form.elements[i].name);
        if(form.elements[i].value &&
            form.elements[i].value != 0 &&
            form.elements[i].value!=document.getElementById('gr'+group).value &&
            string.substr(0,6)=='goods['
          )
          {
        	good_ids[j++] = form.elements[i].value;
          }
    }
    return good_ids;
}

function GetAllGoods()
{
    var good_ids = new Array();
    var form = document.getElementById('groups');
    var j=0;
    for(i=0; i<form.elements.length; i++)
    {
        var string = new String(form.elements[i].name)
        if(form.elements[i].value &&
            form.elements[i].value != 0 &&
            string.substr(0,6)=='goods['
          )
          {
            good_ids[j++] = form.elements[i].value;
          }
    }
    return good_ids;
}

function BrowseGoods(group, rim)
{
	/*
    var good_ids = new Array();
    var good_available = document.getElementById('available['+group+']');

    if(good_available.innerHTML == '' || good_available.innerHTML == '0')
    {
        good_available.innerHTML = '0';
    }
    var good_ids = new Array();
    good_ids = GetSelectedGoods(group);
    */

    var winWidth = 850;
    var winHeight = 600;
    var agent=navigator.userAgent.toLowerCase();
	if (agent.indexOf('opera')!=-1)
	{
		winHeight = 500;
	}
	
	if (is_configurator_super)
	{
		winWidth = 1000;
	}
	
 //   window.open('compatibles.php?quant='+document.getElementById('quant').value+'&site_id='+siteID+'&conf_group='+group+'&good_ids='+good_ids.join(",")+"&needCompatible=1","","scrollbars=1,resizable=1,width="+winWidth+",height="+winHeight+",left=50,top=50,status=yes,toolbar=no,menubar=no");
    //window.open('compatibles.php?quant='+document.getElementById('quant').value+'&conf_group='+group + '&rim='+rim+"&needCompatible=1","","scrollbars=1,resizable=1,width="+winWidth+",height="+winHeight+",left=50,top=50,status=yes,toolbar=no,menubar=no");
    window.open('compatibles.php?filter[group]=class&quant='+document.getElementById('quant').value+'&conf_group='+group + '&rim='+rim+"&needCompatible=1","","scrollbars=1,resizable=1,width="+winWidth+",height="+winHeight+",left=50,top=50,status=yes,toolbar=no,menubar=no");

    return false;
}

function SetCookie(name,value,expires,path,domain,secure)
{
    var cookieString = name + "=" +escape(value) +
       ( (expires) ? ";expires=" + expires.toGMTString() : "") +
       ( (path) ? ";path=" + path : "") +
       ( (domain) ? ";domain=" + domain : "") +
       ( (secure) ? ";secure" : "");
    document.cookie = cookieString;
}

function GetCookie(name)
{
    var start = document.cookie.indexOf(name+"=");
    var len = start+name.length+1;
    if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
    if (start == -1) return null;
    var end = document.cookie.indexOf(";",len);
    if (end == -1) end = document.cookie.length;

    return unescape(document.cookie.substring(len,end));
}

// Вызывается из compatibles.php
function UpdateGood(group_id,good_id,name,price,compatible,retail)
{
    document.getElementById('gr'+group_id).value = good_id;
    document.getElementById('compatible_'+group_id).value = compatible;
    document.getElementById('retails['+group_id+']').value = retail;

    var good_name = document.getElementById('good_name_'+group_id);

    // Удаление
	if (good_id == '')
	{
    	good_name.innerHTML = name;
        if (document.getElementById('max_count_'+group_id).value>1)
        {
        	document.getElementById('available['+group_id+']').selectedIndex = 0;
        	document.getElementById('available['+group_id+']').disabled = true;
        }
        else
        {
            document.getElementById('available['+group_id+']').innerHTML = '0';
        }
	}
	else
	{
    	good_name.innerHTML = '<a href="#" onClick="open(\'/goods/'+good_id+'/\',\'\',\'scrollbars=1,resizable=1,width=610,height=600,status=no,toolbar=no,menubar=no\');return false;">'+name+'</a>';
	}

    document.getElementById('price_'+group_id).innerHTML = formatAsMoney(price);
    document.getElementById('id_'+group_id).innerHTML = good_id;

    UpdateQuant();

    return false;
}

// Удаление товара
function deleteGood(group_id)
{
    UpdateGood(group_id,'','Не выбран','','0',0);
}

function AddGoodByCode(good_id,group_id)
{
    if(good_id)
    {
        var add_frame = document.frames[0];
        var add_form = add_frame.document.getElementById('checkcompatible');
        var set_good_id =  add_form['good_id'];
        var set_good_ids = add_form['good_ids'];
        var set_group_id = add_form['group_id'];
        var set_site_id = add_form['site_id'];
//        var set_warehouse = add_form['warehouse'];
//        var warehouses = document.getElementById('warehouses');
        var good_ids = new Array();
        var set_quantity = add_form['quantity'];
        good_ids = GetSelectedGoods(group_id);
        set_good_ids.value = good_ids;
        set_good_id.value = good_id;
        set_group_id.value = group_id;
        set_quantity.value = document.getElementById('quantity').value;

//        set_warehouse.value = warehouses.options[warehouses.selectedIndex].value;
        set_site_id.value = siteID;

        add_form.submit();
    }
}

function CheckComplect()
{
    var message = "Не выбраны следующие компоненты:\n";
    var RequiredCount = 0;

    var NotCompatible = "Могут быть несовместимы следующие компоненты:\n";
    var NotCompatibleCount = 0;

    var len = groups.length;
    for (i=0; i<len; i++)
    {
        if (groups[i]["IsRequired"] == 1)
        {
            var sub = document.getElementById('gr'+groups[i]["id"]);

            if(sub.value=="")
            {
                message += groups[i]["name"]+"\n";
                RequiredCount++;
            }

            var id = document.getElementById('id_'+groups[i]["id"]);
            var compatible = document.getElementById('id_'+groups[i]["id"]);

            if(id=="0" && Number(compatible.innerHTML)>0)
            {
                NotCompatible += groups[i]["name"]+"\n";
                NotCompatibleCount++;
            }
        }
    }

    var GoSubmit = 0;
    if(RequiredCount>0)
    {
        temp = message+"\n";
        if(NotCompatibleCount>0)
        {
            temp = temp + NotCompatible;
        }

        if(confirm(""+temp+"\nНажмите «ОК» для продолжения оформления заказа, «Отмена» - для возвращения в конфигуратор"))
        {
            GoSubmit++;
        }
    }

	if (checkQuant())
	{
	    if((NotCompatibleCount>0 && RequiredCount>0 && GoSubmit==2) || (NotCompatibleCount<=0 && RequiredCount>0 && GoSubmit==1) || (NotCompatibleCount>0 && RequiredCount<=0 && GoSubmit==1) || (NotCompatibleCount<=0 && RequiredCount<=0))
	    {
	        var processor = document.getElementById('gr4').value;
	        if(processor=='' || processor.value=='0')
	        {
	            alert('Не выбран процессор!');
	        }
	        else
	        {
	            UpdateQuant();
	            document.forms['groups'].submit();
	        }
	    }
	}
}

function checkQuant()
{
	if (document.getElementById('quant').value > 2)
	{
	    alert('Извините, но за раз можно собрать не более двух компьютеров!');
	    document.getElementById('quant').value = 2;
	    return false;
	}
	else
	{
		return true;
	}
}
//
function UpdateQuant()
{
    var quant = Number(document.getElementById('quant').value);

    var len = groups.length;
    for (i=0; i<len; i++)
    {
        var id          = document.getElementById('id_'+groups[i]['id']);
        var cost        = Number(document.getElementById('price_'+groups[i]['id']).innerHTML);
        var price1      = document.getElementById('price1_'+groups[i]['id']);
        var available   = document.getElementById('available['+groups[i]['id']+']');
        var max_count   = document.getElementById('max_count_'+groups[i]['id']).value;

        // Пересчитываем select
        if (max_count>1)
        {
            for (j=0; j<=max_count; j++)
            {
                available.options[j].value=quant * j;
                available.options[j].text=quant * j;
            }
        }

        if (id.innerHTML!='')
        {
            if (max_count>1)
            {
            	available.disabled = false;

            	// Первый раз
            	available.selectedIndex = (available.value == 0) ? 1 : available.value/quant;
            }
            else
            {
                available.innerHTML = quant;
            }
        }

        if (max_count>1)
        {
            price1.innerHTML = formatAsMoney(Math.round((cost * available.options[available.selectedIndex].value)*100)/100);
        }
        else
        {
            price1.innerHTML = formatAsMoney(Math.round((cost * available.innerHTML)*100)/100);
        }
    }

    if (show_others == 1)
    {
        if(Number(document.getElementById('monitor_ss_quant').innerHTML)!=0)
            document.getElementById('monitor_ss_quant').innerHTML=quant;
        if(Number(document.getElementById('klava_ss_quant').innerHTML)!=0)
            document.getElementById('klava_ss_quant').innerHTML=quant;
        if(Number(document.getElementById('mouse_ss_quant').innerHTML)!=0)
            document.getElementById('mouse_ss_quant').innerHTML=quant;
        if(Number(document.getElementById('soundsystem_ss_quant').innerHTML)!=0)
            document.getElementById('soundsystem_ss_quant').innerHTML=quant;
        if(Number(document.getElementById('printer_ss_quant').innerHTML)!=0)
            document.getElementById('printer_ss_quant').innerHTML=quant;
        if(Number(document.getElementById('skaner_ss_quant').innerHTML)!=0)
            document.getElementById('skaner_ss_quant').innerHTML=quant;
        if(Number(document.getElementById('cardreader_ss_quant').innerHTML)!=0)
            document.getElementById('cardreader_ss_quant').innerHTML=quant;

        document.getElementById('itog').innerHTML = formatAsMoney(ITOG());
    }

    document.getElementById('itogcomp').innerHTML=formatAsMoney(ITOGComp());
}

function formatAsMoney(mnt)
{
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
    return (mnt == Math.floor(mnt)) ? mnt + '.00'
    : ( (mnt*10 == Math.floor(mnt*10)) ?
    mnt + '0' : mnt);
}

function ITOG()
{
    var cost = Number("0.0");
    quant = Number(document.getElementById('quant').value);

    var len = groups.length;
    for (i=0; i<len; i++)
    {
        cost += Number(document.getElementById('price1_'+groups[i]['id']).innerHTML);
    }

    if (show_others == 1)
    {
        document.getElementById('monitor_ss_result_price').innerHTML=formatAsMoney(Number(document.getElementById('monitor_ss_price').innerHTML)*quant);
        document.getElementById('klava_ss_result_price').innerHTML=formatAsMoney(Number(document.getElementById('klava_ss_price').innerHTML)*quant);
        document.getElementById('mouse_ss_result_price').innerHTML=formatAsMoney(Number(document.getElementById('mouse_ss_price').innerHTML)*quant);
        document.getElementById('soundsystem_ss_result_price').innerHTML=formatAsMoney(Number(document.getElementById('soundsystem_ss_price').innerHTML)*quant);
        document.getElementById('printer_ss_result_price').innerHTML=formatAsMoney(Number(document.getElementById('printer_ss_price').innerHTML)*quant);
        document.getElementById('skaner_ss_result_price').innerHTML=formatAsMoney(Number(document.getElementById('skaner_ss_price').innerHTML)*quant);

        cost +=Number(document.getElementById('monitor_ss_result_price').innerHTML);
        cost +=Number(document.getElementById('klava_ss_result_price').innerHTML);
        cost +=Number(document.getElementById('mouse_ss_result_price').innerHTML);
        cost +=Number(document.getElementById('soundsystem_ss_result_price').innerHTML);
        cost +=Number(document.getElementById('printer_ss_result_price').innerHTML);
        cost +=Number(document.getElementById('skaner_ss_result_price').innerHTML);
    }

    if(cost > 0)
    {
    	return (Math.round((cost) * 100) / 100)+(sborka*quant);
    }
    else
    {
    	return 0;
    }
}

function ITOGComp()
{
    var cost = Number("0.0");
    quant = Number(document.getElementById('quant').value);

    var len = groups.length;
    for (i=0; i<len; i++)
    {
        cost += Number(document.getElementById('price1_'+groups[i]['id']).innerHTML);
    }

    if(cost > 0)
    {
        return (Math.round((cost) * 100) / 100)+(sborka*quant);
    }
    else
    {
        return 0;
    }
}

function PShow(who)
{
    window.open('compatibles.php?quant='+document.getElementById('quant').value+'&site_id='+siteID+'&peripheral=1&pname='+who,"","scrollbars=1,resizable=1,width=850,height=600,left=50,top=50,status=yes,toolbar=no,menubar=no");
    return false;
}

function CountPCost()
{
   document.getElementById('itog').innerHTML = formatAsMoney(ITOG());
   document.getElementById('itogcomp').innerHTML = formatAsMoney(ITOGComp());
}

// Добавление переферии
function PAdd(good_id,good_name,good_price,pname,retail)
{
    var id=document.getElementById(pname+'_ss_id');
    var name=document.getElementById(pname+'_ss_name');
    var quant=document.getElementById(pname+'_ss_quant');
    var price=document.getElementById(pname+'_ss_price');
    var result_price=document.getElementById(pname+'_ss_result_price');
    var quantGen = Number(document.getElementById('quant').value);

    document.forms['groups'].elements[''+pname+''].value=good_id;
    id.innerText=good_id;
    price.innerText=formatAsMoney(good_price);
    quant.innerText=Number(document.getElementById('quant').value);
    result_price.innerText=formatAsMoney(good_price*quantGen);

    document.getElementById(pname+'_retail').value = retail;
    if (quantGen > 0)
    {
        name.innerHTML = '<a href="#" onClick="open(\'/goods/'+good_id+'/\',\'\',\'scrollbars=1,resizable=1,width=610,height=600,status=no,toolbar=no,menubar=no\');return false;">'+good_name+'</a>';
    }
    else
    {
        name.innerHTML = good_name;
    }

    CountPCost();
    return false;
}

function PDel(pname)
{
    var id=document.getElementById(pname+'_ss_id');
    var name=document.getElementById(pname+'_ss_name');
    var quant=document.getElementById(pname+'_ss_quant');
    var price=document.getElementById(pname+'_ss_price');
    var result_price=document.getElementById(pname+'_ss_result_price');

    document.forms['groups'].elements[''+pname+''].value='';
    id.innerText='';
    name.innerHTML = 'Не выбран';
    price.innerHTML=formatAsMoney("0");
    quant.innerHTML=Number("0");
    result_price.innerHTML=formatAsMoney("0");
    CountPCost();
    return false;
}

