/* Ehsan Darrudi
Iran National Science Foundation
www.insf.org
(c) 2005-2010

Some of the codes have been borrowed from tutorial websites. 
In this case the name of the original author and/or the 
copyright notice proceed the code. */

// General Functions ------------------------------------------------------------------

function CorrectYa(fld, e)
{	
	var msie = false;
	var gecko = false;
	var opera = false;
	
	var browser = navigator.userAgent.toLowerCase();
	
	if (browser.indexOf('msie')>-1) msie = true;
	else if (browser.indexOf('gecko')>-1) gecko = true;
	else if (browser.indexOf('opera')>-1) opera = true;
	
	if (msie)
	{		
		k = window.event.keyCode;
		
		if (k == 1740 || k == 1609)
		{
			window.event.keyCode = 1610;	// Convert Farsi YEH to Arabic one
		}
		else if (k == 1705) 
		{
			window.event.keyCode = 1603;	// Convert Farsi KAF to Arabic one
		}
		
		else if (k >= 48 && k <= 57) window.event.keyCode = (k - 48) + 1776;	// farsi unicode numbers
		
		return true;
	}
	else if (gecko)
	{		
		k = e.which;
		
		if (k == 1740 || k == 1609)
		{
			fld.value = fld.value + 'ي';
			return false;
		}
		else if (k == 1705)
		{
			fld.value = fld.value + 'ك';
			return false;
		}
		/*
		if (k >= 48 && k <= 57)
		{
			fld.value = fld.value + '&#' + (k - 48 + 1776) + ';';
			//fld.refresh();
			fld.blur();
			return false;
		}
		else if (k == 1705)
		{
			fld.value = fld.value + 'ك';
			return false;
		}*/
				
		return true;
	}
	else if (opera) 
	{
		k = event.keyCode;
		
		if (k == 1740 || k == 1609)
		{
			fld.value  = fld.value + 'ي';
			return false;
		}
		else if (k == 1705)
		{
			fld.value = fld.value + 'ك';
			return false;
		}
		
		return true;
	}
}

function OnlyNumber()
{
	if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
	{
		return true;
	}
	if (window.event.keyCode == 46)
	{
		return true;
	}
		
	alert('اين فيلد فقط ميتواند شامل اعداد باشد. لطفا فقط عدد وارد نماييد');	
	
	window.event.keyCode = 0;
		
	return false;
}

function Group1000s(field) 
{ 	
	val = field.value;
	
	while (val.indexOf(",") != -1)
		val = val.replace(",", ""); 

	len = val.length;
	out = "";
	
	if (len > 3)
	{
		res = len % 3;
		
		if (res > 0)
			out = val.substr(0, res) + ",";
					
		for (i = res; i < len; i += 3)
		{
			out = out + val.substr(i, 3);
			if (i + 3 < len)
				out += ",";
		}
		
		val = out;
	}
		
	field.value = val;
	
	return true;
} 

function OnlyNumberUnicode(fld, e)
{	
	var msie = false;
	var gecko = false;
	var opera = false;
	
	var browser = navigator.userAgent.toLowerCase();
	
	if (browser.indexOf('msie')>-1) msie = true;
	else if (browser.indexOf('gecko')>-1) gecko = true;
	else if (browser.indexOf('opera')>-1) opera = true;
	
	if (msie)
	{		
		k = window.event.keyCode;
		
		if (k == 13)
		{
			fld.form.submit();
			return false;
		}
		else if (k >= 48 && k <= 57) 
		{
			window.event.keyCode = (k - 48) + 1776;	// farsi unicode numbers
			return true;
		}	
	}
	else if (gecko)
	{		
		k = e.which;
				
		if (k == 13)
		{
			fld.form.submit();
			return false;
		}
		else if (k < 32)
		{
			return true;
		}
		else if (k >= 48 && k <= 57) 
		{
			return true;
		}	
	}
	else if (opera) 
	{
		k = event.keyCode;
		
		if (k == 13)
		{
			fld.form.submit();
			return false;
		}
		else if (k < 32)
		{
			return true;
		}
		else if (k >= 48 && k <= 57) 
		{
			return true;
		}	
	}
		
	alert('اين فيلد فقط ميتواند شامل اعداد باشد. لطفا فقط عدد وارد نماييد');
	return false;
}

function OnlyNumberEn()
{
	if (window.event.keyCode >= 48 && window.event.keyCode <= 57)
	{
		return true;
	}
	if (window.event.keyCode == 46)
	{
		return true;
	}
		
	alert('This field may only contain digits! Please enter only numbers.');	
	
	window.event.keyCode = 0;
		
	return false;
}

