var oPopup = window.createPopup();
var notFoundMessage="";
var lovXMLObjectArray = new Array();
var messageTimer;
var contextPath = "";
var languageId = "";
var profile = "";
var fullUrl = "";
var moduleId = "";
var msgWindow = null;
var IELinkClicks = new Array()
var DisableItems = new Array()
var additionalNewParam = null;
var deadend = new Function ("");
var lovArrayValue=new Array();
var lovCss = null;
var actionName = "framework.do";
var ajaxUpdaterInProgress=false;
var changeItems=new Array();
var READ_MORE = unescape("%u0628%u064a%u0634%u062a%u0631 %u0628%u062e%u0648%u0627%u0646%u064a%u062f");
var CONFIRM_TITLE = unescape("%u062a%u0627%u064a%u064a%u062f");
var RETURN_TITLE = unescape("%u0628%u0627%u0632%u06af%u0634%u062a");
var SET_TO_TITLE=unescape("%u062a%u0646%u0638%u064a%u0645 %u0628%u0647:");
var CHANGE_TO_TITLE=unescape("%062a%u063a%u064a%u064a%u0631 %u0627%u0632:");
var PLEASE_WAIT_TITLE  = unescape("%u0644%u0637%u0641%u0627 %u0686%u0646%u062f %u0644%u062d%u0638%u0647 %u0635%u0628%u0631 %u0646%u0645%u0627%u064a%u064a%u062f");
var LOADING_TITLE=unescape("--%u062f%u0631 %u062d%u0627%u0644 %u0628%u0627%u0631%u06af%u0632%u0627%u0631%u064a--");
var FORGOT_MY_PASSWORD_TITLE = unescape('%u0646%u0627%u0645 %u0643%u0627%u0631%u0628%u0631%u064a %u062e%u0648%u062f %u0631%u0627 %u0641%u0631%u0627%u0645%u0648%u0634 %u0643%u0631%u062f%u0647 %u0627%u0645.');
var ENTER_YOUR_EMAIL_TITLE=unescape("%u0644%u0637%u0641%u0627 Emial %u062e%u0648%u062f %u0631%u0627 %u0648%u0627%u0631%u062f %u0646%u0645%u0627%u064a%u064a%u062f");
var EMAIL_NEEDED_TITLE=unescape('Email %u0628%u0627%u064a%u062f %u0648%u0627%u0631%u062f %u0634%u0648%u062f.');
var FORGOT_USERNAME_TITLE=unescape('%u0643%u0644%u0645%u0647 %u0639%u0628%u0648%u0631 %u062e%u0648%u062f %u0631%u0627 %u0641%u0631%u0627%u0645%u0648%u0634 %u0643%u0631%u062f%u0647 %u0627%u0645');
var ERROR_TITLE=unescape("%u062e%u0637%u0627");
var YOUR_INFO_NOT_FOUND_TITLE=unescape('%u0627%u0637%u0644%u0627%u0639%u0627%u062a %u0634%u0645%u0627 %u062f%u0631 %u0633%u064a%u0633%u062a%u0645 %u067e%u064a%u062f%u0627 %u0646%u0634%u062f');
var INFO_SEND_TO_YOUR_EMAIL=unescape('%u0627%u0637%u0644%u0627%u0639%u0627%u062a %u0628%u0647 %u067e%u0633%u062a %u0627%u0644%u0643%u062a%u0631%u0648%u0646%u064a%u0643%u064a %u0634%u0645%u0627 %u0641%u0631%u0633%u062a%u0627%u062f%u0647 %u0634%u062f.');
var ERROR_AND_TRY_LATER=unescape('%u062e%u0637%u0627%u064a%u064a %u062f%u0631 %u0633%u064a%u0633%u062a%u0645 %u0631%u062e %u062f%u0627%u062f%u0647 %u0627%u0633%u062a %u0644%u0637%u0641%u0627 %u0628%u0639%u062f %u062a%u0644%u0627%u0634 %u0646%u0645%u0627%u064a%u064a%u062f.');
var FULLNAME_TITLE = unescape("%u0646%u0627%u0645 %u0648 %u0646%u0627%u0645 %u062e%u0627%u0646%u0648%u0627%u062f%u06af%u064a");
var RANGE_10_TO_1000_TITLE = unescape("( 10 %u0627%u0644%u064a 1000) ");
var SELECT_FROM_PROFESSOR_LISTS_TITLE=unescape("%u0627%u0646%u062a%u062e%u0627%u0628 %u0627%u0632 %u0644%u064a%u0633%u062a %u0627%u0639%u0636%u0627%u0621 %u0647%u064a%u0627%u062a %u0639%u0644%u0645%u064a");
var DATE_RANGE_START=unescape("%u0634%u0631%u0648%u0639 %u0628%u0627%u0632%u0647 %u062a%u0627%u0631%u064a%u062e%u064a");
var DATE_RANGE_END=unescape("%u067e%u0627%u064a%u0627%u0646 %u0628%u0627%u0632%u0647 %u062a%u0627%u0631%u064a%u062e%u064a");
var SEARCH_ITEM_TITLE=unescape("%u0622%u064a%u062a%u0645 %u062c%u0633%u062a%u062c%u0648");
var SEND_PICTURE_TITLE_1=unescape("%u0627%u06af%u0631&nbsp;%u0639%u0643%u0633 %u0634%u0645%u0627 %u062f%u0631");
var SEND_PICTURE_TITLE_2=unescape("    %u067e%u064a%u0634 %u0646%u0645%u0627%u064a%u0634 %u062e%u0627%u0646%u0647 %u0634%u062e%u0635%u064a %u062f%u064a%u062f%u0647 %u0646%u0645%u064a %u0634%u0648%u062f %u0648 %u064a%u0627 %u062a%u0645%u0627%u064a%u0644 %u0628%u0647 %u0628%u0631%u0648%u0632 %u0643%u0631%u062f%u0646 %u0639%u0643%u0633 %u062e%u0648%u062f %u062f%u0627%u0631%u064a%u062f %u0641%u0627%u064a%u0644");
var SEND_PICTURE_TITLE_3=unescape("%u0639%u0643%u0633 %u062e%u0648%u062f %u0631%u0627 %u062f%u0631 %u0641%u0631%u0645%u062a ");
var SEND_PICTURE_TITLE_4=unescape("%u0648 %u062d%u062a%u064a %u0627%u0644%u0627%u0645%u0643%u0627%u0646 %u062f%u0631");
var SEND_PICTURE_TITLE_5=unescape("%u0627%u0628%u0639%u0627%u062f 130 %u062f%u0631 170 %u067e%u064a%u0643%u0633%u0644 %u0648 %u0628%u0627 %u0646%u0627%u0645 %u0643%u062f %u067e%u0631%u0633%u0646%u0644%u064a %u062e%u0648%u062f %u0628%u0631%u0627%u064a %u0645%u0627 %u0627%u0631%u0633%u0627%u0644 %u0641%u0631%u0645%u0627%u064a%u064a%u062f.");
var SEND_TITLE=unescape("  %u0627%u0631%u0633%u0627%u0644 ");
var SEND_PICTURE_TITLE = unescape("%u0627%u0631%u0633%u0627%u0644 %u0639%u0643%u0633");
var PICTURE_SHOULD_JPEG_OR_GIF=unescape(".%u0628%u0627%u0634%u062f Gif %u064a%u0627 Jpg %u0641%u0631%u0645%u062a %u0641%u0627%u064a%u0644 %u0639%u0643%u0633 %u0628%u0627%u064a%u062f %u0628%u0647 %u0635%u0648%u0631%u062a");
var PLEASE_SELECT_A_FILE=unescape("%u0644%u0637%u0641%u0627 %u064a%u0643 %u0641%u0627%u064a%u0644 %u0631%u0627 %u0627%u0646%u062a%u062e%u0627%u0628 %u0646%u0645%u0627%u064a%u064a%u062f.");
var OR_TITLE=unescape("%u064a%u0627");
var AND_TITLE=unescape("%u0648");
var TIME_RANGE_TITLE=unescape("%u0628%u0627%u0632%u0647 %u0632%u0645%u0627%u0646%u064a");
var DATE_RANGE_TITLE=unescape("%u0628%u0627%u0632%u0647 %u062a%u0627%u0631%u064a%u062e%u064a");
var UNIVERSITY_GROUP_TITLE=unescape("%u062f%u0627%u0646%u0634%u0643%u062f%u0647 %u06af%u0631%u0648%u0647");
var YEAR_TITLE=unescape("%u0633%u0627%u0644");
var TUITION_OVER_1383_TITLE=unescape("%u062a%u0639%u0631%u064a%u0641 %u062f%u0631%u0648%u0633 %u062a%u0646%u0647%u0627%u064a %u0628%u0631%u0627%u064a %u0642%u0628%u0644 %u0627%u0632 %u0633%u0627%u0644 1383 %u0627%u0645%u0643%u0627%u0646 %u067e%u0630%u064a%u0631 %u0645%u064a %u0628%u0627%u0634%u062f.");

/*var CONFIRM_TITLE = "�����";
var RETURN_TITLE = "��Ґ��";
var SET_TO_TITLE=":����� �� ";
var CHANGE_TO_TITLE=":����� �� ";
var PLEASE_WAIT_TITLE  = "���� ��� ���� ��� ������";
var LOADING_TITLE="--�� ��� ��ѐ����--";
var FORGOT_MY_PASSWORD_TITLE = '��� ������ ��� �� ������ ���� ��.'
var ENTER_YOUR_EMAIL_TITLE="���� Emial ��� �� ���� ������";
var EMAIL_NEEDED_TITLE='Email ���� ���� ���.';
var FORGOT_USERNAME_TITLE='���� ���� ��� �� ������ ���� ��';
var ERROR_TITLE="���";
var YOUR_INFO_NOT_FOUND_TITLE='������� ��� �� ����� ���� ���';
var INFO_SEND_TO_YOUR_EMAIL='������� �� ��� ���������� ��� ������� ��.';
var ERROR_AND_TRY_LATER='����� �� ����� �� ���� ��� ���� ��� ���� ������.';
var FULLNAME_TITLE = "��� � ��� �����ϐ�";
var RANGE_10_TO_1000_TITLE = "( 10 ��� 1000) ";
var SELECT_FROM_PROFESSOR_LISTS_TITLE="������ �� ���� ����� ���� ����";
var DATE_RANGE_START="���� ���� ������";
var DATE_RANGE_END="����� ���� ������";
var SEARCH_ITEM_TITLE="���� �����";
var SEND_PICTURE_TITLE_1="ǐ�&nbsp;��� ��� ��";
var SEND_PICTURE_TITLE_2="    ��� ����� ���� ���� ���� ��� ��� � �� ����� �� ���� ���� ��� ��� ����� ����";
var SEND_PICTURE_TITLE_3="��� ��� �� �� ���� ";
var SEND_PICTURE_TITLE_4="� ��� ������� ��";
var SEND_PICTURE_TITLE_5="����� 130 �� 170 ����� � �� ��� �� ������ ��� ���� �� ����� �������.";
var SEND_TITLE="  ����� ";
var SEND_PICTURE_TITLE = "����� ���";
var PICTURE_SHOULD_JPEG_OR_GIF=".���� Gif �� Jpg ���� ���� ��� ���� �� ����";
var PLEASE_SELECT_A_FILE="���� �� ���� �� ������ ������.";
var OR_TITLE="��";
var AND_TITLE="�"
var TIME_RANGE_TITLE="���� �����";
var DATE_RANGE_TITLE="���� ������";
var UNIVERSITY_GROUP_TITLE="������� ����";
var YEAR_TITLE="���";
var TUITION_OVER_1383_TITLE="����� ���� ����� ���� ��� �� ��� 1383 ����� ���� �� ����.";*/


NACC = {version: '2.0'};

NACC.isEmpty = function(v, allowBlank){
		             return v === "" || v === null || v === undefined || (!allowBlank ? v === '' : false);
    				   }

NACC.Msg = {};
NACC.Msg.callBack=function(){
};

NACC.Msg.bgObject=null;
NACC.Msg.msgObj=null;
NACC.Msg.titleObj=null;
NACC.Msg.textBox=null;
NACC.Msg.textBox1=null;

