var submitted = false;

function update_checkbox(cb, cb_hidden)
{
	cb_hidden.value = cb.checked ? 1 : 0;
}

function update_checkbox_options($cb_mask, $hidden_id)
{
	var $kf = document.getElementById($form_name);
	var $tmp = '';
	for (var i = 0; i < $kf.elements.length; i++)
	{
		if ( $kf.elements[i].id.match($cb_mask) )
		{
			if ($kf.elements[i].checked) $tmp += '|'+$kf.elements[i].value;
		}
	}
	if($tmp.length > 0) $tmp += '|';
	document.getElementById($hidden_id).value = $tmp.replace(/,$/, '');
}

function next_step()
{
	document.getElementById('order_form').submit();
}

function final_step()
{
	document.getElementById('next_template_order').value = 'order/step6';
	document.getElementById('order_form').submit();
}

function set_hidden_field($field_id, $value)
{
	var $kf = document.getElementById($form_name);
	var $field = $kf.elements[$field_id];

	if ($value === null) {
		if ($field) {
			$kf.removeChild($field);
		}
		return true;
	}

	if ($field) {
		$field.value = $value;
		return true;
	}

	$field = document.createElement('INPUT');
	$field.type = 'hidden';
	$field.name = $field_id;
	$field.id = $field_id;
	$field.value = $value;

	$kf.appendChild($field);
	return false;
}

function resort_grid($prefix_special, $field, $ajax)
{
	set_hidden_field($prefix_special + '_Sort1', $field);
	submit_event($prefix_special, 'OnSetSorting', null, null, $ajax);
}

function submit_event(prefix_special, event, t, form_action, $ajax)
{
	if ($ajax) {
		return $Catalog.submit_event(prefix_special, event, t);
	}

	if (event) {
		set_hidden_field('events[' + prefix_special + ']', event);
	}
	if (t) set_hidden_field('t', t);

	if (form_action) {
		var old_env = '';
		if (!form_action.match(/\?/)) {
			document.getElementById($form_name).action.match(/.*(\?.*)/);
			old_env = RegExp.$1;
		}
		document.getElementById($form_name).action = form_action + old_env;
	}
	submit_kernel_form();
}

function submit_kernel_form()
{
	if (submitted) return;
	submitted = true;
	var $form = document.getElementById($form_name);
	if (typeof $form.onsubmit == "function") $form.onsubmit();
	$form.submit();
	$form.target = '';
	set_hidden_field('t', t);
	window.setTimeout(function() {submitted = false}, 500);
}

function search_keydown($event, $prefix_special, $grid, $ajax)
{
	$event = $event ? $event : event;

	if (window.event) {// IE
		var $key_code = $event.keyCode;
	}
	else if($event.which) { // Netscape/Firefox/Opera
		var $key_code = $event.which;
	}

	switch ($key_code) {
		case 13:
			search($prefix_special, $grid, parseInt($ajax));
			break;

		case 27:
			search_reset($prefix_special, $grid, parseInt($ajax));
			break;

	}
}

function search_start($prefix_special, $grid_name, $ajax)
{
	submit_event($prefix_special, 'OnSearch', null, null, $ajax);
}

function search_reset($prefix_special, $grid_name, $ajax)
{
	submit_event($prefix_special, 'OnSearchReset', null, null, $ajax);
}

function OnSelectProduct(p_id)
{
	document.getElementById('next_template_order').value = 'order/step5';
	document.getElementById('events[order.compose]').value = 'OnSelectProduct';
	document.getElementById('add_p_id').value = p_id;
	document.getElementById('order_form').submit();
}

function OnUpdateQty()
{
	document.getElementById('next_template_order').value = 'order/step5';
	document.getElementById('events[order.compose]').value = 'OnUpdateQty';
	document.getElementById('order_form').submit();
}

function ChangeImage(img_name, img_src)
{
	document[img_name].src = img_src;
}

function isset(variable)
{
	if(variable==null) return false;
	return (typeof(variable)=='undefined')?false:true;
}

function addLoadEvent(func, wnd)
{
	if (!wnd) wnd = window
	var oldonload = wnd.onload;
  	if (typeof wnd.onload != 'function') {
    	wnd.onload = func;
  	}
  	else {
    	wnd.onload = function() {
      		if (oldonload) {
        		oldonload();
      		}
      		func();
		}
	}
}

function openwincms(url,name,w,h) {
	var x_pos = 20;
	var y_pos = 20;
	norm_width = w;
	norm_height = h;
	screen_x = (screen.availWidth-norm_width)/2;
	screen_y = (screen.availHeight-norm_height)/2;
	window.open(url,name, 'status=yes,resizable=yes,toolbar=no,location=no,scrollbars=yes,width='+w+',height='+h+',resizable=yes,top='+y_pos+',left='+x_pos);
}

function FCKOpenPopUp(el, ev, width, heght) {
	openwincms(el.href, null, width, heght);
	if (ev.preventDefault) ev.preventDefault();
	ev.returnValue = false;
}

function onMenuHover(cat_id) {
	document.getElementById('left_img_'+cat_id).src = template_base+'img/top_menu_left.gif';
	document.getElementById('right_img_'+cat_id).src = template_base+'img/top_menu_right.gif';
	document.getElementById('link_cell_'+cat_id).className = 'top-menu-selected';
}

function onMenuHoverOut(cat_id) {
	document.getElementById('left_img_'+cat_id).src = template_base+'img/s.gif';
	document.getElementById('right_img_'+cat_id).src = template_base+'img/s.gif';
	document.getElementById('link_cell_'+cat_id).className = 'top-menu-noselected';
}