var ShowTime = new Date()
var isSubmitting = false

var LanguageButtonHover = false
var LanguageButtonShouldHide = false
var LanguageButtonCaller
var LanguageButtonTimer

var MaxCommentLength = 1024

function selectPermission()
{
	if (document.activeElement.isTextEdit == true && document.activeElement != document.body)
	{
		return true
	}
	else
	{
		return false
	}
}

function insertSmiley(smiley)
{
	var textArea = document.getElementById("txtCommentBody")
	var selectedTextLength = 0
	var canCreateTextRange = textArea.createTextRange
	
	if (canCreateTextRange)
	{
		textArea.focus(textArea.caretPos)
		textArea.caretPos = document.selection.createRange().duplicate()
		selectedTextLength = textArea.caretPos.text.length
	}
	
	if (textArea.value.length + smiley.length + 2 - selectedTextLength > MaxCommentLength)
	{
		alert(".فضای کافی برای درج شکلک " + smiley + " وجود ندارد")
		return
	}
	
	smiley = "[" + smiley + "]"

	if (canCreateTextRange)
	{
		textArea.caretPos.text = smiley
	}
	else
	{
		textArea.value += smiley
	}
}

function pasteComment()
{
	var textArea = document.getElementById("txtCommentBody")
	var selectedTextLength = 0

	if (textArea.createTextRange)
	{
		textArea.caretPos = document.selection.createRange().duplicate()
		selectedTextLength = textArea.caretPos.text.length
	}
	if (textArea.value.length + window.clipboardData.getData("text").length - selectedTextLength > MaxCommentLength)
	{
		alert(".متن مورد نظر حجیم بوده و قابل درج نمی باشد")
		return false
	}
	return true
}

function validateComment(sessionTimeout, commentImagesPath)
{
	var form = document.getElementById("frmComment")
	
	// Avoid resubmitting the form
	if (isSubmitting)
	{
		alert(".نظر شما در حال ارسال شدن است. لطفا صبر کنید")
		return false
	}

	// Check that session has not timed out
	var SubmitTime = new Date()
	if ((SubmitTime - ShowTime) > (sessionTimeout - 5) * 60000)
	{
		alert(".کد تصویری معتبر نمی باشد. لطفا کد جدید را وارد نمایید")
		showNewSecurityCode(commentImagesPath)
		return false
	}
		
	// Check email address
	if (form.Email.value != '')
	{
		var email = form.Email.value
		var emailPattern = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

		if (!emailPattern.test(email))
		{
			alert (".پست الکترونیکی وارد شده صحیح نمی باشد")
			form.Email.focus()
			form.Email.select()
			return false
		}
	}
	
	// Check comment body
	if (form.CommentBody.value == '')
	{
		alert(".متن پیام وارد نشده است. نوشتن متن پیام الزامی است")
		form.CommentBody.focus()
		return false
	}
	if (form.CommentBody.value.length > MaxCommentLength)
	{
		alert(".متن پیام بزرگتر از " + MaxCommentLength + " حرف می باشد. لطفا متن کوتاهتری وارد کنید")
		form.CommentBody.focus()
		return false
	}
	
	// Check the security code
	if (form.SecurityCode.value == '')
	{
		alert(".لطفا کد تصویری را وارد نمایید")
		form.SecurityCode.focus()
		return false
	}
	if (form.SecurityCode.value.length < 5)
	{
		alert(".کد تصویری وارد شده صحیح نمی باشد. لطفا کد تصویری صحیح را وارد نمایید")
		form.SecurityCode.focus()
		form.SecurityCode.select()
		return false
	}	
	
	// Form is valid
	document.getElementById("btnSubmit").disabled = true
	document.getElementById("btnReset").disabled = true
	isSubmitting = true
	return true
}

function showNewSecurityCode(commentImagesPath)
{
	var imgSecurityCode = document.getElementById("imgSecurityCode")
	var txtSecurityCode = document.getElementById("txtSecurityCode")
	
	imgSecurityCode.src = commentImagesPath + "securityCode.asp?code=" + Math.floor(Math.random() * 10000000000).toString() + Math.floor(Math.random() * 10000000000).toString()
	txtSecurityCode.value = ""
	txtSecurityCode.focus()
	
	// Reset form show time
	ShowTime = new Date()
}

function isNumeric()
{
	// Only permit numeric characters
	if (window.event.keyCode != 13 && (window.event.keyCode < 50 || window.event.keyCode > 57))
	{
		return false
	}
	return true
}

function showLanguageButton(object,IDName)
{
	window.clearTimeout(LanguageButtonTimer)
	LanguageButtonCaller = object
	var LanguageButton = document.getElementById(IDName)
	var left = object.offsetWidth
	var top = 0
	while (object.offsetParent)
	{
		left += object.offsetLeft
		top += object.offsetTop
		object = object.offsetParent
	}
	LanguageButton.style.left = left + 3
	LanguageButton.style.top = top + 1
	LanguageButton.style.display = ""
	LanguageButtonShouldHide = false
}

function hideLanguageButton(IDName)
{
	if (LanguageButtonHover)
	{
		LanguageButtonShouldHide = true
	}
	else
	{
		LanguageButtonShouldHide = false
		LanguageButtonHover = false
		LanguageButtonTimer = window.setTimeout('document.getElementById("'+IDName+'").style.display = "none"', 100)
	}
}

function hoverLanguageButton(state,IDName)
{
	if (state == "in")
	{
		LanguageButtonHover = true
	}
	else
	{
		LanguageButtonHover = false
		if (LanguageButtonShouldHide)
		{
			hideLanguageButton(IDName)
		}
	}
}

function toggleLanguage(IDName)
{
	var LanguageButton = document.getElementById(IDName)
	langFarsi = !langFarsi;
	if (langFarsi)
	{
		LanguageButton.innerHTML = "<table border='1' width='22' cellspacing='0' cellpadding='0' height='22'id='table43' bgcolor='#FFFF00' bordercolor='#FF6600' >	<tr>	<td valign='middle'><p align='center'><b><font color='#000080' style='font-size: 9pt' face='Tahoma'>	FA</font></b></p>	</td>	</tr>	</table>"
	}
	else
	{
		LanguageButton.innerHTML = "<table border='1' width='22' cellspacing='0' cellpadding='0' height='22'id='table43' bgcolor='#FFFF00' bordercolor='#FF6600' >	<tr>	<td valign='middle'><p align='center'><b><font color='#000080' style='font-size: 9pt' face='Tahoma'>	EN</font></b></p>	</td>	</tr>	</table>"
	}
	LanguageButtonCaller.focus()
}

function hoverSmiley(smiley, state)
{
	if (state == 'in')
	{
		smiley.style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=0)"
	}
	else
	{
		smiley.style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)"
	}
}

function clearCookie()
{
	document.cookie ="PBC=''"
	document.getElementById("spnClearCookie").innerText = ""
	document.getElementById("txtName").value = ""
	document.getElementById("txtEmail").value = ""
	document.getElementById("txtHomepage").value = ""
	document.getElementById("chkSaveInfo").checked = false
	document.getElementById("txtName").focus()
}

function writeEmail(account, domain)
{
  document.write('<a href="mailto:' + account + '@' + domain + '">' + account + '@' + domain + '</a>')
}