NACC.Msg.createObjects=function (obj)
{
	str = obj.msg;
	if (NACC.Msg.bgObject!=null)
		NACC.Msg.close();
  //document.body.className=document.body.className + " hideObject";
	var msgw,msgh,bordercolor; 
	msgw=NACC.isEmpty(obj.width)?400:obj.width;//width of messagebox
	msgh=100;//height of messagebox
	if (obj.progress)
	{
		msgh=40;
		msgw=200;
	}
	titleheight=25 //height of messagebox's title
	bordercolor="#336699";//border color 
	titlecolor="#99CCFF";//title color
	var sWidth,sHeight; 
	sWidth=document.body.scrollWidth; 
	sHeight=document.body.clientHeight; 
	if (sHeight<document.body.scrollHeight)
		sHeight=document.body.scrollHeight;
	var bgObj=document.createElement("div"); 
	bgObj.setAttribute('id','bgDiv'); 
	bgObj.style.position="absolute"; 
	bgObj.style.top="0"; 
	bgObj.style.background="#777"; 
	bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"; 
	bgObj.style.opacity="0.6"; 
	bgObj.style.left="0"; 
	bgObj.style.width=sWidth + "px"; 
	bgObj.style.height=sHeight + "px"; 
	bgObj.style.zIndex = "9998"; 
	NACC.Msg.bgObject=bgObj
	document.body.appendChild(bgObj); 
	
	var msgObj=document.createElement("div") 
	msgObj.setAttribute("id","msgDiv"); 
	msgObj.dir="rtl";
	msgObj.setAttribute("align","center"); 
	msgObj.style.background="white"; 
	msgObj.style.border="1px solid " + bordercolor; 
	msgObj.style.position = "absolute"; 
	msgObj.style.left = "50%"; 
	msgObj.style.top = "50%"; 
	msgObj.style.font="12px/1.6em Tahoma"; 
	msgObj.style.marginLeft = "-225px" ; 
	msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px"; 
	msgObj.style.width = msgw + "px"; 
	msgObj.style.height =msgh + "px"; 
	if (!obj.textbox)
		msgObj.style.textAlign = "center"; 
	else
		msgObj.style.textAlign = "right"; 
	msgObj.style.lineHeight ="25px"; 
	msgObj.style.zIndex = "10001"; 
	NACC.Msg.msgObj=msgObj;
	document.body.appendChild(msgObj); 
	if (!obj.progress)
	{
		var title=document.createElement("h4"); 
		title.setAttribute("id","msgTitle"); 
		title.setAttribute("align","right"); 
		title.style.margin="0"; 
		title.style.padding="3px"; 
		title.style.background=bordercolor; 
		title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);"; 
		title.style.opacity="0.75"; 
		title.style.border="1px solid " + bordercolor; 
		title.style.height="18px"; 
		title.style.font="12px tahoma"; 
		title.style.color="white"; 
		title.style.cursor="pointer"; 
		title.innerHTML="<img align=\"middle\" src=\""+NACC.contextPath+"/images/msgclose.gif\">&nbsp;"+(!NACC.isEmpty(obj.title)?obj.title:""); 
		title.onclick=function(){ 
			NACC.Msg.close();
			if (obj.fn)
	    	obj.fn();
		} 
		NACC.Msg.titleObj=title;
		document.getElementById("msgDiv").appendChild(title); 
	}
	
	if (obj.textbox || obj.textbox1)
	{
		if (obj.textbox)
		{
			var table=document.createElement("table"); 
			table.style.margin="5px 0" 
			var tr = table.insertRow();
			var td = tr.insertCell();
			td.className="label";
			td.innerHTML=obj.textbox.prompt+":"; 
			if (obj.textbox.promptPos=="top")
			{
				td.style.textAlign="right";
				tr=table.insertRow();
			}
			td = tr.insertCell();
			var inp = document.createElement("input"); 
			inp.setAttribute("id","msgTextBox"); 
			inp.className="o"
			inp.setAttribute("name","msgTextBox"); 
			if (obj.textbox.size)
				inp.setAttribute("size",obj.textbox.size); 
			else
				inp.setAttribute("size","30"); 
			
			if (obj.textbox.dir)
				inp.setAttribute("dir",obj.textbox.dir);
			td.appendChild(inp);
			NACC.Msg.textBox=inp;
			document.getElementById("msgDiv").appendChild(table); 
		}
		
		if (obj.textbox1)
		{
			var table=document.createElement("table"); 
			table.style.margin="5px 0" 
			var tr = table.insertRow();
			var td = tr.insertCell();
			td.className="label";
			td.innerHTML=obj.textbox1.prompt+":"; 
			if (obj.textbox1.promptPos=="top")
			{
				td.style.textAlign="right";
				tr=table.insertRow();
			}
			td = tr.insertCell();
			var inp = document.createElement("input"); 
			inp.setAttribute("id","msgTextBox1"); 
			inp.className="o"
			inp.setAttribute("name","msgTextBox1"); 
			if (obj.textbox1.size)
				inp.setAttribute("size",obj.textbox1.size); 
			else
				inp.setAttribute("size","30"); 
			
			if (obj.textbox1.dir)
				inp.setAttribute("dir",obj.textbox1.dir);
			td.appendChild(inp);
			NACC.Msg.textBox1=inp;
			document.getElementById("msgDiv").appendChild(table); 
		}
	}
	else
	{
		var txt=document.createElement("p"); 
		txt.style.margin="15px 15px 15px 15px" 
		txt.setAttribute("id","msgTxt"); 
		txt.style.textAlign="center"
		
		if (obj.progress)
			txt.innerHTML=str+"<br><img align=\"middle\" src=\""+NACC.contextPath+"/images/progress.gif\">"; 	
		else
			txt.innerHTML=str; 
		document.getElementById("msgDiv").appendChild(txt); 
	}
	NACC.Msg.msgObj.style.left = (document.body.offsetWidth-NACC.Msg.msgObj.offsetWidth)/2
	NACC.Msg.msgObj.style.top = document.body.scrollTop+document.body.clientHeight/2-NACC.Msg.msgObj.offsetHeight/2
	window.attachEvent("onscroll",
											function(){
												try
												{
													NACC.Msg.msgObj.style.left = (document.body.offsetWidth-NACC.Msg.msgObj.offsetWidth)/2
													NACC.Msg.msgObj.style.top = document.body.scrollTop+document.body.clientHeight/2-NACC.Msg.msgObj.offsetHeight/2
												}
												catch (e)
												{}
											})
}



NACC.Msg.show = function (obj)
{
	NACC.Msg.createObjects(obj);
	var button = document.createElement("div");
	button.style.textAlign = "center"; 
	button.innerHTML= "<table >"+
                              "  <tr>"+
                              "    <td>"+
                              "      <input style='width:80px' type=button name='msgBoxClosBtn' id='msgBoxClosBtn' value=\""+CONFIRM_TITLE+"\">"               +     
                              "    </td>"+
                              "    <tr valign=\"top\"> "+
                              "     <td colspan=\"3\" style=\"height:20px\"></td>"+
                              "    </tr> "+
                              "  </table>";
	document.getElementById("msgDiv").appendChild(button); 
	document.getElementById("msgBoxClosBtn").onclick=function(){ 
		NACC.Msg.close();
		if (obj.fn)
			if (obj.textbox)
    		obj.fn(0,NACC.Msg.textBox.value);
    	else
    		obj.fn(0);
	}
	
	if (obj.textbox)
	{
		var textBox = document.getElementById("msgTextBox");
		textBox.onblur=function(){
			textBox.focus();
		}
		textBox.focus();
	}
	else if (obj.textbox1)
	{
		var textBox = document.getElementById("msgTextBox1");
		textBox.onblur=function(){
			textBox.focus();
		}
		textBox.focus();
	}
	else
	{
		NACC.Msg.msgObj.onblur=function(){
			NACC.Msg.msgObj.focus();
		}
		NACC.Msg.msgObj.focus();
	}
	NACC.Msg.msgObj.onkeydown=function(){
		if (event.keyCode==27)
		{
			NACC.Msg.close();
			if (obj.fn)
				if (obj.textbox)
	    		obj.fn(0,NACC.Msg.textBox.value);
	    	else
	    		obj.fn(0);
	  }
	}
	
}

NACC.Msg.showProgress = function (obj)
{
	obj.progress=true
	NACC.Msg.createObjects(obj);
}

NACC.Msg.confirm = function (obj)
{
	NACC.Msg.createObjects(obj);
	var button = document.createElement("div");
	button.style.textAlign = "center"; 
	var okButton = obj.buttons.ok;
	var cancelButton = obj.buttons.cancel;
	
	var okTitle =CONFIRM_TITLE;
	var cancelTitle =RETURN_TITLE;
	var okWidth = "80px";
	var cancelWidth = "80px";
	if (okButton!=null)
	{
		if (typeof(okButton)=="object")
		{
			if (!NACC.isEmpty(okButton.caption))
				okTitle = okButton.caption;
			if (!NACC.isEmpty(okButton.width))
				okWidth = okButton.width;
		}
		else if (typeof(okButton)=="string" && !NACC.isEmpty(okButton))
			okTitle = okButton;
	}
	if (cancelButton!=null)
	{
		if (typeof(cancelButton)=="object")
		{
			if (!NACC.isEmpty(cancelButton.caption))
				cancelTitle = cancelButton.caption;
			if (!NACC.isEmpty(cancelButton.width))
				cancelWidth = cancelButton.width;
		}
		else if (typeof(cancelButton)=="string" && !NACC.isEmpty(cancelButton))
			cancelTitle = cancelButton;
	}
	
	button.innerHTML= "<br><table >"+
	                  "  <tr>"+
	                  "    <td>"+
                    "      <input style='width:"+okWidth+"' type=button name='msgBoxYesBtn' id='msgBoxYesBtn' value=\""+okTitle+"\">"               +     
	    		     			"    </td>"+
										"    <td>"+
	    		     			"      <input style='width:"+cancelWidth+"' type=button name='msgBoxNoBtn' id='msgBoxNoBtn' value=\""+cancelTitle+"\">"+
										"    </td>"+
										"  </tr>"+
										"  <tr valign=\"top\"> "+
										"    <td style=\"height:20px\"></td>"+
										"  </tr> "+
										"</table>";
	document.getElementById("msgDiv").appendChild(button); 
	document.getElementById("msgBoxNoBtn").onclick=function(){ 
		NACC.Msg.close();
		if (obj.fn)
			if (obj.textbox)
    		obj.fn(0,NACC.Msg.textBox.value);
    	else
    		obj.fn(0);
	} 
	document.getElementById("msgBoxYesBtn").onclick=function(){ 
		NACC.Msg.close();
		if (obj.fn)
			if (obj.textbox)
    		obj.fn(1,NACC.Msg.textBox.value);
    	else
    		obj.fn(1);
	} 
	
	
	if (obj.textbox)
	{
		var textBox = document.getElementById("msgTextBox");
		textBox.onblur=function(){
			textBox.focus();
		}
		textBox.focus();
	}
	else if (obj.textbox1)
	{
		var textBox = document.getElementById("msgTextBox1");
		textBox.onblur=function(){
			textBox.focus();
		}
		textBox.focus();
	}
	else
	{
		NACC.Msg.msgObj.onblur=function(){
			NACC.Msg.msgObj.focus();
		}
		NACC.Msg.msgObj.focus();
	}


	NACC.Msg.msgObj.onkeydown=function(){
		if (event.keyCode==27)
		{
			NACC.Msg.close();
			if (obj.fn)
				if (obj.textbox)
	    		obj.fn(0,NACC.Msg.textBox.value);
	    	else
	    		obj.fn(0);
	  }
	}
	
}

NACC.Msg.close = function(){
	try
	{
		document.body.removeChild(NACC.Msg.bgObject); 
		if (NACC.Msg.titleObj)
			document.getElementById("msgDiv").removeChild(NACC.Msg.titleObj); 
		document.body.removeChild(NACC.Msg.msgObj);
		NACC.Msg.titleObj=null;
		NACC.Msg.bgObject=null;
		NACC.Msg.msgObj=null;
	  document.body.className = JSReplace(document.body.className.toLowerCase(), "hideobject","");
    document.recalc();
	}
	catch (ss)
	{}
}





//self.focus();
function findItem(itemName, row)
{
  if (row!=null && row!="" && row!='' && row!="undefiend")
    return document.all.item(itemName+row);
  else
    return document.all.item(itemName);
}

function formchange(obj,row)
{
  var changed = obj.prefix;
  logChanges(obj);
  if (changed!="" && changed!="undefined" && changed!=null)
    changed += "_changed";
  else
    changed ="changed";
  var itm = findItem(changed,obj.rownum);
  if (itm!=null && itm!="")
    itm.value=1;
}

function getTextValue(itm)
{
  text = "";
  if (itm.tagName.toLowerCase()=="textarea")
    text = itm.innerText; 
  else
    text = itm.value;
  if (NACC.isEmpty(text))
    return "";
  else
    return JSReplace(text,"\n"," ") + " ";
}

function getChangedItems()
{
	var retval = new Array();
	var inp = document.all.tags("input");
	var i = Number(0);
	for (j=0; j<inp.length;j++)
		if (inp[j].name.indexOf("changed")!=-1)
		{
			retval[i]=inp[j];
			i++;
		}
	return retval;
}

function getItemWithPrefix(prefix)
{
	var retval = new Array();
	var inp =  document.getElementsByTagName("input");
	var sel =  document.getElementsByTagName("select");
	var txt =  document.getElementsByTagName("textarea");
	var ind = Number(0);
	for (z=0; z<inp.length; z++)
		if (inp[z].prefix == prefix)
		{
			retval[ind]=inp[z]
			ind++;
		}
	for (z=0; z<sel.length; z++)
		if (sel[z].prefix == prefix)
		{
			retval[ind]=sel[z]
			ind++;
		}
	for (z=0; z<txt.length; z++)
		if (txt[z].prefix == prefix)
		{
			retval[ind]=txt[z]
			ind++;
		}
	return retval;
}

function is_not_null()
{
	var changed = getChangedItems();
	for (i=0; i<changed.length;i++)
  {
  	if (changed[i].value=="1" && isNull(getItemWithPrefix(changed[i].prefix),changed[i].rownum))
  		return true;
  }
  return false;
}

