var errmsg = "Errors:<br/>";
var checkform = true;
function notZero(obj,errstr)
{
	var objval=obj.value *1 ;
	if(objval==0)
	{
		errmsg=errmsg+errstr+"<br/>";
		checkform=false;	
	}
}
function mandate(obj,errstr)
{
	if(obj.value.length==0)
	{
		errmsg=errmsg+errstr+"<br/>";
		checkform=false;
	}	
	
}
function mandateCheckBox(obj,errstr)
{
	if(!obj.checked)
	{
		errmsg=errmsg+errstr+"<br/>";
		checkform=false;
	}	
	
}
function minlength(obj,val,errstr)
{

	if(obj.value.length<val && obj.value.length!=0 )
	{
		errmsg=errmsg+errstr+"<br/>";
		checkform=false;
	}		

}
function isEmail(obj,errstr)
{
	var str=obj.value;
	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if(str.length!=0)
	{
		if(!str.match(emailRegEx))
		{
			errmsg=errmsg+errstr+"<br/>";
			checkform=false;
		}
	}

}
function alpha(obj,errstr)
{
	errmsg=errmsg+errstr+"<br/>";
}
function isNumber(obj)
{
	var strValidChars = "0123456789.";
	var strChar,strString;
    strString=obj.value;
    var rtnVal = false;
	
   //  test strString consists of valid characters listed above
    if(strString.length!=0)
	{
		for (i = 0; i < strString.length; i++)
		{
			strChar = strString.charAt(i);
			if (strValidChars.indexOf(strChar) == -1)
			{
				rtnVal = false;
				break;
			}
		}
		rtnVal = true;
	}
    return rtnVal;
}

