/*****************************************
* JAVASCRIPT FUNCTIONS - bY RaZZzz
*****************************************/

var field_main;
function do_blink(field)
{
	var errorcolor="#ff0000";
	field.focus();
	field.select();
	field.style.background=errorcolor;
    field_main=field;
	setInterval("temp()",500);
    
}

function temp(field)
{
	var okcolor="#ffffff";
	field_main.style.background=okcolor;
}

function validate(field)
{
	try
	{
	jsClass=field.getAttribute("jsClass");
	jsMsg=field.getAttribute("jsMsg");
	if(jsClass=="required")
	{	
		req=field.getAttribute("req");
		//alert('asd'+jsClass);
		pattern="\\w{"+req+",}";
		if(!field.value.match(pattern))
		{
			alert(jsMsg);do_blink(field);return false;
		}
	}
	
	else if(jsClass=="email")
	{
		
		pattern="^\\w{1,}@\\w{1,}(\\.\\w{1,}){1,}$";
		
			if(!field.value.match(pattern))
			{
				alert(jsMsg);do_blink(field);
				return false;
			}
		//}
		
	}
	
	else if(jsClass=="number")
	{			
		if((field.value.length<1)||isNaN(field.value))
		{
		alert(jsMsg);do_blink(field);return false;
		}		
	}
	
	
	
	else if(jsClass=="code")
	{
		pattern="^[0-9]{3}$";
		if(!field.value.match(pattern))
		{
			alert(jsMsg);do_blink(field);return false;
		}	
	}
	
	
	else if(jsClass=="select")
	{	
		if(field.value=='0')
		{
			alert(jsMsg);
			field.focus();
			return false;
		}		
	}	
	
	else if(jsClass=="date")
	{
		pattern="[0-9]{4}\\-[0-9]{1,2}\\-[0-9]{1,2}$";
		if(!field.value.match(pattern))
		{
			alert(jsMsg);do_blink(field);return false;
		}
		
		/* Check if the from date is greater */
		var from = document.getElementById("from").value;
		var to = document.getElementById("to").value;
		if(from > to)
		{
			alert("'From Date' cant be greater than 'To Date'!!");
			do_blink(field);
			return false;
		}
		/* Check if the from date is smaller than Current Date */
		var currentTime = new Date();		
		var month = currentTime.getMonth() + 1;
		var day = currentTime.getDate();
		var year = currentTime.getFullYear();
		var todaysDate = year+"-"+month+"-"+day;
		//alert("Today is :"+todaysDate);
		/*if(from < todaysDate)
		{
			alert("'From Date' cant be smaller than 'Todays Date'");
			do_blink(field);
			return false;
		}*/
	}
	
	else if(jsClass=="picture")
	{
		values=field.value.toLowerCase();
		//alert(values);
		if(values == "" )
		{
			alert(values+" is not a valid Image file");
			do_blink(field);
			return false;
		}
		if(ends_with(values,".jpg") || ends_with(values,".gif"))
		{
			return true;
		}
		else
		{
			alert(values+" is not a valid Image file");
			do_blink(field);
			return false;	
		}
	
	}
	
	else if(jsClass == "dateRange")
	{
		
		var from = document.getElementById("from").value;
		var to = document.getElementById("to").value;
		if(from > to)
		{
			alert("From Date cant be greater");
			do_blink(field);
			return false;
		}
		
		
	}
	
	else if(jsClass=="integer")
	{
		$bool=field.value.match("^[0-9]{1,9}$");	
		if($bool==0)
		{
			alert("Please enter a non-zero number");
			do_blink(field);
			return false;
		}
	if((!$bool)||isNaN(field.value)||(field.value.indexOf(".")!=-1))
		{
			alert(jsMsg);
			do_blink(field);
			return false;	
		}
	}

	return true;
    }

	catch(ex)
	{
		alert(ex.message);
		return true;
	}
}

function call_validate(form,from,to)
{
	for(counter=from;counter<to;counter++)
	{
		bool=validate(form[counter]);
		if(!bool)
		{
			return false;
			break;
		}
	}
	form.submit();
}

function getIndex(what,form) {
    for (var i=0;i<form.length;i++)
        if (what == form[i])
            return i;
    return -1;
}

/*************** By: RaZZzz *******************/

function ends_with(hay,neddle)
{
hay=hay.replace(/^\s*|\s*$/g,"");
neddle_length=neddle.length;
hay_length=hay.length;
hay_part=hay.substring((hay_length-neddle_length),hay_length);
return (hay_part==neddle)
}