function isChange(itm)
{
  try
  {
    var itemName = itm.prefix;
    if (itemName!="" && itemName!="undefined" && itemName!=null)
      itemName += "_changed";
    else
      itemName = "changed";
    if (findItem(itemName,itm.rownum).value=="1")
      return true;
    else
      return false;
  }
  catch (e)
  {
    return false;
  }
}

function isNull(items, rownum)
{
  if (items.length!=null)
  {
    for (k=0;k<items.length;k++)
    {
      if (items[k].rownum==rownum && 
      		items[k].className=="m" &&
      		items[k].value=="" && isVisible(items[k]))
      {
        show_message("mandatory",items[k].title);
  	    items[k].focus();
  	    return true;
      }
    }
  }
  else
  {
    if (items.rownum==rownum && 
		    items.className=="m" &&
		    items.value=="" && isVisible(items))
		{
		  show_message("mandatory",items.title);
	    items[k].focus();
	    return true;
		}
  }
  return false;
}

function isVisible(itm)
{
  var temp = itm;
  while (temp!=null && temp.tagName!=null && temp.tagName.toLowerCase()!="form")
  {
    if (temp.currentStyle.display=="none" ||
        temp.currentStyle.visibility=="false")
      return false;
    temp = temp.parentElement;
  }
  return true;
}

function check_for_change()
{
  var itm = document.all.tags("input");
  if (itm!=null && itm!="")
  {
    for (j=0;j<itm.length;j++)
      if (isChange(itm[j]))
        return true;
  }
  return false;
}

function getItemIndex(id)
{
  for (var i=0; i<changeItems.length; i++)
  {
    myItem = changeItems[i];
    if (myItem.id==id)
      return i;
  }
  return -1;
}

function formItem(id, prvValue, value, title)
{
  this.title=title;
  this.id = id;
  this.prvValue=prvValue;
  this.value=value;
}

function logChanges(ite)
{
  test = getItemIndex(ite.id);
  myItem = null;
  if (test!=-1)
    myItem = changeItems[test];
  else
    myItem = new formItem(ite.id, "","");
  if (!NACC.isEmpty(ite.name) && ite.tagName!=null && isVisible(ite))
  {
    if (ite.tagName.toLowerCase()=="input" || ite.tagName.toLowerCase()=="textarea")
    {
      if (ite.type.toLowerCase()=="radio" || ite.type.toLowerCase()=="checkbox")
      {
        myItem.title = ite.baseTitle;
        if (ite.checked)
          myItem.value=ite.title;
      }
      else
      {
        myItem.title = ite.title;
        myItem.value = getTextValue(ite);
      }
    }
    else if (ite.tagName.toLowerCase()=="select")
    {
      myItem.title = ite.title;
      if (!NACC.isEmpty(ite.value))
        myItem.value = ite.options[ite.selectedIndex].innerText;
      else
        myItem.value = "";
    }
  }
  if (test==-1)
    changeItems[changeItems.length]=myItem;
  else
    changeItems[test]=myItem;
}

function setItemArray(form)
{
  try
  {
    var text = "";
    changeItems = new Array();
    document.all.item('eventLog').innerText='';
    if (form && form.elements != null && form.elements.length>0)
    {
      elements = form.elements;
      for (var i=0; i<elements.length; i++)
      {
        ite = elements[i];
  
        if (!NACC.isEmpty(ite.name) && isVisible(ite))
        {
          if (ite.tagName.toLowerCase()=="input" || ite.tagName.toLowerCase()=="textarea")
          {
            if (ite.type.toLowerCase()=="radio" || ite.type.toLowerCase()=="checkbox")
            {
              if (ite.checked)
                changeItems[changeItems.length]=new formItem(ite.id, ite.title, ite.title,ite.baseTitle);
            }
            else
              changeItems[changeItems.length]=new formItem(ite.id, getTextValue(ite), getTextValue(ite), ite.title);
          }
          else if (ite.tagName.toLowerCase()=="select")
          {
            if (!NACC.isEmpty(ite.value))
              changeItems[changeItems.length]=new formItem(ite.id, ite.options[ite.selectedIndex].innerText, 
                                                                   ite.options[ite.selectedIndex].innerText, ite.title);
            else
              changeItems[changeItems.length]=new formItem(ite.id, "", "", ite.title);
          }
        }
      }
    }
  }
  catch (e){}
}


function getChangeString()
{
  var text = "";
  for (var i=0; i<changeItems.length; i++)
  {
    myItem = changeItems[i];
    if (myItem.prvValue!=myItem.value)
    {
      text += NACC.isEmpty(text)?"":",\n";
      if (NACC.isEmpty(myItem.prvValue))
        text += myItem.title + SET_TO_TITLE +myItem.value;
      else
        text += myItem.title + CHANGE_TO_TITLE+ myItem.prvValue+" "+myItem.value;
    }
  }
  return text;
}

function submit_form()
{
  var retval = true;
  var savebtn=document.all.item("btnsave");
  if (savebtn!=null)
    savebtn.disabled=true;
  try
  {
    retval = beforeSubmit();
  }
  catch (e)
  {
    retval=true;
  }
  if (retval)
  {
    if (!check_for_change())
    {
      show_message("nochange");
      event.returnValue = false;
      retval = false;
    }
    if (retval && is_not_null())
    {
      event.returnValue = false;
      retval = false;
    }
  }
  if (savebtn!=null && !retval)
    savebtn.disabled=false;
  if (!retval)
  {
    try
    {
      retval = submitError();
    }
    catch (e)
    {
      retval=false;
    }
  }
  else
  {
    var prefix = document.all.item("prefix");
    if (prefix && document.all.item(prefix.value+"_eventLog"))
      document.all.item(prefix.value+"_eventLog").innerText = getChangeString();
    try
    {
      retval = afterCheck();
    }
    catch (e)
    {
      retval = true
    }
    if (retval)
    {
      enableAllItems()
      if (savebtn!=null)
        savebtn.disabled=true;
    }
    else if (savebtn!=null)
      savebtn.disabled=false;
  }
  event.returnValue=retval;
  selectAllListBoxes();
  return retval;
}

function run_module (url, dialog, resze, tarWindow, targetName, width, height)
{
  var retval = null;
  if (tarWindow==null || tarWindow=="undefined")
    w=window;
  else
    w=tarWindow;
  if (resze==null || resze=="undefined")
    resze = 1;
  var left=screen.availwidth/2-width/2;
  var top=screen.availheight/2-height/2
  if (targetName=="" || targetName==null || targetName=="undefined" || targetName=="test")
    targetName="";
  switch (dialog)
  {
    case "dialog":
      return w.showModalDialog (url,
              null, "center:yes;resizable:"+resze+";status:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px");
      break;
    case "open":
      return w.open(url,targetName,"titlebar=no,menubar=yes,toolbar=no,location=no,status=yes,resizable="+resze+",height="+height+",width="+width+",left="+left+",top="+top);
      break;
    case "navigate":
      w.navigate (url);
  }
}

function run_lov (url, dialog, resze, tarWindow, targetName, width, height)
{
  if (tarWindow==null || tarWindow=="undefined")
    w=window;
  else
    w=tarWindow;
  if (resze==null || resze=="undefined")
    resze = 1;
  var left=screen.availwidth/2-width/2;
  var top=screen.availheight/2-height/2
  switch (dialog)
  {
    case "dialog":
      return w.showModalDialog (url,
              null, "center:yes;resizable:"+resze+";status:no;dialogWidth:"+width+"px;dialogHeight:"+height+"px");
      break;
    case "open":
      w.open(url,targetName,"titlebar=no,menubar=no,toolbar=no,location=no,resizable="+resze+",height="+height+",width="+width+",left="+left+",top="+top);
      return w;
      break;
    case "navigate":
      w.navigate (url);
  }
}

function show_message(name, param1, param2, param3)
{
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  var oWin = run_module (contextPath+"/nacc/message.jsp?language_id="+lang+"&name="+name+"&param1="+encodeURIComponent(param1)+"&param2="+encodeURIComponent(param2)+"&param3="+encodeURIComponent(param3), 
                      "dialog", 0, null, "_message", 357, 170);
  return oWin;
}

function JSReplace(pstr1, pstr2, pstr3)
{
  if (pstr1 != "")
  {
    var rtnstr = "";
    var searchstr = pstr1;
    var addlen = pstr2.length;
    var index = pstr1.indexOf(pstr2);
    while ((index != -1) && (searchstr != ""))
    {
      rtnstr = rtnstr + searchstr.substring(0, index);
      if (pstr3 != null)
        rtnstr = rtnstr + pstr3;
      searchstr = searchstr.substring(index + addlen, searchstr.length);
      if (searchstr != "")
        index = searchstr.indexOf(pstr2);
      else
        index = -1;
    }
              return (rtnstr + searchstr);
  }
  else
    return "";
}

function clear_message  ()
{
  var msgbox = document.all.item("message");
  if (msgbox!=null)
    msgbox.innerText = " ";
  clearInterval(messageTimer);
}


function center_window(width, height)
{
  window.moveTo ( screen.availwidth/2- width/2,screen.availheight/2-height/2 );
  window.resizeTo(width,height);
}

function onlyNumbers(obj)
{
  var searchForNumbers = /\D+\_+\W+\s+\S+/
  var test = JSReplace(obj.value,",","");
  if (isNaN(test))
  {
    show_message("onlynumber",obj.title);
    obj.value="";
    obj.focus();
    event.returnValue = false;
    return false;
  }
  return true;
} 


function messageWindow(title, msg)
{
  var width="300", height="125";
  var left = (screen.width/2) - width/2;
  var top = (screen.height/2) - height/2;
  var styleStr = 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbar=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+',top='+top+',screenX='+left+',screenY='+top;
  var script = '<SCRIPT LANGUAGE=javascript FOR=document EVENT=onunload>\n<!--\nif (opener!=null)\nopener.enableForms();\n//-->\n</SCRIPT>';
  var head = '<head><LINK REL="stylesheet" TYPE="text/css" HREF="/css/kernel.css"><title>'+title+'</title></head>';
  var body = '<center>'+msg+'<br><p><form><input type="button" class=button value="   �����   " onClick="self.close()"></form>';
  msgWindow = window.open("","msgWindow", styleStr);
  msgWindow.document.write(script + head + body);
  setFocus(true);
  window.onfocus=checkfocus;
  window.onunload=checkunload;
  disableForms();
  msgWindow.isClose=0;
  msgWindow.onunload=new Function ("alert ('here')\nwindow.isClose=1");
}

function dialogunload()
{
  window.onfocus="";
  window.onclick="";
  window.ondbclick="";
  window.onselectstart="";
}


function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
// Example:
// writeCookie("myCookie", "my name", 24);
// Stores the string "my name" in the cookie "myCookie" which expires after 24 hours.
function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire;
}



function disableForms()
{
  if (frames.length > 0)
  {
    for (var h = 0; h < frames.length; h++)
    {
      DisableItems[h] = new Array();
      for (var i = 0; i < frames[h].document.forms.length; i++)
      {
        DisableItems[h][i] = new Array();
        for (var j = 0; j < frames[h].document.forms[i].elements.length; j++)
        {
          DisableItems[h][i][j]=frames[h].document.forms[i].elements[j].disabled;
          frames[h].document.forms[i].elements[j].disabled = true
        }
      }
      IELinkClicks[h] = new Array()
      for (i = 0; i < frames[h].document.links.length; i++)
      {
        IELinkClicks[h][i] = frames[h].document.links[i].onclick
        frames[h].document.links[i].onclick = deadend
      }
    }
  }
  else
  {
    for (var i = 0; i < document.forms.length; i++)
    {
      DisableItems[i] = new Array();
      for (var j = 0; j < document.forms[i].elements.length; j++)
      {
        DisableItems[i][j] = document.forms[i].elements[j].disabled;
        document.forms[i].elements[j].disabled = true
      }
    }
    for (i = 0; i < document.links.length; i++)
    {
      IELinkClicks[i] = document.links[i].onclick
      document.links[i].onclick = deadend
    }
  }
}
function enableForms()
{
  if (frames.length > 0)
  {
    for (var h = 0; h < frames.length; h++)
    {
      for (var i = 0; i < frames[h].document.forms.length; i++)
      {
        for (var j = 0; j < frames[h].document.forms[i].elements.length; j++)
          frames[h].document.forms[i].elements[j].disabled = DisableItems[h][i][j]
      }
      for (i = 0; i < frames[h].document.links.length; i++)
        frames[h].document.links[i].onclick = IELinkClicks[h][i]
    }
  }
  else
  {
    for (var i = 0; i < document.forms.length; i++)
    {
      for (var j = 0; j < document.forms[i].elements.length; j++)
        document.forms[i].elements[j].disabled = DisableItems[i][j]
    }
    for (i = 0; i < document.links.length; i++)
      document.links[i].onclick = IELinkClicks[i]
  }
}

function checkfocus()
{
  if (!msgWindow.closed)
    msgWindow.focus();
  else
  {
    window.onfocus=deadend;
    enableForms();
    setFocus(false);
    msgWindow="";
  }
}