function isNumeric(obj,errstr)
{
	//alert("rr");
	var strValidChars = "0123456789.-";
	var strChar,strString;
    strString=obj.value;
	
   //  test strString consists of valid characters listed above
    if(strString.length!=0)
	{
		for (i = 0; i < strString.length; i++)
		{
			strChar = strString.charAt(i);
			if (strValidChars.indexOf(strChar) == -1)
			{
				checkform = false;
				errmsg=errmsg+errstr+"<br/>";
				break;
			}
		}
	}
}
function equalfields(obj1,obj2,errstr)
{
	if(obj1.value!=obj2.value)
	{
		checkform = false;
		errmsg=errmsg+errstr+"<br/>";
	}
}
function formatcheck(obj,format,errstr)
{
	var strValidNums = "0123456789";
	var strValidChars = "abcdefghijklmnopqrstuvwxyz";
	
	var strChar,strString,formchar;
    strString=obj.value;
	
   //  test strString consists of valid characters listed above
   
    if(strString.length!=0)
	{
		if(format.length!=strString.length)
		{
			checkform = false;
			errmsg=errmsg+errstr+"<br/>";
		}
		else
		{
			for (i = 0; i < strString.length; i++)
			{
				strChar = strString.charAt(i);
				formchar = format.charAt(i);
				if(formchar=="9")
				{
					
					if (strValidNums.indexOf(strChar) == -1)
					{
						checkform = false;
						errmsg=errmsg+errstr+"<br/>";
						break;
					}
				}
				else if(formchar=="a")
				{
					
					if (strValidChars.indexOf(strChar) == -1)
					{
						checkform = false;
						errmsg=errmsg+errstr+"<br/>";
						break;
					}			
				}
				else
				{
					
					if (strChar != formchar)
					{
						checkform = false;
						errmsg=errmsg+errstr+"<br/>";
						break;
					}
				
				}
			}	
		}
	}
	
}
function contact(idcnt)
{
	errmsg		=	"Errors:<br/>";
	checkform	=	true;
	$("#mem_errorloc").html("");
	$("#mem_executed").html("");

	var sub		=	getObj("subject" + idcnt );
	var email	=	getObj("email" + idcnt );
	var content	=	getObj("content" + idcnt );

	mandate(sub,"Subject is mandatory.");
	mandate(email,"Email is mandatory.");
	mandate(content,"Content is mandatory.");
	
	minlength(sub,3,"Subject should have minimum of 3 characters.");
	isEmail(email,"Email id should be in correct format");	
	minlength(content,3,"Content should have minimum of 3 characters.");
	if(!checkform)
	{
		$("#mem_errorloc").html(errmsg);		
	}
	else
	{
		$.post("libs/calls.php",{email:email.value,sub:sub.value,content:content.value},function(data)
		{
			if(data==1)
				$('#mem_executed').html("Successfully sent mail, Will contact you soon");
			else
				$('#mem_errorloc').html("Problem sending mail to contatus@asha-jyothi.org, pl. do send mail manually or try again");
			clearContact(idcnt);	
		}
		
		);		
	
	}	
}
function contact_with_name(merr,mexec,lod,subid,idcnt)
{
	errmsg		=	"Errors:<br/>";
	checkform	=	true;
	$("#" + merr).html("");
	$("#" + mexec).html("");
    $("#" + lod).show();
	$("#" + subid).hide();
	var sub		=	getObj("subject" + idcnt );
	var email	=	getObj("email" + idcnt );
	var content	=	getObj("content" + idcnt );
	var name	=	getObj("name" + idcnt );

//added by MP - 04/20 for volunteer interest
	var interest	=	getObj("interest" + idcnt );
	
	mandate(name,"Name is mandatory.");
	mandate(sub,"Subject is mandatory.");
	mandate(email,"Email is mandatory.");
	mandate(content,"Content is mandatory.");
	mandate(interest, " Please pick your area of interest"); //added by MP 04/20/10
	
	minlength(name,3,"Name should have minimum of 3 characters.");
	minlength(sub,3,"Subject should have minimum of 3 characters.");
	isEmail(email,"Email id should be in correct format");	
	minlength(content,3,"Content should have minimum of 3 characters.");
	
	if(!checkform)
	{
		$("#" + merr).html(errmsg);		
	}
	else
	{
		$.post("libs/calls.php",{email:email.value,sub:sub.value,content:content.value,interest:interest.value,withname:name.value},function(data)
		{
			if(data==1)
				$("#" + mexec).html("Email was successfully sent! Thank you for your interest! Asha-Jyothi team will contact you soon.");
			else
				$("#" + merr).html("We encountered a problem when sending your mail to contactus@asha-jyothi.org. We apologize for the inconvenience. Please send your mail manually or try again.");
			clearContactWithName(idcnt);	
		}
		
		);		
	
	}	
    $("#" + lod).hide();
	$("#" + subid).show();
	
}
function clearContactWithName(idcnt)
{
	var name		=	getObj("name" + idcnt );
	var email		=	getObj("email" + idcnt);
	var content		=	getObj("content" + idcnt);
	name.value="";
	email.value="";
	content.value="";
}
function clearContact(idcnt)
{
	var sub		=	getObj("subject"  + idcnt);
	var email	=	getObj("email" + idcnt );
	var content	=	getObj("content" + idcnt);
	sub.value="";
	email.value="";
	content.value="";
}
function createMember(idcnt)
{
	
	errmsg		=	"Errors:<br/>";
	checkform	=	true;
	$("#mem_errorloc").html("");
	var retval=true;
	
	var fname	=	getObj("fname" + idcnt) ;
	var lname	=	getObj("lname" + idcnt);
	var email	=	getObj("email" + idcnt);
	var address	=	getObj("address" + idcnt);
	var city	=	getObj("city" + idcnt);
	var state	=	getObj("state" + idcnt);
	var zip		=	getObj("zip" + idcnt);
	var country	=	getObj("country" + idcnt);
	var hphone	=	getObj("hphone" + idcnt);
	var wphone	=	getObj("wphone" + idcnt);
	var mtype	=	getObj("mtype" + idcnt);
	var company	=	getObj("company" + idcnt);
	var donate1	=	getObj("donate1" );
	var donate2	=	getObj("donate2" );	
	var refer	=	getObj("refer" + idcnt);
	var donate =	"No";
	var temp	=	fname.value.length;
	//alert(donate1.checked);
	if(donate1.checked)
		donate="Yes";
	//alert("test10");
	mandate(fname,"First Name is mandatory.");
	minlength(fname,3,"First Name should have minimum of 3 characters.");
	
	mandate(lname,"Last Name is mandatory.");
	minlength(lname,3,"Last Name should have minimum of 3 characters.");
	
	mandate(email,"Email id is mandatory.");
	isEmail(email,"Email id should be in correct format");
	
	mandate(address,"Address is mandatory.");
	minlength(address,3,"Address should have minimum of 3 characters.");
	mandate(city,"City is mandatory.");
	minlength(city,2,"City should have minimum of 2 characters.");
	
	mandate(state,"State is mandatory.");
	minlength(state,2,"State should have minimum of 2 characters.");
	mandate(zip,"Zip code is mandatory.");
	minlength(zip,5,"Zip code should have minimum of 5 numbers.");
	isNumeric(zip,"Zip code should be numeric");
	mandate(country,"Country is mandatory.");
	minlength(country,2,"Country should have minimum of 2 characters.");
	
	mandate(hphone,"Home Phone number is mandatory.");
	formatcheck(hphone,"999-999-9999","Home Phone number should be in this format xxx-xxx-xxxx.");
	formatcheck(wphone,"999-999-9999","Work Phone number should be in this format xxx-xxx-xxxx.");
	
	if(!checkform)
	{
		$("#mem_errorloc").html(errmsg);		
	}
	else
	{
		//alert("before");
		$.post("libs/calls.php",{email:email.value,fname:fname.value,lname:lname.value,address:address.value,city:city.value,state:state.value,country:country.value
		,zip:zip.value,hphone:hphone.value,wphone:wphone.value,mtype:mtype.value,refer:refer.value,donate:donate,company:company.value},function(data)
		{
			$('#mem_executed').html(data);
			//alert(data);
		}
		);		
		clearfields(idcnt);
		//alert("after");
	}
	return false;
}
function clearfields(idcnt)
{
	var fname	=	getObj("fname" + idcnt);
	var lname	=	getObj("lname" + idcnt);
	var email	=	getObj("email" + idcnt) ;
	var address	=	getObj("address" + idcnt);
	var city	=	getObj("city" + idcnt);
	var state	=	getObj("state" + idcnt);
	var zip		=	getObj("zip" + idcnt);
	var country	=	getObj("country" + idcnt);
	var hphone	=	getObj("hphone" + idcnt);
	var wphone	=	getObj("wphone" + idcnt );
	var company	=	getObj("company" + idcnt);
	
	fname.value="";
	lname.value="";
	email.value="";
	address.value="";
	city.value="";
	state.value="";
	zip.value="";
	country.value="";
	hphone.value="";
	wphone.value="";
	company.value="";
}
function getObj(idname)
{
	var obj;
	obj=document.getElementById(idname);
	return obj;
}

