jQuery.fn.hasClass = function(c) {

  return this.is('.'+c)

};

function invalidateField(field,error)

	{

		if (error) {

			$(field).parents(".ctrlHolder:first").addClass("error");

			if($(field).parents(".ctrlHolder:first").find(".errorField")[0] != null)

			$(field).parents(".ctrlHolder:first").find(".errorField")[0].style.display = "block";

		} else {

			$(field).parents(".ctrlHolder:first").removeClass("error");

						if($(field).parents(".ctrlHolder:first").find(".errorField")[0] != null)

			$(field).parents(".ctrlHolder:first").find(".errorField")[0].style.display = "none";



		}

	}

$(document).ready( function() {

	/* File modified by Danish Qamar */ 

	function validateField(field) {
		var error = false;
		if ($(field).attr("class").indexOf("disabled") != -1)
		{
			return true;
		}
		
		// required fields
		required = false;
		le  = $(field).val().length;
		if ($(field).attr("class").indexOf("required") != -1) {
			required = true;		

			if($(field).attr("type") == "checkbox")
			{
				_name = field.name;				
				if(field.form[_name].length)
				{
					error = true;
					for(kk=0; kk < field.form[_name].length; kk++)
					{

						if(field.form[_name][kk].checked)
						{
							error = false;
							break;
						}
					}
				}
				else
					error = !field.checked
					

			}
			else
			{
				if (!$(field).val().length)
					error = true;
				else
				{
					if($(field).attr("alt") != "")
					{
						if ($(field).val() == $(field).attr("alt"))
						error = true;
					}
				}
			}
		}		
		
		if ($(field).attr("class").indexOf("website") != -1)
		{
			if(!required && !le )
				error = false;
			else
			{
			
			if (!/^http:\/\/(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/.test($(field).val()))		
				error = true;
			}
			
		}
	// Website address fields
	if ($(field).attr("class").indexOf("website_optional") != -1) {
		if (!$(field).val().length) {
				error = false;
		} else {
			if (!/^http:\/\/(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/.test($(field).val()))		
				error = true;
		}
	}
	 
		// numeric fields
		if ($(field).attr("class").indexOf("numeric") != -1) {
if(!required && !le )
				error = false;
			else
			{
			if (!/^[0-9]*$/.test($(field).val()))
				error = true;
			}

		}

		// alpha-numeric fields

		if ($(field).attr("class").indexOf("alphanumaric") != -1) {
if(!required && !le )
				error = false;
			else
			{
			if (!/^[a-z A-Z0-9_-]*$/.test($(field).val()))

				error = true;
			}

		}

		// characters (letters)

		if ($(field).attr("class").indexOf("character") != -1) {
if(!required && !le )
				error = false;
			else
			{
			if (!/^[a-zA-ZöÖäÄåÅ]*$/.test($(field).val()))

				error = true;
			}

		}

		// Alhpa-Numeric NoWhiteSpace fields

		if ($(field).attr("class").indexOf("NoWhiteSpace") != -1) {
if(!required && !le )
				error = false;
			else
			{
			if (!/^[a-zA-Z0-9_-]*$/.test($(field).val()))

				error = true;
			}

		}

		// emails

		if ($(field).attr("class").indexOf("email") != -1) {
if(!required && !le )
				error = false;
			else
			{
			if (!/^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$/.test($(field).val()))

				error = true;
			}

		}		

		// confirm password

		if ($(field).attr("class").indexOf("confirmPassword") != -1) {
if(!required && !le )
				error = false;
			else
			{
			if ($(field).val()!=$("#password").val())

				error = true;
			}

		}
		 if ($(field).attr("class").indexOf("less_250") != -1)
		 {	if(!required && !le )
				error = false;
			else
			{
		
			if($(field).val().length > 250 )
			{
					error = true;
			} 

			}
		}
 		 
		

		if($(field).parents("form:first").hasClass("aptexForm"))

		{

			id = $(field).attr("id");
			strId = "" + id;

			if(id == "" || strId ==  "undefined")
			{
				
				id = $(field).attr("alt");
			}


			selectorMsg = "._" + id;

			selectorHL = "._HL" + id;

		

			if (error) {

				

				

				$(selectorMsg).show();

				$(selectorHL).addClass("errorBlock"); 

			} else {

				 $(selectorMsg).hide();

				$(selectorHL).removeClass("errorBlock"); 

	

			}

		}

		else

		{

			if(error)

			$(field).parents(".formBlock:first").find(".errorMsg").fadeIn();

			else

			$(field).parents(".formBlock:first").find(".errorMsg").fadeOut();

		}

//	alert($(field).attr("id") + " " + error); 
//		console.log(field);

//		console.log(error);

		return !error;

	}

	

	$(".aptexForm").each( function() {

							 

		 

		// handle submissions without filling any field

		$(this).submit(function () {
	
			return this.validate();

		});

		

		this.validate = function () {

			var validationError = false;

			// for each field test it

			$("input, select, textarea", this).each( function() {

													

				if ($(this).attr("class"))

				{	

					

					if ( ($(this).attr("class").indexOf("validation")) != -1)

					{

				

						if (!validateField(this))

						{

							validationError = true;

						}

					}

				}

			});

			return !validationError;

		};

		

		// handle changes on the fly

		$("input, select, textarea", this).each( function() {

			$(this).focus(function()

			{

				  

				$(this).parents("tr:first").addClass("unifrm-bg");

			});

			$(this).blur( function() {

											   $(this).parents("tr:first").removeClass("unifrm-bg");

										   });

			if ($(this).attr("class")) {

					

					if($(this).attr("class").indexOf("validation")!=-1)

					{						 

					 		if($(this).attr("class").indexOf("noblu")==-1)
							{
						$(this).blur( function() {

											   $(this).parents("tr:first").removeClass("unifrm-bg");

											   validateField(this) } );
							}
						

    			}

			}

		});

	});

});



 (function(a){var c=(a.browser.msie?"paste":"input")+".mask";var b=(window.orientation!=undefined);a.mask={definitions:{"9":"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"}};a.fn.extend({caret:function(e,f){if(this.length==0){return}if(typeof e=="number"){f=(typeof f=="number")?f:e;return this.each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(e,f)}else{if(this.createTextRange){var g=this.createTextRange();g.collapse(true);g.moveEnd("character",f);g.moveStart("character",e);g.select()}}})}else{if(this[0].setSelectionRange){e=this[0].selectionStart;f=this[0].selectionEnd}else{if(document.selection&&document.selection.createRange){var d=document.selection.createRange();e=0-d.duplicate().moveStart("character",-100000);f=e+d.text.length}}return{begin:e,end:f}}},unmask:function(){return this.trigger("unmask")},mask:function(j,d){if(!j&&this.length>0){var f=a(this[0]);var g=f.data("tests");return a.map(f.data("buffer"),function(l,m){return g[m]?l:null}).join("")}d=a.extend({placeholder:"_",completed:null},d);var k=a.mask.definitions;var g=[];var e=j.length;var i=null;var h=j.length;a.each(j.split(""),function(m,l){if(l=="?"){h--;e=m}else{if(k[l]){g.push(new RegExp(k[l]));if(i==null){i=g.length-1}}else{g.push(null)}}});return this.each(function(){var r=a(this);var m=a.map(j.split(""),function(x,y){if(x!="?"){return k[x]?d.placeholder:x}});var n=false;var q=r.val();r.data("buffer",m).data("tests",g);function v(x){while(++x<=h&&!g[x]){}return x}function t(x){while(!g[x]&&--x>=0){}for(var y=x;y<h;y++){if(g[y]){m[y]=d.placeholder;var z=v(y);if(z<h&&g[y].test(m[z])){m[y]=m[z]}else{break}}}s();r.caret(Math.max(i,x))}function u(y){for(var A=y,z=d.placeholder;A<h;A++){if(g[A]){var B=v(A);var x=m[A];m[A]=z;if(B<h&&g[B].test(x)){z=x}else{break}}}}function l(y){var x=a(this).caret();var z=y.keyCode;n=(z<16||(z>16&&z<32)||(z>32&&z<41));if((x.begin-x.end)!=0&&(!n||z==8||z==46)){w(x.begin,x.end)}if(z==8||z==46||(b&&z==127)){t(x.begin+(z==46?0:-1));return false}else{if(z==27){r.val(q);r.caret(0,p());return false}}}function o(B){if(n){n=false;return(B.keyCode==8)?false:null}B=B||window.event;var C=B.charCode||B.keyCode||B.which;var z=a(this).caret();if(B.ctrlKey||B.altKey||B.metaKey){return true}else{if((C>=32&&C<=125)||C>186){var x=v(z.begin-1);if(x<h){var A=String.fromCharCode(C);if(g[x].test(A)){u(x);m[x]=A;s();var y=v(x);a(this).caret(y);if(d.completed&&y==h){d.completed.call(r)}}}}}return false}function w(x,y){for(var z=x;z<y&&z<h;z++){if(g[z]){m[z]=d.placeholder}}}function s(){return r.val(m.join("")).val()}function p(y){var z=r.val();var C=-1;for(var B=0,x=0;B<h;B++){if(g[B]){m[B]=d.placeholder;while(x++<z.length){var A=z.charAt(x-1);if(g[B].test(A)){m[B]=A;C=B;break}}if(x>z.length){break}}else{if(m[B]==z[x]&&B!=e){x++;C=B}}}if(!y&&C+1<e){r.val("");w(0,h)}else{if(y||C+1>=e){s();if(!y){r.val(r.val().substring(0,C+1))}}}return(e?B:i)}if(!r.attr("readonly")){r.one("unmask",function(){r.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",function(){q=r.val();var x=p();s();setTimeout(function(){if(x==j.length){r.caret(0,x)}else{r.caret(x)}},0)}).bind("blur.mask",function(){p();if(r.val()!=q){r.change()}}).bind("keydown.mask",l).bind("keypress.mask",o).bind(c,function(){setTimeout(function(){r.caret(p(true))},0)})}p()})}})})(jQuery);