// JavaScript Document
// ############################################################
// Created By Vinod Jawanjalkar
// Date 23-8-2010
// ###########################################################
// global is an array where function names has defined
var global = ["isEmpty","testPattern","checkRadio","checkCheckBox","userFunction"];
var regexp = "";
var alertMessage = "";
function checkForm(formid){
	var formId	=	(formid == "" || formid == undefined) ? "form" : "#"+formid;
		
	var functionNo = "";
	var output = ""; 
	$(formId+" :input").each(function(){
	var messages = "";
	alertMessage = "";
		if($(this).attr("validation") == "Y"){
			regexp = $(this).attr("pattern");
			if($(this).attr("message") != undefined){
				if($(this).attr("message").indexOf("~") != -1){
					messages =  $(this).attr("message").split("~");
				}
				else{
					messages =  $(this).attr("message");
				}
			}
			if($(this).attr("require").length > 1){
				functionNo = $(this).attr("require").split("~");
				for(var i=0; i<functionNo.length; i++){
					if($(this).attr("message") != undefined){
						alertMessage = ($(this).attr("message").indexOf("~") != -1) ? messages[i] : messages;
					}
					output = eval(global[functionNo[i]]+"('"+$(this).attr("id")+"')");
					if(output == false){
						return false;
					}
				}
			}
			else{
				alertMessage = messages;
				output = eval(global[$(this).attr("require")]+"('"+$(this).attr("id")+"')");
				if(output == false){
					return false;
				}
			}
			
		}
		output = true;
	});
	if(output){ 
		$(formId).submit(); 
			
	}
}
$(document).ready(function() {
	applyAstric();
});

function applyAstric(){
	var	mandatory = "*";
	$("form :input").each(function(){
		if($(this).attr("validation") == "Y"){ 
			if(($(this).attr("type") == "radio") || ($(this).attr("type") == "checkbox")){  
				$(this).parent().parent().each(function(){
					$(this).children("td").each(function(){ 
						if($(this).children("span").html() == ""){ 
							$(this).children(".mandatory").append(mandatory);
						}
					})								
				});
			}
			else{
				if($(this).attr("require").indexOf(0) != -1){
					$(this).parent().parent().each(function(){
						$(this).children("td").each(function(){
							if($(this).children("span").html() == ""){
								$(this).children(".mandatory").append(mandatory);
							}
						})								
					});
				}	
			}
		}
		else{
			if($(this).attr("validation") == "N"){
				$(this).parent().parent().each(function(){
					$(this).children("td").each(function(){
						$(this).children(".mandatory").html("");
					})								
				});	
			}
		}
	});	
}

function isEmpty(elementId){
	var message = "";
	if($("#"+elementId).val() == ""){
		if(alertMessage == ""){
			if($("#"+elementId).attr("type") == "text"){
				message = $("#"+elementId).attr("altMessage")+" Could Not Empty";
			}
			else if($("#"+elementId).attr("type") == "textarea"){
				message = $("#"+elementId).attr("altMessage")+" Could Not Empty";
			}
			else{
				message = "You Have Not Selected "+$("#"+elementId).attr("altMessage");	
			}
		}
		else{
			message = alertMessage;
		}
		//getAlertBox(message);
		alert(message);
		$("#"+elementId).focus();
		return false;
	}
}

function testPattern(elementId){
	var p = new RegExp(regexp,"g");
	if($("#"+elementId).val() != ""){
		if(!p.test($("#"+elementId).val())){
			if(alertMessage == ""){
				alert("You Have Entered Wrong Data");
				//getAlertBox("You Have Entered Wrong Data");
			}
			else{
				//getAlertBox(alertMessage);
				alert(alertMessage);
			}
			$("#"+elementId).focus();
			return false;
		}
	}
}
function checkRadio(elementId){
	var flag = 0;
		
	$("form input:radio:"+elementId).each(function(){
		if($(this).is(":radio:checked")){
			flag = 1;
			//alert(elementId);
		}
	});
	if(flag == 0){
		alert(alertMessage);
		//getAlertBox(alertMessage);
		$("#"+elementId).focus();
		return false;
	}
}
function checkCheckBox(elementId){
	var flag = 0;
	$("form input:checkbox:"+elementId).each(function(){
		if($(this).is(":checkbox:checked")){
			flag = 1;
		}
	});
	if(flag == 0){
		//getAlertBox(alertMessage);
		alert(alertMessage);
		$("#"+elementId).focus();
		return false;
	}
}

function userFunction(id){
		
	var result = "";
	if($("#"+id).val() != ""){
		result = eval($("#"+id).attr("userfunction"));
		
		return result;
	}
}
