	GLOBALS = {};

// Check if browser is IE
	if (navigator.appName.match(/Internet\sExplorer/)) {
		GLOBALS.is_ie = true;
	} else {
		GLOBALS.is_ie = false;
	}

	function getOrderForm(page, action, data)
	{
		var ss, tmp, undef, i, fields, w, h, html, error;
		if (typeof(action) == typeof(undef)) {
			action = 'form';
		}
		switch (action) {
/////////////////////////////////////////////////////////////////////
/// Get Form HTML ///////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
			case('form'):
				ss = getStageSize();
				w = 450;
				h = 530;
				html = '';

				html += '' +
							'<table cellspacing="0" cellpadding="0" width="" border="0" class="order">' +
								'<tr>' +
									'<td colspan="2">' +
										'<div style="float: right; margin: 0px 0px 20px 20px; cursor: hand; cursor: pointer;" onclick="$(\'abs_box\').style.display = \'none\'">Закрыть</div>' +
										'<img width="79" height="77" border="0" src="/pics/pic/head3.gif" alt="Заказ сайта" style="margin: 10px 20px 10px 10px; float: left;" />' +
										'<br />' +
										'Чтобы заказать сайт заполните расположенную ниже форму. В течении суток наш менеджер свяжется с вами и ответит на все ваши вопросы.' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'Название компании * :' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="Company" id="Company" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'Имя * :' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="Name" id="Name" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'Email * :' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="Email" id="Email" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'Контактная информация * :' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="ContactField" id="ContactField" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'URL сайта (если есть):' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="URLField" id="URLField" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'Город * :' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="CityField" id="CityField" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td class="blue_tic">' +
										'Сфера деятельности * :' +
									'</td>' +
									'<td style="text-align: right;">' +
										'<input type="text" name="ScopeOfActivity" id="ScopeOfActivity" value="" style="width: 200px;" />' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td colspan="2" style="padding-top: 10px;" class="blue_tic">' +
										'Сообщение * :' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td colspan="2">' +
										'<textarea name="Message" id="Message" rows="7" style="width: 450px;"></textarea>' +
									'</td>' +
								'</tr>' +
								'<tr>' +
									'<td colspan="2">' +
										'<img src="/pics/send.gif" style="float: right;" onclick="getOrderForm(\'' + page + '\', \'send\')" />' +
										'*поля являются обязательными для заполнения' +
									'</td>' +
								'</tr>' +
							'</table>';

				$('abs_box').style.width = w + 'px';
				$('abs_box').style.height = h + 'px';

				$('abs_box').innerHTML = html;

				tmp = ((ss[0] - w) / 2);
				if (tmp < 0) {
					tmp = 0;
				}
				$('abs_box').style.left = tmp + 'px';

				tmp = ((ss[1] - h) / 2);
				if (tmp < 0) {
					tmp = 0;
				} else {
					tmp += parseInt(window.pageYOffset);
				}
				$('abs_box').style.top = tmp + 'px';

				$('abs_box').style.display = 'block';
				break;
/////////////////////////////////////////////////////////////////////
/// Sending data ////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
			case('send'):
				fields = {};
				fields.Company = {title: 'Название компании', required : true};
				fields.Name = {title: 'Имя', required : true};
				fields.Email = {title: 'Email', required : true};
				fields.ContactField = {title: 'Контактная информация', required : true};
				fields.URLField = {title: 'URL сайта', required : false};
				fields.CityField = {title: 'Город', required : true};
				fields.ScopeOfActivity = {title: 'Сфера деятельности', required : true};
				fields.Message = {title: 'Сообщение', required : true};

				error = '';
				data = {};

				data.ComeFrom = page;

				for (i in fields) {
					if (fields[i].required && $(i).value == '') {
						error += 'Поле "' + fields[i].title + '" обязательно для заполнения' + "\n\r";
					}
					data[i] = $(i).value;
				}
				if (error == '') {
					doLoad(true, false, 'sending_order', data);
				} else {
					error = 'Обнаружены ошибки заполнения формы:' + "\n\r\n\r" + error;
					alert(error);
				}
				break;
/////////////////////////////////////////////////////////////////////
/// Response ////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
			case('response'):
				if (data.data) {
					$('abs_box').innerHTML = '';
					$('abs_box').style.display = 'none';
					alert('Данные успешно отправлены, спасибо.');
				} else {
					error = '';
					for (i in data.error) {
						error += data.error[i] + "\n\r";
					}
					alert(error);
				}
				break;
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////
		}
	}

	function checkAccessChanges()
	{
		var is_changed = 0;

		for (var id in GLOBALS.Access) {
			if (GLOBALS.Access[id] != $('Access_' + id).checked) {
				is_changed = 1;
				break;
			}
		}

		$('WriteAccess').value = is_changed;
	}

	function typeSelection(s, id)
	{
		if (s.id == 'Type') {
			frames['Addition'].location.href = '/admin/custom_field_addition.php?type=' + s.value + '&id=' + id;
		}
	}

	function cartHandler(entity, id, response)
	{
		var undef;

		if (typeof(undef) == typeof(response)) {
			if (fileName($('cart_handler_control').src) == fileName(GLOBALS.add_to_cart_img)) {
				doLoad(true, false, 'add_to_cart', {entity: entity, id: id});
			} else {
				doLoad(true, false, 'drop_from_cart', {entity: entity, id: id});
			}
		} else {
			if (response.error == '') {
				if (fileName($('cart_handler_control').src) == fileName(GLOBALS.add_to_cart_img)) {
					$('cart_handler_control').src = GLOBALS.drop_from_cart_img;
				} else {
					$('cart_handler_control').src = GLOBALS.add_to_cart_img;
				}
				$('small_cart_box').innerHTML = response.cart;
			} else {
				mistake(response.error);
			}
		}
	}

	function mistake(data)
	{
		alert(var_dump(data));
	}

	function $w(name)
	{
		return window.top[name];
	}

	function showHelp()
	{
		$w('frm_content').document.getElementById('help_box').style.display = 'block';
	}

	function switchTab(n)
	{
		if (GLOBALS.selected_tab) {
			$('tab_' + GLOBALS.selected_tab).className = 'tab_inactive';
		}
		GLOBALS.selected_tab = n;
		$('tab_' + GLOBALS.selected_tab).className = 'tab_active';
	}

	function switchSubTab(n)
	{
		if (GLOBALS.selected_sub_tab) {
			$('sub_tab_' + GLOBALS.selected_sub_tab).className = 'sub_tab_inactive';
			$('sub_tab_content_' + GLOBALS.selected_sub_tab).style.display = 'none';
		}
		GLOBALS.selected_sub_tab = n;
		$('sub_tab_' + GLOBALS.selected_sub_tab).className = 'sub_tab_active';
		$('sub_tab_content_' + GLOBALS.selected_sub_tab).style.display = 'block';
	}

	function doLoad(force, cach, type, element)
	{
		var req = new Subsys_JsHttpRequest_Js();

		req.onreadystatechange = function() {
			if (req.readyState == 4) {
				if (req.responseJS) {
					switch (type) {
						case 'add_to_cart':
						case 'drop_from_cart':
							cartHandler(0, 0, req.responseJS.data);
							break;
						case 'sending_order':
							getOrderForm(0, 'response', req.responseJS.data)
							break;
					}
				}
//				$('debug').innerHTML = req.responseText;
			}
		}

		req.caching = cach;
		req.open('POST', '/load.php', true);
		req.send({ data: element, act: type });
	}


