/**
 * @author Owner
 */
function validate(fieldV){
	
	var emailfilter = /^\w[\w\.\+]*\@\w+(\.\w+)*(\.[a-zA-Z]{2,4}){1,2}$/;
	
	var err_messages = "";
	var testpassed = true;
	switch(fieldV.attr("type")){
		case 'text':
		case 'password':
			switch(fieldV.attr("name")){
				case 'email':
				case 'email_address':
					if(!emailfilter.test(fieldV.val())){
						err_messages += "Not valid email.";
						testpassed= false;
					}
					break;
				case 'confirm_password':
				case 'confirm_pass':
					var pass = $('input.required[@name^=pass]');
				
					if((pass.length > 0) && (pass.val() != fieldV.val())){
						err_messages += "Password and Confirmation don't match.";
						testpassed= false;
					}
					break;
				case 'password':
				case 'pass':
				
					if(fieldV.val().length < 6){
						err_messages += "Password must be at least 6 characters long.";
						testpassed= false;
					}
					break;
			}
				// For all text or passwords
				if((fieldV.val().length == 0) ||(fieldV.val() == null )){
					err_messages += "Cannot be empty.";
					testpassed= false;
				}
			break;
			
		case 'checkbox':
			switch(fieldV.attr("name")){
				case 'e911_terms':
				case 'terms_and_conditions':
					if((!fieldV.attr('checked'))){
						err_messages += "You Must Agree To Continue.";
						testpassed= false;
					}
					break;
				default:
					if((!fieldV.attr('checked'))){
						err_messages += "You Must Check To Continue.";
						testpassed= false;
					}
					break;
			}
			break;
		case 'radio':
			one_sel = false;
			$("input.required[@name=" + fieldV.attr("name")+ "]").each( function(){
				one_sel = (one_sel || this.checked);
			});
			if(!one_sel){
				err_messages += "You Must Choose One.";
				testpassed= false;
			}
			break;
	}
	
	
	// Write the error message after the failed field
	writeMessage(fieldV, err_messages);
	
	return testpassed;
}

function writeMessage(fieldV, err_messages){
	if($("#_" + fieldV.attr("name") + '_ems').length > 0){
		$("#_" + fieldV.attr("name") + '_ems').text(err_messages);
	} else {
		if(err_messages.length > 0){
			fieldV.after(
					"<span id='_" + fieldV.attr("name") + "_ems' "
						+"class='message' >"
						+ err_messages
						+ "</span>"
			);
		};
	};
	
};

function validate_required(){
	$("input.required").bind( "blur", function(){
		validate($(this));
	});

	$("input.dependent").each( function(){
		var dep = $(this);
		var depe = $(this).siblings("input[@type='checkbox'].dependee");
	//	depe.add("input[@type='radio'].dependee");
		
		depe.each( function(){
			$(this).click( 
				function(){
					dep.attr("disabled", !(dep.attr("disabled")));
					dep.toggleClass('required');
					writeMessage(dep, "")
				});
		});
	});

	$("form").bind("submit", function(){
		all_valid = true;
		$("input.required", $(this)).each( function(){
			field_validated = validate($(this));
			all_valid = (field_validated && all_valid);
		});
		return all_valid;
	});
	
}

$.fn.check = function(mode) {
	var mode = mode || 'toggle'; // if mode is undefined, use 'toggle' as default
	return this.each(function() {
		switch(mode) {
		case 'on':
			this.checked = true;
			break;
		case 'off':
			this.checked = false;
			break;
		case 'toggle':
			this.checked = !this.checked;
			break;
		}
	});
};


function createPopups(){
	$("a.popup").each( function(){
		var linkto = $(this).attr('href');
		$(this).click( function(){
			window.open(linkto);
			return false;
		});
	});
}

function ActivateHandlers(){
	$("a.handler").each( function(){
		var linkto = $(this).attr('href');
		$(this).click( function(){
			$(linkto).removeClass('closed');
			$(linkto).addClass('open');
			return false;
		});
	});
}

$(document).ready(function(){
			// actions on load
			validate_required();
			createPopups();
			ActivateHandlers()
			$(".submenu > a").toggle(function(){
					$(this).parent(".submenu").addClass("open");
				},function(){
					$(this).parent(".submenu").removeClass("open");
				});
			$("img.sign_up").hover(function(){
					$(this).attr("src","<?= $assets_url ?>/signUp_btnR.jpg");
				}, function(){
					$(this).attr("src","<?= $assets_url ?>/signUp_btn.jpg");
				});
			$("img.sign_up_sm").hover(function(){
					$(this).attr("src","<?= $assets_url ?>/signUp_btnR_sm.jpg");
				}, function(){
					$(this).attr("src","<?= $assets_url ?>/signUp_btn_sm.jpg");
				});
			$(".toogle_handle").toggle(function(){
					var targetObj = $(this).next(".closed");
					targetObj.removeClass("closed");
					targetObj.addClass("open");
				},function(){
					var targetObj = $(this).next(".open");
					targetObj.removeClass("open");
					targetObj.addClass("closed");
				});
			$(".del_button").click( function(){
				return confirm('Are you Sure?')
			});
			
			//$("#side_nav ul li ul li").click(function(){
				//$(this).hide('slow');
				//var win = '<textarea>' + $('#windowOpen') + '</textarea>' ;
				//$(this).after(win);
				//return false;
			//});
 		});
		// other functions

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}