
/*
 * eForm Call Back v. 1.2 © 2006 Dotality
 - based on mootools
 - call menufunc with link
 - splitlink for aj_
 - if aj_ exist in link search for div
 	- if div exist check if ajax is supported
 		- if ajax is supported inisiate callback
else call real link
 	
 */
 var req;
 var activdiv;
 var typed;
 var ajlinkprefix = 'aj_';
 var ajspinner = '../_js/spinner.gif';
 var loadspinner = '<br><table width=100 align=center border=0 cellspacing=4 cellpadding=4><tr><td   style="font-size:10px;">Loading...&nbsp;</td><td><img src="' + ajspinner + '" width=16 height=16 border=0></td></tr></table>';
		
function getParams() {
	var index = document.URL.indexOf('?');
	var params = new Array();
	if ( index != -1 ) {
		var nameValuePairs=document.URL.substring(index+1,document.URL.length).split('&');
		for ( var i=0; i<nameValuePairs.length; i++ ) {
			nameVal = nameValuePairs[i].split('=');
			params[nameVal[0]] = nameVal[1];
		};
	}; return params;
};
var editfields = 0;

var lastclickitem;
var nextclickitem;
var lastclickitemclass;
var nextclickitemclass;

function setclass(linkid,linkcssOFF,linkcssON) {
	lastclickitem = linkid;
	lastclickitemclass = linkcssOFF;
	//$(linkid).className = linkcssON;
	Ext.fly(linkid).set({'class':linkcssON});
};

function flipclass(linkid,linkcssOFF,linkcssON) {
	if (lastclickitem) {
		//$(lastclickitem).className = lastclickitemclass;
		//Ext.fly(lastclickitem).toggleClass(lastclickitemclass);
		Ext.fly(lastclickitem).set({'class':lastclickitemclass});
	};
	//Ext.fly(linkid).toggleClass(linkcssON);
	Ext.fly(linkid).set({'class':linkcssON});
	lastclickitem = linkid;
	lastclickitemclass = linkcssOFF;
};

function go2(linkurl,linkid,linkcssOFF,linkcssON) {
//				document.location.href = linkurl;
//				return;
	if (linkid) {flipclass(linkid,linkcssOFF,linkcssON); };
	//alert(fxTagline.stop());
	//if(fxTagline) {fxTagline.stop();}
	var indexx = linkurl.indexOf('?');
//	var params = new Array();
	if (editfields) {
	    if ( editfields == 2 ) {
	        document.location.href = linkurl;
	        return; 
	    };
	};
	if ( indexx != -1 ) {
		var nameValuePairs=linkurl.substring(indexx+1,linkurl.length).split('&');
		for ( var i=0; i<nameValuePairs.length; i++ ) {
			nameVal = nameValuePairs[i].split('=');
			if (nameVal[0].substring(0,ajlinkprefix.length) != ajlinkprefix ) {
				document.location.href = linkurl;
				return;
			};
		};
		for ( var i=0; i<nameValuePairs.length; i++ ) {
			nameVal = nameValuePairs[i].split('=');
			if (nameVal[0].substring(0,ajlinkprefix.length) == ajlinkprefix ) {
				divname = nameVal[0].substring(ajlinkprefix.length,nameVal[0].length);
				docurl = document.location.href;
				if (docurl.indexOf('?') != -1 ) { docurl = docurl.substring(0,docurl.indexOf('?'));}
				ajparam = 'ajx_'+divname+'='+nameVal[1];
				cburl = docurl+'?ajx_'+divname+'='+nameVal[1];
				//alert(document.getElementById(divname+'_ajxdiv'));
				if (Ext.fly(divname+'_ajxdiv') == null ) {
					document.location.href = linkurl;
					return;
				};
				Ext.fly(divname+'_ajxdiv').set({'file':nameVal[1]});
				//Ext.fly(divname+'_ajxdiv').setProperty('file',nameVal[1]);
				//$(divname+'_ajxdiv').innerHTML = "<br><table width='100' align=center border=0 cellspacing=4 cellpadding=4><tr><td style='font-size:10px;'>Loading...&nbsp;</td><td><img src='" + ajspinner + "' width=16 height=16 border=0></td></tr></table>";
				//new Ajax.Updater(divname+'_ajxdiv', docurl, {method: 'get', parameters: ajparam	});
				//new Ajax.Updater(divname+'_ajxdiv', '_inc/'+nameVal[1], {method: 'get'});
				//new Ajax(docurl+'?'+ajparam, {	method: 'get',update: $(divname+'_ajxdiv')	}).request();
				//new Ajax(docurl, {	method: 'get', postBody: ajparam, update: $(divname+'_ajxdiv'), onComplete: showResponse	}).request();
				//var req = new Request.HTML({method: 'get', url: docurl, data: ajparam, onRequest: function() { $(divname+'_ajxdiv').innerHTML = loadspinner }, update: $(divname+'_ajxdiv'), onComplete: showResponse }).send();  
				
				Ext.Ajax.request({
				   url: docurl,
				   params: ajparam,
				   success: function(response, opts) {
					  Ext.fly(divname+'_ajxdiv').dom.innerHTML = response.responseText;
					  //var obj = Ext.decode(response.responseText);
					  //console.dir(obj);
					  afterload('shrinker');
				   },
				   failure: function(response, opts) {
					  Ext.fly('subtab_container_ajxdiv').dom.innerHTML = 'server-side failure with status code ' + response.status;
				   }
				});
		};
		
// Class.empty
//			params[nameVal[0]] = nameVal[1];   
		};
	} else { document.location.href = linkurl; return;};
};


