//------------------------------------------------------------------------------
jQuery.fn.extend({
	tabs: function(options) {
		var defaults = {
			active: 1,
			duration: 0,
			navClass: "ui-tabs",
			selectedClass: "selected"
		};
		return this.each(function() {
			var obj = $(this);
			var tabDivs = $("div", obj);
			var link = $("ul li a", obj);
			tabDivs.hide();
			var o = $.extend(defaults, options);
			obj.addClass(o.navClass);	//apply class to the entire tab content
			
			tabDivs.eq(o.active-1).show(o.duration);
			for(i=0;i<link.length;i++) {
				if(i != o.active)
					link.eq(i).removeClass(o.selectedClass);
				link.eq(o.active-1).addClass(o.selectedClass);
			}

			link.click(function() {
				var index = link.index(this);
				$('li a',obj).each(function() {
					$(this).removeClass(o.selectedClass);
					tabDivs.hide(o.duration);
				});
				$(this).addClass(o.selectedClass);
				tabDivs.eq(index).show(o.duration);
			});
		});
	}
});
//------------------------------------------------------------------------------
jQuery.extend({
	paging: function(url, page, totalPages) {
		if(!this.isNumeric(page)) {
			alert('Invalid page no'); page.focus(); return false;
		}
		pageNo = $.trim(page.value);
		if(pageNo > totalPages || pageNo < 1) {
			alert('Invalid Page'); page.focus(); return false;
		}
		this.goTo(url+pageNo);
		return false;
	},

	loadPage: function(url, objAnchor, rh) {
		this.controlLbLayer("block");
		if ( objAnchor != "" ) {
			var anchorParent = objAnchor.parentNode.parentNode.parentNode.id;
			rh  = "process_"+anchorParent;
		} else {
			rh	=	"process_"+rh;
		}
		$.ajax( {type:"GET", url:url, success: eval(rh)} );
		return false;
	},

	controlLbLayer: function(mode) {
		if(mode == "block") { $('select').hide(); $('#lb_layer').show(); }
		else { $('select').show(); $('#lb_layer').hide(); }
	},

	goBack: function(url) {
		if( url == undefined )
			history.go(-1);
		else
			window.location	= url;
	},

	goTo: function(url) {
		window.location	=	url;
	},

	goToOnChange: function(frm,url,act) {
		frm.action = url;
		frm.act.value	=	act;
		frm.submit();
	},

	delAlert: function(url, msg) {
		msg = msg ? msg : "Are you sure to delete?";
		if ( confirm(msg) ) {
			this.goTo(url);
		} else {
			return false;
		}
	},

	getURL: function() {
		url = document.location.href;
		x   = url.indexOf(".");
		x	= url.indexOf("/", x);
		return url.substring(0,x);
	},

	getParam: function(key) {
		var strQS = window.location.search;
		var param = strQS.split("&");
		for ( var i = 0; i < param.length; i++ ) {
			if ( param[i].indexOf(param + "=") > -1 ) {
				var aParam = aQueryString[iParam].split("=");
				var keyValue = aParam[1];
				break;
			}
		}
		return keyValue;
	},
	
	popUp: function(url, win_name, width, height, resize, scroll, top, left) {
		popWin = window.open(url, win_name, "toolbar=no, location=no, directories=no, status=no, menubar=no, resizable="+(!resize ? "yes" : resize)+", copyhistory=no, scrollbars="+(!scroll ? "yes" : scroll)+", width="+(!width ? "400" : width)+", height="+(!height ? "300" : height)+", top="+(!top ? "50" : top)+", left="+(!left ? "50" : left));
		popWin.focus();
	},

	openTarget: function(form, windowName, width, height, resize, scroll, top, left) {
		form.target = windowName;
		this.popUp('', windowName, width, height, resize, scroll, top, left);
	},
	
	//random bet'n 0 and x
	random: function(x) {
	    return Math.floor(x * (Math.random() % 1));
	},

	randomBetween: function(minV, maxV) {
	  return minV + this.random(maxV - minV + 1);
	},

	round: function(number, x) {
		x = (!x ? 2 : x);
		return Math.round(number*Math.pow(10,x))/Math.pow(10,x);
	},

	isEmpty: function(objElt) {
		data =	$.trim(objElt.val());
		if (data.length>0) { return false; }
		return true;
	},

	isAlpha: function(objElt) {
		return	/^[a-zA-Z]+$/.test(objElt.val());
	},
	
	isAlpha1: function(objElt) {
		return	/^[a-zA-Z ]+$/.test(objElt.val());
	},
	
	isNumeric: function(objElt) {
		return	/^[0-9]+$/.test(objElt.val());
	},

	isDOB: function(objElt) {
		return	/^[0-9/+ ]+$/.test(objElt.val());
	},
	
	isAlphaNumeric: function(objElt) {
		return	/^[a-zA-Z0-9 ]+$/.test(objElt.val());
	},
	
	isPhone: function(objElt) {
		return	/^[0-9\-()+ ]+$/.test(objElt.val());
	},

	isEmail: function(objElt) {
		return	/^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,4}(\.[a-z]{2}){0,2})$/i.test(objElt.value);
	},
	
	isAmount: function(objElt) {
		return	/^[0-9]+(.){0,1}([0-9]*)$/i.test(objElt.val());
	},

	isPositiveInt: function(objElt) {
		if(parseInt(objElt.val())>0) {	return true; }
		return false;
	},

	isPositiveFloat: function(objElt) {
		return this.isNotNegativeFloat(objElt) && (parseFloat(objElt.val())>0);	
	},

	isNotNegativeFloat: function(objElt) {
		return /^[0-9]*[.]{0,1}[0-9]*$/.test(objElt.val());
	},

	isNotNegativeInt: function(objElt) {
		return /^[0-9]*$/.test(objElt.val());
	},

	isZip: function(objElt, noOfChars) {
		patZip	=	eval("/^[0-9]{"+noOfChars+"}$/");
		return patZip.test(objElt.val());
	},

	isPeriod: function(objElt) {
		return /^[1-9][0-9]{2}$/.test(objElt.val());
	},

	isFloat: function(objElt) {
		return /^[\-\+]{0,1}[0-9]*[.]{0,1}[0-9]*$/.test(objElt.val());
	},

	isInt: function(objElt) {
		i = parseInt(objElt.val());
		if(i>0 ||i==0 || i<0) { return true; }
		return false;
	},
	
	isSpace: function(objElt) {
		return /^[ ]+$/.test(objElt.val());
	},

	itemsChecked: function(type, eltName, form) {
		a = 0;
		for(var i=0; i<form.elements.length; i++) {
			var e = form.elements[i];
			if(e.type == type && e.name == eltName && e.checked) { a++; }
		}
		return a;
	},

	itemSelected: function(objElt) {
		if ( objElt.options.selectedIndex == 0 || objElt.options.selectedIndex == -1 )
			return false;
		return true;
	},

	itemsSelected: function(objElt) {
		a = 0;
		for(i=0; i<objElt.options.length; i++)
		{
		  if(objElt.options[i].selected)
			a++;
		}
		return a;
	},

	itemSelectedData: function(objElt, mode) {
		return (mode == "value") ? objElt.value : objElt.options[objElt.selectedIndex].text;
	},

	radioValue: function(Elt) {
		var x = null;
		var objElt=$(Elt + ' input[type=radio]:checked');
		x=objElt.val();
		return x;
	},

	//onclick="$.checkAll(this, this.form, 'cbox[]');
	checkAllOld: function(chk, form, eltname) {
		for(i=0; i<form.elements.length; i++) {
			var e = form.elements[i];
			if(e.type == "checkbox" && e.name == eltname) { e.checked = chk.checked; }
		 }
	},
	checkboxvalue: function(chk) {
		var objElt=$(chk).attr("checked");
		if(objElt=='checked')
			return true;
		else
			return false;
	},
	//onclick="$.checkAll(this, this.form.elements['cbox[]']);
	checkAll: function(chk, objElt) {
		for(i=0; i<objElt.length; i++)
			objElt[i].checked = chk.checked;
	}, 

	transfer: function(fromId, toId) {
		return !$('#'+fromId).children('option:selected').remove().appendTo($('#'+toId)); 
	},


	validateCaptcha: function(chkUrl, cCode) {
		qdata	=	$("#"+cCode).val();
		return	$.ajax({ type: "GET", url: chkUrl, data: "qd="+qdata, cache: false, async: false}).responseText;
	},

	formatMoney: function(amount) {
		var i = parseFloat(amount);
		if(isNaN(i)) { i = 0.00; }
		var minus = '';
		if(i < 0) { minus = '-'; }
		i = Math.abs(i);
		i = parseInt((i + .005) * 100);
		i = i / 100;
		s = new String(i);
		if(s.indexOf('.') < 0) { s += '.00'; }
		if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
		s = minus + s;
		return s;
	},
	
	setCookie: function(cookieName, cookieValue, lifeTime, path, domain, isSecure) {
		if ( !cookieName ) { return false; }
		life_time	=	lifeTime * 24 * 60 * 60 * 1000;
		document.cookie = encodeURIComponent(cookieName) + "=" + encodeURIComponent(cookieValue) + (lifeTime ? ";expires=" + ( new Date( ( new Date() ).getTime() + (life_time) )).toGMTString() : "") + (path ? ";path=" + path : "") + (domain ? ";domain=" + domain : "") + (isSecure ? ";secure" : "");
	},

	getCookie: function(cookieName) {
		var cookieJar = document.cookie.split(";");
		for(var x = 0; x < cookieJar.length; x++) {
			var arrCookie = cookieJar[x].split("=");
			if(arrCookie[0] == decodeURIComponent(cookieName) ) { return decodeURIComponent(arrCookie[1]); }
		}
		return null;
	},
	
	pad: function(str, len, pad, dir) {
		if (typeof(len) == "undefined") { var len = 0; }
		if (typeof(pad) == "undefined") { var pad = ' '; }
		if (typeof(dir) == "undefined") { var dir = "left"; }

		if (len + 1 >= str.length) {
			switch (dir) {
				case "left":
					str = Array(len + 1 - str.length).join(pad) + str;
					break;

				case "both":
					var right = Math.ceil((padlen = len - str.length) / 2);
					var left = padlen - right;
					str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
					break;

				case "right":
					str = str + Array(len + 1 - str.length).join(pad);
					break;
			}
		}
		return str;
	},

	//var prelod = ['image1.gif', 'image2.gif'];
	//$.preloadImages(preload);
	//$.preloadImages('image1.gif', 'image2.gif');
	preloadImages: function() {
		var a = (typeof arguments[0] == 'object') ? arguments[0] : arguments;
		for(var i=a.length-1; i>0; i--) {
			jQuery("<img>").attr("src", a[i]);
		}
	},

	correctPNG: function() {
	   var arVersion = navigator.appVersion.split("MSIE")
	   var version = parseFloat(arVersion[1])
	   if ((version >= 5.5) && (document.body.filters)) 
	   {
		  for(var i=0; i<document.images.length; i++)
		  {
			 var img = document.images[i]
			 var imgName = img.src.toUpperCase()
			 if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
			 {
				var imgID = (img.id) ? "id='" + img.id + "' " : ""
				var imgClass = (img.className) ? "class='" + img.className + "' " : ""
				var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
				var imgStyle = "display:inline-block;" + img.style.cssText 
				if (img.align == "left") imgStyle = "float:left;" + imgStyle
				if (img.align == "right") imgStyle = "float:right;" + imgStyle
				if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
				var strNewHTML = "<span " + imgID + imgClass + imgTitle
				+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
				+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
				+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
				img.outerHTML = strNewHTML
				i = i-1
			 }
		  }
	   }
	},
	isValidDate: function(ddlday,ddlmonth,ddlyear,lbl,emptyerrormessage,errormessage){
		var isValid = true;
		var dateval=$(ddlmonth).val() + "/" + $(ddlday).val() + "/" + $(ddlyear).val();
		var format='dd/mm/yy';
		if($(ddlmonth).val()=='' || $(ddlmonth).val()=='' || $(ddlyear).val()=='')
		{
			isValid = false;
			$(lbl).html(emptyerrormessage);
			$(ddlday).css('background','#FFE07B');
			$(ddlmonth).css('background','#FFE07B');
			$(ddlyear).css('background','#FFE07B');
			//$(ddlday).focus();
			return isValid;
		}
		try{
			var date=new Date(dateval);
			$(lbl).html('');
			$(ddlday).css('background','#FFFFFF');
			$(ddlmonth).css('background','#FFFFFF');
			$(ddlyear).css('background','#FFFFFF');
		}
		catch(error){
			isValid = false;
			$(lbl).html(errormessage);
			$(ddlday).css('background','#FFE07B');
			$(ddlmonth).css('background','#FFE07B');
			$(ddlyear).css('background','#FFE07B');
			//$(ddlday).focus();
		}
		return isValid;
	},
	checkChildDOB: function(ddlday,ddlmonth,ddlyear,ddlchildday,ddlchildmonth,ddlchildyear,lbl,errormessage)
	{
		var dateval=$(ddlmonth).val() + "/" + $(ddlday).val() + "/" + $(ddlyear).val();
		var childdateval=$(ddlchildmonth).val() + "/" + $(ddlchildday).val() + "/" + $(ddlchildyear).val();
		var date_ini = new Date(dateval);
		var date_end = new Date(childdateval);
		if (isNaN(date_ini)) {
			return false;
		}
		if (isNaN(date_end)) {
			return false;
		}
		if ((date_end-date_ini)/(1000*60*60*24)<=0) {
			$(lbl).html(errormessage);
			$(ddlchildday).css('background','#FFE07B');
			$(ddlchildmonth).css('background','#FFE07B');
			$(ddlchildyear).css('background','#FFE07B');
			return false;
		}else
		{
			return true;
		}
	},
	validateAge: function(ddlday,ddlmonth,ddlyear,lbl,minage,maxage,errormessage)
	{
		var isValid = true;
		var dd = $(ddlday).val();
		var mm = $(ddlmonth).val();
		var yy = $(ddlyear).val();
		var mydate = new Date();
		mydate.setFullYear(yy, mm-1, dd);
		var currdate = new Date();
		currdate.setFullYear(currdate.getFullYear());
		var age=(currdate.getFullYear() - mydate.getFullYear());
		if(minage=='')
		{
				if (age> parseInt(maxage)){
					isValid=false;
					$(lbl).html(errormessage);
					$(ddlday).css('background','#FFE07B');
					$(ddlmonth).css('background','#FFE07B');
					$(ddlyear).css('background','#FFE07B');
					//$(ddlday).focus();
				}
		}
		if(maxage=='')
		{
			if (age < parseInt(minage)){
				isValid=false;
				$(lbl).html(errormessage);
				$(ddlday).css('background','#FFE07B');
				$(ddlmonth).css('background','#FFE07B');
				$(ddlyear).css('background','#FFE07B');
				//$(ddlday).focus();
			}
		}
		if(minage!='' && maxage!='')
		{

			if (parseInt(age) < parseInt(minage) || parseInt(age)>parseInt(maxage)){
				isValid=false;
				$(lbl).html(errormessage);
				$(ddlday).css('background','#FFE07B');
				$(ddlmonth).css('background','#FFE07B');
				$(ddlyear).css('background','#FFE07B');
				//$(ddlday).focus();
			}
		}
		if(isValid)
		{
			$(lbl).html('');
			$(ddlday).css('background','#FFFFFF');
			$(ddlmonth).css('background','#FFFFFF');
			$(ddlyear).css('background','#FFFFFF');
			//$(ddlday).focus();
		}
		return isValid;
	}
});

