var zxcMaxYScroll=1000000;

function zxcStopScroll(){
	if (document.all){ zxcWS=document.body.scrollTop; }
	else { zxcWS=window.pageYOffset; }
	if (zxcWS>zxcMaxYScroll){ window.scroll(0,zxcMaxYScroll); }
}
window.onscroll=zxcStopScroll;

	
function checkboxCheckAll(form, field, state){
    var i;
	frm = eval("document."+ form);
	for(i=0;i<frm.length;i++){
	    if (frm[i].name.substring(0,field.length) == field)
	        frm[i].checked = state;
	}
}

function active_row(row,state){
    if (state)
        row.className += ' active_row';
    else
        row.className = row.className.replace('active_row','');
}

function mouseOver(state, obj, ClassName){
    if (!obj) obj = document.getElelemtById(obj);
    if (!obj) return 0;
    Active = ClassName;
    if (state){
        if (obj.className.indexOf(Active)==-1){
			obj.className = obj.className +' '+ Active;
		}
    }else{
		if (obj.className.indexOf(Active)!=-1){
	        obj.className = obj.className.replace(Active,'');
		}
	}
}

function mouseOverII(state, obj, ClassName){
    if (!obj) obj = document.getElelemtById(obj);
    if (!obj) return 0;
    deActive = " "+ClassName;
    Active = " "+ClassName+"_over";
    if (state)
        obj.className = obj.className.replace(deActive,Active);
    else
        obj.className = obj.className.replace(Active,deActive);
}

function _mouseOverImage(state, obj, filename){
	var img;
	if (!obj) return 0;
	img = obj.getElementsByTagName("img")[0];
	if (state){
		img.src = filename +"_on.png";
		obj.className = obj.className.replace(" ControlBar_out"," ControlBar_over");
	}else{
		img.src = filename +".png";
		obj.className = obj.className.replace(" ControlBar_over"," ControlBar_out");
	}
}

function _changeImage(name, obj, state){
	if (obj!='[object]') obj = document.getElelmentById(obj);
	if (!obj) return 0;
	if (state) //Mouse on Object
		obj.src = 'images/icons/'+ name +'_on.png';
	else
		obj.src = 'images/icons/'+ name +'.png';
}

function _changeImageII(path, name, obj, state){
	if (obj!='[object]') obj = document.getElelmentById(obj);
	if (!obj) return 0;
	if (state) //Mouse on Object
		obj.src = path + name +'-on.gif';
	else
		obj.src = path + name +'.gif';
}


function openwindow(url, width, height) {
	window.open(url,'noname','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width='+ width +',height='+ height); 
}

function openWindow(myName, params){
	var winW = 630, winH = 460;
	if (parseInt(navigator.appVersion)>3) {
	 if (navigator.appName=="Netscape") {
	  winW = window.innerWidth;
	  winH = window.innerHeight;
	 }
	 if (navigator.appName.indexOf("Microsoft")!=-1) {
	  winW = document.body.offsetWidth;
	  winH = document.body.offsetHeight;
	 }
	}
	var myPanel = document.getElementById(myName);
	//if (myPanel.getElementsByTagName("iframe")[0] == '[object]')
	//	self[myPanel.getElementsByTagName("iframe")[0].name].location = 'Folder.asp?haveAjax=false&doWork='+ myName;
	myPanel.style.display = 'block';
	try{
		for(i=1;i<params.length-1;i++)
			eval('document.'+ params[0] +'.'+ params[i]).value = params[++i];
	}catch(e){}
	myPanel.style.top = getScrollXY('y');
	ScrollResize();
	ScrollLock();
	var_defaultScroll = new Array(getScrollXY('x'), getScrollXY('y'));
	window.attachEvent("onscroll",ScrollLock);
	window.attachEvent("onresize",ScrollResize);
	//zxcMaxYScroll=0;
}