function setFocus(enable)
{
  if (frames.length > 0)
  {
    for (var h = 0; h < frames.length; h++)
    {
      for (var i = 0; i < frames[h].document.forms.length; i++)
      {
        for (var j = 0; j < frames[h].document.forms[i].elements.length; j++)
          frames[h].document.forms[i].elements[j].onfucos = (!enable?deadend:checkfocus);
      }
      for (i = 0; i < frames[h].document.links.length; i++)
        frames[h].document.links[i].onfucos = (!enable?deadend:checkfocus);
    }
  }
  else
  {
    for (var i = 0; i < document.forms.length; i++)
    {
      for (var j = 0; j < document.forms[i].elements.length; j++)
        document.forms[i].elements[j].onfucos = (!enable?deadend:checkfocus);
    }
    for (i = 0; i < document.links.length; i++)
      document.links[i].onfucos = (!enable?deadend:checkfocus);
  } 
}

function checkunload()
{
  if (msgWindow!=null && msgWindow!="")
    msgWindow.close();
}



function closewin(refreshOpener, refreshW)
{
  var pageAction = Number(getValue("pageAction"));
  var prefix = document.all.item("prefix");
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  var refered = getValue("refered");
  var temp = getRefModule();
  var referModule = "";
  if (temp!=null)
    referModule = temp.value;
  if (location.href.indexOf ("lovType")!=-1 ||
      window.opener!=null)
    checkRefresh(true)
  var istree= null;
  if (prefix!=null)
    istree = document.all.item(prefix.value+"_istree");
  var param="";
  var moduleId = getValue("moduleId");
  actionName="/" + actionName
  if (refered!="" && refered.length>0 && refered!= "null" && refered=="1")
  {
    moduleId=referModule;
    referModule=getValue("moduleId");
    temp = getRefAction();
    if (temp!=null)
      actionName=temp.value;
  }
  switch (pageAction)
  {
    case 5:
    case 6:
    case 8:
      if (istree!=null)
      	run_module(contextPath+actionName+"?refered=0&referModule="+referModule+"&moduleId="+moduleId+"&pageAction=4&isfirst=1&language_id="+lang, "navigate", 1, null, "search",0,0);
      else
      	run_module(contextPath+actionName+"?refered=0&referModule="+referModule+"&moduleId="+moduleId+"&pageAction=21&language_id="+lang, "navigate", 1, null, "search",0,0);
      break;
    default:
      run_module(contextPath+"/login.jsp", "navigate", 1, null, "search",0,0);
  }
  /*if (refreshOpener)
  {
    if (opener!=null)
      if (opener.location!=null)
        opener.location.reload();
  }
  if (refreshW)
    if (refreshW.location!=null)
      refreshW.location.reload();
  close();
  if (window != null)
    window.close();
  if (parent != null)
  {
    parent.close();
    if (parent.parent != null)
      parent.parent.close();
  }*/
}


function setCheckBox(blk,itm)
{
  if (itm!=null)
  {
    if (blk.checked)
      itm.value=blk.value;
    else
      itm.value="0";
    formchange(blk);
    try
    {
      blk.onchange();
    }
    catch (e)
    {}
  }
}


function setValue (itm, val,row)
{
	vals = findItem(itm, row);
	if (vals != null)
  {
    if (vals.type!="select-one")
      vals.value = trim(val);
    else
      vals.value = trim(val);
    try
    {
      vals.onchange();
    }
    catch (e){}
    formchange(vals);
  }
}

function getValue (itm,row)
{
  vals = findItem(itm, row);
  if (vals != null)
    return vals.value;
  else
    return "";
}

function trim(inputString)
{
  return removeLeadingAndTrailingChar(inputString," ");
}

function removeLeadingAndTrailingChar (inputString, removeChar) 
{
	var returnString = ""+inputString;
	if (removeChar.length)
	{
	  while(''+returnString.charAt(0)==removeChar)
		{
		  returnString=returnString.substring(1,returnString.length);
		}
		while(''+returnString.charAt(returnString.length-1)==removeChar)
	  {
	    returnString=returnString.substring(0,returnString.length-1);
	  }
	}
	return returnString;
}

function setContextPath(ctxPath)
{
  contextPath = ctxPath;
  NACC.contextPath = ctxPath;
}

function checkLength(obj, len)
{
  if (obj.value.length==len)
    event.returnValue=false;
  window.status = obj.value.length;
}

function setReturnValue (retStr,argName, argVal)
{
  retStr = retStr + argName + "=" + argVal + "|";
  return retStr;
}
function getReturnValue (retStr,argName)
{
  srchStr1 = "|"+argName+"=";
  srchStr2 = argName+"=";
  ind1 = retStr.indexOf(srchStr1);
  ind3 = retStr.indexOf(srchStr2);
  if ((ind1!=-1 && retStr != "") || (ind1 == -1 && ind3==0) )
  {
    ind2 = retStr.indexOf ("|",ind1+1);
    if (ind1!=-1)
      ind1 += srchStr2.length+1;
    else
      ind1 = srchStr1.length-1;
    if (ind2 != -1)
      return retStr.substr(ind1, ind2-ind1);
    else
      return retStr.substr(ind1);
  }
}


function checkAllCheckBox(name, action, prefix, property)
{
  if (prefix==null)
    prefix = document.all.item("prefix").value;
  if (property!=null)
    name = property+"_"+name;
  var chkName=prefix+"_"+(action==null?"":action+"_")+"chk"+name;
  var chkTextName=prefix+"_"+(action==null?"":action+"_")+name;
  var hidden = document.all.item(chkTextName);
  var check = document.all.item(chkName);
  if (check!=null)
  {
    if (check.length!=null)
    {
      for (i=0;i<check.length;i++)
      {
        if (!check[i].disabled)
        {
          check[i].checked=(check[i].checked?false:true);
          hidden[i].value=(check[i].checked?check[i].value:"");
          try
          {
            check[i].onchange();
          }
          catch (e)
          {
            
          }
        }
      }
    }
    else
    {
      if (!check.disabled)
      {
        check.checked=(check.checked?false:true);
        hidden.value=(check.checked?check.value:"");
        try
        {
          check.onchange();
        }
        catch (e)
        {
          
        }
      }
    }
  }
}

function checkAllIsActive()
{
  checkAllCheckBox("isActive",null);
}
function checkall()
{
  checkAllCheckBox ("deleteitem","search");
}

function deleteModules()
{
  var delbtn = document.all.item("btndelete");
  if (delbtn!=null);
          delbtn.disabled=true;	
  if (has_select())
  {
    //var retval = show_message("delete_confirm");
    var retval = "1";
    if (retval!=null && retval=="1")
    {
      setValue("pageAction", 3, null)
      document.forms[0].submit();
    }
  }
  else if (delbtn!=null);
    delbtn.disabled=false;	

}

function archiveMessages()
{
  var delbtn = document.all.item("btnarchive");
  if (delbtn!=null);
      delbtn.disabled=true;	
  if (has_select())
  {
    //var retval = show_message("delete_confirm");
    var retval = "1";
    if (retval!=null && retval=="1")
    {
      setValue("pageAction", 3, null)
      setValue("isArchive", 1, null)
      document.forms[0].submit();
    }
  }
  else if (delbtn!=null);
    delbtn.disabled=false;	
  setValue("isArchive", 0, null)
}


function getRefAction()
{
  var referModule = document.all.item("referAction");
  if (referModule!=null)
  {
    try
    {
      if (referModule.length)
        return referModule[referModule.length-1];
      else referModule;
    }
    catch(e)
    {
      return referModule;
    }
  }
  else
    return null;
}


function getRefModule()
{
  var referModule = document.all.item("referModule");
  if (referModule!=null)
  {
    try
    {
      if (referModule.length)
        return referModule[referModule.length-1];
      else 
        return referModule;
    }
    catch(e)
    {
      return referModule;
    }
  }
  else
    return null;
      
}

function showNewModule()
{
  var prefix = document.all.item("prefix");
  var itm = document.all.item("btnnew");
  var referModule = getRefModule();
  itm.disabled=true;
  var s;
  var param = "";
  //alert(additionalNewParam);
  var add = document.all.item(prefix.value+"_search_additionalNewParam");
  if (add!=null)
    additionalNewParam = add.value;
  if(additionalNewParam!=null)
    s = additionalNewParam.split(",");
  if (s!=null && s.length!=0)
  {
    for (i=0;i<s.length;i++)
    {
      var p = s[i].split("=");
      if (p[1]!="" && p[1]!="null" && p[1]!=null)
        if (param!="")
          param += "&"+s[i];
        else
          param += s[i];
    }
    if (param!="")
      param = "&"+param;
  }
  else
    if (additionalNewParam!=null)
      param = additionalNewParam;
  lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  if (referModule!=null &&  referModule.value!="null" && referModule.value!="" && referModule.value.length>0)
    if (param!=null)
      param += "&referModule="+referModule.value;
    else
      param = "&referModule="+referModule.value;
  run_module(contextPath+"/"+actionName+"?language_id="+lang+"&moduleId="+getValue("moduleId")+"&pageAction=1"+param, "navigate", 1, null, "newmodule",0,0);
}

function editModules(id,action)
{
  lang = languageId;
  if (action==null || action=="" || action=="undefined")
  	action = 2;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  var referModule = getRefModule();
  var param = "";
  if (referModule!=null &&  referModule.value!=null && referModule.value!="null" && referModule.value!="" && referModule.value.length>0)
    param = "&referModule="+referModule.value;
  run_module(contextPath+"/"+actionName+"?moduleId="+getValue("moduleId")+"&pageAction="+action+"&"+id+"&language_id="+lang+param, "navigate", 0, null, "parametersform",0,0);
}



function has_select(name)
{
  var prefix = document.all.item("prefix");
  var check = document.all.item(prefix.value+"_search_chk"+(NACC.isEmpty(name)?"deleteitem":name));
  if (check!=null)
  {
    if (check.length!=null)
    {
      for (i=0;i<check.length;i++)
        if (check[i].checked)
          return true;
    }
    else
      if (check.checked)
        return true;
  }
  show_message("selectone");
  return false;
}

function showfirst()
{
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  run_module(contextPath+"/"+actionName+"?language_id="+lang+"moduleId="+moduleId+"&pageAction=7", "navigate", 0, null, "buform",320,180);
}

function reloadme()
{
  window.location.href= contextPath+"/"+actionName+window.location.search;
}

function setQueryValue()
{
  query = document.all.item("query");
  if (query!=null)
    query.value = window.location.search.substr(1);
}

function returnValues(vals)
{
  window.returnValue = vals;
  if (parent != null)
  {
    parent.returnValue = vals
    if (parent.parent != null)
      parent.parent.returnValue = vals
  }
  closewin();
}

function goPage(n, isAjax)
{
	var useSubmit = true;
	var shouldSubmit = false
	try
	{
		shouldSubmit=beforeSearch();
	}
	catch (ex)
	{
		shouldSubmit=true
	}
	try
	{
		if (loadTabData1 && isAjax && shouldSubmit)
			loadTabData1(n);
		useSubmit=false;
	}
	catch (e)
	{
		useSubmit=true;
	}
	
	if (useSubmit && shouldSubmit)
	{
	  setValue ("currentPage", n, null);
	  if (event!=null)
	  {
	    if (event.type!="submit")
	      document.forms[0].submit();
	  }
	  else
	    document.forms[0].submit();
	}
}

function search()
{
  var test = true;
  try
  {
    test = beforeSearch();
  }
  catch (e)
  {
  }
  if (test)
    goPage(1);
}

function clearForm()
{
  var inputs = document.all.tags("INPUT");
  var selects = document.all.tags("SELECT");
  var textareas = document.all.tags("TEXTAREA");
  var files = document.all.tags("FILE");
  if (inputs!=null)
    if (inputs.length!=null)
      clearItems(inputs);
    else
      clearItem(inputs);
  if (selects!=null)
    if (selects.length!=null)
      clearItems(selects);
    else
      clearItem(selects);
  if (files!=null)
    if (files.length!=null)
      clearItems(files);
    else
      clearItem(files);
  if (textareas!=null)
    if (textareas.length!=null)
      clearTextAreas(textareas);
    else
      clearTextArea(textareas);
  try
  {
    resetme();
  }
  catch (e)
  {
  }
}

function clearItems(itms)
{
  for (i=0; i<itms.length;i++)
    if (itms[i].clearOnReset=="true")
    {
      try
      {
        if (itms[i].type.toLowerCase()!="radio" && itms[i].type.toLowerCase()!="checkbox")
          itms[i].value="";
        else
        {
          if (itms[i].radionDefaultValue!=null && 
              itms[i].radionDefaultValue!="undefined")
            itms[i].checked=(itms[i].radionDefaultValue==itms[i].value);
          else
            itms[i].checked=false;
        }
      }
      catch (e)
      {
        itms[i].value="";
      }
      
    }
}

function clearItem(itm)
{
  if (itms.clearOnReset=="true")
    itms.value="";
}

function clearTextAreas(itms)
{
  for (i=0; i<itms.length;i++)
    if (itms[i].clearOnReset=="true")
      itms[i].innerText="";
}

function clearTextArea(itm)
{
  if (itms.clearOnReset=="true")
    itms.innerText="";
}

