function minWidth(width){var bodyWidth =document.body.clientWidth||document.documentElement.clientWidth;return bodyWidth > width ? '100%' : width+'px';};function SubmitForm( Event, Form ){if( !Form ){Event = (Event) ? Event : event;var FormElement = ( Event.target ) ? Event.target : Event.srcElement;Form = FormElement.form;};if( !Form.fireEvent ) Form.fireEvent = EventDispatcher.fireEvent;if( Form.fireEvent( 'onsubmit' ) != false ){Form.submit();}};var EventDispatcher = new Object;EventDispatcher.attachEvent = function( sobject, name, callback_function ){if( sobject.addEventListener ){ sobject.addEventListener( name, callback_function, false );} else if( sobject.attachEvent ){ sobject['on' + name] = callback_function;}};EventDispatcher.cancelEvent = function ( event ){if( !event ) return false; if ( event.preventDefault ){event.preventDefault();event.stopPropagation();} else{event.cancelBubble = true;event.returnValue = false;}};EventDispatcher.fireEvent = function( eventName ){var eventTypes = { resize : ['HTMLEvents',1,0],submit : ['HTMLEvents',1,1],click : ['MouseEvents',1,1]};eventName = eventName.substr(2);if( !eventTypes[eventName] ) return false;var evt = document.createEvent( eventTypes[eventName][0] );evt.initEvent( eventName, eventTypes[eventName][1], eventTypes[eventName][2] );return this.dispatchEvent( evt );};EventDispatcher.defineTarget = function( Event ){Event = (Event) ? Event : event;return ( Event.target ) ? Event.target : Event.srcElement;};Number.prototype.formatNumber = String.prototype.formatNumber = function(){var number = this.toString();number = number.split( '.' );if( number.length == 1 ) number[1] = '00';else if( number[1].length == 1 ) number[1] += '0';number = number.join( '.' );return number;};function PopupSectionsWidgetClass(container){this.container = container;this.nowShowing = null;this.headPrefix = 'Head_';this.sectionsPrefix = 'Catalog_';this.show = function(themeCatalogId){if(this.nowShowing)this.hideOpened();this.nowShowing = themeCatalogId;return this.showOpened();};this.hide = function(){document.getElementById(this.container).style.display = 'none';this.hideOpened();};this.hideOpened = function(){var elem = null;if(elem = document.getElementById(this.container + this.headPrefix + this.nowShowing)) elem.style.display = 'none';if(elem = document.getElementById(this.container + this.sectionsPrefix + this.nowShowing))elem.style.display = 'none';this.nowShowing = null;};this.showOpened = function(){if(elem = document.getElementById(this.container + this.headPrefix + this.nowShowing)){elem.style.display = 'block';} else{return false;};if(elem = document.getElementById(this.container + this.sectionsPrefix + this.nowShowing)){elem.style.display = 'block';} else{return false;};document.getElementById(this.container).style.display = 'block';return true;}};var Cart = new Object();Cart.updateCount = function(itemId, halfyearId, inputCount){if(inputCount.getAttribute('oldvalue') == inputCount.value) return;var form = document.getElementById('editItemCount');form.item_id.value = itemId;form.halfyear_id.value = halfyearId;form.count.value = inputCount.value;inputCount.setAttribute('oldvalue', inputCount.value); SubmitForm(null, form);};Cart.updateMonth = function(itemId, halfyearId){var form = document.getElementById('editItemMonths');form.item_id.value = itemId;form.halfyear_id.value = halfyearId;for(var i=0; i<12; i++){form['month[' + i + ']'].value = document.getElementById('item_month_' + itemId + '_' + halfyearId + '_' + i).checked == true ? 1: 0;};SubmitForm(null, form);};Cart.Add = function( Response ){var Item = Response['AjaxCart']['add']['Data']['item'];Item['period_price'] = ( Math.ceil( ( ( Item['price'] / Item['count'] ) * 100 ) / 100 ) ).formatNumber();Item['count'] = 1;Item['total'] = ( Math.ceil( Item['price'] * 100 ) / 100 ).formatNumber();var rowIndex = 4;var tr = document.getElementById('cart_table').insertRow(rowIndex++);tr.id = 'tr_item_name_' + Item['halfyear_id'] + '_' + Item['id'];var td = tr.insertCell(-1);td.colSpan = 13;td.className = 'name';var itemName = Item['name'];if(itemName.length > 31)itemName = itemName.substring(0,31) + '<a class="strong dark" href="' + Item['source'] + '">...</a>';td.innerHTML = '<div>' + itemName + '</div>';var tr = document.getElementById('cart_table').insertRow(rowIndex++);tr.id = 'tr_item_' + Item['halfyear_id'] + '_' + Item['id'];var td = tr.insertCell(-1);td.colSpan = 3;td.className = 'index';td.title = Item['name'];td.innerHTML = '<a class="strong dark" href="' + Item['source'] + '">' + Item['index'] + '</a>';var td = tr.insertCell(-1);td.colSpan = 3;td.innerHTML = '<input class="count" type="text" value="1" oldvalue="1" onblur="Cart.updateCount(' + Item['id'] + ', ' + Item['halfyear_id'] + ', this);"/>';var td = tr.insertCell(-1);td.colSpan = 3;td.align = 'right';td.id = 'cart_period_price_' + Item['halfyear_id'] + '_' + Item['id'];td.innerHTML = Item['period_price'];var td = tr.insertCell(-1);td.colSpan = 3;td.align = 'right';td.id = 'cart_price_' + Item['halfyear_id'] + '_' + Item['id'];td.innerHTML = Item['total'];var td = tr.insertCell(-1);var tr = document.getElementById('cart_table').insertRow(rowIndex++);tr.id = 'tr_item_month_' + Item['halfyear_id'] + '_' + Item['id'];tr.className = 'itemMonths';for(var i=0; i<12; i++){var td = tr.insertCell(-1);td.innerHTML = '<input id="item_month_' + Item['id'] + '_' + Item['halfyear_id'] + '_' + i+ '" type="checkbox" value="1" onclick="Cart.updateMonth(' + Item['id'] + ', ' + Item['halfyear_id'] + ');"'+ (Item['months'][i] == 3 ? ' disabled="true"' : '')+ (Item['months'][i] == 2 ? ' checked="true"' : '')+ (Item['months'][i] == 0 ? ' disabled="true"' : '')+ ' />';};var td = tr.insertCell(-1);var removeHref = '/cart/remove?halfyear=' + Item['halfyear_id'] + '&item=' + Item['id'];td.innerHTML = '<a href="' + removeHref + '" onclick="return AjaxLoad( { \'script\' : \'/ajax' + removeHref + '\', \'method\' : \'GET\', \'callback_function\' : [ Cart.Remove ] } );">'+ '<img src="/site/i/frontend/markup/cartDelete.gif" width="10" height="11" alt="Удалить"/>';+ '</a>';var tr = document.getElementById('cart_table').insertRow(rowIndex++);tr.id = 'tr_item_delimer_line_' + Item['halfyear_id'] + '_' + Item['id'];var td = tr.insertCell(-1);td.className = 'delimerLine';td.colSpan = 13;var Total = Response['AjaxCart']['add']['Data']['total'];Cart.UpdateTotal( Item['halfyear_id'], Total );var elem;if( elem = document.getElementById( 'cart_halfyear_' + Item['halfyear_id']) ) {elem.style.display = '';};var orderItemAction = document.getElementById('order_item_action_' + Item['halfyear_id'] + '_' + Item['id']);if(orderItemAction){orderItemAction.href = orderItemAction.href.replace('/add', '/remove'); orderItemAction.parentNode.innerHTML = orderItemAction.parentNode.innerHTML.replace('Заказать', 'Снять заказ').replace('toOrder', 'outFromOrder').replace('/add', '/remove').replace('Add', 'Remove');};Cart.checkZeroPrice(Item['period_price'], Item['id'], Item['halfyear_id']);try {itemsCount++;} catch(e) {};try {checkOrderErrors();} catch(e) {}};Cart.Remove = function( Response ){var Total = Response['AjaxCart']['remove']['Data']['total'];var ItemID = Response['AjaxCart']['remove']['Data']['item_id'];var HalfyearID = Response['AjaxCart']['remove']['Data']['halfyear_id'];var ItemCount = Response['AjaxCart']['remove']['Data']['item_count'];var tr = document.getElementById( 'tr_item_name_' + HalfyearID + '_' + ItemID );if(tr) tr.parentNode.removeChild(tr);var tr = document.getElementById( 'tr_item_' + HalfyearID + '_' + ItemID );if(tr) tr.parentNode.removeChild(tr);var tr = document.getElementById( 'tr_item_month_' + HalfyearID + '_' + ItemID );if(tr) tr.parentNode.removeChild(tr);var tr = document.getElementById( 'tr_item_delimer_line_' + HalfyearID + '_' + ItemID );if(tr) tr.parentNode.removeChild(tr);var orderItemAction = document.getElementById('order_item_action_' + HalfyearID + '_' + ItemID);if(orderItemAction){orderItemAction.href = orderItemAction.href.replace('/remove', '/add'); orderItemAction.parentNode.innerHTML = orderItemAction.parentNode.innerHTML.replace('Снять заказ', 'Заказать').replace('outFromOrder', 'toOrder').replace('/remove', '/add').replace('Remove', 'Add');};Cart.UpdateTotal( HalfyearID, Total );var elem;if( (ItemCount == '0' || ItemCount == 0) && ( elem = document.getElementById( 'cart_halfyear_' + HalfyearID ) ) ) elem.style.display = 'none';try {itemsCount--;emptyItems[ItemID] = null;undeliveredItems[ItemID] = null;nullCountItems[ItemID] = null;} catch(e) {};try {checkOrderErrors();} catch(e) {}};Cart.Recalc = function( Response ){var Item = Response['AjaxCart']['recalc']['Data']['item'];var Total = Response['AjaxCart']['recalc']['Data']['total'];var emptyMonths = 0; for(var i=0; i<12; i++){var inputMonth = document.getElementById('item_month_' + Item['id'] + '_' + Item['halfyear_id'] + '_' + i);switch( Item['months'][i] ){case '0':inputMonth.disabled = true;break;case '1':inputMonth.disabled = false;inputMonth.checked = false;emptyMonths++;break;case '2':inputMonth.disabled = false;inputMonth.checked = true;break;}};try {if(emptyMonths == 12){emptyItems[Item['id']] = 1;} else{emptyItems[Item['id']] = null;};if(Item['count'] == '0' || Item['count'] == 0){nullCountItems[Item['id']] = 1;} else{nullCountItems[Item['id']] = null;}} catch(e) {};document.getElementById( 'cart_price_' + Item['halfyear_id'] + '_' + Item['id'] ).innerHTML = ( Math.ceil( Item['price'] * 100 ) / 100 ).formatNumber();Cart.checkZeroPrice(Item['price'], Item['id'], Item['halfyear_id']);if( Item['count'] != '0' && Item['count'] != 0 ) document.getElementById( 'cart_period_price_' + Item['halfyear_id'] + '_' + Item['id'] ).innerHTML = ( Math.ceil( ( Item['price'] / Item['count'] ) * 100 ) / 100 ).formatNumber();else document.getElementById( 'cart_period_price_' + Item['halfyear_id'] + '_' + Item['id'] ).innerHTML = '0'.formatNumber();Cart.UpdateTotal( Item['halfyear_id'], Total );try {checkOrderErrors();} catch(e) {}};Cart.UpdateTotal = function( HalfyearID, Total ){if(!document.getElementById( 'Total_' + HalfyearID )) return;document.getElementById( 'Total_' + HalfyearID ).innerHTML = ( Math.ceil( Total * 100 ) / 100 ).formatNumber() + ' руб.';};Cart.ChangePriceType = function(Response){var data = Response['AjaxCart']['changePriceType']['Data'];var recalcRequest = {'AjaxCart': {'recalc': {'Data': {'item': null, 'total': null}}}};undeliveredItems = new Array();for (halfyearId in data) {for (itemId in data[halfyearId]) {var item = data[halfyearId][itemId];if (item['id']) {recalcRequest['AjaxCart']['recalc']['Data']['item'] = data[halfyearId][itemId];recalcRequest['AjaxCart']['recalc']['Data']['total'] = data[halfyearId]['total'];Cart.Recalc(recalcRequest);if ((item['item_price'] == null && item['item_halfyear_price'] == null && item['item_year_price'] == null)|| (item['item_price'] == '' && item['item_halfyear_price'] == '' && item['item_year_price'] == '')) {undeliveredItems[item['id']] = 1;}}}};try {checkOrderErrors();} catch(e) {}};Cart.checkZeroPrice = function(price, itemId, halfyearId){var nameElement = document.getElementById('tr_item_name_' + halfyearId + '_' + itemId);var orderElement = document.getElementById('tr_item_' + halfyearId + '_' + itemId);if (price == 0) {if (nameElement) {nameElement.className = 'zeroPrice';} else {orderElement.className = 'item zeroPrice';}} else {if (nameElement) {nameElement.className = '';} else {orderElement.className = 'item';}}};function JsHttpRequest() {var t = this;t.onreadystatechange = null;t.readyState = 0;t.responseText = null;t.responseXML= null;t.status = 200;t.statusText = "OK";t.responseJS = null;t.caching= false;t.loader = null; t.session_name = "PHPSESSID";t._ldObj= null;t._reqHeaders= [];t._openArgs= null;t._errors = {inv_form_el:'Invalid FORM element detected: name=%, tag=%',must_be_single_el:'If used, <form> must be a single HTML element in the list.',js_invalid: 'JavaScript code generated by backend is invalid!\n%',url_too_long: 'Cannot use so long query with GET request (URL is larger than % bytes)',unk_loader: 'Unknown loader: %',no_loaders: 'No loaders registered at all, please check JsHttpRequest.LOADERS array',no_loader_matched:'Cannot find a loader which may process the request. Notices are:\n%',no_headers: 'Method setRequestHeader() cannot work together with the % loader.'};t.abort = function() { with (this) {if (_ldObj && _ldObj.abort) _ldObj.abort();_cleanup();if (readyState == 0) {return;};if (readyState == 1 && !_ldObj) {readyState = 0;return;};_changeReadyState(4, true); }};t.open = function(method, url, asyncFlag, username, password) { with (this){try {if (document.location.search.match(new RegExp('[&?]' + session_name + '=([^&?]*)'))|| document.cookie.match(new RegExp('(?:;|^)\\s*' + session_name + '=([^;]*)'))) {url += (url.indexOf('?') >= 0? '&' : '?') + session_name + "=" + this.escape(RegExp.$1);}} catch (e) {};_openArgs = {method: (method || '').toUpperCase(),url:url,asyncFlag:asyncFlag,username: username != null? username : '',password: password != null? password : ''};_ldObj = null;_changeReadyState(1, true); return true;}};t.send = function(content) {if (!this.readyState) {return;};this._changeReadyState(1, true); this._ldObj = null;var queryText = [];var queryElem = [];if (!this._hash2query(content, null, queryText, queryElem)) return;var hash = null;if (this.caching && !queryElem.length) {hash = this._openArgs.username + ':' + this._openArgs.password + '@' + this._openArgs.url + '|' + queryText + "#" + this._openArgs.method;var cache = JsHttpRequest.CACHE[hash];if (cache) {this._dataReady(cache[0], cache[1]);return false;}};var loader = (this.loader || '').toLowerCase();if (loader && !JsHttpRequest.LOADERS[loader]) return this._error('unk_loader', loader);var errors = [];var lds = JsHttpRequest.LOADERS;for (var tryLoader in lds) {var ldr = lds[tryLoader].loader;if (!ldr) continue; if (loader && tryLoader != loader) continue;var ldObj = new ldr(this);JsHttpRequest.extend(ldObj, this._openArgs);JsHttpRequest.extend(ldObj, {queryText:queryText.join('&'),queryElem:queryElem,id: (new Date().getTime()) + "" + JsHttpRequest.COUNT++,hash: hash,span: null});var error = ldObj.load();if (!error) {this._ldObj = ldObj;JsHttpRequest.PENDING[ldObj.id] = this;return true;};if (!loader) {errors[errors.length] = '- ' + tryLoader.toUpperCase() + ': ' + this._l(error);} else {return this._error(error);}};return tryLoader? this._error('no_loader_matched', errors.join('\n')) : this._error('no_loaders');};t.getAllResponseHeaders = function() { with (this) {return _ldObj && _ldObj.getAllResponseHeaders? _ldObj.getAllResponseHeaders() : [];}};t.getResponseHeader = function(label) { with (this) {return _ldObj && _ldObj.getResponseHeader? _ldObj.getResponseHeader() : [];}};t.setRequestHeader = function(label, value) { with (this) {_reqHeaders[_reqHeaders.length] = [label, value];}};t._dataReady = function(text, js) { with (this) {if (caching && _ldObj) JsHttpRequest.CACHE[_ldObj.hash] = [text, js];if (text !== null || js !== null) {status = 4;responseText = responseXML = text;responseJS = js;} else {status = 500;responseText = responseXML = responseJS = null;};_changeReadyState(2);_changeReadyState(3);_changeReadyState(4);_cleanup();}};t._l = function(args) {var i = 0, p = 0, msg = this._errors[args[0]];while ((p = msg.indexOf('%', p)) >= 0) {var a = args[++i] + "";msg = msg.substring(0, p) + a + msg.substring(p + 1, msg.length);p += 1 + a.length;};return msg;};t._error = function(msg) {msg = this._l(typeof(msg) == 'string'? arguments : msg);msg = "JsHttpRequest: " + msg;if (!window.Error) {throw msg;} else if ((new Error(1, 'test')).description == "test") {throw new Error(1, msg);} else {throw new Error(msg);}};t._hash2query = function(content, prefix, queryText, queryElem) {if (prefix == null) prefix = "";if (content instanceof Object) {var formAdded = false;for (var k in content) {var v = content[k];if (v instanceof Function) continue;var curPrefix = prefix? prefix + '[' + this.escape(k) + ']' : this.escape(k);var isFormElement = v && v.parentNode && v.parentNode.appendChild && v.tagName;if (isFormElement) {var tn = v.tagName.toUpperCase();if (tn == 'FORM') {formAdded = true;} else if (tn == 'INPUT' || tn == 'TEXTAREA' || tn == 'SELECT') {} else {return this._error('inv_form_el', (e.name||''), e.tagName);};queryElem[queryElem.length] = { name: curPrefix, e: v };} else if (v instanceof Object) {this._hash2query(v, curPrefix, queryText, queryElem);} else {if (v === null) continue;queryText[queryText.length] = curPrefix + "=" + this.escape('' + v);};if (formAdded && queryElem.length > 1) {return this._error('must_be_single_el');}}} else {queryText[queryText.length] = content;};return true;};t._cleanup = function() {var ldObj = this._ldObj;if (!ldObj) return;JsHttpRequest.PENDING[ldObj.id] = false;var span = ldObj.span;if (!span) return;ldObj.span = null;var closure = function() {span.parentNode.removeChild(span);};JsHttpRequest.setTimeout(closure, 50);};t._changeReadyState = function(s, reset) { with (this) {if (reset) {status = statusText = responseJS = null;responseText = '';};readyState = s;if (onreadystatechange) onreadystatechange();}};t.escape = function(s) {return escape(s).replace(new RegExp('\\+','g'), '%2B');}};JsHttpRequest.COUNT = 0;JsHttpRequest.MAX_URL_LEN = 2000; JsHttpRequest.CACHE = {}; JsHttpRequest.PENDING = {}; JsHttpRequest.LOADERS = {}; JsHttpRequest._dummy = function() {}; JsHttpRequest.TIMEOUTS = { s: window.setTimeout, c: window.clearTimeout };JsHttpRequest.setTimeout = function(func, dt) {window.JsHttpRequest_tmp = JsHttpRequest.TIMEOUTS.s; if (typeof(func) == "string") {id = window.JsHttpRequest_tmp(func, dt);} else {var id = null;var mediator = function() {func();delete JsHttpRequest.TIMEOUTS[id]; };id = window.JsHttpRequest_tmp(mediator, dt);JsHttpRequest.TIMEOUTS[id] = mediator;};window.JsHttpRequest_tmp = null; return id;};JsHttpRequest.clearTimeout = function(id) {window.JsHttpRequest_tmp = JsHttpRequest.TIMEOUTS.c;delete JsHttpRequest.TIMEOUTS[id]; var r = window.JsHttpRequest_tmp(id);window.JsHttpRequest_tmp = null; return r;};JsHttpRequest.query = function(url, content, onready, nocache) {var req = new this();req.caching = !nocache;req.onreadystatechange = function() {if (req.readyState == 4) {onready(req.responseJS, req.responseText);}};var method = null;if (url.match(/^((\w+)\.)?(GET|POST)\s+(.*)/i)) {req.loader = RegExp.$2? RegExp.$2 : null;method = RegExp.$3;url = RegExp.$4; };req.open(method, url, true);req.send(content);};JsHttpRequest.dataReady = function(d) {var th = this.PENDING[d.id];delete this.PENDING[d.id];if (th) {th._dataReady(d.text, d.js);} else if (th !== false) {throw "dataReady(): unknown pending id: " + d.id;}};JsHttpRequest.extend = function(dest, src) {for (var k in src) dest[k] = src[k];};JsHttpRequest.LOADERS.xml = { loader: function(req) {JsHttpRequest.extend(req._errors, {xml_no:'Cannot use XMLHttpRequest or ActiveX loader: not supported',xml_no_diffdom:'Cannot use XMLHttpRequest to load data from different domain %',xml_no_headers:'Cannot use XMLHttpRequest loader or ActiveX loader, POST method: headers setting is not supported, needed to work with encodings correctly',xml_no_form_upl: 'Cannot use XMLHttpRequest loader: direct form elements using and uploading are not implemented'});this.load = function() {if (this.queryElem.length) return ['xml_no_form_upl'];if (this.url.match(new RegExp('^([a-z]+)://([^\\/]+)(.*)', 'i'))) {if (RegExp.$2.toLowerCase() == document.location.hostname.toLowerCase()) {this.url = RegExp.$3;} else {return ['xml_no_diffdom', RegExp.$2];}};var xr = null;if (window.XMLHttpRequest) {try { xr = new XMLHttpRequest() } catch(e) {}} else if (window.ActiveXObject) {try { xr = new ActiveXObject("Microsoft.XMLHTTP") } catch(e) {};if (!xr) try { xr = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) {}};if (!xr) return ['xml_no'];var canSetHeaders = window.ActiveXObject || xr.setRequestHeader;if (!this.method) this.method = canSetHeaders? 'POST' : 'GET';if (this.method == 'GET') {if (this.queryText) this.url += (this.url.indexOf('?') >= 0? '&' : '?') + this.queryText;this.queryText = '';if (this.url.length > JsHttpRequest.MAX_URL_LEN) return ['url_too_long', JsHttpRequest.MAX_URL_LEN];} else if (this.method == 'POST' && !canSetHeaders) {return ['xml_no_headers'];};this.url += (this.url.indexOf('?') >= 0? '&' : '?') + 'JsHttpRequest=' + (req.caching? '0' : this.id) + '-xml';var id = this.id;xr.onreadystatechange = function() { if (xr.readyState != 4) return;xr.onreadystatechange = JsHttpRequest._dummy;req.status = null;try { req.status = xr.status;req.responseText = xr.responseText;} catch (e) {};if (!req.status) return;try {eval('JsHttpRequest._tmp = function(id) { var d = ' + req.responseText + '; d.id = id; JsHttpRequest.dataReady(d); }');} catch (e) {return req._error('js_invalid', req.responseText)};JsHttpRequest._tmp(id);JsHttpRequest._tmp = null;};xr.open(this.method, this.url, true, this.username, this.password);if (canSetHeaders) {for (var i = 0; i < req._reqHeaders.length; i++) {xr.setRequestHeader(req._reqHeaders[i][0], req._reqHeaders[i][1]);};xr.setRequestHeader('Content-Type', 'application/octet-stream');};xr.send(this.queryText);this.span = null;this.xr = xr; return null;};this.getAllResponseHeaders = function() {return this.xr.getAllResponseHeaders();};this.getResponseHeader = function(label) {return this.xr.getResponseHeader(label);};this.abort = function() {this.xr.abort();this.xr = null;}}};JsHttpRequest.LOADERS.script = { loader: function(req) {JsHttpRequest.extend(req._errors, {script_only_get: 'Cannot use SCRIPT loader: it supports only GET method',script_no_form:'Cannot use SCRIPT loader: direct form elements using and uploading are not implemented'});this.load = function() {if (this.queryText) this.url += (this.url.indexOf('?') >= 0? '&' : '?') + this.queryText;this.url += (this.url.indexOf('?') >= 0? '&' : '?') + 'JsHttpRequest=' + this.id + '-' + 'script';this.queryText = '';if (!this.method) this.method = 'GET';if (this.method !== 'GET') return ['script_only_get'];if (this.queryElem.length) return ['script_no_form'];if (this.url.length > JsHttpRequest.MAX_URL_LEN) return ['url_too_long', JsHttpRequest.MAX_URL_LEN];if (req._reqHeaders.length) return ['no_headers', 'SCRIPT'];var th = this, d = document, s = null, b = d.body;if (!window.opera) {this.span = s = d.createElement('SCRIPT');var closure = function() {s.language = 'JavaScript';if (s.setAttribute) s.setAttribute('src', th.url); else s.src = th.url;b.insertBefore(s, b.lastChild);}} else {this.span = s = d.createElement('SPAN');s.style.display = 'none';b.insertBefore(s, b.lastChild);s.innerHTML = 'Workaround for IE.<s'+'cript></' + 'script>';var closure = function() {s = s.getElementsByTagName('SCRIPT')[0]; s.language = 'JavaScript';if (s.setAttribute) s.setAttribute('src', th.url); else s.src = th.url;}};JsHttpRequest.setTimeout(closure, 10);return null;}}};JsHttpRequest.LOADERS.form = { loader: function(req) {JsHttpRequest.extend(req._errors, {form_el_not_belong:'Element "%" does not belong to any form!',form_el_belong_diff: 'Element "%" belongs to a different form. All elements must belong to the same form!',form_el_inv_enctype: 'Attribute "enctype" of the form must be "%" (for IE), "%" given.'});this.load = function() {var th = this; if (!th.method) th.method = 'POST';th.url += (th.url.indexOf('?') >= 0? '&' : '?') + 'JsHttpRequest=' + th.id + '-' + 'form';if (req._reqHeaders.length) return ['no_headers', 'FORM'];if (th.method == 'GET') {if (th.queryText) th.url += (th.url.indexOf('?') >= 0? '&' : '?') + th.queryText;if (th.url.length > JsHttpRequest.MAX_URL_LEN) return ['url_too_long', JsHttpRequest.MAX_URL_LEN];var p = th.url.split('?', 2);th.url = p[0];th.queryText = p[1] || '';};var form = null;var wholeFormSending = false;if (th.queryElem.length) {if (th.queryElem[0].e.tagName.toUpperCase() == 'FORM') {form = th.queryElem[0].e;wholeFormSending = true;th.queryElem = [];} else {form = th.queryElem[0].e.form;for (var i = 0; i < th.queryElem.length; i++) {var e = th.queryElem[i].e;if (!e.form) {return ['form_el_not_belong', e.name];};if (e.form != form) {return ['form_el_belong_diff', e.name];}}};if (th.method == 'POST') {var need = "multipart/form-data";var given = (form.attributes.encType && form.attributes.encType.nodeValue) || (form.attributes.enctype && form.attributes.enctype.value) || form.enctype;if (given != need) {return ['form_el_inv_enctype', need, given];}}};var d = form && (form.ownerDocument || form.document) || document;var ifname = 'jshr_i_' + th.id;var s = th.span = d.createElement('DIV');s.style.position = 'absolute'; s.style.visibility = 'hidden';s.innerHTML = (form? '' : '<form' + (th.method == 'POST'? ' enctype="multipart/form-data" method="post"' : '') + '></form>') + '<iframe name="' + ifname + '" id="' + ifname + '" style="width:0px; height:0px; overflow:hidden; border:none"></iframe>';if (!form) {form = th.span.firstChild;};d.body.insertBefore(s, d.body.lastChild);var setAttributes = function(e, attr) {var sv = [];var form = e;if (e.mergeAttributes) {var form = d.createElement('form');form.mergeAttributes(e, false);};for (var i = 0; i < attr.length; i++) {var k = attr[i][0], v = attr[i][1];sv[sv.length] = [k, form.getAttribute(k)];form.setAttribute(k, v);};if (e.mergeAttributes) {e.mergeAttributes(form, false);};return sv;};var closure = function() {top.JsHttpRequestGlobal = JsHttpRequest;var savedNames = [];if (!wholeFormSending) {for (var i = 0, n = form.elements.length; i < n; i++) {savedNames[i] = form.elements[i].name;form.elements[i].name = '';}};var qt = th.queryText.split('&');for (var i = qt.length - 1; i >= 0; i--) {var pair = qt[i].split('=', 2);var e = d.createElement('INPUT');e.type = 'hidden';e.name = unescape(pair[0]);e.value = pair[1] != null? unescape(pair[1]) : '';form.appendChild(e);};for (var i = 0; i < th.queryElem.length; i++) {th.queryElem[i].e.name = th.queryElem[i].name;};var sv = setAttributes(form, [['action', th.url],['method', th.method],['onsubmit', null],['target', ifname]]);form.submit();setAttributes(form, sv);for (var i = 0; i < qt.length; i++) {form.lastChild.parentNode.removeChild(form.lastChild);};if (!wholeFormSending) {for (var i = 0, n = form.elements.length; i < n; i++) {form.elements[i].name = savedNames[i];}}};JsHttpRequest.setTimeout(closure, 100);return null;}}};var DYNAMIC = true;var ASYNC = true;function AjaxLoad( Settings ){if( DYNAMIC == 'false' || DYNAMIC == false ) return true;if( !Settings['method'] ) Settings['method'] = 'GET';var req = new JsHttpRequest();Settings['caching'] ? req.caching = true : req.caching = false;req.onreadystatechange = function(){if (req.readyState == 4){if( req.responseText ){alert( req.responseText );};for( i in Settings['callback_function'] ){if( typeof( Settings['callback_function'][i] ) == 'function' ) Settings['callback_function'][i]( req.responseJS, Settings );else if( typeof( Settings['callback_function'][i] ) == 'string' ) {eval( Settings['callback_function'][i] + '( req.responseJS, Settings );' );}}}};req.open( Settings['method'], Settings['script'], ASYNC );req.send( Settings['value'] );return false;}