function loadform(){
	for(var i = 0;i<document.forms.length;i++)
	{
		var form=document.forms[i];
		for(var j = 0;j<form.length;j++)
		{
			var el = form[j];

			var validation=el.getAttribute('validation');
	
			if(validation!=null && validation.toLowerCase().indexOf('required')>=0){
				var span = document.createElement( 'span' );
				span.className="star";
				span.innerHTML = "*";
				el.parentNode.insertBefore(span, el.nextSibling);
			}
		}
	}
}

function checkform(form){
	for(var j = 0;j<form.length;j++)
	{
		var el = form[j];

		var validation=el.getAttribute('validation');
		
		if(validation!=null){
		 	if(validation.length>0){
				if(validate(el,validation,form)==false){
					return false;
				}
			}			
		}
	}
	return true;
}

function validate(el,validation,form){
	var v_array=validation.split("|");
	for(var j = 0;j<v_array.length;j++)
	{
		if(validateone(el,v_array[j],form)==false){
			return false;
		}
	}
	return true;
}

function validateone(el,validation,form){
	var ret=true;
	var msg="";
	var controlname=el.getAttribute('controlname');
	if(controlname != null){
		
	}else{
		controlname=el.name;
	}
	validation=Trim(validation);
	var v_array=validation.split("=");
	if(v_array.length>1){
		validation=v_array[0];
		var subvalidation=v_array[1];
	}
	validation=validation.toLowerCase();
	

	if (validation=='required'){
		ret=isEmpty(el.value);
		if(ret==true){
			alert('Please input '+controlname+'!');
			el.focus();
			ret=false;
		}else{
			ret=true;
		}
	}else if (validation=='email'){		
		ret=isEmail(el.value);	
		if(ret==false){
			alert('Please input a valid email in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='integer'){
		ret=isInteger(el.value);
		if(ret==false){
			alert('Please input a integer in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='phonenumber'){
		ret=isPhoneNumber(el.value);
		if(ret==false){
			alert('Please input a valid phone no in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='postal'){
		ret=isPostal(el.value);
		if(ret==false){
			alert('Please input a valid postal in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='number'){
		ret=isNumber(el.value);
		if(ret==false){
			alert('Please input a number in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='aplhanumeric'){
		ret=isAplhaNumeric(el.value);
		if(ret==false){
			alert('Please input a aplhanumeric in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='date'){
		ret=isDate(el.value);
		if(ret==false){
			alert('Please input a date in '+controlname+' field!');
			el.focus();
		}
	}else if (validation=='sameto'){
		try{	
			eval("var el2=form."+subvalidation+";");
			
			
			if(el.value!=el2.value)
				ret=false;
			
			if(ret==false){
				var controlname2=el2.getAttribute('controlname');
				if(controlname2 != null){
		
				}else{
					controlname2=el2.name;
				}
				alert(controlname +' must be same with '+controlname2);
				el.focus();
			}
		}catch(e){alert(e);}
	}else if (validation=='agreepolicy'){
	   if (el.checked) return true;
		 else {
			 alert("please check BizSmarts.com user plicy!");
		   return false;
		 }
	}else{
		return true;
	}
	return ret;
}

function Trim(str)
{
        return str.replace(/(^\s*)|(\s*$)/g, "");
}



function winLocation(url){
	window.location.href=url;
}

function checkSelect(form,controlname){
	var arr=form.elements[controlname];
	if(arr){
		if(typeof(arr.length)=='undefined'){
			if(arr.checked==true){
				return true;
			}
		}else{			
			for(var i=0;i<arr.length;i++){
				if(arr[i].checked==true){
					return true;
				}
			}			
		}	
		
	}
	return false;
}

function radioSelect(form,controlname){
	var arr=form.elements[controlname];
	if(arr){
		if(typeof(arr.length)=='undefined'){
			if(arr.checked==true){
				return true;
			}
		}else{			
			for(var i=0;i<arr.length;i++){
				if(arr[i].checked==true){
					return true;
				}
			}			
		}	
		
	}
	return false;
}

function MultiSelector( list_target, max, element_name ){
  if(element_name == null || element_name=='') element_name='file';
  this.element_name = element_name+'_';

  this.list_target = list_target;
  this.count = 0;
  this.id = 0;
  if( max ){
	this.max = max;
  } else {
	this.max = -1;
  };
  this.addElement = function( element ){
	if( element.tagName == 'INPUT' && element.type == 'file' ){
		 element.name = this.element_name + this.id++;
		 element.multi_selector = this;
		 element.onchange = function(){
		   var new_element = document.createElement( 'input' );
		   new_element.type = 'file';
		   this.parentNode.insertBefore( new_element, this );
		   this.multi_selector.addElement( new_element );
		   this.multi_selector.addListRow( this );
		   this.style.position = 'absolute';
		   this.style.left = '-1000px';
		};
		if( this.max != -1 && this.count >= this.max ){
		  element.disabled = true;
		};
		this.count++;
		this.current_element = element;
  } else {
	 alert( 'Error: not a file input element' );
  };
 };
 this.addListRow = function( element ){
	 var new_row = document.createElement( 'div' );
	 var new_row_button = document.createElement( 'input' );
	 new_row_button.type = 'button';
	 new_row_button.value = 'Delete';
	 new_row.element = element;
	 new_row_button.onclick= function(){
	   this.parentNode.element.parentNode.removeChild( this.parentNode.element );
	   this.parentNode.parentNode.removeChild( this.parentNode );
	   this.parentNode.element.multi_selector.count--;
	   this.parentNode.element.multi_selector.current_element.disabled = false;
	   return false;
	};
    var test1 = element.value;
    var test = test1.substring(test1.lastIndexOf('\\')+1);
    new_row.innerHTML = test;
    new_row.appendChild( new_row_button );
	this.list_target.appendChild( new_row );
  };
};

function GarbegeCollect(el_id){
	var el = document.getElementById(el_id);
	try{
		while (el.firstChild) {
				el.removeChild(el.firstChild);
		}
	}catch(e){
		//alert(e);
	}
}