function checkKafYa()
{
  if (event.keyCode==1705  ||
      event.keyCode==1706  ||
      event.keyCode==1707  ||
      event.keyCode==1708  ||
      event.keyCode==1709  ||
      event.keyCode==1710  ||
      event.keyCode==64398 ||
      event.keyCode==65241)
    event.keyCode = 1603;
  if (event.keyCode==1609  ||
      event.keyCode==1740  ||
      event.keyCode==1741  ||
      event.keyCode==1742  ||
      event.keyCode==1744  ||
      event.keyCode==1745  ||
      event.keyCode==1746  ||
      event.keyCode==1747  ||
      event.keyCode==64508 ||
      event.keyCode==64509 ||
      event.keyCode==65263 ||
      event.keyCode==65264 ||
      event.keyCode==65265 ||
      event.keyCode==65266)
    event.keyCode = 1610;
}

function getXMLHTTPRequest ()
{
  var req = null;
  try 
  {
    req = new XMLHttpRequest(); /* e.g. Firefox */
  } 
  catch(e) 
  {
    try 
    {
      req = new ActiveXObject("Msxml2.XMLHTTP");  /* some versions IE */
    } 
    catch (e) 
    {
      try 
      {
        req = new ActiveXObject("Microsoft.XMLHTTP");  /* some versions IE */
      } 
      catch (e) 
      {
        req = null;
      }
    }
  }
  return req;
}

function getContextPath()
{
  return contextPath;
}

function setModuleId(mId)
{
  moduleId = mId;
}

function getModuleId()
{
  return moduleId;
}


function showTreeFirstPage()
{
  var prefix = document.all.item("prefix");
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  var param = "";
  if (prefix!=null)
    param = "language_id="+lang+"&moduleId="+getModuleId()+"&"+prefix.value+"_search_parent_id=&"+prefix.value+"_search_group_id=&pageAction=4&isfirst=1"; 
  else
    param = "language_id="+lang+"&moduleId="+getModuleId()+"&search_parent_id=&search_group_id=&pageAction=4&isfirst=1"; 
  run_module(contextPath+"/"+actionName+"?"+param, "navigate", 0, null, "",0,0);
}

function clearLov(blk)
{
  var fieldStrings = blk.fieldsString;
  var lovItemsArray = fieldStrings.split(',');
  for (i=0; i<lovItemsArray.length;i++)
  {
    var lovItemArray = lovItemsArray[i].split('=');
    var itm = document.all.item(lovItemArray[0]);
    if (itm.defValue!=null)
      itm.value=itm.defValue;
    else
      itm.value="";
    try
    {
      itm.onchange();
    }
    catch (e){}
  }
}
function showLov(blk, lovName)
{
  var fieldStrings = blk.fieldsString;
  var tempparam = blk.parameters;
  var lovItemsArray = fieldStrings.split(',');
  var parameters = null;
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  for (i=0; i<lovItemsArray.length;i++)
  {
          var lovItemArray = lovItemsArray[i].split('=');
          var value = document.all.item(lovItemArray[0]).value;
          var lovItem = new LOVItems(lovItemArray[1],lovItemArray[0],value);
          lovArrayValue[i] = lovItem;
  }
  if (tempparam!=null && tempparam.length!=0)
  {
    var paramArray=tempparam.split(",");
    for (j=0; j<paramArray.length;j++)
      if (parameters==null)
        parameters = paramArray[j];
      else
        parameters = parameters+ "&"+ paramArray[j];
  }
  var w = null;
  if (parameters!=null && parameters.length!=0)
    w = run_lov(contextPath+"/lov.do?moduleId="+moduleId+"&language_id="+lang+"&pageAction=9&lovname="+lovName+"&parameters=" + parameters, "open", 0, null, "",blk.lovWidth,blk.lovHeight);
  else
    w = run_lov(contextPath+"/lov.do?moduleId="+moduleId+"&language_id="+lang+"&pageAction=9&lovname="+lovName, "open", 0, null, "",blk.lovWidth,blk.lovHeight);
}

function showNewLov(action, blk, lovName)
{
  var fieldStrings = blk.fieldsString;
  var tempparam = blk.parameters;
  var lovItemsArray = fieldStrings.split(',');
  var parameters = null;
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  for (i=0; i<lovItemsArray.length;i++)
  {
          var lovItemArray = lovItemsArray[i].split('=');
          var value = document.all.item(lovItemArray[0]).value;
          var lovItem = new LOVItems(lovItemArray[1],lovItemArray[0],value);
          lovArrayValue[i] = lovItem;
  }
  if (tempparam!=null && tempparam.length!=0)
  {
    var paramArray=tempparam.split(",");
    for (j=0; j<paramArray.length;j++)
      if (parameters==null)
        parameters = paramArray[j];
      else
        parameters = parameters+ "&"+ paramArray[j];
  }
  if (parameters==null)
    parameters = "first=1";
  else
    parameters = parameters+ "&first=1";
  var w = null;
  if (parameters!=null && parameters.length!=0)
    w = run_lov(contextPath+"/"+action+"?moduleId="+moduleId+"&lovType=0&language_id="+lang+"&pageAction=9&lovname="+lovName+"&" + parameters, "open", 0, null, "",blk.lovWidth,blk.lovHeight);
  else
    w = run_lov(contextPath+"/"+action+"?moduleId="+moduleId+"&lovType=0&language_id="+lang+"&pageAction=9&lovname="+lovName, "open", 0, null, "",blk.lovWidth,blk.lovHeight);
}



function setLovValues()
{
  for (i=0; i<lovArrayValue.length;i++)
  	setValue(lovArrayValue[i].itemName,trim(lovArrayValue[i].value));
  lovArrayValue = new Array();
}

function LOVItems(lovItemName, itemName)
{
	this.value="";
	this.lovItemName = lovItemName;
	this.itemName = itemName;
}

function LOVItems(lovItemName, itemName, value)
{
	this.value=value;
	this.lovItemName = lovItemName;
	this.itemName = itemName;
}

function removeOneFromListBox(blk)
{
	selectSelectedFromListBoxToListBox(blk.name+blk.rownum,blk.name+"List"+blk.rownum) ;
}

function selectOneFromListBox(blk)
{
	selectSelectedFromListBoxToListBox(blk.name+blk.rownum,JSReplace(blk.name,"List","")+blk.rownum) ;
}

function selectAllFromList(prefix, name, rownum)
{
	selectAllFromListBoxToListBox(prefix+"_"+name+"List"+rownum, prefix+"_"+name+rownum) ;
}

function selectAllFromListBoxToListBox(from,to)
{
	var from = document.all.item (from);
	var to = document.all.item (to);
	while (from.options.length!=0)
	{
		from.options[0].selected=true;
		to.insertAdjacentElement("beforeEnd",from.options[0]);
	}
	formchange(from);
        from.onchange();
        to.onchange();
	selectAllItemsInList(from);
}

function removeAllFromList(prefix, name, rownum)
{
	selectAllFromListBoxToListBox(prefix+"_"+name+rownum,prefix+"_"+name+"List"+rownum) ;
}

function selectOneFromList(prefix, name, rownum)
{
	selectSelectedFromListBoxToListBox(prefix+"_"+name+"List"+rownum, prefix+"_"+name+rownum) ;
}

function removeOneFromList(prefix, name, rownum)
{
	selectSelectedFromListBoxToListBox(prefix+"_"+name+rownum, prefix+"_"+name+"List"+rownum ) ;
}
function selectSelectedFromListBoxToListBox(from,to)
{
	var from = document.all.item (from);
	var to = document.all.item (to);
	var opt = from.options;
	var newOpt = new Array();
	var j=Number(0);
	for (i=0;i<opt.length;i++)
	{
		if (opt[i].selected)
		{
			var tempOpt = document.createElement("OPTION");
			tempOpt.value = opt[i].value;
			tempOpt.innerText = opt[i].innerText;
			tempOpt.selected=true;
			to.insertAdjacentElement("beforeEnd",tempOpt);
			newOpt[j++] = opt[i];
		}
	}
	for (i=0; i<newOpt.length;i++)
		from.removeChild(newOpt[i]);
	formchange(from,from.rownum);
        from.onchange();
        to.onchange();

	selectAllItemsInList(from);
}

function selectAllItemsInList(fromObj)
{
	for (var i=0; i<fromObj.options.length;i++)
		fromObj.options[i].selected=true;
}

function setActionName(actionName)
{
	this.actionName = actionName;
}

function syncFromTo (itm,rownum)
{
        var baseItem = document.all.item(itm);
        var fromItem = document.all.item(JSReplace(baseItem.name,"search_","")+"From"+rownum);
	var toItem = document.all.item(JSReplace(baseItem.name,"search_","")+"To"+rownum);
	if (fromItem!=null && toItem!=null)
        {
          if(fromItem.value.length!=0 && toItem.value.length!=0)
            baseItem.value=fromItem.value+"-"+toItem.value;
          else if(fromItem.value.length!=0)
            baseItem.value=fromItem.value+"-null";
          else if(toItem.value.length!=0)
            baseItem.value="null-"+toItem.value;
          else
            baseItem.value="";
        }
        else
          baseItem.value="";
}

function showUpDown(divId)
{
	try
	{
	  basetable.rows[0].cells[1].style.height=basetable.offsetHeight+"px";
	}
	catch (e)
	{
	}
	
	var image=document.all.item("img"+divId.groupid);
	if (divId.style.display=="none")
	{
		divId.style.display="";
		image.src = JSReplace(image.src,"down.gif","up.gif");
	}
	else
	{
		divId.style.display="none";
		image.src = JSReplace(image.src,"up.gif","down.gif");
	}
/*	if (document.body.scrollHeight>document.body.offsetHeight)
		divId.style.height=(divId.offsetHeight-(document.body.scrollHeight-document.body.offsetHeight)-10)+"px";*/
	
}

function setProfile(profile)
{
	this.profile = profile;
}

function resetForm()
{
  try
  {
    document.forms[0].reset();
    clearForm();
    resetme();
  }
  catch (e)
  {
  }
}

function resetForm()
{
  try
  {
    document.forms[0].reset();
    resetme();
  }
  catch (e)
  {
  }
}


function showTime(blk)
{
  alert((new Date()).toString());
}

function fixFooterPrp()
{
//  hideFooter();
  fixFooter();
}
function fixFooter()
{
  try
  {
    if (document.readyState=="complete")
    {
      var t = 0;
      if (footer.style.display=="none")
        t = document.body.offsetHeight-(document.body.scrollHeight+24);
      else
        t = document.body.offsetHeight-document.body.scrollHeight;
      if (t<0)
        footer.style.position = "";
      else
      { 
        footer.style.position = "absolute";
        footer.style.bottom=0;
      }
      footer.style.display="";
    }
  }
  catch (e){}
}

function hideFooter()
{
  try
  {
    footer.style.display="none";
  }
  catch (e){}
}


function moreHelp(hideObj,showObj)
{
  hideObj.style.display="none";
  showObj.style.display="";
}

function refreshMe()
{
  //if (document.forms[0]
  //document.location.reload();
  var nav = true;
  try
  {
  	nav = beforeRefresh();
  }
  catch (exp)
  {
  	nav = true;
  }
  if (nav)
  	window.navigate (fullUrl);
}
function changeLanguage(itm)
{
  fullUrl = JSReplace(JSReplace(fullUrl,"language_id="+languageId,"language_id="+itm.value),
                              "languageId="+languageId,"languageId="+itm.value);
  //alert(fullUrl);
  window.navigate (fullUrl);
}

function setFullUrl(url)
{
  fullUrl = url;
}
function setLanguageId(id)
{
  languageId = id;
}

function formatNumber(blk)
{
  if (onlyNumbers(blk))
  {
    //blk.value = (new Number(JSReplace(blk.value,",",""))).toLocaleString();
    blk.value = comma(JSReplace(blk.value,",",""));
  }
}

function comma(number) 
{
  number = '' + number;
  var point=null;
  if (number.indexOf(".")!=-1)
  {
    point = number.substring(number.indexOf(".")+1);
    number = number.substring(0,number.indexOf("."));
  }
  if (number.length > 3) 
  {
    
    var mod = number.length % 3;
    var output = (mod > 0 ? (number.substring(0,mod)) : '');
    for (i=0 ; i < Math.floor(number.length / 3); i++) 
    {
      if ((mod == 0) && (i == 0))
        output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
      else
        output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
    }
    if (point!=null && Number(point)!=0)
      return (output+"."+comma(''+point));
    else
      return (output);
  }
  else 
  {
    if (point!=null && Number(point)!=0)
      return (number+"."+comma(''+point));
    else 
      return number;
  }
 }
 

function enableAllItems()
{
  for (var i=0; i<document.forms[0].elements.length;i++)
  {
    document.forms[0].elements[i].disabled = false;
    document.forms[0].elements[i].readOnly=false;
  }
}

function showWaitMessage(top)
{
  var wait = document.all.item("waitDiv");
  if (wait!=null)
  {
    wait.style.top=top
    wait.style.display="";
  }
}


function hideWaitMessage(top)
{
  var wait = document.all.item("waitDiv");
  if (wait!=null)
    wait.style.display="none";
}