/* $(function() {
//$.fn.media.mapFormat('avi','quicktime');
        // this one liner handles all the examples on this page
        $('a.media').media();
  });*/
  
function submitform()
{
	document.mem.submit();
	//alert(":s");
	return false;
}

function subtoletter()
{
	//alert("sd");
	errmsg		=	"<b>Errors:</b>";
	checkform	=	true;
	$("#mem_errorloc").html("");
	var email	=	getObj("newsemail");
	mandate(email,"Email id is mandatory.");
	isEmail(email,"Email id should be in correct format"); 
	if(!checkform)
		$("#mem_errorloc").html(errmsg);
	else
	{
		var f="ns";
		$.post("libs/calls.php",{func:f,email:email.value},function(data)
		{
			$("#mem_errorloc").html(data);
		}
		);
	}	
	return false;
 }
function clear_get_involved_fields()
{
	$("#merror1").html("");
	$("#merror2").html("");
	$("#mexec1").html("");
	$("#mexec2").html("");
	$("#mem_errorloc").html("");
	$("#mem_executed").html("");
}

function check_holi_admin_payment_fields(idcnt, fnctype)
{
    alert("in function check_holi_admin_payment_fields(idcnt, fnctype) ");
    var comments=	getObj("comments" + idcnt) ;
    var paymenttype=	getObj("comments" + idcnt) ;
        
        mandate(comments,"Meaningful Comments are mandatory.");
	minlength(comments,5,"Comments should have minimum of 5 characters.");

        return check_payment_fields(idcnt,functype);
}

