/**
* JavaScript for mod_prod.php
*
* @package Site
* @subpackage Templates
* @author Pavel "Papi" Jartsev <papi@digitalfruit.ee>
*/

function addShoppingCart( prod_id, amount )
{
	if ( ! amount )
		amount = parseInt( document.add_cart_form.amount.value );

	if ( amount > 0 )
		gotoUrl( URL + '&act=add_cart&prod_id=' + prod_id + '&amount=' + amount );
}

function removeShoppingCart( form, prod )
{
	form.elements['amount[' + prod + ']'].value = 0;
	form.act.value = 'chg';
	form.submit();
}

function gotoUrl( url )
{
	document.location.href = url;
}

function updateShoppingCart( form )
{
	form.act.value = 'chg';
	form.submit();
}

function change_image(new_value)
{
	var thumb = $("img_"+new_value);
	var large = $("large_preview");

	$$(".small_image_a").each(function(el){
		el.removeClassName("small_image_a");
		el.addClassName("small_image");
	});

	thumb.addClassName("small_image_a");
	thumb.removeClassName("small_image");

	large.src = large.src.sub(/\/[0-9]+(\.[a-zA-z0-9]+)$/,function(match){
		return '/'+new_value+match[1];
	});
}

function submitForm( form )
{
	var f = document.cart_form;
	if ( f ) {
		var ok = true;

		// no qty
		if ( f.elements['qty'].value == 0 ) {
			ok = false;

		} else if ( f.elements['opt1'] ) {

			// no opt1
			if ( f.elements['opt1'].value == 0 ) {
				ok = false;

			} else {
				var opt2 = $('opt2').getElementsByTagName( 'input' );
				if ( opt2.length ) {
					var checked = false;
					for ( var i = 0, iMax = opt2.length; i < iMax; ++i ) {
						if ( opt2[i].type == 'radio' && opt2[i].checked == true )
							checked = true;
					}

					// no opt2
					if ( ! checked )
						ok = false;
				}
			}
		}

		if ( ok ) {
			f.submit();
		} else {
			$('err-add-cart').show();
		}
	}
}

function getZoomify(url_pfx)
{
	var large = $("large_preview");
	var curId;
	large.src.scan(/\/([0-9]+)\.[a-zA-z0-9]+$/,function(match){
		curId = match[1];
	});
	openPopup( url_pfx+'&img_id='+curId, "zoom", 500, 500,'location=no,resizable=no,menubar=no,status=no,scrollbars=no,dependent=yes' );
}

var opt2;
var selectedItem;

function drawOpt(ob)
{
	var ob=$(ob);

	if(!$A(options.items).length) return;

	select = Builder.node('select',{name:'opt1'});
	Element.extend(select);

	select.observe('change',function(e){
		selectedItem=$A(options['items'])[this.selectedIndex];
		drawOpt2();
	}.bindAsEventListener(select));

	$A(options['items']).each(function(item,i){
		select.appendChild(Builder.node('option',{'value':item.id},[item.name]));
		if((options.opt1_value && options.opt1_value==item.id) || (!options.opt1_value && i==0)){
			select.value = item.id;
			selectedItem = item;
		}
	});

	if(options.opt1_value) select.value=options.opt1_value;
	else select.selectedIndex = 0;

	opt2=Builder.node('div',{'class':'opt2','id':'opt2'});
	Element.extend(opt2);

	var opt = Builder.node('div',{'class':'opt'},[Builder.node("div",{'class':'opt1_label'},options['name']+":"),
		Builder.node('div',{'class':'opt1_field'},[select]),opt2
	]);

	drawOpt2();

	ob.appendChild(opt);
}

function drawOpt2()
{
	opt2.innerHTML='';
	if(!$A(selectedItem['items']).length) return;
	$A(selectedItem['items']).each(function(item,i){
		radio=Builder.node('input',{'type':'radio','name' :'opt2','value':item.id});
		/*if(i==0){
			radio.checked = 1;
		}*/

		opt2.appendChild(Builder.node('div',{'class':'opt2_item'},[
			Builder.node("div",{'class':'opt2_label'},[item.name]),
			(options.type2 == 1 ? Builder.node('div',{'class':'color','style':'background:#'+item.extra}) : ""),
			radio,
			Builder.node("span",{'class':'stock'},[item.stock]) ]));
	});
}

function addRedBorder(ob)
{
	ob.style.border = '2px solid #C00';
}
function removeRedBorder(ob)
{
	ob.style.border = '2px solid #FFF';
}
