// JavaScript Document
/*# AVOID COLLISIONS #*/
;if(window.jQuery) (function($){
/*# AVOID COLLISIONS #*/
	checkUniqueValue = function(form,fieldControlName,tableName,beforeMessage)
	{
		var resultDisplayer = "uniqueValueDisplayer_"+fieldControlName;
		if($("#"+fieldControlName).val()!="")
		{
			
			if(!$("#"+resultDisplayer).length)
			{
				$("#"+fieldControlName).parent(0).append('<span id = "'+resultDisplayer+'" class="validate-message"></span>');
			}
			$("#checkUniqueValueFlag").val(fieldControlName);
			var soptions = {
				beforeSubmit: function(){
					if(beforeMessage)
					{
						$("#"+resultDisplayer).html(beforeMessage);
					}
					else
					{
						$("#"+resultDisplayer).html('Processing. Please wait ...');	
					}
				},
				success:  function(data){
						$("#"+resultDisplayer).html(data);
						$("#"+resultDisplayer).show();
						$("#checkUniqueValueFlag").val("");
				}
			};
			$("#"+form).ajaxSubmit(soptions);
		}
		else
		{
			$("#"+resultDisplayer).hide();
		}
	}
	
	//Solving cleartype in IE
	jQuery.fn.fadeIn = function(speed, callback) 
	{
		return this.animate({opacity: 'show'}, speed, function() 
		{
			if (jQuery.browser.msie)
				this.style.removeAttribute('filter');
			if (jQuery.isFunction(callback))
				callback();
		});
	};
	jQuery.fn.fadeOut = function(speed, callback) 
	{
		return this.animate({opacity: 'hide'}, speed, function() 
		{
			if (jQuery.browser.msie)
				this.style.removeAttribute('filter');
			if (jQuery.isFunction(callback))
				callback();
		});
	};
	jQuery.fn.fadeTo = function(speed,to,callback) 
	{
		return this.animate({opacity: to}, speed, function() 
		{
			if (to == 1 && jQuery.browser.msie)
				this.style.removeAttribute('filter');
			if (jQuery.isFunction(callback))
				callback();
		});
	};
	
	textToPageCode = function(text)
	{
		result = text.replace(/\,/g, "");
		result = result.replace(/\#/g, "");
		result = result.replace(/\`/g, "");
		result = result.replace(/\~/g, "");
		result = result.replace(/\!/g, "");
		result = result.replace(/\@/g, "");
		result = result.replace(/\$/g, "");
		result = result.replace(/\%/g, "");
		result = result.replace(/\^/g, "");
		result = result.replace(/\&/g, "");
		result = result.replace(/\*/g, "");
		result = result.replace(/\(/g, "");
		result = result.replace(/\)/g, "");
		result = result.replace(/\+/g, "");
		result = result.replace(/\=/g, "");
		result = result.replace(/\_/g, "");
		result = result.replace(/\?/g, "");
		result = result.replace(/\>/g, "");
		result = result.replace(/\</g, "");
		result = result.replace(/\./g, "");
		result = result.replace(/\//g, "");
		result = result.replace(/ /g, "-");
		result = result.replace(/--/g, "-");
		result = convertVietnameseChar(result);
		return result.toLowerCase();
	};
	
	randomString = function(length)
	{
		var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
	    
	    if (! length) {
	        length = Math.floor(Math.random() * chars.length);
	    }
	    
	    var str = '';
	    for (var i = 0; i < length; i++) {
	        str += chars[Math.floor(Math.random() * chars.length)];
	    }
	    return str;

	};
	convertVietnameseChar = function(str) {
		  str= str.toLowerCase();
		  str= str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,"a");
		  str= str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,"e");
		  str= str.replace(/ì|í|ị|ỉ|ĩ/g,"i");
		  str= str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,"o");
		  str= str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,"u");
		  str= str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,"y");
		  str= str.replace(/đ/g,"d");
		  str= str.replace(/!|@|%|\^|\*|\(|\)|\+|\=|\<|\>|\?|\/|,|\.|\:|\;|\'| |\"|\&|\#|\[|\]|~|$|_/g,"-");
		/* tìm và thay thế các kí tự đặc biệt trong chuỗi sang kí tự - */
		  str= str.replace(/-+-/g,"-"); //thay thế 2- thành 1-
		  str= str.replace(/^\-+|\-+$/g,"");
		//cắt bỏ ký tự - ở đầu và cuối chuỗi
		  return str;
	} ;
	String.prototype.trim = function() 
	{
		a = this.replace(/^\s+/, '');
		return a.replace(/\s+$/, '');
	};
	
	listBoxTransfer = function(select1,select2,btnAdd,btnRemove)
	{
		$('#'+btnAdd).click(function(){  
			return !$('#'+select1+' option:selected').remove().appendTo('#'+select2);  
		});  
		$('#'+btnRemove).click(function(){  
			return !$('#'+select2+' option:selected').remove().appendTo('#'+select1);  
		});  
	}
	
	processStatLink = function(url,target,params){
		var frm = document.SITE_STAT_FORM;
		frm.action = url;
		if(target!="")
		{
			frm.target=target;
		}
		if(params.length>0)
		{
			paramsArray = params.split(":::");
			for(var i = 0; i<paramsArray.length; i++)
			{
				if(paramsArray[i].length>1)
				{
					mparams = paramsArray[i].split("=");
					var key = mparams[0];
					var val = mparams[1];
					$("#"+key).val(val);
				}
			}
		}
		frm.submit();
	}
	
	swapImages = function (fromImage,toImage,transTime){
		$("#"+fromImage).fadeOut(transTime);
		$("#"+toImage).fadeIn(transTime);
	}
	updateAdsStat = function(windowUrl,id,url){
		window.open(windowUrl+"?id="+id+"&url="+url);
		return false;
	}
	navigateURL = function (url,target){
		if(target=="_blank")
		{
			window.open(url);
		}
		else
		{
			window.location.href=url;
		}
	}
	// helper
	function objToString(o) {
		var s = "{\n";
		for (var p in o)
			s += "    " + p + ": " + o[p] + "\n";
		return s + "}";
	}
	// helper
	function elementToString(n, useRefs) {
		var attr = "", nest = "", a = n.attributes;
		for (var i=0; a && i < a.length; i++)
			attr += ' ' + a[i].nodeName + '="' + a[i].nodeValue + '"';
	
		if (n.hasChildNodes == false)
			return "<" + n.nodeName + "\/>";
	
		for (var i=0; i < n.childNodes.length; i++) {
			var c = n.childNodes.item(i);
			if (c.nodeType == 1)       nest += elementToString(c);
			else if (c.nodeType == 2)  attr += " " + c.nodeName + "=\"" + c.nodeValue + "\" ";
			else if (c.nodeType == 3)  nest += c.nodeValue;
		}
		var s = "<" + n.nodeName + attr + ">" + nest + "<\/" + n.nodeName + ">";
		return useRefs ? s.replace(/\</g,"&lt;").replace(/\>/g,"&gt;") : s;
	};
	
	scrollAfterSubmit = function(domEle,offset){
		var scrollTarget = $("#"+domEle).position().top - offset;
		$.scrollTo(scrollTarget);
	};
	
/*# AVOID COLLISIONS #*/
})(jQuery);
/*# AVOID COLLISIONS #*/
