	var curscreen = '';
	var secondscreen = '';

	function $e(id)
	{
		return document.getElementById(id);
	}
	function $v(id)
	{
		return document.getElementById(id).value;
	}
	function selectValue(id,value)
	{
		var select = document.getElementById(id).getElementsByTagName('option');
		for(i=0;i<select.length;i++)
			if(select[i].value == value)
				select[i].selected = 'selected';
			else
				select[i].selected = null;
	}
	function selectElement(id,ele)
	{
		selectValue(id,document.getElementById(ele).value);
	}
	
	
	String.prototype.trim = function()
	{
		a = this.replaceAll(/^\s+/, '');
		return a.replaceAll(/\s+$/, '');
	};
	function isEmail(add){
		if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,5})+$/.test(add))
			return true;
		else
			return false;
	}
	function isValidEmail(str){
		return (str.indexOf('.') > 2) && (str.indexOf('@') > 0 && str.length > 4);
 	}
	
	function hasClass(ele,cls)
	{
		return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
	}

	function addClass(ele,cls)
	{
		if (!hasClass(ele,cls)) ele.className += " " + cls;
	}

	function removeClass(ele,cls)
	{
		var reg;
		if (hasClass(ele,cls))
		{
			reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
			ele.className=ele.className.replace(reg,' ');
		}
	}

	function passField(id)
	{
		removeClass($e(id),'error');
		if($e(id + '_err'))
			removeClass($e(id + '_err'),'error');
	}

	function failField(id)
	{
		addClass($e(id),'error');
		if($e(id + '_err'))
			addClass($e(id + '_err'),'error');
	}
	function validateObject(fields)
	{
		var incomplete = false;
		for(var i=0;i<fields.length;i++)
		{
			if($e(fields[i]))
			{
				if(!$v(fields[i]) || $v(fields[i]) == '')
				{
					failField(fields[i]);
					if(incomplete == false)
						$e(fields[i]).focus();
					incomplete = true;
				}
				else
					passField(fields[i]);
			}
		}
		return !incomplete;
	}
	function validateNumeric(fields)
	{
		var incomplete = false;
		for(var i=0;i<fields.length;i++)
		{
			if($e(fields[i]))
			{
				var value = null;
				if($v(fields[i]))
					value = parseFloat($v(fields[i]));
				if(!value)
				{
					failField(fields[i]);
					if(incomplete == false)
						$e(fields[i]).focus();
					incomplete = true;
				}
				else
					passField(fields[i]);
			}
		}
		return !incomplete;
	}
	function validateEmail(id)
	{
		if(isEmail($v(id)))
			return true;
		else
		{
			failField(id);
			return false;
		}
	}
	function validateChecked(id)
	{
		if($e(id).checked)
		{
			passField(id);
			return true;
		}
		else
		{
			failField(id);
			return false;
		}
	}
	function validatePassword(p1,p2)
	{
		var pass = true;
		var p = $v(p1);
		if(!p || p.length < 6 || p.length > 16)
		{
			failField(p1);
			pass = false;
		}
		if(!$v(p2) || $v(p2) != p)
		{
			failField(p2);
			pass = false;
		}
		return pass;
	}
	function validateEqual(id1, id2)
	{
		if($e(id1) && $e(id2))
		{
			passField(id1);
			passField(id2);
			if($v(id1) != $v(id2))
			{
				failField(id2);
				return false;
			}
			else
			{
				if(!$v(id1))
				{
					failField(id1);
					return false;
				}
				else
					return true;
			}
		}
		else
			return false;
	}
	function validatePair(id, id2)
	{
		if( (!$v(id)) != (!$v(id2)) )
		{
			if(!$v(id))
				failField(id);
			else
				failField(id2);
			return false;
		}
		else
		{
			passField(id);
			passField(id2);
			return true;
		}
	}
	function validateLength(id, min, max)
	{
		var len = $v(id).length;
		if(len <= max && len >= min)
		{
			passField(id);
			return true;
		}
		else
		{
			failField(id);
			return false;
		}
	}
	
	function na()
	{
		alert('Not Implemented Yet');
	}
	function url(address)
	{
		window.location = address;
	}

			 /*
	 * This function used to validate all form fields.
	 * parameters pass 'form' name
	 * It validate only those
	 * 
	 */
	function validateMailer_auto()
	{
		if(validateObject(array('period_auto','email')))
			return true;
		else	
			return false;
	}
	function validateMailer_manual()
	{
		if(validateObject(array('period_auto','email')))
			return true;
		else	
			return false;
	}
	function validateAll(theForm)
	{
	
		var allvalid =1;
		var num_of_elements = theForm.length;
		//alert(num_of_elements);
		for (var i = 0; i < num_of_elements; i++)
		{
			var theElement = theForm.elements[i];
			var element_type = theElement.type;
			var element_name = theElement.name;
			var element_value = theElement.value;
			var tval= theElement.getAttribute('tval');
			var valid=0;
			if (tval) 
			{
				var field1 = new Array(element_name);
				if(validateObject(field1))
				switch (tval) 
				{
					case 'email':
						if(validateEmail(element_name))
							valid = 1;
						else	
							valid=0;
						break;
					case 'float':
					case 'int':
					case 'mobile':
						if(validateNumeric(field1))
							valid = 1;
						else	
							valid=0;
						break;
					case 'password':
						var repass ;
						repass = 're'+element_name;
						i++;	
						if(validatePassword(element_name,repass))
							valid = 1;
						else
							valid = 0;
						break;
					case 'foreign':
						if (!$v(element_name)) {
							failField(element_name);
							valid = 0;
						}
						else
							valid = 1;
						break;
					case 'alpha':
						if(validateAlpha(field1))
							valid = 1;
						else
							valid = 0;
						break;	
					case 'alphanum':
						if(validateAlphaNumeric(field1))
							valid = 1;
						else
							valid = 0;
						break;	
					default:
						valid = 1;
						break;
				}	
				allvalid = allvalid & valid; 
			}
		}
		if(allvalid)
			return true;
		else
			return false;
		
	}
	
	
