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 openwin_simple(url,name,width,height) 
{
	var scr_w = screen.width;
	var scr_h = screen.height;
	var left = ( scr_w - width ) / 2;
	var top =( scr_h - height ) / 2;
	window.open(url,name,'height='+height+',width='+width+',top='+top+',left='+left+',scrollbars=yes');	
}

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 catchHotKeysSearch(e)
{
	if (!e) return;
 	if (e.keyCode == 13) dosearch();
}

function dosearch()
{
	if (document.search_form.search_keyword.value == '')
	{
		return;
	}
	$form_name = 'search_form';
	submit_event('custom-sections', 'OnKeywordSearch');
}

function startUpdatingImage(obj, images, basepath) {
	var cimg = obj.src.split('/').pop();
	var nimg = '';
	for (var i=0; i<images.length; i++) {
		if (cimg == images[i]) {
			if (images[i+1]) nimg = images[i+1];
			else nimg = images[0];
			break;
		}
	}
	if (!nimg) nimg = images[0];
	setTimeout("document.getElementById('"+obj.id+"').src='"+basepath+nimg+"'", 5000);
}


function getMouseXY(event) {
	var IE = document.all?true:false;
	var tempX = 0;
	var tempY = 0;
	
	if (IE) { // grab the x-y pos.s if browser is IE
		tempX = event.clientX + document.body.scrollLeft;
		tempY = event.clientY + document.body.scrollTop;
	}
	else {  // grab the x-y pos.s if browser is NS
		tempX = event.pageX;
		tempY = event.pageY;
	}
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}
	return [tempX,tempY];
}

function setHeight(x1, x2) {
   var b1 = document.getElementById('block-1');
   var b2 = document.getElementById('block-2');
   var b3 = document.getElementById('block-3');
   if (b1 && b2 && b3) {
	   b2.style.height = (b1.offsetHeight - x1) + 'px';
	   b3.style.height = (b1.offsetHeight - x2) + 'px';
   }
}

function de(id) {
	return document.getElementById(id);
}