var _mouse_x=0;
var _mouse_y=0;
function MouseXY(e) {
  var temp = new Array();
  var IE = document.all?true:false;
  if (IE) { // grab the x-y pos.s if browser is IE
	temp[0] = event.clientX + document.body.scrollLeft;
	temp[1] = event.clientY + document.body.scrollTop;
  } else {  // grab the x-y pos.s if browser is NS
    temp[0] = e.pageX;
    temp[1] = e.pageY;
  }  
  // catch possible negative values in NS4
  if (temp[0] < 0){temp[0] = 0}
  if (temp[1] < 0){temp[1] = 0}
  _mouse_x=temp[0];
  _mouse_y=temp[1];
  return temp;
}

function closeWindow(myName){
	var myPanel = document.getElementById(myName);
	window.detachEvent("onscroll",ScrollLock);
	myPanel.style.display = 'none';
	zxcMaxYScroll=1000000;
}

function selectOne(frm){
	if (frm!='[object]') frm = eval("document."+ frm);
	if (frm!='[object]')	return 0;
	var b=false;
	var Id;
	for (var i=0;i<frm.length;i++)
		if (frm[i].type=="checkbox" && frm[i].name!="")
			if (frm[i].checked && !b){
				b = true;
				Id = frm[i].value;
			}else if (frm[i].checked && b){
				b = false;
				break;
			}
	if (!b){
			alert(VAR_Err_SelectOne);
			return 0;
	}
	return Id;
}

function selectAny(frm){
	if (frm!='[object]') frm = eval("document."+ frm);
	if (frm!='[object]')	return 0;
	for (var i=0;i<frm.length;i++)
		if (frm[i].type=="checkbox" && frm[i].name!="")
			if (frm[i].checked)
				return true;
	alert(VAR_Err_SelectAny);
	return 0;
}

function __checkvalue(str,filter,most){
	if (filter=="")
		invalidchar=",/\|';:+=)(*&^%$#`~!؟?><ئدذرزطظشسیبلاتنمکگپچجحخهعغفقثصضةيژؤإأء»«ـآۀًٌٍَُِّريال،؛,][\}{|×÷";
	else
		invalidchar=filter;
	for(i=0;i<invalidchar.length;i++){  
		badchar=invalidchar.charAt(i);
		if (str.indexOf(badchar,0)>-1)
			return false;
	}
	validchar=most;		
	for(i=0;i<validchar.length;i++){
		badchar=validchar.charAt(i);
		if(str.indexOf(badchar,0)==-1)
			return false;
	}
	return true;
}

function _IsNumber(number){
	if(__checkvalue(number,"zxcvbnm,';lkjhgfdsaqwertyuiop[]\|}{POIUYTREWQASDFGHJKL:?><MNBVCXZ~`<ظطزرذدئ?و/گکمنتالبیسشضصثقفغعهخحجچپ|{}\[],؛،ريالًٌٍَُِّۀآـ«»:؟و<ءأإؤژية×÷`~!@#$%^&*)(='+->","")==false)
		return false;
	return true;
}

function __checkemail(o, MSG){
	if(__checkvalue(o.value," ,-+=#%$*()~`پچجحخهعغفقثصضشسیبلاتنمکگ/وئدذرزطظةيژؤإأء<>؟:»«ـآۀًٌٍَُِّريال،؛,][\}}{|","@.")==false){
		alert(MSG);
		o.value="";
		o.focus();
		o.select();
		return false;
	}
	return true;
}


function round(number,float){
	number = String(number);
	if(number.indexOf('.')==-1)
		return number;
	var i = number.substr(0,number.indexOf('.')+1);
	var f = number.substr(number.indexOf('.')+1,float);
	return i + f;
}

function JS_isEmail(str) {
	re = /^([-a-zA-Z0-9.\-_]+@[-a-zA-Z0-9.\-]+(\.[-a-zA-Z0-9]+)+)*$/;
	return re.test(str);
}
function JS_isString(str){
	re = /^[a-zA-Z0-9 ._\[\]\-#@!\$%^&*()+=~?]{1,}$/
	return str.search(re)!=-1;
}
function JS_isNumber(str, strtype){
	var re;
	if (strtype=='float')
		re = /^-{0,1}\d{0,}\.{0,1}\d{0,}$/;
	else if(strtype=='float+')
		re = /^\d{1,}\.{0,1}\d{1,}$/;
	else if(strtype=='float-')
		re = /^-\d{1,}\.{0,1}\d{1,}$/;
	else if(strtype=='integer+')
		re = /^\d{1,}$/;
	else if(strtype=='integer-')
		re = /^-\d{1,}$/;
	else if(strtype=='integer')
		re = /^-{0,1}\d{1,}$/;
	return str.search(re)!=-1;
}


function object_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function object_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}