function showClosableDiv(name, width, height, top, left, myRtl, text , title, url, tempObj, center)
{
  var w = Number(width)-12;
  var div = "<div dir=\""+(myRtl==1?"rtl":"ltr")+"\" id=\"closableDiv\" class=\"closableDiv\" style=\"width:"+width+"px;height:"+height+"px\"  width=\""+width+"px\" height=\""+height+"px\">"+
            "	<table class=\"tableClosableDiv\" width=\"100%\">"+
            "		<tr>"+
            "			<td id=\"closableTitle\" width=\""+width+"px\">"+
            "				"+title+
            "			</td>"+
            "			<td width=\"12px\">"+
            "				<img onclick=\"closeClosableDiv()\" style=\"cursor:hand\" src=\""+contextPath+"/images/"+profile+"/kernel/close.gif\">"+
            "			</td>"+
            "		</tr>"+
            "		<tr>"+
            "			<td colspan=2>"+
            "				<hr>"+
            "			</td>"+
            "		</tr>"+
            "		<tr>"+
            "			<td colspan=2>"+
            "				<span id=\"theText\">"+
            "				</span>"+
            "			</td>"+
            "		</tr>"+
            "		<tr>"+
            "			<td colspan=2>"+
            "				<hr>"+
            "			</td>"+
            "		</tr>"+
            "	</table>"+
            "</div>";
  var test = document.all.item("closableDiv");
  if (test==null)
  {
    document.body.insertAdjacentHTML("beforeEnd",div);
    test = document.all.item("closableDiv");
  }
  if (test!=null)
  {
    test.style.top=top;
    test.width=width+"px";
    test.style.width=width+"px";
    test.height=height+"px";
    test.style.height=height+"px";
    var temp = left;
    if (center==null || center=="undefined" || center==1)
    {
      if (!isNaN(width))
      {
        temp =  document.body.offsetWidth/2 - Number(width) /2;
        if (temp<0)
          temp = left;
      }
    }
    if (myRtl==1)
      test.style.right=temp;
    else
      test.style.left=temp;
    test = document.all.item("theText");
    if (url!=null && url!="undefined")
    {
      showWaitMessage(top);
      var softXMLLib = new SoftXMLLib();
      var ajxObj = softXMLLib.createAjaxObject();
      ajxObj.open ("get",url,true); 
      ajxObj.setRequestHeader("CACHE-CONTROL","no-cache");
      ajxObj.onreadystatechange=setClosabledivUrl;
      document.closableDiv = ajxObj;
      ajxObj.send(); 
    }
    if (tempObj!=null && tempObj!="undefined")
    {
      document.all.item("closableDiv").style.display="";
      test.innerHTML = tempObj.innerHTML;
    }
    else
    {
      test.innerHTML = text;
      document.all.item("closableDiv").style.display="";
    }
    test = document.all.item("closableTitle");
    if (test!=null)
      test.innerHTML = title;
  }
}

function setClosabledivUrl()
{
  var ajxObj= document.closableDiv;
  if (ajxObj.readyState==4)
  {
    var test = document.all.item("theText");
    var html = unescape(ajxObj.responseText);
    test.innerHTML = ajxObj.responseText;
    document.all.item("closableDiv").style.display="";
    hideWaitMessage(0);
  }
}

function closeClosableDiv()
{
  if (document.all.item("closableDiv")!=null)
    document.all.item("closableDiv").style.display="none";
}



function showMessageDiv(text, className)
{
  var div = "<div id=\"messageDiv\" class=\""+className+"\" height=\"20px\">"+
            "	<table class=\"tableMessageDiv\" width=\"90%\">"+
            "		<tr>"+
            "			<td id=\"messageTitle\" width=\"100%px\">"+
            "				"+text+
            "			</td>"+
            "			<td width=\"12px\">"+
            "				<img onclick=\"closeMessageDiv()\" style=\"cursor:hand\" src=\""+contextPath+"/images/"+profile+"/kernel/close.gif\">"+
            "			</td>"+
            "		</tr>"+
            "	</table>"+
            "</div>";
  var test = document.all.item("messageDiv");
  if (test==null)
  {
    document.body.insertAdjacentHTML("beforeEnd",div);
    test = document.all.item("messageDiv");
  }
  if (test!=null)
  {
    test = document.all.item("messageTitle");
    test.innerHTML = text;
    document.all.item("messageDiv").style.display="";
  }
}

function closeMessageDiv()
{
  if (document.all.item("messageDiv")!=null)
    document.all.item("messageDiv").style.display="none";
}


function selectAllListBoxes()
{
  var itm = document.all.tags("select");
  if (itm!=null && itm.length!=null)
  {
    for (var i=0; i<itm.length; i++)
    {
      if (itm[i].size!=null && itm[i].size!="" && itm[i].size>1)
        selectAllItemsInList(itm[i]);       
    }
  }
  else if (itm!=null && itm.length==null)
    if (itm.size!=null && itm.size!="" && itm.size>1)
      selectAllItemsInList(itm[i]);       
}

function loadUrl(u, func)
{
  var softXMLLib = new SoftXMLLib();
	var ajxObj = softXMLLib.createAjaxObject();
  ajxObj.open ("get",u,true); 
	ajxObj.setRequestHeader("CACHE-CONTROL","no-cache");
	if (func==null)
    ajxObj.onreadystatechange=showUrl;
  else
    ajxObj.onreadystatechange=func;
  document.ajax = ajxObj;
	ajxObj.send(); 
}

function showUrl()
{
  var ajxObj= document.ajax;
  if (ajxObj.readyState==4)
  {
    var html = unescape(ajxObj.responseText);
    showClosableDiv("newdir", 500, 100, 70, 265, 1,html, "", null, null,1);
  }
}


function findHiddenItems(name)
{
	var retval = new Array();
	var inp = document.all.tags("input");
	var i = Number(0);
	for (j=0; j<inp.length;j++)
		if (inp[j].name.indexOf(name)!=-1 && inp[j].type=="hidden")
		{
			retval[i]=inp[j];
			i++;
		}
	return retval;
}


function showPopupWin(html, left,top, Height, width)
{
  var oPopupBody = oPopup.document.body;
  var oPopupDoc = oPopup.document;
  var lefter = left
  var topper = top
  oPopupBody.innerHTML = html
  if (languageId==1)
    oPopupBody.dir="rtl";
  oPopup.show(lefter, topper, width, Height, document.body);
  document.body.onmouseup = closePopupWin;
}

function closePopupWin()
{
  oPopup.hide();
}


function makeLovXMLObject(lovName, fieldStrings, tempparam, width)
{
  //setLovCSS();
  var lovTempArrayValue=new Array();
  var lovItemsArray = fieldStrings.split(',');
  var parameters = null;
  var lang = languageId;
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("language_id");
  if (lang==null || lang=="" || lang.length==0)
    lang = getValue("report_language_id");
  for (i=0; i<lovItemsArray.length;i++)
  {
    var lovItemArray = lovItemsArray[i].split('=');
    var lovItem = new LOVItems(lovItemArray[1],lovItemArray[0],"");
    lovTempArrayValue[i] = lovItem;
  }
  if (tempparam!=null && tempparam.length!=0)
  {
    var paramArray=tempparam.split(",");
    for (j=0; j<paramArray.length;j++)
      if (parameters==null)
        parameters = paramArray[j];
      else
        parameters = parameters+ "&"+ paramArray[j];
  }
  var u = "";
  if (parameters!=null && parameters.length!=0)
    u = contextPath+"/lov.do?moduleId="+moduleId+"&language_id="+lang+"&pageAction=10&lovname="+lovName+"&parameters=" + parameters;
  else
    u = contextPath+"/lov.do?moduleId="+moduleId+"&language_id="+lang+"&pageAction=10&lovname="+lovName;
  var xslu = contextPath+"/xml/kernel/lovxsl.jsp?moduleId="+moduleId+"&pageAction=10&lovname="+lovName+"&language_id="+lang;
  var lovObject = findLOVXmlObjectArray(lovName);
  if (lovObject==null)
  {
    lovObject= new SoftLOVXMLLib(lovName, u, width, lovTempArrayValue, xslu);
    lovXMLObjectArray[lovXMLObjectArray.length]=lovObject
    //lovObject.xslObject.onreadystatechange = new Function ("test(\""+lovName+"\");");
    lovObject.openXML();
  }
}
function test(lovName)
{
  var ajxObj= findLOVXmlObjectArray(lovName).xslObject;
  if (ajxObj.readyState==4)
  {
    var html = unescape(ajxObj.responseText);
    alert(html);
  } 
}
function findLOVXmlObjectArray(lovName)
{
  for (var i=0; i<lovXMLObjectArray.length; i++)
  {
    var temp = lovXMLObjectArray[i];
    if (temp.name==lovName)
      return temp;
  }
  return null;
}


function lovKeyup(blk,lovName)
{
  var lov = findLOVXmlObjectArray(lovName);
  lov.isSelect=false;
  clearLovItems(lov.lovItemArray, blk.id, blk.rownum);
  if (blk.value=="" || blk.value.length<4)
  {
    oPopup.hide();
    return;
  }
  
  var html = lov.getHtml(blk.value);
  //html += blk.rownum
  //alert(html)
  oPopup = window.createPopup();
  var oPopupDoc = oPopup.document;
  var styles = "";
  styles = oPopupDoc.createStyleSheet(contextPath+"/css/"+profile+"/lovcss.jsp");
  var oPopupBody = oPopupDoc.body;
  var temp = oPopupDoc.createElement("script");
  temp.id = "lovscript";
  temp.src = contextPath+"/scripts/kernel/lov.js";
  oPopupDoc.appendChild(temp);
  if (languageId==1)
    oPopupBody.dir="rtl";
  if (languageId==1)
    oPopup.show(getElementLeft(blk)-lov.size+blk.offsetWidth, getElementTop(blk)+20, lov.size, 120, document.body);
  else
    oPopup.show(getElementLeft(blk), getElementTop(blk)+20, lov.size, 120, document.body);
  oPopupBody.innerHTML = html;
  oPopupBody.rownum=blk.rownum;
  oPopupBody.className="lovbody";
  //document.body.onmouseup = closePopupWin;
  
  //showPopupWin(, blk.offsetLeft,blk.offsetTop, 300, lov.size);
}

function setLovCSS()
{
  if (lovCss==null)
  {
    lovCss = createAjaxObject();
    lovCss.open ("get",contextPath+"/css/"+profile+"/lovcss.jsp",true); 
    lovCss.setRequestHeader("CACHE-CONTROL","no-cache");
    lovCss.send(); 
  }
}

function getElementRight( eElement )
{
	return getElementLeft(eElement)+eElement.offsetWidth;
}

function getElementLeft( eElement )
{
	var nLeftPos = eElement.offsetLeft;
	var eParElement = eElement.offsetParent;
	while( eParElement != null )
	{
		if( ( eParElement.tagName != "table" ) && ( eParElement.tagName != "body" ) )
		{
			nLeftPos += eParElement.clientLeft;
		}
		if (eParElement.width!=null && eParElement.width!="")
		{
			try
			{
				if (eParElement.width!=eParElement.offsetWidth && eParElement.width.indexOf("%")==-1)
					nLeftPos += (eParElement.offsetWidth - eParElement.width) - 4;
			}
			catch(e)
			{
			}
		}
		nLeftPos += eParElement.offsetLeft;
		eParElement = eParElement.offsetParent;
	}
	return nLeftPos;
}

function getElementTop( eElement )
{
  var nTopPos = eElement.offsetTop;
  var eParElement = eElement.offsetParent;
  while(eParElement != null)
  {
    if( ( eParElement.tagName != "table" ) && ( eParElement.tagName != "body" ) )
    {
            nTopPos += eParElement.clientTop;
    }
    nTopPos += eParElement.offsetTop;
    eParElement = eParElement.offsetParent;
  }
  return nTopPos;
}

function getElementBottom( eElement )
{
  var nDownPos = eElement.offsetTop + eElement.offsetHeight;
  var eParElement = eElement.offsetParent;
  while(eParElement != null)
  {
    if( ( eParElement.tagName != "table" ) && ( eParElement.tagName != "body" ) )
      nDownPos += eParElement.clientTop + eParElement.clientHeight;
    nDownPos += eParElement.offsetHeight + eParElement.offsetTop;
    eParElement = eParElement.offsetParent;
  }
  return nDownPos;
}

function setPopUpLovValues(lovArrayValue, rownum)
{
  for (i=0; i<lovArrayValue.length;i++)
  {
    setValue(JSReplace(lovArrayValue[i].itemName,"0",rownum),lovArrayValue[i].value);
  }
  oPopup.hide();  
}

function clearLovItems (lovArrayValue, name, rownum)
{
  for (i=0; i<lovArrayValue.length;i++)
    if (JSReplace(lovArrayValue[i].itemName,"0", rownum)!=name)
    {
      vals = findItem(JSReplace(lovArrayValue[i].itemName,"0", rownum), null);
      if (vals!=null);
        vals.value="";
    }
}

function lovChange(blk,lovName)
{
  var lov = findLOVXmlObjectArray(lovName); 
  if (!lov.isSelect)
    clearLovItems(lov.lovItemArray,"", blk.rownum);
}

function showLoading()
{
  if (document.readyState!="complete")
  {
    window.detachEvent("onload",checkLoading);
    window.attachEvent("onload",checkLoading);
    showWaitMessage(5);
    
  }
}