function validateSumAssured(tb,lbl,errormessage)
{

	if($.isEmpty($(tb))){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if(!$.isNumeric($(tb))){$(lbl).html('Enter numbers only');$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateSumAssuredMaxMin(tb,lbl,minval,maxval,errormessage)
{
	if(parseInt(maxval)>0)
	{
		if (!(parseInt($(tb).val()) >= parseInt(minval)) && (parseInt($(tb).val()) <= parseInt(maxval))) {
			$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;
		}
	}else
	{
		if (!(parseInt($(tb).val()) > parseInt(minval))){
			$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;
		}	
	}
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateSumAssuredDivided(tb,lbl,dividedval,errormessage)
{
	if (parseInt($(tb).val()) % parseInt(dividedval) != 0) {
		$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;
	}
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validatePolicyTerm(ddl,lbl,errormessage)
{
	if($.isEmpty($(ddl))){$(lbl).html(errormessage);$(ddl).css('background','#FFE07B');/*$(ddl).focus();*/return false;}
	$(ddl).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateName(tb,lbl,errormessage,alphaerrormessage)
{
	if($.isEmpty($(tb))){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if(!$.isAlpha1($(tb))){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;

}
function validateMobile(tb,lbl,errormessage,numericerrormessage,counterrormessage,validerrormessage)
{
	if($.isEmpty($(tb))){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if(!$.isNumeric($(tb))){$(lbl).html(numericerrormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if($(tb).val().length!=10){$(lbl).html(counterrormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if ($(tb).val().substr(0,1)!='9' && $(tb).val().substr(0,1)!='8' && $(tb).val().substr(0,1)!='7'){$(lbl).html(validerrormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateNumber(tb,lbl,errormessage,numericerrormessage)
{
	if($.isEmpty($(tb))){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if(!$.isNumeric($(tb))){$(lbl).html(numericerrormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateEmail(tb,lbl,errormessage,validerrormessage)
{
	if($.isEmpty($(tb))){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	if(!emailValidate($(tb).val(),'')){$(lbl).html(errormessage);$(tb).css('background','#FFE07B');/*$(tb).focus();*/return false;}
	$(tb).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateCity(ddl,lbl,errormessage)
{
	if($.isEmpty($(ddl))){$(lbl).html(errormessage);$(ddl).css('background','#FFE07B');/*$(ddl).focus();*/return false;}
	$(ddl).css('background','#FFFFFF');$(lbl).html('');return true;
}
function validateTerms(chk,lbl,errormessage)
{
	if(!$.checkboxvalue(chk)){$(lbl).html(errormessage);/*$(chk).focus();*/return false;}
	$(lbl).html('');return true;
}
function focus_ctrl(flag,objects)
{
	if(!flag)
	{
		$(objects).focus();
		 return false;
	}
}
/*old*/
function textValidate(incomingString, defaultValue)
{
	if(trimSpace(incomingString).length == 0 || incomingString.search(/[^a-zA-Z ]/g) != -1 || incomingString==defaultValue)
	{
		return false;
	}
	else
		return true;
}
function numberValidate(incomingString, defaultValue)
{
	if(trimSpace(incomingString).length == 0 || incomingString.search(/[^0-9\.]/g) != -1 || incomingString==defaultValue || parseInt(incomingString, 10) <= 0 )
	{
		return false;
	}
	else
		return true;
}
function trimSpace(x)
{
	var emptySpace = / /g;
	var trimAfter = x.replace(emptySpace,"");
	return(trimAfter);
}
function alphanumeric(incomingString, defaultValue)
{
	if(trimSpace(incomingString).length == 0 || incomingString.search(/[^0-9a-zA-Z ]/g) != -1 || incomingString==defaultValue)
	{
		return false;
	}
	else
		return true;
}

function onlynumberValidate(incomingString, defaultValue)
{
	if(trimSpace(incomingString).length == 0 || incomingString.search(/[^0-9\.]/g) != -1 || incomingString==defaultValue || parseInt(incomingString, 10) <0 )
	{
		return false;
	}
	else
		return true;
}
function emailValidate(incomingString, defaultValue) {
    if(trimSpace(incomingString).length == 0 || incomingString.search
        (/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i) == -1 || incomingString==defaultValue)
    {
        return false;
    }
    else
        return true;
}

