﻿var config = new Object;
config.keyword = 'Tìm kiếm';
config.firstPage = 'Trang đầu';
config.lastPage = 'Trang cuối';
config.item_per_page = 20;
config.item_top_box = 50;
config.first_load = true;
function ClearDropDownList(dropDownList)
	{//get the total item from the dropDownList
	var intTotalItems= dropDownList.options.length;
	//loop through the number of items
	for(var intCounter=intTotalItems;intCounter>=0;intCounter--){
		//remove the intCounter( currently index) item from the dropDownList
		dropDownList.remove(intCounter);
	}
}
function ComboAddItem(DropDownList,Text,Value){
	// Create an Option object
	var opt = document.createElement("option");
	// Add an Option object to Drop Down/List Box
	opt.text = Text;
	opt.value = Value;
	document.getElementById(DropDownList).options.add(opt);
	// Assign text and value to Option object
	}
	//====================================================================================================
function getElementByParentId( tag, chilId,parentId){
		var pa = document.getElementById(parentId);
		if (pa!= null){
			var items = pa.getElementsByTagName(tag);
			var data = new Array();
			for (var i = 0; i < items.length; i++){
				if (items[i].id == chilId){
					return items[i];
				}
			} 
		}else{
			return null;
		}
}
function chatbox_get_top_message(){
	var url = "/news/chatbox/get_top_message.aspx?num=" + config.item_top_box;
	var box_home = getElementByParentId('div','box-chat','chatbox');
	var handleSuccess = function(o) {
		if (o.responseText !== undefined) {
			var strData = '';
            var jsonData = YAHOO.lang.JSON.parse(o.responseText);
			if (jsonData.success == 'TRUE'){
				var totalRecords = jsonData.header.numberrecords;
				for (var i = 0; i < totalRecords; i++) {
					strData = strData + "<div class=\"item-chat\">";
					strData = strData + "<div class=\"col5\">";
					strData = strData + "<div class=\"icon-chat\">";
					strData = strData + "<img src=\"/Templates/default/images/chatbox/icon-chat.jpg\"/>";
					strData = strData + "</div>";
					strData = strData + "<div class=\"date-chat\">";
					strData = strData + "[" + jsonData.object[i].createdtime + "]";
					strData = strData + "</div>";
					strData = strData +	"<div class=\"name-chat\">";
					strData = strData + jsonData.object[i].username;
					strData = strData + "</div>"
					strData = strData + "<div class='clear'></div>";
					strData = strData + "</div>";
					strData = strData + "<div class=\"col6\">";
					strData = strData + "<div class=\"title-chat\">";
					strData = strData + jsonData.object[i].message;
					strData = strData + "</div>";
					strData = strData + "</div>";
					strData = strData + "<div class=\"clear\"></div>";
					strData = strData + "</div>";
				}
			}
			//alert(strData);
			
		    box_home.innerHTML = strData;
		    /*if (config.first_load==true){
				//load_dialog();
				config.first_load=false;
		    }
		    var box_dialog = getElementByParentId('div','box-chat','chatdialog');
		    if (box_dialog != null){
				box_dialog.innerHTML = strData;
			}*/
	    }
    };

	var handleFailure = function(o) {
		if (o.responseText !== undefined) {return null;}
	};

	var callback = {
		success: handleSuccess,
		failure: handleFailure,
		timeout: 55000,
		cache:false
	};
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}
//===================================================================================
function chatbox_get_popup_message(){
	var url = "/news/chatbox/get_top_message.aspx?num=" + config.item_top_box;
	var box_home = document.getElementById('box-chat');
	var handleSuccess = function(o) {
		if (o.responseText !== undefined) {
			var strData = '';
            var jsonData = YAHOO.lang.JSON.parse(o.responseText);
			if (jsonData.success == 'TRUE'){
				strData = strData + "<table  width='100%' cellspacing='0' cellpadding='5' border='0' class='content-dialog'>";
				var totalRecords = jsonData.header.numberrecords;
				for (var i = 0; i < totalRecords; i++) {
					strData = strData + "<tr>";
					strData = strData + "<td valign='top' class='icon-chatdialog'><img src='/Templates/default/images/chatbox/icon-chat.jpg'/></td>";
					strData = strData + "<td valign='top' class='date-chatdialog'>[" + jsonData.object[i].createdtime +  "]</td>";
					strData = strData + "<td valign='top' class='nickname'>" + jsonData.object[i].username + "</td>";
					strData = strData + "<td valign='top'>";
					strData = strData + jsonData.object[i].message;
					strData = strData + "</td>";
					strData = strData + "</tr>";
				}
				strData = strData + "</table>";
			}
			//alert(strData);
			
		    box_home.innerHTML = strData;
		    /*if (config.first_load==true){
				//load_dialog();
				config.first_load=false;
		    }
		    var box_dialog = getElementByParentId('div','box-chat','chatdialog');
		    if (box_dialog != null){
				box_dialog.innerHTML = strData;
			}*/
	    }
    };

	var handleFailure = function(o) {
		if (o.responseText !== undefined) {return null;}
	};

	var callback = {
		success: handleSuccess,
		failure: handleFailure,
		timeout: 55000,
		cache:false
	};
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}
//=======================================================
function chatbox_search(key){
	var url = "/news/chatbox/archive_message.aspx?num=" + config.item_per_page + "&key=" + escape(key);
    var handleSuccess = function(o){
		if (o.responseText !== undefined)
		{
			YAHOO.util.Event.onDOMReady(function(){
				var chatbox_list = YAHOO.namespace('atpvietnam');
				chatbox_list.content = YAHOO.util.Dom.get('chatbox-archive');
				var jData = YAHOO.lang.JSON.parse(o.responseText);
				var TOTAL_RECORDS = jData.header.totalrecords;
				var chatbox_gen_data = function(Data){
					var jData = YAHOO.lang.JSON.parse(Data);
					if (jData.success == 'TRUE'){
                		var totalRow = jData.header.numberrecords;
                		var strData;
						strData = "";
						strData = strData + "<table width='100%' cellspacing='1' cellpadding='6' border='0' align='center' class='tborder'>";
						strData = strData + "<tr>";
						strData = strData + "<td colspan='4' class='tcat'>";
						strData = strData + "<span id='cybchatmenuccarc' style='cursor: pointer;'><a href='/vn/chatbox/index.aspx'>ChatBox</a></span>";
						strData = strData + "</td>";
						strData = strData + "</tr>";
						strData = strData + "<tr>";
						strData = strData + "<td width='100px' class='thead'>Thời gian</td>";
						strData = strData + "<td width='100px' class='thead' nowrap='nowrap'>Người gửi</td>";
						strData = strData + "<td colspan='2' class='thead'>Nội dung</td>";
						strData = strData + "</tr>";
						if (totalRow > 0)
						{
							for (var i = 0; i < totalRow; i++) {
								strData = strData + "<tr class='alt2'>";
								strData = strData + "<td nowrap='nowrap' class='smallfont'>";
								strData = strData + "<img border='0' alt='New' src='/templates/default/images/chatbox/icon-chat.jpg' title='New'>";
								strData = strData + "[" + jData.object[i].createdtime + "]";
								strData = strData + "</td>";
								strData = strData +	"<td nowrap='nowrap' class='smallfont'>";
								strData = strData + "<span id='3713-cybchatmenuuser' style='cursor: pointer;'>";
								strData = strData + jData.object[i].username;
								strData = strData + "</span>"
								strData = strData + "</td>";
								strData = strData + "<td width='100%' colspan='2' id='cybcb_3713' class='smallfont'>";
								strData = strData + "<table width='100%' cellspacing='4' cellpadding='0' border='0'>";
								strData = strData + "<tr>";
								strData = strData + "<td align='left' id='cybcb_message_3713' class='smallfont'>";
								strData = strData + jData.object[i].message;
								strData = strData + "</td>";
								strData = strData + "</tr>";
								strData = strData + "</table>";
								strData = strData + "</td>";
								strData = strData + "</tr>";
							}
							
							$('paging1').style.display="block";
							$('paging2').style.display="block";
						}
						else
						{
        					strData = strData + "<tr>";
							strData = strData + "<td colspan='4'>Không có tin nhắn nào.</td>";
							strData = strData + "</tr>";
        					$('paging1').style.display="none";
        					$('paging2').style.display="none";
        				}
        				strData= strData + "</table>";
						chatbox_list.content.innerHTML =  strData;
					}
				}

				var chatbox_get_list = function(page) 
				{
					url = "/news/chatbox/archive_message.aspx?num=" + config.item_per_page + "&key=" + escape(key) + "&p=" + page;
					var handleSuccess = function(o) {
						if (o.responseText !== undefined) {
							chatbox_gen_data(o.responseText) ;
						}
					};

					var handleFailure = function(o) {
						if (o.responseText !== undefined) {}
					};

					var callback = {
						success: handleSuccess,
						failure: handleFailure,
						timeout: 55000,
						cache: false
					};

					var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
				};
				try
				{
					chatbox_list.paginator = new YAHOO.widget.Paginator({
						rowsPerPage: config.item_per_page,
						totalRecords: TOTAL_RECORDS,
						containers: ['paging1','paging2'],
						template : '{FirstPageLink} {PageLinks} {LastPageLink}', 
						alwaysVisible : true,
						updateOnChange : false,
						firstPageLinkLabel : config.firstPage,
						lastPageLinkLabel : config.lastPage,
						pageLinksContainerClass : 'yui-pg-pages',
						pageLinks : 10
					});
				}catch(e){alert(e);};
				chatbox_list.handlePagination = function(state){
					chatbox_get_list(state.page);
					chatbox_list.paginator.setState(state);
				};
				
				//chatbox_list.paginator.subscribe('pageChange', function() {
					//window.location.href = '#';
				//});
				chatbox_gen_data(o.responseText);
				chatbox_list.paginator.subscribe('changeRequest', chatbox_list.handlePagination);
				chatbox_list.paginator.render();
				//chatbox_list.handlePagination(chatbox_list.paginator.getState());
			});
		}
    };

	var handleFailure = function(o) {
		if (o.responseText !== undefined) {}
	};

	var callback = {
		success: handleSuccess,
		failure: handleFailure,
		timeout: 55000,
		cache:false
	};
	var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);
}//======================================================================================
function chatbox_submit(formName,type){
		//var onSubmitButtonClick = function(){
		if(chatbox_valid($(formName))){
			YAHOO.util.Connect.setForm($(formName));
			var handleSuccess = function(o){
				if(o.responseText !== undefined){
					get_message_response(o.responseText);
					if (type=='home'){
						chatbox_get_top_message();
					}else{
						chatbox_get_popup_message();				
					}
				}
			};
			var handleFailure = function(o){
				if (o.responseText !== undefined) {return null;}
			};
			var callback = { 
				success:handleSuccess, 
				failure: handleFailure
			};
			YAHOO.util.Connect.asyncRequest('POST', '/news/chatbox/add_message.aspx', callback);
		}
		//};
		//YAHOO.util.Event.on('submit', 'click', onSubmitButtonClick);
}
function chatbox_search_init(){
		var onSearchButtonClick = function(){
			var key = $('txtkey').value;
			if (key == ''){
					alert('Bạn chưa nhập từ khoá');
					return;
			}
			chatbox_search(key);
		};
		YAHOO.util.Event.on('btnChatboxSearch', 'click', onSearchButtonClick);
		}
