
	</script>
	</style>
	</span></span></span></span>
	</div></div></div></div></div>
	</table></table></table>
	<style>
		table.errTable{
			border: 0px;
			width: 900px;
			background-color: #000000;
			text-align: left;
		}

		table.errTable tr{
			background-color: #ccccff;
		}

		.tableHeader{
			background-color: #ccccff;
		}

		.grayCell{
			background-color: #cccccc;
			width: 85%;
		}

		.debugInfoTable{
			background-color: #cccccc;
			border-collapse: collapse;
		}
		.debugInfoTable td{
			border: 1px solid black;
		}

		table.debugInfoTable tr{
			background-color: #cccccc;
		}

		.errDesc{
			color: #cc3300;
		}

		.secondHeader{
			text-align: center;
		}

		.hidden {
			display: none;
		}

	</style>

{$script}
<p align=center><font size=+2>Application {mlang_message ERR_HAPPENED}</font></p>

<table cellpadding="3" cellspacing="1" align="center" class="errTable">
	<th>
		<td colspan=2 align=middle><font size=+1><b>{mlang_message TECH_INFO}</b></font></td>
	</th>
	<tr>
		<td><b>{mlang_message ERR_TYPE}</b></td><td class="grayCell">{$errno}</td>
	</tr>
	<tr>
		<td><b>{mlang_message ERR_DESC}</b></td><td class="grayCell"><span class="errDesc">{$errstr}</span></td>
	</tr>
	<tr>
		<td><b>URL</b></td><td class="grayCell">{$url}</td>
	</tr>
	<tr>
		<td><b>{mlang_message ERR_FILE}</b></td><td class="grayCell">{$errfile}</td>
	</tr>
	<tr>
		<td><b>{mlang_message ERR_LINE}</b></td><td class="grayCell">{$errline}</td>
	</tr>
	<tr>
		<td ><b>{mlang_message SQL_QUERY}</b></td><td class="grayCell">{$sqlStr}</td>
	</tr>
</table>

<p align=center id="clickInfo">
	<a id="clickInfoLink" href="" onclick="toggleDebug(event);">More info</a>
</p>

<br><br><br>

<table id="debugInfoTable" cellpadding="3" cellspacing="1" align="center" class="errTable debugInfoTable hidden">
	<tr>
		<td colspan=4 align=middle class="tableHeader"><font size=+1><b>Call stack</b></font></td>
	</tr>
	<tr class="secondHeader">
		<td>&nbsp;</td>
		<td>File: line</td>
		<td>Function</td>
		{BEGIN showArgs}<td>Arguments</td>{END showArgs}
	</tr>
	{BEGIN debugRow}
		<tr>
			<td nowrap="nowrap">{$num}</td>
			<td nowrap="nowrap">{$path}</td>
			<td nowrap="nowrap">{$func}</td>
			{BEGIN showArgs}<td>{$args}</td>{END showArgs}
		</tr>
	{END debugRow}
</table>

<script type="text/javascript">
	function toggleDebug(event){
		// stop event
		e = event || window.event;
		if (e.stopPropagation){
            e.stopPropagation();
        }else{
            e.cancelBubble = true;
        }
		if(e.preventDefault){
            e.preventDefault();
        }else{
            e.returnValue = false;
        }
        // show info table
		var moreLink = document.getElementById('clickInfoLink');
        var debugTable = document.getElementById('debugInfoTable');
		var elClass = debugTable.className;
		var isHidden = elClass.indexOf('hidden') >= 0;
		if(isHidden) {
			elClass = elClass.replace(' hidden', '');
			moreLink.innerText = 'Less info'
		} else {
			elClass += ' hidden';
			moreLink.innerText = 'More info'
		}
		debugTable.className = elClass;
	}

	/**
	 * Fixed problem in IE for getElementsByName
	 * It didn't work correct in IE, because IE takes elements by id but not by name
	 * @param {string} tag - tag name
	 * @param {string} name - attribute name
	 */
	function getElementsByName_iefix(tag, name){
		var elem = document.getElementsByTagName(tag);
		var arr = new Array();
		for(i = 0,iarr = 0; i < elem.length; i++){
			att = elem[i].getAttribute("name");
			if(att == name){
				arr[iarr] = elem[i];
				iarr++;
			}
		}
		return arr;
	}

	/**
	 * Stop showing loading if happend error on page
	 */
	function stopLoadingForError(){
		var lDivs, lConts;
		if(navigator.appName == "Microsoft Internet Explorer"){
			lDivs = getElementsByName_iefix('div','loadingDiv');
			lConts = getElementsByName_iefix('div','loadedContent');
		}else{
			lDivs = document.getElementsByName('loadingDiv');
			lConts = document.getElementsByName('loadedContent');
		}

		for(i=0;i<lDivs.length;i++){
			lDivs[i].parentNode.removeChild(lDivs[i]);
		}
		for(j=0;j<lConts.length;j++){
			if($(lConts[j]).find('table.errTable') && $(lConts[j]).css("position")!="static"){
				$(lConts[j]).css('position','static');
				$(lConts[j]).css('left','0px');
			}
		}
	}
	stopLoadingForError();
</script>


