/**
* Written by	: Trương Kim Phụng
* Dated on		: 30/01/2008
*/
YAHOO.namespace("vnc.invitefriend");

YAHOO.vnc.invitefriend.temp	= '';

YAHOO.vnc.invitefriend.emailInvite = function()
{
	var query 	= 'invitefriend.php';		
	var oForm 	= document.getElementById("idFormInviteFriend");
	YAHOO.util.Connect.setForm(oForm);
	var conn 	= YAHOO.util.Connect.asyncRequest("POST", query, YAHOO.vnc.invitefriend.callbackInviteResponse);			
}
YAHOO.vnc.invitefriend.callbackInviteResponse =
{
	success : function(o)
	{	
		var xmlResponse 		= o.responseXML;
		var xmlDocumentElement 	= xmlResponse.documentElement;
		var szError 			= xmlDocumentElement.getElementsByTagName("error");		
		if (szError != null)
		{
			if(szError.length > 0)
			{
				alert(szError.item(0).firstChild.data);
				return;
			}
		}
		var szContent = xmlDocumentElement.getElementsByTagName("content").item(0).firstChild.data;		
	},
	failure : function(o)
	{
		//alert(o.status);
	}
};


YAHOO.vnc.invitefriend.emailInviteFriend = function( strMessBlank, strMessInvalid) {	
	if (document.frmDracula.txtEmail.value == "") {			
		alert(strMessBlank);
		document.frmDracula.txtEmail.value = "";
		document.frmDracula.txtEmail.focus();
		return false;
	}	
	if( !YAHOO.vnc.invitefriend.validateEmail(document.frmDracula.txtEmail.value)) {
		alert(strMessInvalid);		
		document.frmDracula.txtEmail.focus();
		return false;
	}
	if(YAHOO.vnc.invitefriend.temp != document.frmDracula.txtEmail.value){
		var oForm = document.getElementById("idFormInviteFriend");		
		var query = 'invitefriend.php';	
		YAHOO.util.Connect.setForm(oForm);
		YAHOO.vnc.invitefriend.temp	= document.frmDracula.txtEmail.value;
		var conn = YAHOO.util.Connect.asyncRequest("POST", query, YAHOO.vnc.invitefriend.callbackInviteFriend);	
	}else{
		alert('Bạn vui lòng nhập email khác!')
		return false;
	}
};
YAHOO.vnc.invitefriend.callbackInviteFriend = {
	success : function(o)
	{				
		var xmlResponse 									= o.responseXML;		
		var xmlDocumentElement 								= xmlResponse.documentElement;		
		var szContent 										= xmlDocumentElement.getElementsByTagName("content")
		if(szContent.length > 0)
			alert(szContent.item(0).firstChild.data);			

		var szError 										= xmlDocumentElement.getElementsByTagName("error")
		if(szError.length > 0)
			alert(szError.item(0).firstChild.data);									
		document.getElementById('idInviteEmail').innerHTML	= '';
	},
	failure : function(o)
	{
		//alert("Vui lòng chờ trong giây phút");
	}
};
YAHOO.vnc.invitefriend.validateEmail = function(szEmail)
{
	// chi co 1 ky tu @ o giua, chieu dai username tu 1 den 64 ky tu
	// chieu dai domain tu 1 den 255 ky tu
	if (!szEmail.match(/^[^@]{1,64}@[^@]{1,255}$/))
	{
		return false;
	}

  	// chia 2 phan truoc va sau @
  	szEmailArray = szEmail.split("@");
  	// szEmailArray[0] user, szEmailArray[1] domain

  	// phan username, chieu dai tu max 64 ky tu
  	// valid character la ky tu chu a-zA-Z, ky tu so 0-9 dash _ hyphen - va dot .
  	// neu de trong quote "langxang, at vinacyber dot com dot vn!"@server.com
  	// tach cac phan phan chia boi dot .
	szLocalArray = szEmailArray[1].split(".");
	// it nhat co 2 phan cua domain sau @
    	if (szLocalArray.length < 2)
    	{
        	return false;
    	}

  	// kiem tra tung phan
  	for(i = 0; i < szLocalArray.length; i ++)
  	{
  		// part 1: neu co dau dash hay hyphen thi khong co o dau va o cuoi
  		// part 2: neu khong do dash hay hyphen thi la A-Za-z0-9 chieu dai tu 1 den 64 ky tu
  		// part 3: neu trong quote, phan trong quote khong chua \" dau quote hay \\ va back slash
		if (!szLocalArray[i].match(/^(([A-Za-z0-9][A-Za-z0-9_-]{0,62}[A-Za-z0-9])|([A-Za-z0-9]{1,64})|(\"[^(\\|\")]{0,62}\"))$/))
		{
      		return false;
    	}
  	}

  	// domain khong phai la IP
  	if (!szEmailArray[1].match(/\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/))
  	{
  		// kiem tra valid domain, tach tung phan domain
    	szDomainArray = szEmailArray[1].split(".");
    	// it nhat co 2 phan cua domain sau @
    	if (szDomainArray.length < 2)
    	{
        	return false;
    	}

    	// kiem tra tung phan
    	for(i = 0; i < szDomainArray.length; i++)
    	{
    		// maxinum la 64, chua A-Za-z, 0-9, co the chua hyphen -
    		// dau hyphen khong o dau va khong o cuoi, domain case in-sensitive
    		// neu khong co hyphen thi la A-Za-z0-9
			if (!szDomainArray[i].match(/^(([A-Za-z0-9][A-Za-z0-9-]{0,62}[A-Za-z0-9])|([A-Za-z0-9]{0,64}))$/))
			{
        		return false;
      		}
    	}

    	// kiem tra top domain
		// szDomainArray[szDomainArray.length - 1]
  	}
  	return true;
}
// Phần gởi mail giới thiệu bạn bè về một công ciệc nào đó
//Xử lý gởi email moi xem cong viec
YAHOO.vnc.invitefriend.handlesendworkFriend = function(strTilte, userid, vacancyid) 
		{	
			var strTemp = '<form name="sendworkFriendfrm" id="sendworkFriendfrm" method="post">';
			strTemp +='<table width="100%" border="0" cellspacing="1" cellpadding="1">';
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Nhập email bạn bè(ngăn cách bởi dấu \',\')  </strong>&nbsp;</td>'
			strTemp	+='<tr>';
			strTemp	+='<tr>';
			strTemp	+='<td><textarea name="txt_emailFriend" rows="4" cols="45"></textarea></td>';
			strTemp	+='</tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td colspan="2"  align="center">';
			strTemp +='<input type="button" name"btsendworkFriend" value="Gửi" id="sendworkFriendid" onclick="if(YAHOO.vnc.invitefriend.checkvalid(document.sendworkFriendfrm.txt_emailFriend,0)){ YAHOO.vnc.invitefriend.SendEmailWorklink() }">';
			strTemp +='<input type="button" name"dldclose" value="Đóng" onclick="YAHOO.vnc.invitefriend.dlgshowsendworkFriend.hide();">';
			strTemp	+='</td>';
			strTemp	+='</tr>';
			
			strTemp +='</table>';
			strTemp +='<input type="hidden" name="userid" value=' + userid + '>';
			strTemp +='<input type="hidden" name="vacancyid" value=' + vacancyid + '>';
			strTemp +='</form>';
			YAHOO.vnc.invitefriend.dlgshowsendworkFriend.setHeader(strTilte); 
			YAHOO.vnc.invitefriend.dlgshowsendworkFriend.setBody(strTemp); 
			YAHOO.vnc.invitefriend.dlgshowsendworkFriend.show();
		}
YAHOO.vnc.invitefriend.checkvalid = function(strListemail,type) 
		{	
			if(type == 0){
				if(strListemail.value == ''){
					alert('Danh sách Email không được để rỗng');
					return false;
				}
				else{
					var arrEmail	=	strListemail.value.split(',');
					for(i=0;i<arrEmail.length;i++){
						if(!YAHOO.vnc.invitefriend.validateEmail(arrEmail[i])){
							alert('Có email không đúng định dạng ');
							YAHOO.vnc.invitefriend.dlgshowsendworkFriend.hide();
							return false;
						}
					}
				}
			}
			if( type == 1) {
				if(strListemail.value == ''){
					alert('Email không được để rỗng');
					return false;
				}
				else{
					if(!YAHOO.vnc.invitefriend.validateEmail(strListemail.value)){
						alert('Email bạn nhập không đúng định dạng');
					//	YAHOO.vnc.invitefriend.dlgshowgetUserinfo.hide();
						return false;
					}
				}
				if(document.senduserinfofrm.txt_key_guest.value == ''){
					alert('Key không được để rỗng');
				//	YAHOO.vnc.invitefriend.dlgshowgetUserinfo.hide();
					return false;
				}
			}
			return true;	
		}
YAHOO.vnc.invitefriend.checkvalidAllfile = function(strcompanyname,strrepresentperson,strphone,strListemail,strtitle,strcotent) 
		{	
			if(strcompanyname.value == ''){
				alert('Tên công ty không được để rỗng');
				return false;
			}
			if(strrepresentperson.value == ''){
				alert('Tên người đại diện không được để rỗng');
				return false;
			}
			if(strphone.value == ''){
				alert('Số điện thoại không được để rỗng');
				return false;
			}else{
				if (!strphone.value.match(/^((\(\+?84\)[\-\.\s]?)|(\+?84[\-\.\s]?)|(0))((\d{3}[\-\.\s]?\d{6})|(\d{2}[\-\.\s]?\d{8}))$/)){
					alert('Số điện thoại không đúng định dạng');
					return false
				}
			}
			if(strListemail.value == ''){
				alert('Email không được để rỗng');
				return false;
			}
			else{
				if(!YAHOO.vnc.invitefriend.validateEmail(strListemail.value)){
					alert('Email bạn nhập không đúng định dạng');
					return false;
				}
			}
			if(strtitle.value == ''){
				alert('Vị trí không được để rỗng');
				return false;
			}
			if(strcotent.value == ''){
				alert('Nội dung không được để rỗng');
				return false;
			}
			if(document.senduserinfofrm.txt_key_guest.value == ''){
				alert('Key không được để rỗng');
				return false;
			}
			
			return true;	
		}		
YAHOO.vnc.invitefriend.SendEmailWorklink = function() 
		{	
			var query 	= 'sendwork_Listemail.php';
			var oForm 	= document.getElementById("sendworkFriendfrm");
			YAHOO.util.Connect.setForm(oForm);	
			var conn = YAHOO.util.Connect.asyncRequest("POST", query, YAHOO.vnc.invitefriend.callbackSendEmailWorklink);
		}

YAHOO.vnc.invitefriend.callbackSendEmailWorklink =
	{	
		success : function(o)
		{		
			var xmlResponse 		= o.responseXML;			
			var xmlDocumentElement 	= xmlResponse.documentElement;	
			var szContent 	= xmlDocumentElement.getElementsByTagName("content").item(0).firstChild.data;		
			alert(szContent);		
			YAHOO.vnc.invitefriend.dlgshowsendworkFriend.hide();
		},
		failure : function(o)
		{
			//alert("Vui lòng chờ trong giây phút");
		}
	}
//Xử lý user chua login nhap email va id cua user canlay thông tin, ket qua tra ve thanh cong hay that bai
YAHOO.vnc.invitefriend.handlegetUserinfo = function(strTilte,userid) 
		{	
			var strTemp = '<form name="senduserinfofrm" id="senduserinfofrm" method="post">';
			strTemp +='<table width="100%" border="0" cellspacing="1" cellpadding="1">';
			
			strTemp	+='<tr>';
			strTemp	+='<td colspan="2"><strong>Vui lòng cung cấp các thông tin cần thiết để ứng viên dễ dàng liên hệ lại với bạn </strong><br><br></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Công ty <font color="#FF0000">*</font> </strong>&nbsp</td><td><input type="text" name="txt_companyname_guest" size="30" value=""></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Người phụ trách <font color="#FF0000">*</font> </strong>&nbsp</td><td><input type="text" name="txt_representperson_guest" size="30" value=""></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Số điện thoại <font color="#FF0000">*</font> </strong>&nbsp</td><td><input type="text" name="txt_phone_guest" size="30" value=""></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Email <font color="#FF0000">*</font></strong>&nbsp</td><td><input type="text" name="txt_email_guest" size="30" value=""></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Vị trí  <font color="#FF0000">*</font></strong>&nbsp</td><td><input type="text" name="txt_title_guest" size="30" value=""></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Mô tả công việc  <font color="#FF0000">*</font></strong>&nbsp</td><td><textarea name="txt_content_guest"  rows="5" cols="21" style="overflow:auto; height:120px; float:left; vertical-align:middle"></textarea></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td><strong> Nhập key  <font color="#FF0000">*</font></strong>&nbsp;</td><td><input type="text" name="txt_key_guest" size="30" value=""></td>'
			strTemp	+='<tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td colspan="2"  align="center">';
			strTemp +='<input type="button" name"btsenduserinfofrm" value="Gửi" id="senduserinfofrmid" onclick="if(YAHOO.vnc.invitefriend.checkvalidAllfile(document.senduserinfofrm.txt_companyname_guest,document.senduserinfofrm.txt_representperson_guest,document.senduserinfofrm.txt_phone_guest,document.senduserinfofrm.txt_email_guest,document.senduserinfofrm.txt_title_guest,document.senduserinfofrm.txt_content_guest)){ YAHOO.vnc.invitefriend.senduserinfofrm()}">';
			strTemp +='<input type="button" name"dldclose" value="Đóng" onclick="YAHOO.vnc.invitefriend.dlgshowgetUserinfo.hide();">';
			strTemp	+='</td>';
			strTemp	+='</tr>';
			
			strTemp	+='<tr>';
			strTemp	+='<td colspan="2" ><br/><strong>Để nhận key soạn : <font color="#FF0000">VNC KEY Gởi 8277</font>&nbsp;&nbsp;( Phí tin nhắn 2000VND )</strong></td>'
			strTemp	+='<tr>';
			
			strTemp +='</table>';
			strTemp +='<input type="hidden" name="userid" value=' + userid + '>';
			strTemp +='</form>';
			YAHOO.vnc.invitefriend.dlgshowgetUserinfo.setHeader(strTilte); 
			YAHOO.vnc.invitefriend.dlgshowgetUserinfo.setBody(strTemp); 
			YAHOO.vnc.invitefriend.dlgshowgetUserinfo.show();
		}
YAHOO.vnc.invitefriend.senduserinfofrm = function() 
		{	
			var query 	= 'senduserinfobykey.php';
			var oForm 	= document.getElementById("senduserinfofrm");
			YAHOO.util.Connect.setForm(oForm);	
			var conn = YAHOO.util.Connect.asyncRequest("POST", query, YAHOO.vnc.invitefriend.callbacksenduserinfofrm);
		}

YAHOO.vnc.invitefriend.callbacksenduserinfofrm =
	{	
		success : function(o)
		{		
			var xmlResponse 		= o.responseXML;			
			var xmlDocumentElement 	= xmlResponse.documentElement;	
			var szContent 	= xmlDocumentElement.getElementsByTagName("content").item(0).firstChild.data;		
			if(szContent==0){
				alert('Bạn đã gởi yêu cầu thành công');
				YAHOO.vnc.invitefriend.dlgshowgetUserinfo.hide();
			}else{
				alert(szContent);
			}
		},
		failure : function(o)
		{
			//alert("Vui lòng chờ trong giây phút");
		}
	}		
// Khởi tạo các giá trị như dialog
function init() {
//Xu ly khi goi mail invite ban be cho mot cong viec nao do
	YAHOO.vnc.invitefriend.dlgshowsendworkFriend = new YAHOO.widget.SimpleDialog(
															"sendworkFriend",
															{
																width: "35em",																
																fixedcenter: true,
																visible: false,
																draggable: false,
																close: true,
																constraintoviewport: true,
																modal: true
															}
														);	
	YAHOO.vnc.invitefriend.dlgshowsendworkFriend.render();
//XU ly khi guest lay thong tin user va guest nhap key	
	YAHOO.vnc.invitefriend.dlgshowgetUserinfo = new YAHOO.widget.SimpleDialog(
															"getUserinfoid",
															{
																width: "43em",																
																fixedcenter: true,
																visible: false,
																draggable: false,
																close: true,
																constraintoviewport: true,
																modal: true
															}
														);	
	YAHOO.vnc.invitefriend.dlgshowgetUserinfo.render();
//Xu ly cac su kien
	//Sự kiện của button goi ho tro truc tuyen
//	YAHOO.util.Event.addListener("sendgioithieuwork"	, "click", YAHOO.vnc.invitefriend.dlgshowsendworkFriend.show );	
}
YAHOO.util.Event.addListener(window, "load", init);
