$(document).ready(function()
{
	//add code for ahref tool tip
	//$('a.title').cluetip({splitTitle: '|'});
	//var message = 'You missed to fill following mandatory field(s)';
	var message = "You missed to fill compulsory field(s). They have been highlighted below";
	
	//create classes for validation
	$('.alph_num').alphanumeric();
	$('.alph_num_username').alphanumeric({allow:".@"});
	$('.num_phone').numeric({allow:"+- "})
	$('.only_numeric').numeric({allow:""})
	$('.num_zip').alphanumeric({allow:"-"})
	$('.num_amount').numeric({allow:"."})
	$('.shoes_model').alphanumeric({allow:"- "})
	$('.alpha_numeric').alphanumeric({allow:"@#$%&-+*_. "})
	
	//check Start Date should be greater than or equal to today's date (date should be m/d/Y format)
	$.validator.addMethod("startDate", function(value)
	{
       var currentdt = new Date;
	   var strDate   = Date.parse(value);
	   var curDate = Date.parse(currentdt)
	   //alert("currentdt="+currentdt);
	   //alert("strDate="+strDate);
	   //alert("curDate="+curDate);
	    if(strDate < Date.parse(currentdt))
		//if(strDate > Date.parse(currentdt) || strDate == Date.parse(currentdt))
		{
	    	return false;
		}
		else
		{
			return true;
		}
    }, "Date can not be less than today's date.");
	
	//check Start Date should be less than today's date (date should be m/d/Y format)
	$.validator.addMethod("lessDate", function(value)
	{
       var currentdt = new Date;
	   cur_date = Date.parse(currentdt);
	   var strDate   = Date.parse(value);
	    if(strDate > cur_date)
		{
	    	return false;
		}
		else
		{
			return true;
		}
    }, 'Date should not be less than today.');
	//compare two dates
	jQuery.validator.addMethod("compareDate", function(value, element, param)
	{
	
		var strDate   = Date.parse(jQuery(param[0]).val());
		var endDate   = Date.parse(jQuery(param[1]).val());
	    if(endDate < strDate)
		{
	    	return false;
		}
		else
		{
			return true;
		}
	}, "End date can not be less than Start date."); 
	
	 jQuery.validator.messages.required = "";
	   //Validate Registration form
        $("#adminlogin").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate({	
					rules: {  
							"data[Company][username]":{  
									 required:true  
								 },
							"data[Company][password]":{
									 required:true
									 
							}
						},
						messages: {  
								"data[Company][username]": {  
									 required:"Username can not be left blank."  
								 },
								"data[Company][password]":{  
									 required: "Password can not be left blank."
									 
								}
						} 
		});
		
		  //Validate Registration form
        $("#userlogin").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate({	
					rules: {  
							"data[Company][username]":{  
									 required:true  
								 },
							"data[Company][password]":{
									 required:true
									 
							}
						},
						messages: {  
								"data[Company][username]": {  
									 required:"Username can not be left blank."  
								 },
								"data[Company][password]":{  
									 required: "Password can not be left blank."
									 
								}
						} 
		});
		
		
		  //Validate Registration form
        $("#fileupload").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate({	
					rules: {  
							"data[uploadexcel][company_id]":{  
									 required:true  
								 },
							"data[uploadexcel][uploadfile]":{
									 required:true,
									 accept:'xls'
									 
							}
						},
						messages: {  
								"data[uploadexcel][company_id]": {  
									 required:"Please Select a Company."  
								 },
								"data[uploadexcel][uploadfile]":{  
									 required: "Please Select a file to upload.",
									 accept:'Please upload a file of xls format'
									 
								}
						} 
		});
		
		
		  //Validate Registration form
        $("#userregister").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate({	
					rules: {  
							"data[Company][company_name]":{  
									 required:true  
								 },
							"data[Company][company_url]":{
									 required:true,
									 url:true
									 
							},
							"data[Company][email]":{
									 required:true,
									 email:true
									 
							},
							"data[Company][username]":{
									 required:true
 							},
							"data[Company][project_name]":
							{
										required:true	
							},
							"data[Company][password]":
							{
										required:true,
										
							},
							"data[Company][company_logo]":
							{
										required:true,
										accept:'png|gif|jpg|jpeg'
							}
							
							
						},
						messages: {  
							"data[Company][company_name]":{  
									 required:"Company Name cannot be left blank"  
								 },
							"data[Company][company_url]":{
									 required:"URL cannot be left blank",
									 url:"Please enter a valid URL"
									 
							},
							"data[Company][email]":{
									 required:"Email cannot be left blank",
									 email:"Please enter a valid email"
									 
							},
							"data[Company][username]":{
									 required:"Username cannot be left blank "
 							},
							"data[Company][project_name]":
							{
										required:"Project name cannot be left blank"	
							},
							"data[Company][password]":
							{
										required:"Password cannot be left blank",
										
							},
							"data[Company][company_logo]":
							{
										required:"Logo cannot be left blank",
										accept:"Please upload file with extension png, jpg, jpeg, gif"
							}
						}
		});
		
		$("#editregister").bind("invalid-form.validate", function(e, validator) {
                //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
                        /*var message = errors == 1
                                ? 'You missed 1 field. It has been highlighted below'
                                : 'You missed ' + errors + ' fields.  They have been highlighted below';*/
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate({	
					rules: {  
							"data[Company][company_name]":{  
									 required:true  
								 },
							"data[Company][company_url]":{
									 required:true,
									 url:true
									 
							},
							"data[Company][email]":{
									 required:true,
									 email:true
									 
							},
							"data[Company][username]":{
									 required:true
 							},
							"data[Company][project_name]":
							{
										required:true	
							},
							"data[Company][company_logo]":
							{
										accept:'png|gif|jpg|jpeg'
							}
							
							
						},
						messages: {  
							"data[Company][company_name]":{  
									 required:"Company Name cannot be left blank"  
								 },
							"data[Company][company_url]":{
									 required:"URL cannot be left blank",
									 url:"Please enter a valid URL"
									 
							},
							"data[Company][email]":{
									 required:"Email cannot be left blank",
									 email:"Please enter a valid email"
									 
							},
							"data[Company][username]":{
									 required:"Username cannot be left blank "
 							},
							"data[Company][project_name]":
							{
										required:"Project name cannot be left blank"	
							},
							"data[Company][company_logo]":
							{
										accept:"Please upload file with extension png, jpg, jpeg, gif"
							}
						}
		});

		
		//validate Add More Photo
		$("#addphotoalbum").bind("invalid-form.validate", function(e, validator) {
													   
               //hide update msg div
				if($("#update_msg"))
				{
					$("#update_msg").hide();
				}
				var errors = validator.numberOfInvalids();
                if (errors) {
					   var message = "Please upload file with extension png, jpg, jpeg, gif";
                        $("div.error span").html(message);
                        $("div.error").show();
                } else {
                        $("div.error").hide();
                }
        }).validate({
			rules: {  
				"data[UseralbumPhoto][photo1]":{
						 accept:'png|gif|jpg|jpeg'
				},
				"data[UseralbumPhoto][photo2]":{
						 accept:'png|gif|jpg|jpeg'
				},
				"data[UseralbumPhoto][photo3]":{
						 accept:'png|gif|jpg|jpeg'
				}
			},
			messages: {  
					"data[UseralbumPhoto][photo1]":{  
						 accept: "Please select an image (png, jpg, jpeg, gif)"
					},
					"data[UseralbumPhoto][photo2]":{  
						 accept: "Please select an image (png, jpg, jpeg, gif)"
					},
					"data[UseralbumPhoto][photo3]":{  
						 accept: "Please select an image (png, jpg, jpeg, gif)"
					}
			} 
		});
		
				
$.validator.setDefaults({
	submitHandler: function() { 
	$("#register").submit();
	}
});
						   
	 //$("input.phone").mask("(999)999 9999");			   
	 //$("input.zip").mask("9999999999");						   
	 $("input.coupon_start_date").mask("12/31/9999");
	 $("input.coupon_expiry_date").mask("12/31/9999");	
});

//following function is used to show and hide user tabbs on user home page
function displayUserTabs(strTab)
{
	arrTab	=	Array();
	arrTab[0]	= 'status';
	arrTab[1]	= 'background';	
	arrTab[2]	= 'favorites';	
	arrTab[3]	= 'about_me';	
	
	for(var i = 0; i < arrTab.length; i++)
	{
		if(arrTab[i] == strTab)	
		{
			$("#"+strTab).slideDown('slow');
			$("#"+strTab+"_tab").addClass("selected");
		}
		else
		{
			$("#"+arrTab[i]).hide();
			$("#"+arrTab[i]+"_tab").removeClass("selected");
		}
	}
}

function displayworkout(strTab)
{
	arrTab	=	Array();
	arrTab[0]	= 'workouts0';
	arrTab[1]	= 'workouts1';	
	arrTab[2]	= 'workouts2';	
	arrTab[3]	= 'workouts3';	
	arrTab[4]	= 'workouts4';	
	arrTab[5]	= 'workouts5';	
	arrTab[6]	= 'workouts6';	
	
	for(var i = 0; i < arrTab.length; i++)
	{
		$("#"+arrTab[i]).hide();
		$("#images_plus_"+i).html('<img src="../img/plusicon.png" onclick=displayworkout("'+arrTab[i]+'") ');
		
		if(arrTab[i] == strTab)	
		{
			$("#"+strTab).show();
			$("#images_plus_"+i).html('<img src="../img/minus_icon.png"');
		}
		
	}
}

function displayfriendTabs(strTab)
{
	arrTab	=	Array();
	arrTab[0]	= 'personal';
	arrTab[1]	= 'background';	
	
	
	for(var i = 0; i < arrTab.length; i++)
	{
		if(arrTab[i] == strTab)	
		{
			$("#"+strTab).slideDown('slow');
			$("#"+strTab+"_tab").addClass("selected");
		}
		else
		{
			$("#"+arrTab[i]).hide();
			$("#"+arrTab[i]+"_tab").removeClass("selected");
		}
	}
}

		