(function($){ //---------------------------------------------------------------- // CWaitIcon //---------------------------------------------------------------- function CWaitIcon( url_img ) { var s = ''; s += "
< n; i++ ) { s += src.charAt( Math.floor( Math.random() * src.length ) ); } return s; }, //----------------------------------------------- // errBox //----------------------------------------------- errBox : function( data ) { var errbox_sig = ""; if ( data.substring( 0, errbox_sig.length ) == errbox_sig ) {// prevent double errbox return data; } else { var msg = ''; msg += "
"; msg += "
ERROR
"; msg += "
"; msg += data; msg += "
"; msg += "
"; return msg; } }, //----------------------------------------------- // getAttr //----------------------------------------------- getAttr : function( id_name, jobj ) { if ( ( typeof( jobj.attr( id_name ) ) == 'undefined' ) || ( jobj.attr( id_name ) == '' ) // for Opera ) return ''; return jobj.attr( id_name ); }, //----------------------------------------------- // send //----------------------------------------------- send : function( json ) { json['appid'] = this.appid; json['tclass'] = this.tclass; json['tid'] = this.tid; var _this = this; $.post( this.url_app_entry, json, function(data) { _this.process(data); }); }, //----------------------------------------------- // addChild //----------------------------------------------- addChild : function( child ) { this.children[child.name] = child; return child; }, //----------------------------------------------- // getChild //----------------------------------------------- getChild : function( name ) { return this.children[name]; }, //----------------------------------------------- // sendMsg //----------------------------------------------- sendMsg : function( msg ) { if ( typeof( msg.receiver ) !== 'undefined' ) { if( Object.prototype.toString.call( msg.receiver ) === '[object Array]' ) { for ( var i = 0; i < msg.receiver.length; i++ ) { var ret = this.children[ msg.receiver[i] ].msgProc( msg ); if ( ret != 0 ) return ret; } } else { return this.children[msg.receiver].msgProc( msg ); } } else { for( name in this.children ) { var ret = this.children[name].msgProc( msg ); if ( ret != 0 ) return ret; } } }, //----------------------------------------------- // process //----------------------------------------------- process : function( data ) { this.wait_icon.hide(); var b_evaled = false; try { this.res = eval('(' + data + ')'); b_evaled = true; } catch(e) { var msg = "[ERROR]:" + "\r\n\r\n" + data.substring(0,1000); //alert( msg ); this.jobj.html( this.errBox(data) ); } try { if ( b_evaled ) { if ( this.res.result == 'OK' ) { window[this.appid] = this; switch( this.res.cmd ) { case "alert": alert(this.res.html); break; case "load": this.jobj.append( this.res.html ); break; } if ( typeof( this.res.msg ) !== 'undefined' ) { this.sendMsg( this.res.msg ); } } else {//-- code error alert( "^" + this.res.result ); this.jobj.html( this.res.result ); } } } catch(e) { var msg = "{ERROR}:" + e.message; alert( msg ); } } } //---------------------------------------------------------------- // ready //---------------------------------------------------------------- $(document).ready(function() { $( app_object_selector ).each( function(){ var app = new CApp( $(this) ); }); }); }(jQuery));