function check_all(form,field,value){
	for (var i=0; i<form.elements.length; i++){
		if (form.elements[i].name==field){
		 	form.elements[i].checked=value; 
		}
	}
	var count = 0;
	for (var i=0; i<form.elements.length; i++){
		if (form.elements[i].name == 'cboxid[]' && form.elements[i].checked == 1){
			count++;
		}
	}
	form.selectCount.value=count;
}

function check_item(){
	var form = document.form;
	var count = 0;
	for (var i=0; i<form.elements.length; i++){
		if (form.elements[i].name == 'cboxid[]' && form.elements[i].checked == 1){
			count++;
		}
	}
	form.cboxidall.checked = 0;
	form.selectCount.value = count;
}

//Form Validation
function form_validation(form,farray){
	try{
	for(i=0; i<farray.length; i++){
		var fieldname = farray[i][1];
		var fieldname2 = farray[i][2];
		var fieldname3 = farray[i][3];
		var field1 = form[fieldname].value;
		switch(farray[i][0]){
			case "required":
				if(field1==''){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					form[fieldname].select();
					return false;
				}
				break;
			case "domain":
				if(!hr_domainValid(field1)){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					form[fieldname].select();
					return false;
				}
				break;

				
			case "dropdown":
				if(field1==''){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					return false;
				}
				break;
			case "alert":
				if(field1==''){
					if(fieldname2){
						alert(fieldname2);
					}
					alertLoc(form[fieldname].id);
					return false;
				}
				break;
			case "match":
				var field2 = form[fieldname2].value;
				if(field1!=field2){
					if(form[fieldname2].id == ''){
						form[fieldname2].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id)
					showError(form[fieldname2].id,0);
					form[fieldname2].select();
					return false;
				}
				break;
			case "checkbox":
				var countx = 0;
				if(form[fieldname].id == ''){
					form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
				}
				
				for (var x=0; x<form.elements.length; x++){
					if (form.elements[x].name == fieldname && form.elements[x].checked == 1){
						countx++;
					}
				}

				if (countx == 0){
					checkalert(farray[i]);
					alertLoc(form[fieldname].id)
					return false;
				}
				break;
			case "radio":
				var countr = 0;
				for(var ic = 0; ic<form[fieldname].length; ic++ ){
					if(form[fieldname].item(ic).checked==1)	countr++;
				}
				
				if (countr == 0){
					checkalert(farray[i]);
					//alertLoc(form[fieldname].id);
					//if(fieldname2 != '') alert(fieldname2);
					return false;
				}

				break;
			case "validation":
				if (field1 == 0){
					form[fieldname3].click();
				}
				if (field1 != 1){
					return false;
				}
				break;
			case "selectbarall":
					for (var ia=0; ia<form[fieldname].length; ia++){
					form[fieldname][ia].attributes('selected').value=true;}
					
					for (var ib=0; ib<form[fieldname2].length; ib++){
					form[fieldname2][ib].attributes('selected').value=true;}

				break;
			case "email":
				var checkemail = isEmail(field1);
				if(!checkemail){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					form[fieldname].select();
					return false;
				}
				break;
			case "length":
				if(field1.length < fieldname2 || field1.length > fieldname3){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					var alertmsg = "length of value cannot be match! \n\r\n";
						alertmsg += "minimum value is "+fieldname2+" ";
					if(fieldname3 != '')
						alertmsg += "and maximum value is "+fieldname3+"";
					alert(alertmsg);
					showError(form[fieldname].id,0);
					form[fieldname].select();
					return false;
				}				
				break;
			case "number":
				if(!isNum(field1)){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					try{
						form[fieldname].select();
					}catch(e){}
					return false;
				}
				break;
		// only Hebrew
			case "english":
				if(!isEngChar(field1)){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					form[fieldname].select();
					return false;
				}
				break;
			case "hebrew":
				if(isEngChar(field1)){
					if(form[fieldname].id == ''){
						form[fieldname].id = form.name + '_' + Math.ceil(Math.random()*10000);
					}
					checkalert(farray[i]);
					alertLoc(form[fieldname].id);
					showError(form[fieldname].id,0);
					form[fieldname].select();
					return false;
				}
				break;
		}
	}
	}catch(e){
		//alert(e);
	}
return true;
}

function alertLoc(url){
	if(url=='undefined') return false;
	window.location = '#' + url;
}

function checkalert(ary){
	var orignal_array = end(ary);
	if(orignal_array!=''){
		var exploadit = explode('=',orignal_array);
		if(exploadit[0] == 'alert'){
			if(exploadit[1]!=undefined){
				alert(exploadit[1]);
			}
		}
	}
}