function go2_moo(linkurl,linkid,linkcssOFF,linkcssON) {
//				document.location.href = linkurl;
//				return;
	if (linkid) {flipclass(linkid,linkcssOFF,linkcssON); };
	//alert(fxTagline.stop());
	//if(fxTagline) {fxTagline.stop();}
	var indexx = linkurl.indexOf('?');
//	var params = new Array();
	if (editfields) {
	    if ( editfields == 2 ) {
	        document.location.href = linkurl;
	        return; 
	    };
	};
	if ( indexx != -1 ) {
		var nameValuePairs=linkurl.substring(indexx+1,linkurl.length).split('&');
		for ( var i=0; i<nameValuePairs.length; i++ ) {
			nameVal = nameValuePairs[i].split('=');
			if (nameVal[0].substring(0,ajlinkprefix.length) != ajlinkprefix ) {
				document.location.href = linkurl;
				return;
			};
		};
		for ( var i=0; i<nameValuePairs.length; i++ ) {
			nameVal = nameValuePairs[i].split('=');
			if (nameVal[0].substring(0,ajlinkprefix.length) == ajlinkprefix ) {
				divname = nameVal[0].substring(ajlinkprefix.length,nameVal[0].length);
				docurl = document.location.href;
				if (docurl.indexOf('?') != -1 ) { docurl = docurl.substring(0,docurl.indexOf('?'));}
				ajparam = 'ajx_'+divname+'='+nameVal[1];
				cburl = docurl+'?ajx_'+divname+'='+nameVal[1];
				//alert(document.getElementById(divname+'_ajxdiv'));
				if ($(divname+'_ajxdiv') == null ) {
					document.location.href = linkurl;
					return;
				};
				$(divname+'_ajxdiv').setProperty('file',nameVal[1]);
				//$(divname+'_ajxdiv').innerHTML = "<br><table width='100' align=center border=0 cellspacing=4 cellpadding=4><tr><td style='font-size:10px;'>Loading...&nbsp;</td><td><img src='" + ajspinner + "' width=16 height=16 border=0></td></tr></table>";
				//new Ajax.Updater(divname+'_ajxdiv', docurl, {method: 'get', parameters: ajparam	});
				//new Ajax.Updater(divname+'_ajxdiv', '_inc/'+nameVal[1], {method: 'get'});
				//new Ajax(docurl+'?'+ajparam, {	method: 'get',update: $(divname+'_ajxdiv')	}).request();
				//new Ajax(docurl, {	method: 'get', postBody: ajparam, update: $(divname+'_ajxdiv'), onComplete: showResponse	}).request();
				var req = new Request.HTML({method: 'get', url: docurl, data: ajparam, onRequest: function() { $(divname+'_ajxdiv').innerHTML = loadspinner }, update: $(divname+'_ajxdiv'), onComplete: showResponse }).send();  
		};
		
// Class.empty
//			params[nameVal[0]] = nameVal[1];   
		};
	} else { document.location.href = linkurl; return;};
};

