﻿// JavaScript Document
if (!Saxons) {
	var Saxons = function() {
	};
}

/*
 * //XMLHttpRequest
 * 
 * 
 * 
 * 
 */

// alert( window );
if (!window.ddd) {
	window.ddd = function() {

	};

	window.ddd.prototype.fff = function() {

		alert('ffxf');
	};
}
/*
 * var fxff = new window.ddd();
 * 
 * fxff.fff() ;
 */﻿// JavaScript Document
if( !initiatedObjects ) {
var initiatedObjects = {};
}

var initiateObject = function(nameObject) {
	if (initiatedObjects[nameObject]) {
		return initiatedObjects[nameObject];
	}
	// alert( nameObject ) ;
	initiatedObjects[nameObject] = eval('new ' + nameObject + '()');
	// alert( nameObject ) ;
	initiatedObjects[nameObject].objectName = nameObject;
	// alert( nameObject ) ;
	return initiatedObjects[nameObject];
};

var clSaxons = new Saxons();

Saxons.Connecter = function() {
	this.Processes = {};
};

Saxons.Connecter.prototype.Initiate = function() {
	this.createInterface('Saxons.Connecter.WebSocket');

	if (!this.clsInterface._name) {
		this.createInterface('Saxons.Connecter.XMLSocket');
	}
	;

	if (!this.clsInterface._name) {
		this.createInterface('Saxons.Connecter.httpRequest');
	}
	;

	if (!this.clsInterface._name) {
		alert('Connecter Error!!!');
	}
	;
};

Saxons.Connecter.prototype.createInterface = function(InterfaceName) {
	// this.clsInterface = eval( 'new ' + InterfaceName + '()' ) ;
	this.clsInterface = initiateObject(InterfaceName);

	// this.clsInterface.onConnecting = this.onConnecting ;
	this.clsInterface.onOpen = this.onOpen;
	this.clsInterface.onMessage = this.onMessage;
	this.clsInterface.onError = this.onError;
	this.clsInterface.onClose = this.onClose;

	this.clsInterface.Initiate();
};

Saxons.Connecter.prototype.makeREQUEST = function(Arguments) {
	var REQUEST = document.createElement('request');

	REQUEST.setAttribute('kit', Arguments['Kit.Name']);

	var HEADER = document.createElement('header');

	var FROM = document.createElement('from');

	if (Arguments['Request.From']) {
		if (Arguments['Request.From']['Identity']) {
			FROM.setAttribute('id', Arguments['Request.From']['Identity']);
		}
		;

		if (Arguments['Request.From']['Name']) {
			FROM.setAttribute('name', Arguments['Request.From']['Name']);
		}
		;
	}
	;

	HEADER.appendChild(FROM);

	var TO = document.createElement('to');

	HEADER.appendChild(TO);

	REQUEST.appendChild(HEADER);

	var DO = document.createElement('do');

	DO.setAttribute('kit', Arguments['Kit.Name']);
	DO.setAttribute('function', Arguments['DO.function']);

	if (Arguments['DO.Arguments']) {
		for ( var key in Arguments['DO.Arguments']) {
			var ARGUMENT = document.createElement('argument');

			ARGUMENT.setAttribute('name', key);

			ARGUMENT.appendChild(document.createTextNode(Arguments['DO.Arguments'][key]));

			DO.appendChild(ARGUMENT);
		}
		;
	}
	;

	REQUEST.appendChild(DO);
	// alert( convert_xml_to_string( REQUEST ) ) ;
	return REQUEST;
};

Saxons.Connecter.prototype.Request = function(msg) {
	if (!msg) {
		alert('can not be empty');

		return;
	}
	;
	// alert( msg ) ;
	this.clsInterface.Request(msg);
};

Saxons.Connecter.prototype.Process = function(responseXML) { // alert(
																// 'Connecter' )
																// ; alert(
																// responseXML )
																// ;
	for ( var key in this.Processes) {
		var Process = this.Processes[key];
		// alert( key + ':' + Process ) ;
		Process(responseXML);
	}
};

Saxons.Connecter.prototype.Quit = function() {
	alert('Quit');
};﻿// JavaScript Document
var initiatedObjects = {};

var initiateObject = function(nameObject) {
	if (initiatedObjects[nameObject]) {
		return initiatedObjects[nameObject];
	}
	// alert( nameObject ) ;
	initiatedObjects[nameObject] = eval('new ' + nameObject + '()');
	// alert( nameObject ) ;
	initiatedObjects[nameObject].objectName = nameObject;
	// alert( nameObject ) ;
	return initiatedObjects[nameObject];
};

Saxons.Connecter.httpRequest = function() {
	this.host = '/_services/';
	this.query = '';
};

Saxons.Connecter.httpRequest.prototype.Initiate = function() {
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		var httpRequest = new XMLHttpRequest();

		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			var httpRequest = new ActiveXObject('Msxml2.XMLHTTP');
		} catch (e) {
			try {
				var httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
			} catch (e) {
				alert('Giving up :( Cannot create an XMLHTTP instance');
			}
		}
	}

	if (!httpRequest) {
		alert('Giving up :( Cannot create an XMLHTTP instance');

		return;
	}

	this._name = 'httpRequest';

	return httpRequest;
};

Saxons.Connecter.httpRequest.prototype.Process = function(responseXML) {
	var clsConnecter = initiateObject('Saxons.Connecter');

	clsConnecter.Process(responseXML);
};

