
/*  s3GRocket */
var s3GRocket = {  	
      aboutThis  :  function () {
				 return {
				 			description : "3G Rocket Framework 1.0 :: Event & Ajax Engine ",
							comments	: "------",
							Version		: "1.0",
							copy_right	:'2009-10 (c) by digital web solution pvt ltd',
							address		:'H-458, Udyog Vihar, Phase -iv, Guorgaon, Hariyana',
							contact		:'+91 9911033016,+911125331969',
							web_site	:'http://www.digitalwebsolution.in,',
							developers	:"TL[ Bijaya Kumar Behera(bijaya.kumar@digitalwebsolutions.in)"
						} ;
	},
	serialize : function(mixed_value) {
    // http://kevin.vanzonneveld.net
    // +   original by: Arpad Ray (mailto:arpad@php.net)
    // +   improved by: Dino
    // +   bugfixed by: Andrej Pavlovic
    // +   bugfixed by: Garagoth
    // +      input by: DtTvB (http://dt.in.th/2008-09-16.string-length-in-bytes.html)
    // +   bugfixed by: Russell Walker (http://www.nbill.co.uk/)
    // +   bugfixed by: Jamie Beck (http://www.terabit.ca/)
    // +      input by: Martin (http://www.erlenwiese.de/)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net/)
    // +   improved by: Le Torbi (http://www.letorbi.de/)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net/)
    // +   bugfixed by: Ben (http://benblume.co.uk/)
    // -    depends on: utf8_encode
    // %          note: We feel the main purpose of this function should be to ease the transport of data between php & js
    // %          note: Aiming for PHP-compatibility, we have to translate objects to arrays
    // *     example 1: serialize(['Kevin', 'van', 'Zonneveld']);
    // *     returns 1: 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}'
    // *     example 2: serialize({firstName: 'Kevin', midName: 'van', surName: 'Zonneveld'});
    // *     returns 2: 'a:3:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";s:7:"surName";s:9:"Zonneveld";}'
    var _utf8Size = function (str) {
        var size = 0,
            i = 0,
            l = str.length,
            code = '';
        for (i = 0; i < l; i++) {
            code = str.charCodeAt(i);
            if (code < 0x0080) {
                size += 1;
            } else if (code < 0x0800) {
                size += 2;
            } else {
                size += 3;
            }
        }
        return size;
    };
    var _getType = function (inp) {
        var type = typeof inp,
            match;
        var key;

        if (type === 'object' && !inp) {
            return 'null';
        }
        if (type === "object") {
            if (!inp.constructor) {
                return 'object';
            }
            var cons = inp.constructor.toString();
            match = cons.match(/(\w+)\(/);
            if (match) {
                cons = match[1].toLowerCase();
            }
            var types = ["boolean", "number", "string", "array"];
            for (key in types) {
                if (cons == types[key]) {
                    type = types[key];
                    break;
                }
            }
        }
        return type;
    };
    var type = _getType(mixed_value);
    var val, ktype = '';

    switch (type) {
    case "function":
        val = "";
        break;
    case "boolean":
        val = "b:" + (mixed_value ? "1" : "0");
        break;
    case "number":
        val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;
        break;
    case "string":
        val = "s:" + _utf8Size(mixed_value) + ":\"" + mixed_value + "\"";
        break;
    case "array":
    case "object":
        val = "a";
			if (type == "object") {
                var objname = mixed_value.constructor.toString().match(/(\w+)\(\)/);
                if (objname == undefined) {
                    return;
                }
                objname[1] = this.serialize(objname[1]);
                val = "O" + objname[1].substring(1, objname[1].length - 1);
            }            
        var count = 0;
        var vals = "";
        var okey;
        var key;
        for (key in mixed_value) {
            if (mixed_value.hasOwnProperty(key)) {
                ktype = _getType(mixed_value[key]);
                if (ktype === "function") {
                    continue;
                }

                okey = (key.match(/^[0-9]+$/) ? parseInt(key, 10) : key);
                vals += this.serialize(okey) + this.serialize(mixed_value[key]);
                count++;
            }
        }
        val += ":" + count + ":{" + vals + "}";
        break;
    case "undefined":
        // Fall-through
    default:
        // if the JS object has a property which contains a null value, the string cannot be unserialized by PHP
        val = "N";
        break;
    }
    if (type !== "object" && type !== "array") {
        val += ";";
    }
    return val;
	},
	regNS : function(_Name)
    {
        var chk = false;
        var cob = "";
        var spc = _Name.split(".");
        for(var i = 0; i<spc.length; i++)
        {
            if(cob!=""){cob+=".";}
            cob+=spc[i];
            chk = this.Exists(cob);
            if(!chk){this.Create(cob);}
        }
        if(chk){ throw "Namespace: " + _Name + " is already defined."; }
    },
    Create : function(_Src)
    {eval("window.s3GRocket." + _Src + " = new Object();");
    },
    Exists : function(_Src)
    {
        eval("var NE = false; try{if(" + _Src + "){NE = true;}else{NE = false;}}catch(err){NE=false;}");
        return NE;
    },
	loaded         : 20 ,
	config         : { pb_show: true , pb_mask:'window',pb_display:'center'},
	$              : null,
	extend			   : function(flag ,obj1, obj2 ) { 			
						var dFlag = true ;
						if ( typeof obj1 != 'object' || typeof obj2 != 'object'  )
							return ;
						if ( typeof flag == 'boolean' )
							dFlag = flag;
						return   this.$.extend(dFlag, obj1, obj2);				
							
	}, 
	dom			   : function(e,f) { 
	
										if (typeof f == 'undefined' ) 
											return this.$(e,window.document);
										else
											return this.$(e,f);
	
	
	},
	checkLoaded : function () {
		// Stop Process, if s3GRocket.__isScriptFullyLoaded is false ;
		if( ! s3GRocket.__isScriptFullyLoaded ) {
			alert("Please wait ... until initialisation over.\n\n\n ==> 3G Rocket Framework 1.0");
			return false ;			
		} else
			return true;
	},
	call : function(method, params, url , callback, type ) {
			if( this.checkLoaded() == false )
				return false;
			else {
				try {
					
						setTimeout( function() {
										var s3GRockets =  window.parent.frames['IFRAME_3G_ROCKET_SCRIPTS'];
										s3GRockets.ajax( method ,  params , url  , callback ,type  ) ;
											 },0);
				}  catch (e) { return false; }
			}		
	},
	__isScriptFullyLoaded : false ,
	__DOMContentLoaded : function() {
			
			s3GRocket.__createHiddenLodingDiv() ;
			s3GRocket.__createHiddenDebugDiv()  ;
			s3GRocket.__createHiddenIFrame()    ;
			s3GRocket.__createHiddenIFrameForScript() ;
				
			
	},
	__updateEngineLoadingDiv : function(nV) {
			var oDiv =document.getElementById('divEngineLoading');
			oDiv.innerHTML = oDiv.innerHTML.replace(/\d+/,nV);
						
	},
	__params	: new Object,
	addParam	: function (name, value){
		if( name == 'undefined')
			return false;
		try { this.__params[name] =   escape(value);}
		catch(e){}
	},
	getParam	: function (name){
		if( name == 'undefined')
			return false;
		try { 
			var val = this.__params[name] ;
			return val != 'undefined'  ? unescape (val) : ''; 
		}
		catch(e){ return ''} ;
	},	
	__iframe_id : '__DWS_IFRAME__',
	__debug_div_id : '__DWS_DEBUG_DIV__',
    __events : new Array('onSubmit','onClick', 'onMouseOver','onChange' ,'onBlur' , 'onDblClick' ,'onFocus' ,'onKeyDown','onKeyPress','onKeyUp','onMouseUp','onMouseMove','onMouseDown','onMouseOut','onMouseOver','onSelect','onAbort','onError','onLoad','onSubmit','onActivate','onAfterUpdate','onBeforeActivate','onBeforeCopy','onBeforeCut','onBeforeDeactivate','onBeforeEditFocus' ,'onBeforePaste' ,'onBeforeUpdate','onCellChange','onContextMenu','onControlSelect','onCopy','onCut','onDataAvailable','onDatasetChanged','onDatasetComplete','onDeactivate','onDragend','onDragEnter','onDragLeave','onDragOver','onDragStart','onDrop','onErrorUpdate','onFilterChange','onFocusIn','onFocusOut','onHelp','onLayoutComplete', 'onLoseCapture','onMouseEnter','onMouseLeave','onmousewheel','onMove','onMoveEnd' , 'onMoveStart' , 'onPropertyChange','onReadyStateChange','onResize','onResizeEnd','onResizeStart','onRowEnter','onRowExit','onRowsDelete','onRowsInserted','onScroll','onSelectStart','onTimeError' ),
	isEventRegistered : function( thisEvents) {
		if( typeof(thisEvents) ==' undefined' || typeof(thisEvents) !='string' )
			return '';
		for( evt in this.__events) {
			val = this.__events[evt] ; 
			if(  val.toLowerCase() == thisEvents.toLowerCase()) 
				return val ;  
		}		
		return  "";
	},
	__trim  : function (str) {
		var reExtraSpace = /^\s+(.*?)\s+$/;
		return str.replace(reExtraSpace, "$1");
	},  	
	__findSubmitFormElement : function (srcElement,e) {
		if( typeof(srcElement) =='string'  && srcElement !='')
			srcElement = document.getElementById(srcElement);
		else if( typeof(srcElement) =='string'  && srcElement =='')
			srcElement =null;	
		// Still null
		if( srcElement == null ) {
				if( typeof(e) =='undefined' ) 
					e = window.event;
				if( e != null ) 
					srcElement =  (typeof(e.srcElement ) =='undefined' )  ? (typeof(e.target) == 'undefined' ? null: e.target)  : e.srcElement;
		}
		for( var i= 0; i<document.forms.length ; i++) {
			 f = document.forms[i] ;
			 if( srcElement !=null &&  f!= srcElement ) {
				p= srcElement.parentNode;
				 while( p!=null ) {
					if( p ==f )
					  return p;
					p = p.parentNode;
				}
			} else return srcElement;	  
		}
		return null;
	},	
 	__isExistsProperty: function (object, property) {
				if( typeof(object) !='object' || typeof(object)=='string'  || typeof(property) == 'undefined'  )
					return false;
				for( var p in object)
					if( p == property)
					  return true;
				return false;
	},
	__eventBehavior : null,
	__DO_Post : function(sForm,srcElement,e) {		
		if( this.checkLoaded() == false )
			return false;
			
		
		// Find where from
		if( document.activeElement &&  ( typeof(srcElement) =='undefined'|| srcElement==null ) )
			srcElement =  document.activeElement ;
			
		//
		if( typeof(sForm)=='string' && sForm!='') 
			sForm = document.getElementById(sForm) || document.forms[sForm] ;
			
			
		//Auto Find form element
		if( typeof sForm=="undefined"   ||  sForm== null  || ( typeof(sForm) =='object' && sForm.nodeName.toLowerCase() != 'form' )) 						
				sForm =  this.__findSubmitFormElement(srcElement,e);
		
		// source object ..
		if( typeof(srcElement) == 'undefined' ||  ( typeof(srcElement) =='string' && srcElement=='' ) || srcElement== null || ( typeof(srcElement) =='object' && ( srcElement.id == 'undefined' || srcElement.id=='')) )
			srcElement = null;
				
		// Still srcElement not found
		if( srcElement == null ) {
			if(  typeof(e) =='undefined' ) 
				e = window.event;
			if(e !=null ) 
				 srcElement =  (typeof(e.srcElement)  == 'undefined' ) ?  (typeof(e.target)  == 'undefined'  ? null :  e.target ): e.srcElement;
		}	
		if ( sForm == '' && srcElement)  {
			var celm=  srcElement;
			
			while( 1) {
				if ( typeof(celm.nodeName) !='undefined' && 	celm.nodeName.toLowerCase() == 'form' ){
					sForm = celm;
					break;
				}
				
				if( typeof(celm.parentNode) !='undefined')
					celm =celm.parentNode;
				else
					break;
					
			}
		}
		
		// *******************
		//sForm  is not a form elements : return
		if( sForm == null  || typeof(sForm.nodeName) =='undefined' || sForm.nodeName.toLowerCase() != 'form' )
			return ;
		
		// *******************
			
		paramsInputsElements =new Array() ;
		//alert( arguments);
		if( arguments && arguments.length >3) {			
			index = 0 ;
			for( var i =3; i<arguments.length;i++) {
					param  = arguments[i] + "";
					varVal =param.split(":");
					vars = new Array();
					if( varVal.length >1 ) {
						vars[varVal[0]] = varVal[1];
					} else
						vars[index++] =varVal;							
					for( var j in vars) { //alert(j);
						var key = j;
						var val = escape(vars[j]);						
						this.addParam(key,val) ;			
						newHiddenInput = document.createElement('INPUT');
						newHiddenInput.setAttribute('name','_SYSTEMS[__EVENTS_PARAMS__][' + key+ ']');
						newHiddenInput.setAttribute('type','hidden');
						newHiddenInput.setAttribute('value',val );
						sForm.appendChild(newHiddenInput) ;
						paramsInputsElements.push(newHiddenInput);
						
					}
			}			
		}			
		
		// ********************************************			
		thisEvents ='';
		if( typeof(e) != 'string') {
			if( !e ) 
				e = window.event;			
			caller =  typeof(arguments.callee.caller) == 'undefined' ? '' : arguments.callee.caller + "";
			if( caller.length >8)
				thisEvents = caller.substring( caller.indexOf('function')+9,  caller.indexOf('('));
			if( thisEvents.search(/^on/) <0  )
				thisEvents = 'on'+thisEvents;
			// IE Bugs fixed here .......
			if( thisEvents =='anonymous' || thisEvents==''  || this.isEventRegistered(thisEvents)=='' )  {
				thisEvents  =   typeof(e.type) !='undefined' ? e.type.toLowerCase() : '';
			}						
		} else
			thisEvents = e;
		
		if( !thisEvents.match(/^on/i) )
			thisEvents = 'on'+thisEvents;
		
		thisEvents = this.isEventRegistered(thisEvents);
		if( thisEvents=='')
			return ;
				
		// Finds Peroperties
		var keys = new Array();
		var vals = new Array();
			
		if( e ) {				
			for( var property in e ) {
				try {
					var type = "e."+ property;
					var cType = typeof( eval( type))
					if(   cType == 'string' || cType =='boolean' || cType=='number'  ) {
						newHiddenInput = document.createElement('INPUT');
						newHiddenInput.setAttribute('name' ,'_SYSTEMS[__EVENTS_OBJECT__][' + escape(property)+'_'+ cType + ']');
						newHiddenInput.setAttribute('type','hidden');
						newHiddenInput.setAttribute('value', escape(eval( type)) );
						sForm.appendChild(newHiddenInput) ;
						paramsInputsElements.push(newHiddenInput);										
					}				
				} catch(e) {}
			}				
		}	
		for( var i =0; i< keys.length ; i++ ) {
			newHiddenInput = document.createElement('INPUT');
			newHiddenInput.setAttribute('name','_SYSTEMS[__EVENTS_PARAMS__][' + key+ ']');
			newHiddenInput.setAttribute('type','te');
			newHiddenInput.setAttribute('value',val );
			sForm.appendChild(newHiddenInput) ;
			paramsInputsElements.push(newHiddenInput);
			
		}
		//**************
			
		objSrcElement = srcElement ;
		if( typeof( srcElement.id) != 'undefined' )
			srcElement = srcElement.id ;
		else 
			srcElement ='';
		
		newHiddenInput = document.createElement('INPUT');
		newHiddenInput.setAttribute('name','_SYSTEMS[__EVENTS_NAME__]');
		newHiddenInput.setAttribute('type','hidden');
		newHiddenInput.setAttribute('value', thisEvents);
		sForm.appendChild(newHiddenInput) ;
			
		paramsInputsElements.push(newHiddenInput);
			
		newHiddenInput = document.createElement('INPUT');
		newHiddenInput.setAttribute('id','__EVENTS__');
		newHiddenInput.setAttribute('name','_SYSTEMS[__EVENTS_TARGET__]');
		newHiddenInput.setAttribute('type','hidden');
		newHiddenInput.setAttribute('value', srcElement );
		sForm.appendChild(newHiddenInput) ;
		paramsInputsElements.push(newHiddenInput);
		prevent = false ;
		// RaiseEvet 
			evt = srcElement+"_"+ thisEvents;
			try {
				res = eval( 'typeof ' + evt);
				if( res =='function' ) {
					
			
					prevent=  eval(  evt + '(objSrcElement,e,this)') ;
					if(prevent ==  true) {
						prevent= false;
						for( var j in this.__params) { //alert(j);
							var key = j;
							var val = escape(this.__params[j]);					
							newHiddenInput = document.createElement('INPUT');
							newHiddenInput.setAttribute('name','_SYSTEMS[__EVENTS_PARAMS__][' + key+ ']');
							newHiddenInput.setAttribute('type','hidden');
							newHiddenInput.setAttribute('value',val );
							sForm.appendChild(newHiddenInput) ;
							paramsInputsElements.push(newHiddenInput);
						}
					} else prevent= true;
				} 
			} catch(e) {	}
			
		if( prevent ) {
			this.__removesAllElements(sForm, paramsInputsElements) ;
			return ;
		}
		
		
		
		old_m = sForm.method;		
		if(old_m.toUpperCase() !='POST' )
			sForm.method = 'POST';				
		try {
				if (  this.__eventBehavior == null )
					window.parent.frames['IFRAME_3G_ROCKET_SCRIPTS'].threeGRocket.__showStatusBar(this);
					
		} catch( e) { }
		// reset to null if event behavior is an download
		this.__eventBehavior == null ;
		_old_target = sForm.target ;
		sForm.target= this.__iframe_id;
		sForm.submit();
		sForm.method = old_m;
		sForm.target=_old_target;
		this.__removesAllElements(sForm, paramsInputsElements) ;
		return false;
	} ,
	__removesAllElements : function( sForm , paramsInputsElements) {
			try {
					for( var i in paramsInputsElements)
						sForm.removeChild(paramsInputsElements[i]);
			} catch(e) { }
				
	} ,
	__createHiddenLodingDiv: function() {
		var loadingDivElement = this.__createNewElement('div','LODING_DIV_3GROCKET' );
		if( loadingDivElement == null ) return false;
		
		
		loadingDivElement.style.position = 'absolute';
		loadingDivElement.style.top = this.__DocBody.scrollTop +'px';
		loadingDivElement.style.width='250px';
		loadingDivElement.style.backgroundColor='transparent';		
		loadingDivElement.style.height='10px';
		loadingDivElement.style.left =( ( this.__getHW()['width'] - 250) /2 ) +"px";		
		loadingDivElement.innerHTML ='<div style="text-align:center;vertical-align:middle;padding:0px;margin:0px;margin:0px;position: relative; padding:10px; color:#000; font-size:10px;font-family:Arial;text-decoration:none;font-weight:normal;background-color:#DBFDF9" id="divEngineLoading">Please wait ..(20%) Loading 3G Rocket engine</div>';    
		document.body.appendChild(loadingDivElement);		
	} ,
	__createHiddenIFrameForScript : function() {
		var IFrameElement = this.__createNewElement('iframe','IFRAME_3G_ROCKET_SCRIPTS' );
		if( IFrameElement == null ) return false;
		IFrameElement.style.position = 'absolute';
		IFrameElement.style.top = '-1000px';
		IFrameElement.style.width='100%';
		IFrameElement.style.left = '-10000px';		
		IFrameElement.style.display = 'block';
		
		document.body.appendChild(IFrameElement);	
		IFrameElement.setAttribute('src',"/systems-libs/rockets/script-engine.html");
	},
	__createHiddenIFrame		: function () {
		
		var IFrameElement = document.getElementById(this.__iframe_id);
		if( IFrameElement!= null)
			return IFrameElement;	
		
		IFrameElement = this.__createNewElement('iframe',this.__iframe_id);
		if( IFrameElement == null) return null;	
		
	  	IFrameElement.style.position = 'absolute';
		IFrameElement.style.width='100%';
		IFrameElement.setAttribute('id','__DWS_IFRAME__');
		IFrameElement.setAttribute('frameborder','0');
		IFrameElement.setAttribute('hspace', '0');
		IFrameElement.setAttribute('src', 'about:blank');
		IFrameElement.setAttribute('vspace', '0');
		IFrameElement.setAttribute('marginheight', '0');
		IFrameElement.setAttribute('marginwidth', '0');
		IFrameElement.setAttribute('allowtransparency', 'false');
		IFrameElement.style.background ='white';
				
						IFrameElement.style.top = '-1000px';IFrameElement.style.left = '-1000px';			
				document.body.appendChild(IFrameElement);		
	},	
	__createNewElement			: function (nodeName , newId) {	
		if(  typeof( nodeName) == 'undefined'  || typeof( nodeName) !='string' || typeof( newId) == 'undefined' || typeof( newId) !='string' || !document.body || !document.createElement || ! document.getElementById || document.getElementById(newId) != null  )
			return null ;
			
		
		var newElement = null;
		nodeName = this.__trim(nodeName).toUpperCase();
	
	   	if(window.ActiveXObject) {
		   newElement = document.createElement('<' + nodeName +' id="' +  newId + '"   name="' + newId + '" />');
		   newElement.id = newId;
		   newElement.name = newId;
        } else {
           newElement = document.createElement(nodeName);
           newElement.id = newId;
           newElement.name = newId;
        }
		return newElement;			
	},
	hideDebug: function () {
		window.parent.frames['IFRAME_3G_ROCKET_SCRIPTS'].threeGRocket.hideDebug();
	},
	__createHiddenDebugDiv		: function () {
		var DebugDiv = document.getElementById(this.__debug_div_id);
		if( DebugDiv!= null)
			return DebugDiv;		
		DebugDiv = this.__createNewElement('DIV',this.__debug_div_id);		
		DebugDiv.className ='debug-div';
		if( DebugDiv == null) return null;		
        DebugDiv.style.margin = '0 auto';
     	DebugDiv.style.display="none";		
		
		document.body.appendChild(DebugDiv);		
		return DebugDiv;
	},
	queueFuns : [],
	onReady : function ( f ) {
		s3GRocket.queueFuns[(s3GRocket.queueFuns.length?s3GRocket.queueFuns.length:0) ]=f;		
	},
	__DocBody : null,
	__getHW : function(type) {
			
		  var myWidth = 0, myHeight = 0;
		  if ( typeof type =='string' && type == 'document' ) {
			return { 'height' :(this.__DocBody.offsetHeight>this.__DocBody.scrollHeight)? this.__DocBody.offsetHeight : this.__DocBody.scrollHeight ,'width' :(this.__DocBody.offsetWidth>this.__DocBody.scrollWidth)? this.__DocBody.offsetWidth : this.__DocBody.scrollWidth};
		  }
		  
		  if( typeof( window.innerWidth ) == 'number' ) {
			//Non-IE
			myWidth = window.innerWidth;
			myHeight = window.innerHeight;
			
		  } else if( window.document.documentElement && ( window.document.documentElement.clientWidth || window.document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			myWidth = window.document.documentElement.clientWidth;
			myHeight = window.document.documentElement.clientHeight;
		  } else if( window.document.body && (window.document.body.clientWidth || window.document.body.clientHeight ) ) {
			//IE 4 compatible
			myWidth = window.document.body.clientWidth;
			myHeight = window.document.body.clientHeight;
		  }			  
		 return { 'height' :myHeight,'width' :myWidth};
						  
	},
	init1 : function() {		
			if( !window.document.getElementsByTagName("head") ) {
				window.setTimeout("s3GRocket.init1()",0);
				return ;
			}
			
			var oLink = document.createElement('link');
			oLink.setAttribute('rel','stylesheet');
			oLink.setAttribute('type','text/css');
			oLink.setAttribute('href',"http://www.convertmycurrency.com/systems-libs/css/frameworks_common.css");
			window.document.getElementsByTagName("head")[0].appendChild(oLink);
			
			/*
			oLink =document.createElement('link');
			oLink.setAttribute('rel','stylesheet');
			oLink.setAttribute('type','text/css');
			oLink.setAttribute('href',"http://www.convertmycurrency.com/systems/ext/resources/css/ext-all.css");
			window.document.getElementsByTagName("head")[0].appendChild(oLink);
			oLink.onload =(function(){alert('1');});
			
			
			oLink =document.createElement('script');
			oLink.setAttribute('type','text/javascript');
			oLink.setAttribute('src',"http://www.convertmycurrency.com/systems/ext/adapter/ext/ext-base.js");
			window.document.getElementsByTagName("head")[0].appendChild(oLink);
			
			oLink = document.createElement('script' );
			oLink.setAttribute('type','text/javascript');
			oLink.setAttribute('src',"http://www.convertmycurrency.com/systems/ext/ext-all.js");
			window.document.getElementsByTagName("head")[0].appendChild(oLink);
			*/
			
			
	},
	init : function() {
		if( !document.body) {
			window.setTimeout("s3GRocket.init()",0);
			return ;
		}
		s3GRocket.__DocBody = ((window.document.compatMode=="CSS1Compat")? window.document.documentElement : window.parent.document.body);		
		s3GRocket.__DOMContentLoaded();		
		this.addWinScrollEvent(s3GRocket.showLodingInTop);				
	},
	showLodingInTop:function() {
		var pLodingDiv = document.getElementById('LODING_DIV_3GROCKET');
		if ( pLodingDiv.style.display.toLowerCase() != 'none' ) {			
			pLodingDiv.style.top = s3GRocket.__DocBody.scrollTop + 'px';
		}
	},
	execScript : function(strScript) {
		eval(strScript);
	},
	addWinScrollEvent:function(func) {
		try{
  				var onscroll = window.onscroll;
  				if (typeof window.onscroll != 'function') {
    				window.onscroll = func;
  				} else {
   					window.onscroll = function() {  if (onscroll) {
       						 onscroll();
     				 }			func();
    			}
  		
				}

		} catch(e){}
	} };
	
	// Initialise event engine
	s3GRocket.init();
	s3GRocket.init1();