function showResponse() {
		afterload();
};
function println(s) {document.writeln(s); };


function afterload(blockID) {
	var ddstyleT = 'dd_subT';
	var ddstyleTON = 'dd_subTON';
	var ddstyleD = 'dd_subD';
	var focus_slide = 'ss';
	//var SrinkBlock = Ext.get(blockID);
	var SrinkBlock = Ext.select('.shrinker',true);
	SrinkBlock.id = blockID;
	var SrinkBlock2 = Ext.get('depoyment');
	if(typeof SrinkBlock != 'undefined') {
		Ext.select('.dd_sub').each(function(el,arr,curno){
			//alert(el.getAttribute('start'));
			var DDtitle;
			if(el.child('.'+ddstyleTON)) {
				DDtitle = el.child('.'+ddstyleTON);
				if(el.child('.'+ddstyleD)) {
					el.child('.'+ddstyleD).id = 'D'+SrinkBlock.id+"_"+curno;
					el.child('.'+ddstyleD).dom.id = 'D'+SrinkBlock.id+"_"+curno;
					SrinkBlock.activedive = el.child('.'+ddstyleD).id;
				}
			} else {
				DDtitle = el.child('.'+ddstyleT);
				if(el.child('.'+ddstyleD)) {
					el.child('.'+ddstyleD).id = 'D'+SrinkBlock.id+"_"+curno;
					el.child('.'+ddstyleD).dom.id = 'D'+SrinkBlock.id+"_"+curno;
					el.child('.'+ddstyleD).slideOut('t', {
						easing: 'easeOut',
						duration: .5,
						remove: false,
						useDisplay: true
					});
				}
			}
			if(DDtitle != null) {
				DDtitle.dom.id = 'T'+SrinkBlock.id+"_"+curno;
				DDtitle.id = 'T'+SrinkBlock.id+"_"+curno;
				DDtitle.master = SrinkBlock;
				DDtitle.on('click', function(e,t,o) {
					var focus_slide = 'D'+t.id.substr(1,t.id.length);
					if(SrinkBlock.activedive) {
						if(SrinkBlock.activedive == focus_slide) {
							exit;
						}
						//update to regular class
						Ext.fly('T'+SrinkBlock.activedive.substr(1,SrinkBlock.activedive.length)).dom.className = ddstyleT;
						//hide active div
						Ext.fly(SrinkBlock.activedive).slideOut('t', {
							easing: 'easeNone',
							duration: .4,
							remove: false,
							useDisplay: true
						});
					};
					t.className = ddstyleTON;
					Ext.fly(focus_slide).slideIn('t', {
						easing: 'easeNone',
						duration: .4,
						remove: false,
						useDisplay: true
					});
					SrinkBlock.activedive = focus_slide;
					if(t.attributes['dir']) {
						var imgel = Ext.get(t.attributes['img'].nodeValue);
						if(imgel) {
							imgel.fadeOut({
								duration: 0.2,
								scope: this,
								callback: function(){
									imgel.dom.src = t.attributes['dir'].nodeValue;
									imgel.fadeIn({
										duration: 0.2,
										scope: this
									});
								}
							}); 
						}
					}
				}, this);
				//--- preload images
				var iswithImg;
				if (Ext.isIE) {
					iswithImg = DDtitle.dom.attributes['dir'] != null;
					//alert(DDtitle.dom.attributes['dir']);
				} else {
					iswithImg = typeof DDtitle.dom.attributes['dir'] != 'undefined';
				}
				if(iswithImg) {
					var next = new Image();
					//alert(DDtitle.dom.attributes['dir']);
					next.src = DDtitle.dom.attributes['dir'].nodeValue;
				}
			}
			//---- hide text below
			//el.select('div.'+ddstyleD).each(function(ell){
			//	ell.hide();
			//});
		});
	};
}