Saxons.Connecter.httpRequest.prototype.Request = function() {
	var httpRequest = this.Initiate();

	var clsConnecter_httpRequest = this;

	httpRequest.onreadystatechange = function() {
		if (this.readyState != 4) {
			return;
		}
		;

		if (this.status != 200) {
			return;
		}
		;
		// alert( this.responseText ) ;
		clsConnecter_httpRequest.Process(this);
	};
	// alert(this.host);
	httpRequest.open('POST', this.host, true);

	httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

	httpRequest.send(this.query);
};﻿// JavaScript Document
Saxons.Effector	= function() {} ;

Saxons.Effector.prototype.Initiate	= function() {

} ;

Saxons.Effector.prototype.List2MenuBar	= function() {

} ;

Saxons.Effector.prototype.List2Accordion	= function() {

} ;﻿// JavaScript Document
var String2XML = function(strXML) {
	while (strXML.charAt(0) != '<') {
		strXML = strXML.substring(1, strXML.length);
	}

	while (strXML.charAt(strXML.length - 1) != '>') {
		strXML = strXML.substring(0, strXML.length - 2);
	}
	// alert( strXML ) ;
	if (window.ActiveXObject) {
		xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
		xmlDoc.async = 'false';
		xmlDoc.loadXML(strXML);
		return xmlDoc;
	} else {
		parser = new DOMParser();
		xmlDoc = parser.parseFromString(strXML, 'text/xml');
		return xmlDoc;
	}
};

Saxons.Effector.Slideshow = function() {
};

Saxons.Effector.Slideshow.prototype.Initialize = function(NODE) {
	var fg = '<bitmap id="4ae3e39d66cccedaf1a4e8db5f8494c4"/>';

	fg += '<bitmap id="841bddce0a48c49fc6c69825d2b63b7b"/>';
	fg += '<bitmap id="ba7b278c5a460c17ef7baefa7d519c92"/>';
	fg += '<bitmap id="e2c0fefde358883d36b0616450c7db9a"/>';
	fg += '<bitmap id="602b448fa0e185f16777f8e31fdaa064"/>';
	fg += '<bitmap id="4e0592c438e31832b2af6ddf7bdbbc8b"/>';
	fg += '<bitmap id="a911a07eb7f9845ebb0b26b831f236ef"/>';
	fg += '<bitmap id="8d5145790e59ec9651889f434804ca51"/>';
	fg += '<bitmap id="c867df9b08230fb9f7cbdc89828d8938"/>';
	fg += '<bitmap id="91ffed5e66ef064c02661613bc4247e4"/>';
	fg += '<bitmap id="ed6934ed3c5e82d9bdbd12c1f7d0f1e2"/>';
	fg += '<bitmap id="3b6d8dab3421d6ed1a72ff711a618062"/>';
	fg += '<bitmap id="958d9fa188a93306fb5e37bd4f3cb791"/>';
	fg += '<bitmap id="dc0eb8dbe1e86770a185724a172a9065"/>';
	fg += '<bitmap id="ea9b9ece2f19cee4136ed8aa58868002"/>';
	fg += '<bitmap id="6193f828ccda8a6ec6cdc4102aa77be2"/>';
	fg += '<bitmap id="7a71638fd59ec7ecaff327be03b4be58"/>';
	fg += '<bitmap id="db9211d59b81c23b8991fe12a9240a9e"/>';

	fg = '<kvfd>' + fg + '</kvfd>';

	var fgdfg = String2XML(fg);
	// alert( 'Slideshow' ) ;

	NODE.style.background = '#369';

	var FloatingPanels = document.createElement('img');

	// alert(NODE.offsetWidth) ;
	NODE.appendChild(FloatingPanels);
	FloatingPanels.style.opacity = 0;

	var clsEffector_Slideshow = this;

	clsEffector_Slideshow.fdd = 'fadein';
	clsEffector_Slideshow.dfrrr = 0;

	setInterval(function() {
		if (FloatingPanels.style.opacity <= 0) {
			var CHILDREN = fgdfg.getElementsByTagName('bitmap');

			var fgf = Math.floor(Math.random() * CHILDREN.length);

			while (fgf == clsEffector_Slideshow.dfrrr) {
				var fgf = Math.floor(Math.random() * CHILDREN.length);
			}

			var gd = NODE.offsetWidth / 1575;

			FloatingPanels.src = '/_images/' + CHILDREN.item(fgf).getAttribute('id') + '/' + gd * 100;

			var fdd = 'fadein';

			clsEffector_Slideshow.fdd = fdd;
		} else if (FloatingPanels.style.opacity >= 1) {
			var fdd = 'fadeout';

			clsEffector_Slideshow.fdd = fdd;
		} else {
			var fdd = clsEffector_Slideshow.fdd;
		}

		var Opacity = FloatingPanels.style.opacity * 100;

		Opacity = parseInt(Opacity);

		switch (fdd) {
		case 'fadein':
			Opacity += 2;
			break;
		case 'fadeout':
			Opacity -= 2;
			break;
		}

		FloatingPanels.style.filter = 'alpha(opacity = ' + Opacity + ')';

		Opacity /= 100;

		FloatingPanels.style.opacity = Opacity;
	}, 128);

};

Saxons.Effector.Slideshow.prototype.Mask = function(NODE) {

};