// Explode Function Same Like PHP
// version: 1.0.0.0
// LastUpdate: 27-03-2009
function explode(f,value){
	var get = Array();
	var newval = value;
	var newf = f;
	for(var i=0; i<value.length; i++){
		var nv = newval.indexOf(newf);
		if(nv < 0){
			if(newval=='') return get;
			get[i] = newval;
			return get;
		}else{
			var nvv = nv + 1;
			var ne = newval.slice(0,nv);
			//alert(ne)
			newval = newval.slice(nvv);
			get[i] = ne;
		}
	}
}

// end function same like php
function end(ary){
	var cary = (ary.length-1);
	return ary[cary];
}

/// Form field Select edit bar
/// Start>>>> 
function left_to_right(left_bar,right_bar){
	var left_td = document.getElementById(left_bar);
	var right_td = document.getElementById(right_bar);
	
	var d_left = left_td.getElementsByTagName('option');
	for (var i=0; i<d_left.length; i++){
		if (d_left[i].selected == true){
			if (d_left[i].value == 'Home'){ return false;}
			var coption = document.createElement('option');
	
			coption.value =	d_left[i].value;
			coption.innerHTML = d_left[i].innerHTML;
			
			right_td.appendChild(coption);
		
			d_left[i].outerHTML=null;
		}}
	
}


function right_to_left(left_bar,right_bar){
	var left_td = document.getElementById(left_bar);
	var right_td = document.getElementById(right_bar);
	
	var d_left = left_td.getElementsByTagName('option');
	
	for (var i=0; i<d_left.length; i++){
		if (d_left[i].selected == true){
			if (d_left[i].value == 'Home'){ return false;}
			var coption = document.createElement('option');
	
			coption.value =	d_left[i].value;
			coption.innerHTML = d_left[i].innerHTML;
			
			right_td.appendChild(coption);
		
			d_left[i].outerHTML=null;
		}}
}
/// END<<<

function ChangeRows(crvalue,crurl){
	if(crvalue=='0'){
		return false;
	}else{
		window.location='?'+crurl+crvalue;
	}
}

function isEmail(elem){
    var str = elem;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re)) {
        return false;
    } else {
        return true;
    }
}

function isEngChar(elem){
    var str = elem;
    var re = /[א-ת,<,>]/;
    if (str.match(re))
        return false;
	else
        return true;
}

function isNum(elem){
    var str = elem;
    var re = /[0-9]/;
    if (!str.match(re))
        return false;
	else
        return true;
}

function showError(obj,id){
	var color = new Array('#E02F2F','#E65353','#E96565','#EB7575','#ED8888','#F19C9C','#F5B4B4','#F9D1D1','#FDEBEB','')
	document.getElementById(obj).style.backgroundColor = color[id];
	if(id==color.length){
		return false;
	}else{
		id = (id-0)+1;
	}
	setTimeout("showError('"+obj+"',"+id+")",60);
}

// Created: May 15, 2009
var stillobj = {
	resttop: false,
	targetid: '',
	start: function (){
		var obj = document.getElementById(this.targetid);
		var getrestdata = obj.offsetTop;
		if(document.documentElement.scrollTop){
			var getd = document.documentElement.scrollTop;
		}else if(document.body.scrollTop){
			var getd = document.body.scrollTop;
		}
		if(!getd){
			obj.style.top = this.resttop + 'px';
			return;
		}
		if(this.resttop){
			obj.style.top = (getd+(this.resttop-0)) + 'px';
		}else{
			obj.style.top = (getd+(getrestdata-0)) + 'px';
			this.resttop = getrestdata;
		}
	}
}

// shortcut of document.getElementById
function $(element){
	element = document.getElementById(element);
	return element;
}

function $s(element){
	element = document.getElementById(element).style;
	return element;
}

// domain validation
function hr_domainValid(nname){
	var dname = nname;
	if(dname=='www'){
		//alert('טעות שם תחום, הקלד את שם התחום הנכון!');
		return false;
	}
	if(dname.length>2 && dname.length<57)
	{
		var chdh = 0;
		for(var j=0; j<dname.length; j++)
		{
		  var dh = dname.charAt(j);
		  var hh = dh.charCodeAt(0);
		  if(hh==45) chdh++; else chdh=0;
		  if(chdh==2){
			  //alert("שם התחום שלך לא צריכה לכלול 2 hyphens' - '");
			  return false;
		  }
		  
		  if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
		  {
			 if((j==0 || j==dname.length-1) && hh == 45)	
			 {
				 //alert("שם דומיין לא אמור להתחיל עם סיום הם '-'");
				  return false;
			 }
		  }
		else	{
			 //alert("שם התחום שלך לא צריכה לכלול תווים מיוחדים");
			 return false;
		  }
		}
	}
	else
	{
	 //alert("שם התחום שלך קצר מדי / ארוך");
	 return false;
	}	
	
	return true;
				
}