function ismouseover(obj){
	//echo("");
	if(typeof obj!='object')
		obj = document.getElementById(obj);
	if(typeof obj!='object')
		return false;
	if(_mouse_x<object_getLeftPos(obj) || _mouse_x>object_getLeftPos(obj)+obj.offsetWidth)
		return false
	if(_mouse_y>=object_getTopPos(obj) && _mouse_y<=object_getTopPos(obj)+obj.offsetHeight)
		return true;
	return false;	
}

function GetCopyAll(Mainfrm, arrayTempMainfrm){
	var frms = document.getElementsByTagName('form');
	for(i=0;i<arrayTempMainfrm.length;i++)
		Mainfrm.removeChild(arrayTempMainfrm[i]);
	t=0;
	for(i=0;i<frms.length;i++)
		if(frms[i].name!=Mainfrm.name && frms[i].getAttribute("copy")!='false')
			for(j=0;j<frms[i].length;j++){
				if(isinform(Mainfrm, frms[i][j].name))
					Mainfrm.removeChild(isinform(Mainfrm, frms[i][j].name));
				try{
					if(frms[i][j].type=='checkbox'){
						var field = document.createElement('input');
						field.value = frms[i][j].value;
						if(!frms[i][j].checked)
							field.value = 'uncheck';
						field.name = frms[i][j].name;
						field.style.display = 'none';
						if(frms[i][j].checked)
							Mainfrm.appendChild(field);
					}else if(frms[i][j].type=='radio'){
						if(frms[i][j].checked){
							var field = document.createElement('input');
							field.value = frms[i][j].value;
							field.name = frms[i][j].name;
							field.nodelete = 'true';
							field.style.display = 'none';
							Mainfrm.appendChild(field);
						}
					}else{
						var k = frms[i][j].cloneNode(true);
						arrayTempMainfrm[t++] = k;
						k.value = frms[i][j].value;
						k.style.display = 'none';
						Mainfrm.appendChild(k);
					}
				}catch(e){}
			}
	Mainfrm.style.display = 'block';
}

function isinform(frm,name){
	if(frm!='[object]')
		frm = document.getElementById(frm);
	if(frm!='[object]')
		return null;
	for(var i=0;i<frm.length;i++)
		if(frm[i].name.toLowerCase()==name.toLowerCase() && frm[i].nodelete!='true')
			return frm[i];
	return null;
}//isinform(frm,name)

function clsTooltip(){var _o=null;var _p=null;this.init=function(obj){if(typeof obj!="object")obj=document.getElementById(obj);if(typeof obj!="object")return;_o=obj;EventUtil.addEventHandler(obj,"mouseover",_show);EventUtil.addEventHandler(obj,"mouseout",_hide);EventUtil.addEventHandler(obj,"mousemove",_move);};var _show=function(){setTimeout(_showstart,100);};var _showstart=function(){var o=_o;if(_p)return;if(!MouseUtil.isover(o))return;var r=o.getAttribute("text");if(r=="")return;r=decodeURIComponent(r);r=r.replace(/[+]/g," ");var t=document.createElement("div");t.setAttribute("class","tooltip");try{t.className="tooltip";}catch(e){}t.innerHTML=r;t.style.position='absolute';t.style.left=(MouseUtil._x+20)+"px";t.style.top=(MouseUtil._y+10)+"px";_p=document.getElementsByTagName("body")[0].appendChild(t);};var _move=function(){if(!_p)return;_p.style.left=(MouseUtil._x+20)+"px";_p.style.top=(MouseUtil._y+10)+"px";};var _hide=function(){if(!_p)return;document.getElementsByTagName("body")[0].removeChild(_p);_p=null;};};