function checkLoading()
{
	if (!isDocumentLoadComplet())
    showWaitMessage(5);
  else
    hideWaitMessage(5);
  if (parent!=null && parent.adjustMyFrameHeight!=null)
	 	parent.adjustMyFrameHeight();

}

function isDocumentLoadComplet()
{
  if (document.readyState!="complete")
    return false;
  else
  {
    for (var i=0; i<lovXMLObjectArray.length; i++)
    {
      lovObject=lovXMLObjectArray[i];
      if (lovObject.xmlDOMObj.readyState!=4 ||
          lovObject.xslDOMObj.readyState!=4)
        return false;
    }
    document.body.attachEvent("onmousemove",function (){
                                  if (parent!=null && parent.hideMenus!=null)
                                    parent.hideMenus();
                              })

  }
  return true;
}
function forwarMessage(id)
{
}

function checkRefresh(close)
{
	try
	{
	  var prefix = document.all.item("prefix");
	  if (prefix!=null)
	  {
	    var shouldSearch = document.all.item(prefix.value+"_shouldSearch");
	    if (shouldSearch==null)
	    {
	      if (document.all.item(prefix.value+"_refreshOpener")!=null || 
	          document.all.item(prefix.value+"_search_refreshOpener")!=null)
	      {
	        if (opener!=null && opener.refreshMe)
	          opener.refreshMe();
	      }
	      if (close==true)
	        window.close();
	      return;
	    }
	  }
	}
	catch (exp)
	{}	
}

function getElement(aID)
{
    return (document.getElementById) ?
        document.getElementById(aID) : document.all[aID];
}

function getIFrameDocument(aID){ 
    var rv = null; 
    var frame=getElement(aID);
    // if contentDocument exists, W3C compliant (e.g. Mozilla) 
    if (frame.contentDocument)
        rv = frame.contentDocument;
    else // bad IE  ;)
        rv = document.frames[aID].document;
    return rv;
}

function adjustMyFrameHeight()
{
    /*var frame = getElement("content");
    var frameDoc = getIFrameDocument("content");
    if (frameDoc.body.scrollHeight>frameDoc.body.offsetHeight)
    	frame.height = frameDoc.body.scrollHeight;
    else
    	frame.height = frameDoc.body.offsetHeight;*/
}

function showInfrontError(blk,txt)
{
  span=document.all.item("span-error-"+blk.id);
  if (!span)
  {
    span = document.createElement("span");
    span.id="span-error-"+blk.id;
    blk.parentElement.appendChild(span);
  }
  span.className="message-small";
  span.innerHTML="&nbsp;"+txt;
}

function sendTarfiErteghaBookDetail()
{
	if (checkTarfiErtagha())
	  document.forms[0].submit();
}
function sendTarfiErtegha()
{
	if (checkTarfiErtagha())
  {
	  setValue("pageAction", 22, null)
	  document.forms[0].submit();
  }	
}


function has_tarfi_select(name, prefix,action)
{
  if (NACC.isEmpty(prefix))
		prefix = document.all.item("prefix").value;
  var check = document.all.item(prefix+(NACC.isEmpty(action)?"":"_search")+"_chk"+name);
  if (check!=null)
  {
    if (check.length!=null)
    {
      for (i=0;i<check.length;i++)
      {
        if (check[i].checked)
          return true;
      }
    }
    else
      if (check.checked)
        return true;
  }
  return false;
}


function confirmTarfiErtegha()
{
	if (has_tarfi_select("bookConfirm","","search") || has_tarfi_select("paperConfirm","","search") ||
	    has_tarfi_select("confConfirm","","search") || has_tarfi_select("projectConfirm","","search") ||
	    has_tarfi_select("adminConfirm","","search") || has_tarfi_select("tuitionConfirm","","search") || 
	    has_tarfi_select("planConfirm","","search") || has_tarfi_select("artConfirm","","search") ||
	    has_tarfi_select("fictionConfirm","","search") || has_tarfi_select("exhibitionConfirm","","search") ||
	    has_tarfi_select("languageConfirm","","search") || has_tarfi_select("planInfoConfirm","","search") ||
	    has_tarfi_select("bookletConfirm","","search"))
  {
	  setValue("pageAction", 22, null)
	  document.forms[0].submit();
  }	
  else
  	show_message("selectone");
}

function checkTarfiErtagha()
{
  var prefix = document.all.item("prefix");
  var ertegha = document.all.item(prefix.value+"_search_chkertegha");
  var tarfi = document.all.item(prefix.value+"_search_chktarfi");
  if (ertegha==null)
  	ertegha = document.all.item(prefix.value+"_chkertegha");
  if (tarfi==null)
  	tarfi = document.all.item(prefix.value+"_chktarfi");
  if (ertegha!=null)
  {
    if (ertegha.length!=null)
    {
      for (i=0;i<ertegha.length;i++)
        if (ertegha[i].checked)
          return true;
    }
    else
      if (ertegha.checked)
        return true;
  }
  if (tarfi!=null)
  {
    if (tarfi.length!=null)
    {
      for (i=0;i<tarfi.length;i++)
        if (tarfi[i].checked)
          return true;
    }
    else
      if (tarfi.checked)
        return true;
  }
  show_message("selectone");
  return false;
}

function runModuleAjax (url, callBack)
{
	ajaxRequest = new Ajax.Request(url, {
                    method:       'get', 
                    asynchronous: true,
                    onComplete:   callBack,
                    encoding:     'utf-8'
                });
  
}

function runModuleAjaxUpdater(url, objName)
{
	var content=document.all.item(objName)
	content.style.display="";
	content.innerHTML="<center>"+PLEASE_WAIT_TITLE+"<br><br><img src=\""+NACC.contextPath+"/images/default/kernel/progress1.gif\"></center>";
	ajaxUpdaterInProgress=true;
	this.ajaxRequest = new Ajax.Updater(objName, url, {
                      method:       'get', 
                      evalScripts:true,
                      asynchronous: true,
                      onComplete:updaterCallBack,
                      encoding:     'utf-8'
                    });
}

function updaterCallBack()
{
	ajaxUpdaterInProgress=false;
}

if(window.addEventListener)
{
	window.addEventListener("load",checkLoading,false);
	window.addEventListener("unload",checkRefresh,false);
}
else
{
	if(window.attachEvent)
	{
		window.attachEvent("onload",checkLoading);
		window.attachEvent("onunload",checkRefresh);
	}
}

function removeOption(blk, disabled)
{
}

function clearList(blk, disabled, text)
{
	while (blk.options.length>0)
		blk.removeChild(blk.options[0]);
	if (!NACC.isEmpty(text))
	{
		var opt = new Option();
		opt.value="";
		opt.innerText=text;
		blk.appendChild(opt);
	}
	blk.disabled=disabled;
}

function loadComboDataCallBack(xmlHttpRequest, responseHeader) 
{
	xmlData = xmlHttpRequest.responseText;
  datas = xmlData.evalJSON();
  try
  {
  	if (this.allValue)
			clearList(this,false,"--��� �����--");
		else if (this.selValue)
			clearList(this,false,"--������ ������--");
		else
			clearList(this,false,"");
		for (var i=0; i<datas.length; i++)
		{
			var opt = new Option();
      opt.value=datas[i].id;
			opt.innerText=datas[i].title;
			this.appendChild(opt);
		}
		this.disabled=false;
    if (this.callBack)
      this.callBack();
  }
  catch (E)
  {
  	alert (E.description);
  }
}


function loadComboData(objName, comboName, selValue, allValue, callBack)
{
	var obj = document.all.item(objName);
	if (obj)
	{
		obj.allValue=allValue;
		obj.selValue=selValue;
    obj.callBack = callBack;
		clearList(obj,true,LOADING_TITLE);
		ajaxRequest = new Ajax.Request(NACC.contextPath+"/loadComboData.do?comboName="+comboName, {
	                    method:       'get', 
	                    asynchronous: true,
	                    onComplete:   loadComboDataCallBack.bind(obj),
	                    encoding:     'utf-8'
	                });
	}
}

function loadRadioButton(elem, comboName, name, prefix, defaultValue, rownum, className)
{
	if (elem)
	{
		elem.innerHTML="<center>"+PLEASE_WAIT_TITLE+"<br><br><img src=\""+NACC.contextPath+"/images/default/kernel/progress1.gif\"></center>";
    elem.itemName = name;
    elem.itemPrefix = prefix;
    elem.itemDefaultValue = defaultValue;
    elem.itemRownum = rownum;
    elem.itemClassName = className;
		ajaxRequest = new Ajax.Request(NACC.contextPath+"/loadComboData.do?comboName="+comboName, {
	                    method:       'get', 
	                    asynchronous: true,
	                    onComplete:   loadRadioButtonCallBack.bind(elem),
	                    encoding:     'utf-8'
	                });
	}
}

function loadRadioButtonCallBack(xmlHttpRequest, responseHeader) 
{
	xmlData = xmlHttpRequest.responseText;
  datas = xmlData.evalJSON();
  try
  {
    var table = document.createElement("table");
    for (var i=0; i<datas.length; i+=4)
		{
			var tr = table.insertRow();
      var td1 = tr.insertCell();
      td1.innerHTML="<input type=\"radio\" value=\""+datas[i].id+"\""+(Number(this.itemDefaultValue)==Number(datas[i].id)?"checked":"")+
                                  " rownum="+this.rownum+" class=\""+this.itemClassName+"\" title=\""+datas[i].title+"\""+
                                  " name=\""+this.itemPrefix+"_"+this.itemName+"\" id=\""+this.itemPrefix+"_"+this.itemName+this.itemRownum+"\">";
      td1.style.width="10px";
      var td2= tr.insertCell();
      td2.innerHTML="&nbsp;"+datas[i].title+"&nbsp;&nbsp;";
      if (i+1<datas.length)
      {
        var td3 = tr.insertCell();
        td3.innerHTML="<input type=\"radio\" value=\""+datas[i+1].id+"\""+(Number(this.itemDefaultValue)==Number(datas[i+1].id)?"checked":"")+
                                    " rownum="+this.rownum+" class=\""+this.itemClassName+"\" title=\""+datas[i+1].title+"\""+
                                    " name=\""+this.itemPrefix+"_"+this.itemName+"\" id=\""+this.itemPrefix+"_"+this.itemName+this.itemRownum+"\">";
        td3.style.width="10px";
        var td4= tr.insertCell();
        td4.innerHTML="&nbsp;"+datas[i+1].title+"&nbsp;"+"&nbsp;";
      }
      if (i+2<datas.length)
      {
        var td5 = tr.insertCell();
        td5.innerHTML="<input type=\"radio\" value=\""+datas[i+2].id+"\""+(Number(this.itemDefaultValue)==Number(datas[i+2].id)?"checked":"")+
                                    " rownum="+this.rownum+" class=\""+this.itemClassName+"\" title=\""+datas[i+2].title+"\""+
                                    " name=\""+this.itemPrefix+"_"+this.itemName+"\" id=\""+this.itemPrefix+"_"+this.itemName+this.itemRownum+"\">";
        td5.style.width="10px";
        var td6= tr.insertCell();
        td6.innerHTML="&nbsp;"+datas[i+2].title+"&nbsp;"+"&nbsp;";
      }
      if (i+3<datas.length)
      {
        var td7 = tr.insertCell();
        td5.innerHTML="<input type=\"radio\" value=\""+datas[i+3].id+"\""+(Number(this.itemDefaultValue)==Number(datas[i+3].id)?"checked":"")+
                                    " rownum="+this.rownum+" class=\""+this.itemClassName+"\" title=\""+datas[i+3].title+"\""+
                                    " name=\""+this.itemPrefix+"_"+this.itemName+"\" id=\""+this.itemPrefix+"_"+this.itemName+this.itemRownum+"\">";
        td7.style.width="10px";
        var td8= tr.insertCell();
        td8.innerHTML="&nbsp;"+datas[i+3].title+"&nbsp;"+"&nbsp;";
      }
		}
  }
  catch (E)
  {
  	//alert (E.description);
  }
  this.innerHTML="";
  this.appendChild(table);
}


function submitFormAjaxUpdater(name,content,validate)
{
	var retval = true;
	event.returnValue=false;
	selectAllListBoxes();
	if (validate)
	{
		if (!check_for_change())
	  {
	    show_message("nochange");
	    event.returnValue = false;
	    retval = false;
	  }
	  if (retval && is_not_null())
	  {
	    event.returnValue = false;
	    retval = false;
	  }
	}
	if (retval)
	{
		var contentObj = document.getElementById(content)
		contentObj.innerHTML="<center>"+PLEASE_WAIT_TITLE+"<br><br><img src=\""+NACC.contextPath+"/images/default/kernel/progress1.gif\"></center>";
		enableAllItems();
		$(name).request({
			method: 'post',
			contentType: 'application/x-www-form-urlencoded',
			encoding: 'utf-8',
			onComplete: submitFormAjaxUpdaterCallBack.bind(contentObj)
		})
		return false;
	}
	else
  {
 		event.returnValue = false;
		return false;
  }
}

function submitFormAjaxUpdaterCallBack(xmlHttpRequest, responseHeader) 
{
	this.innerHTML=xmlHttpRequest.responseText;
	xmlHttpRequest.responseText.evalScripts();
}

function addEvent(itm, eventName, func)
{
	if(itm.addEventListener)
		itm.addEventListener(eventName,func,false);
	else if(itm.attachEvent)
		itm.attachEvent("on"+eventName,func);
}