function IsEmpty(Text)
{
	var i;
	for(i = 0; i < Text.length; i++)
		if(Text.charCodeAt(i) != 32)
			return false;
	return true;
}

function IsEmail(Str)
{
	Str = Str.toLowerCase();
	
	var Reg = /^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/
	return Reg.test(Str)
}

function Popup(title, msg)
{  
  var width = 300;
  var height = 300;  
  
  var left = (screen.width/2) - width/2;
  var top = (screen.height/2) - height/2;

  var styleStr = 'toolbar=no,location=no,directories=no,scrollbars=yes,status=no,menubar=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;

  var msgWindow = window.open("","msgWindow", styleStr);

  var head = '<head><title>'+title+'</title></head>';

  var body = '<body background="images/back-transparent.jpg">' + msg + '<br></body>';

  msgWindow.document.write(head + body);
  
  return false;

}

function PopupSMS(sms)
{  
  var width = 300;
  var height = 250;  
  
  var left = (screen.width/2) - width/2;
  var top = (screen.height/2) - height/2;

  var styleStr = 'toolbar=no,location=no,directories=no,scrollbars=yes,status=no,menubar=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;

  var msgWindow = window.open("","msgWindow", styleStr);

  var head = '<head><title>متن پيامک</title></head>';

  var body = '<body background="images/back-transparent.jpg"><p align=left dir=ltr style="font-size:10pt;"><font face=Verdana>' + sms + '</p></body>';

  msgWindow.document.write(head + body);
  
  return false;

}

//---------------------------------------------------------------------------------------------------------

function LoadFlash(button, static)
{
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100%" height="279" id="headerEn" align="middle">');
	document.write('<param name="movie" value="/header.swf?button=' + button + '&brief=1" />');
	document.write('<param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />');
	document.write('<embed src="/header.swf" quality="high" bgcolor="#ffffff" width="100%" height="279" name="headerEn" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');	
	document.write('</object>');
}

function LoadFlashEn(button, static)
{
	document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100%" height="279" id="headerEn" align="middle">');
	document.write('<param name="movie" value="/headerEn.swf?button=' + button + '" />');
	document.write('<param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />');
	document.write('<embed src="/headerEn.swf" quality="high" bgcolor="#ffffff" width="100%" height="279" name="headerEn" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
	document.write('</object>');
}

//---------------------------------------------------------------------------------------------------------

lastSelectedObject = null;

function MouseIn(obj, color) 
{	
	if (obj.style.backgroundColor == "" || obj.style.backgroundColor == "white" || obj.style.backgroundColor == "#FFFFFF")
	{
		obj.style.backgroundColor = color;
	}
}

function MouseOut(obj, color) 
{
	objColor = obj.style.backgroundColor;
	
	if (objColor.indexOf("rgb") != -1)
		objColor = rgbConvert(objColor);
		
//	alert();
	if (objColor == color)
 	   obj.style.backgroundColor= 'white';
}

function TableRowClick(obj, color)
{
	objColor = obj.style.backgroundColor;
	
	if (objColor.indexOf("rgb") != -1)
		objColor = rgbConvert(objColor);
	
	//alert(objColor + " --- " + color);
	
	if (objColor == color)
	{
		obj.style.backgroundColor = 'white';
		
		if (lastSelectedObject != null)
			lastSelectedObject.style.backgroundColor = 'white';
	
		lastSelectedObject = null;
		
		return;
	}
	
	obj.style.backgroundColor = color;
	
	if (lastSelectedObject != null)
		lastSelectedObject.style.backgroundColor = 'white';
		
	if (lastSelectedObject == obj)
		lastSelectedObject = null;
	else
		lastSelectedObject = obj;
}

function rgbConvert(str) 
{   
	str = str.replace(/rgb\(|\)/g, "").split(",");   
	str[0] = parseInt(str[0], 10).toString(16).toLowerCase();   
	str[1] = parseInt(str[1], 10).toString(16).toLowerCase();   
	str[2] = parseInt(str[2], 10).toString(16).toLowerCase();   
	str[0] = (str[0].length == 1) ? '0' + str[0] : str[0];   
	str[1] = (str[1].length == 1) ? '0' + str[1] : str[1];   
	str[2] = (str[2].length == 1) ? '0' + str[2] : str[2];   
	
	return ('#' + str.join(""));
}

//---------------------------------------------------------------------------------------------------------