if (!cx) var cx = {};
if (!cx.utils) cx.utils = {};

cx.utils.Helpers = {
		
	mergeObjects: function() {
		
		var args = arguments;
		var merge = {};
		for (var i = 0; i < args.length; i++) {
			for (elem in args[i]) merge[elem] = args[i][elem]
		}
		
		return merge;
	},
	
	createSrvCallParams: function(srvclass, srvmethod, construct_params, method_params) {

	    var p = Object.toJSON({
	        srvclass: srvclass,
	        srvmethod: srvmethod,
	        srvargs: {
	            construct: construct_params,
	            method: method_params
	        }
	    });

	    return {
	        params: p
	    };
	},
	
	trim: function(inputString) {
	   	
		if (typeof(inputString) != "string") return inputString;
		ch = inputString.substring(0, 1);
		while (ch == " ") {
			inputString = inputString.substring(1, inputString.length);
			ch = inputString.substring(0, 1);
		}
		ch = inputString.substring(inputString.length - 1, inputString.length);
		while (ch == " ") {
			inputString = inputString.substring(0, inputString.length - 1);
			ch = inputString.substring(inputString.length - 1, inputString.length);
		}
		while (inputString.indexOf( "  " ) != -1) {
			inputString = inputString.substring(0, inputString.indexOf( "  " )) + inputString.substring( inputString.indexOf( "  ") + 1, inputString.length);
		}
		return inputString;
	},
	
	stripTags: function(html) {
		
		var bullshit = html.split('<xml>');
		html = bullshit.pop().split('</xml>').pop();
		html = html.split('<![endif]-->').pop();
		html = html.replace( /(<style>([^>]+)<\/style>)/ig, "" );
		html = html.replace( /(<([^>]+)>)/ig, "" );
		html = html.replace( /\r\n/g, " " );
		html = html.replace( /\n/g, " " );
		html = html.replace( /\r/g, " " );
		html = cx.utils.Helpers.trim(html);
		return html;
	}
};