function check_payment_fields(idcnt,functype)
{


	errmsg		=	"Errors:<br/>";
	checkform	=	true;
	$("#mem_error" + idcnt).html("");
	$("#mem_exec" + idcnt).html("");
	var retval=true;
	
	var fname	=	getObj("fname" + idcnt) ;
	var lname	=	getObj("lname" + idcnt);
	var email	=	getObj("email" + idcnt);
	var cemail	=	getObj("cemail" + idcnt);
	var hphone	=	getObj("hphone" + idcnt);
	var memcount = getObj("memcount");
	
	var childqty= $('#childqty :selected').text() * 1;
	var adultqty= $('#adultqty :selected').text() * 1;
	
	var childprice= $('#childtotalprice' ).val() * 1;
	var adultprice= $('#adulttotalprice').val() * 1;		
	
//	var totalprice =  childprice + adultprice;

	mandate(fname,"First Name is mandatory.");
	minlength(fname,3,"First Name should have minimum of 3 characters.");

	mandate(lname,"Last Name is mandatory.");
	minlength(lname,3,"Last Name should have minimum of 3 characters.");

	mandate(email,"Email id is mandatory.");
	isEmail(email,"Email id should be in correct format");

	mandate(cemail,"Confirmation Email id is mandatory.");
	isEmail(cemail,"Confirmation Email id should be in correct format");

	equalfields(email,cemail, "Email id and Confirmation mail id donot match");

	mandate(hphone,"Contact Phone number is mandatory.");
	formatcheck(hphone,"999-999-9999","Contact Phone number should be in this format xxx-xxx-xxxx.");

	notZero(memcount,"Atleast one ticket has to be bought");
	
	if(!checkform)
	{
		$("#mem_error" + idcnt).html(errmsg);		
	}
	else
	{
       
		return true;
		clear_ticket_fields(idcnt);
	}
        
	return false;	
}
function clear_ticket_fields(idcnt)
{
	var fname	=	getObj("fname" + idcnt);
	var lname	=	getObj("lname" + idcnt);
	var email	=	getObj("email" + idcnt) ;
	var cemail	=	getObj("cemail" + idcnt);
	var hphone	=	getObj("hphone" + idcnt);
	
	fname.value="";
	lname.value="";
	email.value="";
	cemail.value="";	
	hphone.value="";
}
function wopen(url, name, w, h)
{
// Fudge factors for window decoration space.
 // In my tests these work well on all platforms & browsers.
 w += 32;
 h += 32;
 //var win = 
 window.open(url,  name,   'width=' + w + ', height=' + h + ',location=no, menubar=no,status=no, toolbar=no, scrollbars=no, resizable=no');
 //win.resizeTo(w, h);
 //win.focus();
 return false;
}


/*********** 5K Run 2011 functions ***************/
function updateRunPrice(idname,registrantPrice, varName, idcnt)
{
	var run5KPrice="20";
        var run1MilePrice="10";
	var event5K = "5K";
        var event5kChrono = "5K w/ Chrono";
	var eventMile = "1 Mile";
	//var eventKids = "Kids";
        var varName = "age";
        var age = getObj(varName + idcnt );
        var ageVal = age.value;
       
	
	//alert("event "+ event + "id cnt "+ idcnt);		
	var event  =	getObj(idname + idcnt );
	var eventVal = event.value;
	//alert(event+ " Value is "+ eventVal);
	
        if (eventVal == event5kChrono)
        {
                $("#" +registrantPrice + idcnt).val(run5KChronoPrice);
        }
        else if(eventVal == event5K)
	{		
		$("#" +registrantPrice + idcnt).val(run5KPrice);
	}
	else if(eventVal == eventMile ) //if event is 1Mile but age > 13 then charge them 20$
        {
             if(ageVal < 13)
	     {
		$("#" +registrantPrice + idcnt).val(run1MilePrice);
	     }
             else
             {
                $("#" +registrantPrice + idcnt).val(run5KPrice);
             }
        }
	else
	{
		$("#" +registrantPrice + idcnt).val(0);
	}
		
	totalRegistrationCount(idname);
}



function showLocationAddress(location)
{
var NJ = "New Jersey, NJ";


     var loc = getObj(location );
     var locationName = loc.value;
     var locAddr = getObj('locationAddrId')
     //alert ("Location is " + locationName); 
     
    if(locationName == "Fairfax, VA")
    {
       //alert ("Location is fairfax"); 
       locAddr.innerHTML="Fairfax Corner Avenue, Fairfax, VA - 22030";
    
     
    }
    else if (locationName == "Dallas, TX")
    {
       locAddr.innerHTML="Campion trail, 5757 Riverside Dr, Irving, TX - 75039";
     var myOption = new Option();
     myOption.text = "5k w/ Chrono";
     myOption.value = myOption.text;
     
       
    }
    else if (locationName == "Kansas City, MO")
    {
       locAddr.innerHTML=" Heritage Park, 16050 Pflumm, Olathe, Kansas";
     var myOption = new Option();
     myOption.text = "5k w/ Chrono";
     myOption.value = myOption.text;
     
    }
    else if (locationName == "Fremont, CA")
    {
       locAddr.innerHTML="Lake Elizabeth Park, 40000 Paseo padre parkway, Fremont, CA - 94538";
     var myOption = new Option();
     myOption.text = "5k w/ Chrono";
     myOption.value = myOption.text;
     
    }
     else if (locationName == NJ)
    {
       locAddr.innerHTML="Colonial Park, 156 Mettlers Road, Somerset NJ - 08873 ";
     
    }
    else
    {
       //alert ("Other");
       locAddr.innerHTML="Select 'Run/Walk Location' above for address";
    }
}


	
function totalRegistrationCount(idname)
{
	var memberCnt = 0;
	var totalCost = 0;
	var kidcount = 0;
	var noEvent = "";
	var idcnt=1;
	
	for(var i=1; i<=6; i++)
	{		
		var reg = "";
		var event  = getObj(idname + i );
		var eventVal = event.value;
		if( eventVal != noEvent)
		{
			//alert("In NO event loop "+ eventVal);
			memberCnt = memberCnt + 1;
			
			if (eventVal == "Kids")
				kidcount++;
		}
		
		var reg = getObj("registrantPrice" + i);		
		var regPrice = reg.value * 1;		
		totalCost = totalCost + regPrice;
		//alert(totalCost + " registrantPrice value is "+ regPrice);
	}
	//alert("membercnt "+ memberCnt  +" totalCost " + totalCost);		
	
	//Add any additional donation amount
	var donationObj  = getObj("donationAmount");
	var donationAmount = parseInt(donationObj.value);
	if (isNumber(donationObj) &&  donationAmount > 0) {
		totalCost = totalCost + donationAmount;
	}
	
	$("#memcount").val(memberCnt);
	$("#totalprice").val(totalCost);
	$("#kidcount").val(kidcount);
	//alert("DONE!");

}


