﻿var Page = new Object();
Page.Request = null;

/*function ShowMessage(message)
{
    alert(message);
}

//Открыть синхронный request
function OpenRequest( url, par, delegate )
{
    if( window.ActiveXObject )
	    Page.Request = new ActiveXObject("Microsoft.XMLHTTP");
    else
	    Page.Request = new XMLHttpRequest();

	if( delegate ) Page.Request.onreadystatechange = delegate;
	Page.Request.open("POST", url, false);
	Page.Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8" );
	Page.Request.send( par );
}

function	ExecuteQuery( page, queryId, pars, noreload )
{
	var url = '/gs/sqlexecutor.wide';
	var par = 'debug=1&page=' + page + '&query-id=' + queryId + (( pars ) ? '&params=' + pars : '');

	OpenRequest( url, par, null );
    if( Page.Request.responseXML )
    {
	    var doc	= Page.Request.responseXML.documentElement;	
	    if( !doc ) return;
		if( doc.getElementsByTagName( "exceptions" )[0] == null || doc.getElementsByTagName( "exceptions" )[0].childNodes.length == 0 )
			return doc.getElementsByTagName( 'return-value' )[0].firstChild.data;
	}
	else alert('Получен невалидный XML при попытке выполнить запрос. Обратитесь к администратору сайта.');
}

function HasExceptions()
{
    return ( Page.Request.responseText.indexOf('result code="0"') < 0 );
}

//Динамическая загрузка списка
function DynamicLoad ( select, url, displaymember, valuemember )
{
	var pars = ( url.indexOf( '?' ) > 0 ) ? url.substring( url.indexOf( '?' ) + 1, url.length ) : '';
	url = ( url.indexOf( '?' ) > 0 ) ? url.substring( 0, url.indexOf( '?' ) ) : url;

	if( pars.indexOf( 'debug' ) < 0 )
		pars = pars + '&debug=1';
	if( pars.indexOf( 'page-capacity' ) < 0 )
		pars = pars + '&page-capacity=0';
	OpenRequest( url, pars, null );
	if( Page.Request.responseXML )
	{
		var doc	= Page.Request.responseXML.documentElement;
		var trNodes = doc.getElementsByTagName( "tr" );

		var restore = false;
		var oldvalues = new Array();
		for( var i=0;i<select.options.length;i++ )
		{
			if( select.options[i].selected ) oldvalues[oldvalues.length] = select.options[i].value;
		}
		select.options.length = 0;

		if( !displaymember ) displaymember = 'name';
		if( !valuemember ) valuemember = 'unirowid';

		displaymember = displaymember.toLowerCase();		
		valuemember = valuemember.toLowerCase();

		var option = new Option ( "", "", false, false );
		select.options[0] = option;

		for (var i=0; i<trNodes.length; ++i) //"tr"
		{
			var id, text;
			var childs = trNodes[i].childNodes; // "td" 
			for (var j=0; j<childs.length; ++j)
			{
				var node = childs.item(j);

				if( node.getAttribute( "field" ).toLowerCase() == displaymember )
					text = node.getAttribute( "actual-value" );
				if( node.getAttribute( "field" ).toLowerCase() == valuemember )
					id = node.getAttribute( "actual-value" );
			}
			var option = new Option ( text, id, false, false );
			select.options[select.length]=option;
			for( var j=0;j<oldvalues.length;j++ ) if( oldvalues[j] == id ) option.selected = true;	
		}
	}
	else
		ShowMessage( 'Получен неправильный XML! Обратитесь к разработчику!' );
}

function AddToCart(jewelid, amount)
{
    alert( $F('mmcolor') ); return;
    OpenRequest('func/addtocart.ivp','debug=1&jewelid=' + jewelid + '&amount=' + amount, null);
    if( HasExceptions() ) ShowMessage( 'Ошибка! Товар не может быть добавлен, скорее всего, вы не авторизованы.' );
	else ShowMessage(amount ? 'Товар добавлен в корзину.' : 'Товар удален из корзины.');
}

function CommitOrder(address,contacttime)
{
    OpenRequest('func/commitorder.ivp','debug=1&address=' + address + '&contacttime=' + contacttime, null);
    if( HasExceptions() ) alert( 'Невозможно подтвердить заказ, скорее всего, вы не авторизованы. ' );
}

function RecalculateOrder(orderid, priceid)
{
    OpenRequest('func/recalculateorder.ivp','debug=1&orderid=' + orderid + '&priceid=' + priceid, null);
    if( HasExceptions() ) ShowMessage( 'Невозможно пересчитать заказ, скорее всего, вы не авторизованы. ' );
}

function DeleteOrder(orderid)
{
    if( !confirm('Вы уверены, что хотите удалить заказ №' + orderid + '?') ) return;
    OpenRequest('func/deleteorder.ivp','debug=1&orderid=' + orderid , null);
    if( HasExceptions() ) ShowMessage( 'Невозможно удалить заказ, скорее всего, вы не авторизованы, или заказ находится в статусе, отличном от "Новый заказ". ' );
    else document.location.reload();
}

function setValue(id, val)
{
	document.getElementById(id).value = val;
}

function showLargeImage(ImageId, ImageTitle)
{
	var width = 200;
	var height = 200;
	
	var left = parseInt((screen.availWidth / 2) - (width / 2));
	var top = parseInt((screen.availHeight / 2) - (height / 2));
	
	var subwin = window.open('','subwindow','resizable=0, scrollbars=0, width=' + width + ', height=' + height + ', left=' + left + ', top=' + top);	
	
	var baseURL = document.getElementsByTagName("base")[0].href;
	
	subwin.document.title = ImageTitle ? ImageTitle : "Фото";
	
	subwin.document.body.innerHTML = "<img height='200' width='200' style='position: absolute; top: 0; left: 0' src='" + baseURL + "openfile.wide?fileid=" + ImageId + "' />";
	
	subwin.focus();
}

*/