function validate_email(email) {
	var objRegExp = /\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i;
	return objRegExp.test(email);
}
function chatbox_valid(obj) {
	/*if (obj.comment.value == "") {
		alert( "Nội dung chat không được để trống" );
		obj.comment.focus();
		return false ;
		}
		if (obj.email.value == "") {
			alert( "Email không được bỏ trống" );
			obj.email.focus();
			return false ;
		}
		if (!validate_email(obj.email.value)) {
			alert( "Email không đúng định dạng" );
			obj.email.focus();
			return false ;
		}*/
		if (obj.comment.value.length > 400) {
			alert( "Nội dung chat không được > 400 ký tự" );
			obj.comment.focus();
			return false ;
		}
		return true;
}
function checklength(e)
{
	var keynum;
	var cm =document.getElementById('comment');
	if (window.event)   // IE
	{
		keynum = e.keyCode;
	}
	else if (e.which)  //Nescape/FireFox/Opera
	{
		keynum = e.which;	
	}
	//alert(keynum);
	if ((keynum != 8)&&(keynum != 46)) {   //enter character
		if (cm.value.length >= 400){
			e.returnValue = false;
			e.cancel = true;
		}
	}
}
function get_message_response(msg) {
	var flag = YAHOO.lang.JSON.parse(msg);
	if (flag.success > 0){
		if (flag.success != 1){
			alert(flag.error);
		}else {
			if (window.opener == null){
				window.location.href='/vn/dangnhap/index.aspx';
			}
			else{
				var winopener = window.opener; 
				winopener.location.href='/vn/dangnhap/index.aspx?ref=chatbox';
				winopener.focus();
				window.close();
		    }
		}
	}else{
		document.getElementById('comment').value="";
	}
	
}
function onclickLink(type){
	var link;
	if (type =='dangnhap'){
		link = '/vn/dangnhap/index.aspx?ref=chatbox';
	}else{
		link = '/vn/dangky/index.aspx';
	}if (window.opener == null){
			window.location.href=link;
	}
	else{
		var winopener = window.opener; 
		winopener.location.href= link;
		winopener.focus();
		window.close();
	}
}
function load_dialog(){
	YAHOO.util.Event.onDOMReady(function () {
		var chatdialog = document.createElement('div');
		var chatbox = document.getElementById('chatbox');
		chatdialog.setAttribute('id', 'chatdialog');
		chatdialog.setAttribute('class', 'chatbox');
		var innerHTML = chatbox.innerHTML;
		innerHTML = innerHTML.replace(/ChatBoxForm/g, 'ChatBoxForm_Dialog');
		chatdialog.innerHTML = innerHTML;
		//alert(innerHTML);
		chatbox.appendChild(chatdialog);
		
		// Instantiate the Dialog
		var chatbox_dialog = new YAHOO.widget.Dialog(chatdialog, {
			width : "790px",
			title: 'Chat',
			fixedcenter : true,
			visible : false, 
			constraintoviewport : true,
			modal: true
		});

		chatbox_dialog.render();
		chatbox_dialog.show();

		YAHOO.util.Event.on(YAHOO.util.Dom.getElementsByClassName("container-close", "a", chatdialog), "click", function() {
			chatbox_dialog.destroy();
		});	
	});
}