function checkRunFields()
{
	totalRegistrationCount('eventR');
	
	errmsg		=	"Errors:<br/>";
	checkform	=	true;
	$("#mem_error").html("");
	$("#mem_exec" ).html("");
	var retval=true;
	
	var noEvent = "";
	var email	=	getObj("email");
	var cemail	=	getObj("cemail");
	var hphone	=	getObj("hphone");
	var location=	getObj("location");
	var address =	getObj("address");
	var city    =	getObj("city");
	var state   =	getObj("state");
	var zip     =	getObj("zip");
	var waiver  =	getObj("waiver");
	
	mandate(location,"Please select an event location.");

	mandate(email,"Email id is a required field.");
	isEmail(email,"Email id should be in correct format");

	mandate(cemail,"Confirmation Email id is a required field.");
	isEmail(cemail,"Confirmation Email id should be in correct format");
	equalfields(email,cemail, "Email id and Confirmation mail id don't match");

	mandate(hphone,"Contact Phone number is a required field.");
	formatcheck(hphone,"999-999-9999","Contact Phone number should be in this format xxx-xxx-xxxx.");
	
	mandate(address,"Street Address is a required field.");
	mandate(city,"City is a required field.");
	mandate(state,"State is a required field.");
	mandate(zip,"Zip is a required field.");

	for(var i=1; i<=6; i++)
	{				
		var event  =	getObj("eventR" + i );
		
		var eventVal= event.value;
		if(eventVal != noEvent)
		{
			var sex	   = 	getObj("sex" + i);
			var fname  = 	getObj("fname" + i);
			var age  = 	getObj("age" + i);
			var tshirtSize  = getObj("tshirtSize" + i);		
		
			mandate(fname,"#"+i +" First Name is a required field.");
			minlength(fname,3,"#"+i +" First Name should have minimum of 3 characters.");
			
			mandate(sex,"#"+i +" Please select sex.");
			
			mandate(age,"#"+i +" Age is a required field.");
			isNumeric(age,"#"+i +" Age should be a number");
			
			mandate(tshirtSize,"#"+i +" T-Shirt Size is a required field.");
		}		
	}	

	//alert("after for loop");
	var donationObj  = getObj("donationAmount");
	isNumeric(donationObj,"Invalid Donation Amount.");
	
	var memcount = getObj("memcount");	
	notZero(memcount,"Atleast one ticket has to be bought");
	var totalprice = getObj("totalprice");	
	notZero(totalprice,"Total Amount is zero, please verify.");

	mandateCheckBox(waiver,"Please read and accept the waiver.")
	
	if(!checkform)
	{
		$("#mem_error" ).html(errmsg);
	}
	else
	{       	
		//clearRunFields();
		return true;
	}
        
	return false;	
}

function clearRunFields()
{
	for(var i=1; i<=6; i++)
	{				
		var event  =	getObj("eventR" + i );
		var sex	   = 	getObj("sex" + i);
		var fname  = 	getObj("fname" + i);
		var age  = 	getObj("age" + i);
		var tshirtSize  = getObj("tshirtSize" + i);
		var registrantPrice = getObj("registrantPrice"+ i);
		
		event.value = "";
		age.value = "";
		sex.value = "";
		fname.value = "";
		tshirtSize.value = "";
		registrantPrice.value = "";
	}
	
	//total 
	
}
