﻿var DataRecieved;
var receptor = '/uni2/index.php';

	


function GetLoader(){
	var loader=null;
	if( window.ActiveXObject ){
		loader=new ActiveXObject("Msxml2.XMLHTTP");
		if( !loader ){
			loader=new ActiveXObject("Microsoft.XMLHTTP")
		}
	} else if(window.XMLHttpRequest){
		loader=new XMLHttpRequest()
	}
	return loader;
}

var xmlhttp=GetLoader();

function PostForm( formID, module ){
	var ind = document.getElementById( 'indicator' );
	if ( ind )
		ind.style.visibility='visible';
	var pform = document.getElementById( formID );
	var xmlhttp=GetLoader();
	var strSubmit = 'module='+module+'&';
	for (i = 0; i < pform.elements.length; i++) {
		var formElem = pform.elements[i];
		switch (formElem.type) {
			case 'text':
			case 'select-one':
			case 'hidden':
			case 'password':
			case 'textarea':
				strSubmit += formElem.name + '=' + encodeURIComponent(formElem.value) + '&';
			break;
			case 'checkbox':
				if (formElem.checked) {
					strSubmit += formElem.name + "=" + formElem.value + "&";
				} else {
					strSubmit += formElem.name + "=&";
				}
			break;
			case 'radio':
				if (formElem.checked) {
					strSubmit += formElem.name + "=" + formElem.value + "&";
				}
			break;
		}
	}
	strSubmit += 'index_mode=receptor&curUrl='+encodeURIComponent( window.location.href );
	xmlhttp.open('POST', window.location.href, true );
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
	//xmlhttp.setRequestHeader('Content-length', strSubmit.length);
	//xmlhttp.setRequestHeader('Connection', 'close');
	xmlhttp.onreadystatechange = 
		function() {
			if (xmlhttp.readyState == 4) {
				onResponse( xmlhttp.responseText );
			}
		}
	xmlhttp.send( strSubmit );
}

function GetData( UrlToGet, OnLoadFunc )
{
	var xmlhttp=GetLoader();
	xmlhttp.open('GET', receptor + '?index_mode=receptor&' + UrlToGet + '&curUrl='+window.location.href );
	xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
	xmlhttp.onreadystatechange =
		function() {
			if (xmlhttp.readyState == 4) {
				onResponse( xmlhttp.responseText );
			}
		}
	xmlhttp.send( false );
}

function GetModuleData( moduleName, commandName, parameters )
{
	GetData( 'module='+moduleName+'&command='+commandName+'&'+parameters );
	return DataRecieved;
}

function onResponse( response ){
	var ind = document.getElementById( 'indicator' );
	if ( ind )
		ind.style.visibility='hidden';

	response.replace(/^[\s|\r\n]*|[\s|\r\n]*$/g,'');
//alert(response);
	var resp = response.split('|');
	if ( resp[0] == 'reloc' )
	{
		window.location.href = resp[1];
	}
	else if ( resp[0] == 'data' )
	{
		DataRecieved = resp[ 1 ];
	}
	else if ( resp[0] == 'error' )
	{
		var div = document.getElementById( 'errorDIV' );
		div.style.display = 'block';
		div.innerHTML = resp[ 1 ];
		window.setTimeout(
			function(){
				var div = document.getElementById( 'errorDIV' );
				div.style.display = 'none';
			}, 4000
		);
	}
	else if ( resp[0] == 'content' )
	{
		var div = document.getElementById( resp[1] );
		div.innerHTML = resp[2];
		var match    = new RegExp( '(?:<script.*?>)((\r|\n|.)*?)(?:</script>)', 'img' );
		var scripts  = resp[2].match(match);
		if(scripts) {
			var js = '';
			for(var s = 0; s < scripts.length; s++) {
				var match = new RegExp( '(?:<script.*?>)((\r|\n|.)*?)(?:</script>)', 'im');
				js += scripts[s].match(match)[1];
			}
			eval(js);
		}
	
	}
	else if ( resp[0] == 'info-content' )
	{
		var div = document.getElementById( 'infoDIV' );
		div.style.display = 'block';
		div.innerHTML = resp[ 1 ];
		window.setTimeout(
			function(){
				var div = document.getElementById( 'infoDIV' );
				div.style.display = 'none';
			}, 4000
		);
		var div = document.getElementById( resp[2] );
		div.innerHTML = resp[3];
	}
	else
	{
		alert( response );
	}
	
	function GetDataByName( key, parts )
	{
		for( var i = 0; i < parts.length; i++ )
		{
			var data = parts[ i ].split( '=' );
			if ( data.length > 0 && data[ 0 ] == key )
				return data[ 1 ];
		}
		return '';
	}
	
	

}