NEWLovObject = function (name,dataObject,itemList){
	this.name = NACC.isEmpty(name)?"lov-object":name;
	this.dataObject = dataObject;
	this.itemList=itemList;
	this.table=document.createElement("table");
	this.div=null;
  this.checkKey=checkKey;
  this.prvClassName=null;
  this.currentRow=1;
  this.hideMe=hideMe;
  this.click=click;
  this.show=show;
  this.setLovData=setLovData
  this.table.attachEvent("onkeydown",this.checkKey.bind(this));
  this.table.attachEvent("onclick",this.click.bind(this));
  addEvent(document.body,"click",this.hideMe.bind(this));
}

function show(obj,x,y)
{
  lov = this.div;
  if (!lov)
  {
    lov = document.createElement("div");
    lov.className="lov-select";
    lov.id=this.name;
    this.div=lov;
    document.body.appendChild(lov);
  }
  lov.style.top=y;//getElementTop(obj)+20;
	lov.style.left=x;//document.body.offsetWidth- getElementRight(obj);
  lov.innerHTML = "";
  if (this.dataObject.datalist.length>10)
    lov.style.height=(10*19)+"px";
  else
    lov.style.height=((this.dataObject.datalist.length+3)*19)+"px";
  var table= this.table;
  table.onclick="return false;";
  table.id="lov-table-"+this.name;
  table.className="lov-table";
  thead = document.createElement("thead");
  table.appendChild(thead);
  var config = this.dataObject.config;
  tr = thead.insertRow();
  for (var i=0; i<config.length; i++)
  {
  	headItem = config[i];
  	if (headItem.show)
  	{
		  th = document.createElement("th");
		  th.width=headItem.width;
		  th.innerHTML = headItem.title;
		  tr.appendChild(th);
		}
  }
  var dataList = this.dataObject.datalist;
  for (var i=0; i<dataList.length;i++)
  {
  	var dataObject = dataList[i];
  	tr = table.insertRow();
    if (i%2==0)
      tr.className="lovOddRow";
    else
      tr.className="lovEvenRow";
	  for (var j=0; j<config.length; j++)
	  {
	  	headItem = config[j];
	  	
	  	tr.setAttribute("data_"+headItem.name,dataObject[headItem.name]);
	  	if (headItem.show)
	  	{
		    td = tr.insertCell();
		    td.innerHTML=dataObject[headItem.name];
			}
	  }
  }
  var leftPos = getElementLeft(obj);
  //keepInWindow(lov,leftPos, getElementTop(obj))
  this.div.style.display="";
  lov.appendChild(table);
  table.focus();
  lov.style.width=(table.offsetWidth+30)+"px";
  event.retunValue=false;
  event.cancelBubble=true;
  return false;
}
function click()
{
	var tr = event.srcElement.parentElement;
	this.setLovData(tr);
	this.hideMe();
}

function hideMe()
{
	try
	{
  	this.div.style.display="none";
  }
  catch (exp)
  {}
}

function checkKey()
{
  if (this.prvClassName!=null)
  {
    tr =this.table.rows[this.currentRow];
    tr.className=this.prvClassName;
  }
  var k = event.keyCode;
  switch(k)
  {
    case 40: //down
      this.currentRow++;
      if  (this.currentRow>this.table.rows.length-1)
        this.currentRow=1;
      break;
    case 38: //up
      this.currentRow--;
      if (this.currentRow<1)
        this.currentRow=this.table.rows.length-1;
      break;
    case 13:
      tr = this.table.rows[this.currentRow];
      this.setLovData(tr);
      event.returnValue=false;
      this.hideMe();
      return false;
      break;
  };
  tr = this.table.rows[this.currentRow];
  this.prvClassName=tr.className;
  tr.className="lovCurrentRow";
  if (k==38)
    tr.scrollIntoView();
  else
    tr.scrollIntoView(false);
  return true;
}

function setLovData(tr)
{
	try
	{
	  var config = this.dataObject.config;
	  for (var j=0; j<this.itemList.length; j++)
	  {
	  	var item = this.itemList[j];
	  	for (var i=0; i<config.length; i++)
		  {
		  	headItem = config[i];
		  	if (headItem.name.toLowerCase()==item.lovItemName.toLowerCase())
		  	{
		  		vals = findItem(item.itemName, null);
		  		vals.value = tr.getAttribute("data_"+item.lovItemName)
		  	}
		  }
		}
	}
	catch (exp)
	{
		alert("setLovData:"+exp.description);
	}
}

function keepInWindow( eElement, leftPos, nTopPos )
{
	var nMinSpace = 5;
	var eDocBody = document.body;
	var tops = nTopPos;
	var nWindowLeftEdge = eDocBody.scrollLeft;
	var nWindowTopEdge  = eDocBody.scrollTop;
	var nWindowWidth    = eDocBody.clientWidth;
	var nWindowHeight   = eDocBody.clientHeight;
	var nWindowRightEdge  = nWindowWidth - nMinSpace; //( nWindowLeftEdge + nWindowWidth ) - nMinSpace;
	var nWindowBottomEdge = nWindowHeight - nMinSpace;// ( nWindowTopEdge + nWindowHeight ) - nMinSpace;
	var nElementRightEdge = leftPos + eElement.offsetWidth;
	var nElementBottomEdge = nTopPos + eElement.offsetHeight;
	if( nElementRightEdge > nWindowRightEdge )
	{
		leftPos -= ( nElementRightEdge - nWindowRightEdge );
		leftPos = Math.max( nMinSpace, leftPos );
	}
	if( nElementBottomEdge > nWindowBottomEdge )
	{
		nTopPos -= ( nElementBottomEdge - nWindowBottomEdge );
		nTopPos = Math.max( nMinSpace, nTopPos );
		
	}
	if (leftPos<=0)
		leftPos = 20;
	try{eElement.style.left = ( leftPos + "px" );}catch(exp){}
		//eElement.style.top  = ( (this.y - eElement.offsetHeight + eDocBody.scrollTop) + "px" );
	try{eElement.style.top  = (tops+20)+"px";}catch(exp){}
	
}

function disableAutoComplete()
{
	var forms = document.forms;
	if (forms!=null & forms.length>0)
		for (var i=0; i<forms.length; i++)
			forms[i].setAttribute('autocomplete','off');
}

function initModule()
{
  fixFooter();
  disableAutoComplete();
  setItemArray(document.all.item('mySubmitForm'))
}

function checkYear(blk)
{
	if (blk!=null && !NACC.isEmpty(blk.value) && blk.value.length<4)
	{
		show_message("year-error");	
		blk.value="";
	}
}

function getUnicodeNumber(text)
{
	if (text=="null" || text=="")
	  return "�";
	var retval = "";
	text = JSReplace(text,".00","");
	for (i=0;i<text.length;i++)
	{
	  if (text.charCodeAt(i)>=48 &&
	      text.charCodeAt(i)<=57)
	  {
	    ch = "&#"+(text.charCodeAt(i) + 1584)+";";
	    retval+=ch;
	  }
	  else
	    retval+=text.charAt(i);
	}
	return retval;
}

if (window.addEventListener) 
{
  window.addEventListener('load', initModule, false); 
  window.addEventListener("resize",fixFooterPrp,false);
}
else if (window.attachEvent)
{
  window.attachEvent('onload', initModule);
  window.attachEvent("onresize",fixFooterPrp);
}

if (document.addEventListener)
  document.addEventListener("click",fixFooterPrp, false);
else if (document.attachEvent)
  window.attachEvent("onclick",fixFooterPrp);


function disableMyBody(onClick)
{
  try
  {
    document.body.removeChild(NACC.Msg.bgObject); 
  }
  catch (e){}
  document.body.isdisabled=true;
  var sWidth,sHeight; 
  sWidth=document.body.scrollWidth; 
  sHeight=document.body.clientHeight; 
  if (sHeight<document.body.scrollHeight)
    sHeight=document.body.scrollHeight;

  var bgObj=document.createElement("div"); 
  bgObj.setAttribute('id','bgDiv'); 
  bgObj.style.position="absolute"; 
  bgObj.style.top="0"; 
  bgObj.style.background="#777"; 
  bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75"; 
  bgObj.style.opacity="0.6"; 
  bgObj.style.left="0"; 
  bgObj.style.width=sWidth + "px"; 
  bgObj.style.height=sHeight + "px"; 
  bgObj.style.zIndex = "9998"; 
  NACC.Msg.bgObject=bgObj
  if (!NACC.isEmpty(onClick))
    bgObj.attachEvent("onclick",onClick);
  document.body.appendChild(bgObj); 
  hideAllSelectsAndObjects();
}

function enableMyBody()
{
  document.body.isdisabled=false;
  document.body.removeChild(NACC.Msg.bgObject); 
  showAllSelectsAndObjects();
}


function hideAllSelectsAndObjects()
{
  var selects = document.getElementsByTagName("select");
  var objects = document.getElementsByTagName("object");
  if (selects!=null && selects.length>0)
    for (var i=0; i<selects.length;i++)
      if (isVisible(selects[i]) && (NACC.isEmpty(selects[i].dontHide) || selects[i].dontHide==false))
      {
        selects[i].baseVisibility=true;
        selects[i].style.display='none';
      }
  if (objects!=null && objects.length>0)
    for (var i=0; i<objects.length;i++)
      if (isVisible(objects[i]) && (NACC.isEmpty(objects[i].dontHide) || objects[i].dontHide==false))
      {
        objects[i].baseVisibility=true;
        objects[i].style.display='none';
      }
}

function showAllSelectsAndObjects()
{
  var selects = document.getElementsByTagName("select");
  var objects = document.getElementsByTagName("object");
  if (selects!=null && selects.length>0)
    for (var i=0; i<selects.length;i++)
      if (selects[i].baseVisibility==true)
        selects[i].style.display='';
  if (objects!=null && objects.length>0)
    for (var i=0; i<objects.length;i++)
      if (objects[i].baseVisibility==true)
        objects[i].style.display='';
}

function showThisObjectModal(objectName, show, width, height)
{
  var obj = document.getElementById(objectName);
	if (show)
	{
		disableMyBody();
		obj.style.top=document.body.offsetHeight/2-width/2
		obj.style.left=document.body.offsetWidth/2-height/2;
		obj.style.position="absolute";
		obj.style.display="";
    obj.style.zIndex = "10000"; 
	}
	else
	{
		enableMyBody();
		var obj = document.getElementById(objectName);
		obj.style.display="none";
	}
}

function loadNews()
{
  if (document.getElementById('news-div')!=null)
  {
    runModuleAjax(NACC.contextPath+"/newsAction.do?language_id=1&pageAction=11&moduleId=615",
      function (a,b){
          var xml = null;
          try
          {
            xml = document.implementation.createDocument("", "", null);
          }
          catch(e)
          {
            try
            {
              xml = new ActiveXObject("Microsoft.XMLDOM");
            }
            catch (e){}
          }
          if (xml!=null)
          {
            var newsDiv = document.getElementById('news-div')
            xml.async=false;
            l = xml.loadXML(a.responseText);
            var rows = xml.documentElement.selectNodes("/ROWSET/ROW");
            var hasNews = false;
            try
            {
              for (var i=0; i<rows.length;i++)
              {
                hasNews = true;
                var row = rows[i];
                var id = row.selectSingleNode("PK_NEWS_ID").text;
                var table = document.createElement("table");
                table.width='100%';
                var tr = table.insertRow();
                tr.className = 'newsTitle';
                var td = tr.insertCell();
                
                td.innerHTML = row.selectSingleNode("NEWS_TITLE").text;
                tr = table.insertRow();
                tr.className = (i%2==0?"oddnrow":"oddrow") + " "
                td = tr.insertCell();
                //td.className = '';
                td.innerHTML = JSReplace(row.selectSingleNode("NEWS_LEAD").text,"\n","<br>");
                var text = row.selectSingleNode("NEWS_TEXT");
                if (text!=null && !NACC.isEmpty(text.text))
                {
                  tr = table.insertRow();
                  tr.className = (i%2==0?"oddnrow":"oddrow") + " "
                  td = tr.insertCell();
                  td.innerHTML="<span class='span-link' id='news"+id+"'>"+READ_MORE+"</span>";
                }                
                newsDiv.appendChild(table);
                if (text!=null && !NACC.isEmpty(text.text))
                {
                  var newsObject = {newsTitle:row.selectSingleNode("NEWS_TITLE").text,newsText:text.text}
                  var temp = document.getElementById("news"+id)
                  if (temp!=null)
                  {
                    temp.attachEvent("onclick",function (){
                                                                parent.NACC.Msg.show({
                                                                   title:this.newsTitle,
                                                                   msg:"<span class='newsTitle' style='width:100%'>"+ this.newsTitle+"</span><br><span style='text-align:right;width:100%'>"+JSReplace(this.newsText,"\n","<br>")+"</span>",
                                                                   buttons: {ok:NACC.global_return},
                                                                   width:500
                                                                })
                                                        }.bind(newsObject))
                  }
                }
              }
              if (hasNews)
                document.getElementById('news-div-base').style.display='';
            }
            catch (e)
            {
              alert(e.description);
            }
          }
      }) 
  }
}
