// JavaScript Document
/*
function Check_On_Submit()
{
	var validated = true
	if (
		CheckForBlank(document.getElementById("tbx_Company_Name"), "Company name cannot be left blank") == false ||
		//CheckForBlank(document.getElementById("tbx_Mailing_Add"), "Mailing Address cannot be left blank") == false ||
		CheckForBlank(document.getElementById("tbx_Street"), "Mailing Address cannot be left blank") == false ||		
		CheckForBlank(document.getElementById("tbx_City"), "City cannot be left blank") == false ||
		CheckForBlank(document.getElementById("tbx_Postal_Code"), "Postal Code cannot be left blank") == false ||		
		CheckForCombo(document.getElementById("cmb_State"), "Select State") == false ||		
		CheckForCombo(document.getElementById("cmb_Country"), "Select Country") == false ||		
		CheckForBlank(document.getElementById("tbx_Phone"), "Telephone No. cannot be left blank") == false ||		
		CheckForBlank(document.getElementById("tbx_fax"), "Fax No. cannot be left blank") == false ||				
		CheckForBlank(document.getElementById("tbx_First_Deligate_Name"), "First Delegate Name cannot be left blank") == false ||				
		CheckForBlank(document.getElementById("tbx_Title"), "First Delegate Title cannot be left blank") == false ||						
		CheckEmailAddress(document.getElementById("tbx_Email"), false) == false || 
		CheckEmailAddress(document.getElementById("tbx_Email_2"), true) == false || 		
		validatePhoneNumber(document.getElementById("tbx_Phone")) == false ||
		validatePhoneNumber(document.getElementById("tbx_fax")) == false  
		)
	validated = false;
	
	var Tot_Field = parseFloat(document.getElementById("tbx_Total").value);
	if(Tot_Field < 1 && validated)
	{
		alert("Please select any one package given"); 
		validated = false;
	}

	return validated;
}
*/
function CheckForBlank(obj, comment)
{
	//var obj = document.getElementById(obj_id);
	if(obj.value == "")
	{
		alert(comment);
		return false;
	}
	else 
		return true;
}

function CheckForCombo(obj, comment)
{
//	var obj = document.getElementById(obj_id);
	if(obj.value == 0)
	{
		alert(comment);
		return false;
	}
	else 
		return true;
}

function CheckEmailAddress(obj, ignore_blank)
{
	var email_length = trim(obj.value).length;
	if (ignore_blank)
	{
		if(email_length < 1)
			return true;
	}
	if(ValidateEmailAddress(obj.value) == false)
	{
		obj.value= "";
		obj.focus();
		obj.select();
		return false;
	}
}

function CompareObjectValues(obj, confirm_obj, comment)
{// Method to compare the values of 2 text fields and display the error message
	if(obj.value == confirm_obj.value)
			return true;
	else 
	{
		alert(comment);
		confirm_obj.focus();
		return false;
	}
}

		
function ValidateEmailAddress(emailStr) 
{
//	var emailStr = obj.value;
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
		var textObj =document.getElementById("tbxEmail"); 
		//textObj.style.backgroundColor = "#DFA3D9"
		alert("Please enter a valid email address. or leave the field blank")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	
	// See if "user" is valid 
	if (user.match(userPat)==null) {
		var textObj =document.getElementById("tbxEmail"); 
		//textObj.style.backgroundColor = "#DFA3D9"
	    alert("Email address username is not valid.")
	    return false
	}

	/* if the e-mail address is at an IP address  */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
				var textObj =document.getElementById("tbxEmail"); 
				//textObj.style.backgroundColor = "#DFA3D9"
		        alert("Email address destination IP is invalid.")
			return false
		    }
	    }
	    return true
	}
	
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		var textObj =document.getElementById("tbxEmail"); 
		//textObj.style.backgroundColor = "#DFA3D9"
		alert("Email address domain name doesn't seem to be valid.")
	    return false
	}
	
	/* Make sure that it ends in a three-letter word or a two-letter word, and that hostname preceding domain or country. */
	
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) 
	{
		var textObj =document.getElementById("tbxEmail"); 
		//textObj.style.backgroundColor = "#DFA3D9"
	   alert("Email address must end in a three-letter domain, or two letter country.")
	   return false
	}
	
	// Make sure there's a host name preceding the domain.
	if (len<2) {
		var textObj =document.getElementById("tbxEmail"); 
		//textObj.style.backgroundColor = "#DFA3D9"
	   var errStr="Email address is missing a hostname."
	   alert(errStr)
	   return false
	}
	
	// If we've gotten this far, everything's valid!
	return true;
}

function IntIEKeyCap() {
	//alert(window.event.keyCode + " -- IEKeyCap");
	if ((window.event.keyCode < 47) || (window.event.keyCode > 57) || (window.event.keyCode == 47)) {
		window.event.keyCode = 0
	};
}


function validatePhoneNumber(obj)
{
	var phoneNo = obj.value
	if(phoneNo.length < 7 || phoneNo.length > 32)
	{
		alert("Phone number must be between 7 and 32 characters long.");
		obj.select();
		obj.focus();
		return false;
	}
	else
		return true;
}

function Check_Payment()
{
	var card_Obj = document.getElementById("rdb_Card");
	
	var card_Visa = document.getElementById("rdb_Visa");
	var card_Master = document.getElementById("rdb_Master");
	var card_Amex = document.getElementById("rdb_Amex");
	var card_Name = document.getElementById("tbx_Card_Name");
	var card_Month = document.getElementById("cmb_Month");
	var card_Year = document.getElementById("cmb_Year");
	var card_Number = document.getElementById("tbx_Card_Number");
	
	if (card_Obj.checked)
	{
		card_Visa.disabled = false; 
		card_Master.disabled = false; 
		card_Amex.disabled = false; 
		card_Name.disabled = false; 
		card_Month.disabled = false; 
		card_Year.disabled = false; 
		card_Number.disabled = false; 
	}
	else
	{
		card_Visa.disabled = true; 
		card_Master.disabled = true; 
		card_Amex.disabled = true; 
		card_Name.disabled = true; 
		card_Month.disabled = true; 
		card_Year.disabled = true; 
		card_Number.disabled = true; 
	}
}

function Activate_Deactivate_package(obj, obj_primery_id, hid_id)
{
	var str = (obj.id).split(obj_primery_id)[0];
	
	//alert('str' + str);
	
	var hiden_obj = document.getElementById(str + hid_id)
	
	//alert('str hid id: ' + str + hid_id);
	
	var num = hiden_obj.value
	
	//alert('num: ' + num);
	
	str = str + '_rpt2__ctl';
	
	//alert('Final str: ' + str);
	
	Clear_Package();
	
	//alert('Pass1');
	
	Clear_package_Selection();	

	//alert('Pass2');
	
	obj.checked = true;
	
	Activate_Package(obj, str, num);
}

function Clear_Package()
{
	Clear_Calculation(); 
	Deactivate_All_Packages();
}

function Deactivate_All_Packages()
{
	var chkPackId = "";
	//var returnFlag = true;
	for( var i=0 ; i<=document.forms[0].elements.length-1 ; i++ )
	{
		//alert(document.forms[0].elements[i].type + " - " + document.forms[0].elements[i].name);
		if(document.forms[0].elements[i].type=="radio")
		{
			chkPackId = eval("document.forms[0].elements[" + i + "].id");
			if (chkPackId.indexOf("Day") > 0 )
			{
				cbx_Obj = document.getElementById(chkPackId);	
				cbx_Obj.checked = false;
				cbx_Obj.disabled = true;
			}
		}
	}
}
	
function Clear_package_Selection()
{
	var chkPackId = "";

	for( var i=0 ; i<=document.forms[0].elements.length-1 ; i++ )
	{

		if(document.forms[0].elements[i].type=="radio")
		{
			chkPackId = eval("document.forms[0].elements[" + i + "].id");
			if (chkPackId.indexOf("Package") > 0 )
			{
				cbx_Obj = document.getElementById(chkPackId);	
				cbx_Obj.checked = false;
			}
		}
	}
}
	
function Activate_Package(obj, str, num)
{

	//alert(str);
	//alert(num);

	var objValue = obj.value;

	//alert(objValue);
	
	if (objValue != 0 )
	{
		for (i = 0; i < num ; i++)
		{
			//alert(str + i + '_Day');
		
			cbx_Obj = document.getElementById(str + i + '_Day')	
			cbx_Obj.disabled = false;
		}
	}
}

/* Function updated by satyarth */
function Clear_Calculation()
{
	document.getElementById("tbx_Subtot").value = 0;
	
	//document.getElementById("tbx_GST").value = 0;
	
	for(i = 0; i <= document.forms[0].elements.length - 1 ; i++)
	{
		if(document.forms[0].elements[i].id.indexOf("tbx_TAX") >= 0)
		{
			//alert('1');
			document.forms[0].elements[i].value = 0;	
		}
	} // for(i = 0; i <= document.forms[0].elements.length - 1 ; i++)
	
	document.getElementById("tbx_Total").value = 0	;
} // function Clear_Calculation()

function UnCheck_Other(obj)
{
 idArr = obj.id.split('ctl')
 objNewId = ""
 
 for(i=0 ; i < idArr.length ; i++)
  if(i != idArr.length - 1)
   objNewId = objNewId + idArr[i] + "ctl"

 
 for(i=0; i < 100 ; i++)
 {
  if(document.getElementById(objNewId + i + "_Day"))
   document.getElementById(objNewId + i + "_Day").checked = false;
  else
   break;
 }
 obj.checked = true;
}

/* Function updated by satyarth */
function Calculate_Value_Old(obj, MemberCostCTL, NonMemberCostCTL, GST_Value, Member, NonMember)
{
	
	var cost_Add = 0 ;
	var str = (obj.id).split('_rpt2')[0];
	
	var objMemberCost = document.getElementById(str + MemberCostCTL)
	var objNonMemberCost = document.getElementById(str + NonMemberCostCTL)
	
	var objMember = document.getElementById(Member)
	var objNonMember = document.getElementById(NonMember)
	
	if(objMember.checked)
		cost_Add = objMemberCost.value;
		
	if(objNonMember.checked)
		cost_Add = objNonMemberCost.value;
		
	var obj_Sub = eval(cost_Add)  ;
	
	//var obj_GST = eval(obj_Sub)* eval(GST_Value); //.06 ;
	
	var obj_Tax = 0;
	var objTax = 0;
	var index = 1;
	
	var ctlTaxType;
	
	for(i = 0; i <= document.forms[0].elements.length - 1 ; i++)
	{
		if (document.forms[0].elements[i].type=='hidden')
		{
			/* for tax value */
			var objTaxValue;
			if (document.forms[0].elements[i].id.indexOf("hdn_Tax") >= 0)
			{
				objTaxValue = document.forms[0].elements[i].value;
				index = document.forms[0].elements[i].id.substring(7);
				
				/* for tax type */
				var objTaxType;
				ctlTaxType = "hdn_TypeTax" + index;
				objTaxType = document.getElementById(ctlTaxType).value;
				
				/* Tax Calculation */
				if (objTaxType == 2)
				{
					obj_Tax = eval(obj_Tax) + eval(eval(obj_Sub) * eval(objTaxValue)/100);
					objTax = eval(obj_Sub) * eval(objTaxValue)/100;				
				}
				else if (objTaxType == 1)
				{
					obj_Tax = eval(obj_Tax) + eval(objTaxValue);
					objTax =  eval(objTaxValue);
				} // if (objTaxType == 2)
			
				objTax = formatCurrencyForDecimals(eval(objTax),2);
				obj_Tax = formatCurrencyForDecimals(eval(obj_Tax),2);
				/* for tax id */
				var objTaxId;
				var ctlTaxId = "hdn_Id_Tax" + index;
				
				if (document.getElementById(ctlTaxId).value == 1)
				{										
					document.getElementById("hdnGST").value = eval(objTax);
					//alert(document.getElementById("hdnGST").value);
				}
				else if (document.getElementById(ctlTaxId).value == 2)
				{					
					document.getElementById("hdnQST").value = eval(objTax);
					//alert(document.getElementById("hdnQST").value);
				}
				else if (document.getElementById(ctlTaxId).value == 3)
				{					
					document.getElementById("hdnHST").value = eval(objTax);
					//alert(document.getElementById("hdnHST").value);
				} // else if (ctlTaxId.value == 3)
				
				//alert(objTax);						
				var ctlid = "tbx_TAX" + index;
				document.getElementById(ctlid).value = eval(objTax);
				//round2decimals(document.getElementById(ctlid));
			
			} // if (document.forms[0].elements[i].id.indexOf("hdn_Tax") >= 0)
			
		} // if (document.forms[0].elements[i].type=='hidden')
		
	} // for(i = 0; i <= document.forms[0].elements.length - 1 ; i++)
	
	//var obj_Tot = eval(obj_Sub) + eval(obj_GST);	
	var obj_Tot = eval(obj_Sub) + eval(obj_Tax);
	
	document.getElementById("tbx_Subtot").value = obj_Sub;
	//document.getElementById("tbx_GST").value = obj_GST;
	document.getElementById("tbx_Total").value = obj_Tot	;
	
	round2decimals(document.getElementById("tbx_Subtot"));
	//round2decimals(document.getElementById("tbx_GST"));
	round2decimals(document.getElementById("tbx_Total"));
	
} // function Calculate_Value(obj, MemberCostCTL, NonMemberCostCTL, GST_Value, Member, NonMember)

function Change_Cost(IsMember)
{

	var divCost = '';
	var arrCTL = '';

	for(var i = 0 ; i <= document.forms[0].elements.length - 1 ; i++)
	{
		if(document.forms[0].elements[i].id.indexOf("Package") > 0)
		{
		
			arrCTL = document.forms[0].elements[i].id.split('_rdb_Package');
			
			divCost = document.getElementById(arrCTL[0] + '_divCost');
			
			if(IsMember == true)
			{
				divCost.innerText = '$' + document.getElementById(arrCTL[0] + '_Member_Cost').value;
			}
			else
			{
				divCost.innerText = '$' + document.getElementById(arrCTL[0] + '_NonMember_Cost').value;
			}			
		}
	}		
}

function round2decimals(obj) 
{
	if( trim(obj.value) != "" ) {
		obj.value = formatCurrencyForDecimals(trim(obj.value), 2);
	}
}

function formatCurrencyForDecimals(original_number, decimals) 
{
	var result1 = original_number * Math.pow(10, decimals);
	var result2 = Math.round(result1);
	var result3 = result2 / Math.pow(10, decimals);
	return pad_with_zeros(result3, decimals);
}

function trim(str) 
{
	//alert(str + " === trim");
	for( lspace=0 ; lspace<str.length ; lspace++ )
		if( str.charAt(lspace)!=' ' )
			break;
	str = str.substring( lspace );
	for( rspace=str.length-1 ; rspace>=0 ; rspace-- )
		if( str.charAt(rspace)!=' ' )
			break;
	str = str.substring( 0, rspace+1 );
	return str;
}


function pad_with_zeros(rounded_value, decimal_places) 
{
	var value_string = rounded_value.toString()
	var decimal_location = value_string.indexOf(".")
	if (decimal_location == -1) {
		decimal_part_length = 0
		value_string += decimal_places > 0 ? "." : ""
	}
	else {
		decimal_part_length = value_string.length - decimal_location - 1
	}
	
	var pad_total = decimal_places - decimal_part_length
	if (pad_total > 0) {
		for (var counter = 1; counter <= pad_total; counter++) 
			value_string += "0"
	}
	return value_string
}

function RefreshPage()
{
	Clear_Package();
	Clear_package_Selection();
}

function Check_Payment_Mode(obj)
{
		Clear_Package()
		Clear_package_Selection()
		var card_Obj = document.getElementById("rdb_Card");
		var invoice_Obj = document.getElementById("rdb_Invoice");
		var cheque_Obj = document.getElementById("rdb_Cheque");
		card_Obj.disabled = true
		invoice_Obj.disabled = true
		cheque_Obj.disabled = true
		
		if (obj.value  == 1)
		{
			invoice_Obj.disabled = false
			cheque_Obj.disabled = false
			card_Obj.disabled = false
		}
		else
		{
			card_Obj.disabled = false
			card_Obj.checked = true
		}
		
}

/* Function to calculate tax values new style */
function Calculate_Value(obj, MemberCostCTL, NonMemberCostCTL, GST_Value, Member, NonMember)
{
 
 var cost_Add = 0 ;
 var str = (obj.id).split('_rpt2')[0];
 
 var objMemberCost = document.getElementById(str + MemberCostCTL)
 var objNonMemberCost = document.getElementById(str + NonMemberCostCTL)
 
 var objMember = document.getElementById(Member)
 var objNonMember = document.getElementById(NonMember)
 
 if(objMember.checked)
  cost_Add = objMemberCost.value;
  
 if(objNonMember.checked)
  cost_Add = objNonMemberCost.value;
 
 var obj_SubTotal = eval(cost_Add);
  
 var obj_Sub = eval(cost_Add);
  
 //var obj_GST = eval(obj_Sub)* eval(GST_Value); //.06 ;
 
 var obj_Tax = 0;
 var objTax = 0;
 var index = 1;
 
 var ctlTaxType;
 
 for(i = 0; i <= document.forms[0].elements.length - 1 ; i++)
 {
  if (document.forms[0].elements[i].type=='hidden')
  {
   /* for tax value */
   var objTaxValue;
   if (document.forms[0].elements[i].id.indexOf("hdn_Tax") >= 0)
   {
    objTaxValue = document.forms[0].elements[i].value;
    index = document.forms[0].elements[i].id.substring(7);
    
    /* for tax type */
    var objTaxType;
    ctlTaxType = "hdn_TypeTax" + index;
    objTaxType = document.getElementById(ctlTaxType).value;
    
    /* for tax id */
    var objTaxId;
    var ctlTaxId = "hdn_Id_Tax" + index;
    
    var intTaxId = document.getElementById(ctlTaxId).value;
    
    /* 
     intTaxId - 1 for GST 
     intTaxId - 2 for QST 
     intTaxId - 3 for HST  
    */
    
    
    /* Tax Calculation */
    if (objTaxType == 2)   // for percentage
    {     
     objTax = eval(obj_Sub) * eval(objTaxValue)/100;
     obj_Tax = eval(obj_Tax) + eval(objTax);     
    }
    else if (objTaxType == 1)  // for fix
    {
     objTax =  eval(objTaxValue);
     obj_Tax = eval(obj_Tax) + eval(objTaxValue);     
    } // if (objTaxType == 2)
   
    objTax = formatCurrencyForDecimals(eval(objTax),2);
    obj_Tax = formatCurrencyForDecimals(eval(obj_Tax),2);
        
    obj_Sub = eval(obj_Sub) + eval(objTax);
    
    if (intTaxId == 1)
    {          
     document.getElementById("hdnGST").value = eval(objTax);
     //alert(document.getElementById("hdnGST").value);
    }
    else if (intTaxId == 2)
    {     
     document.getElementById("hdnQST").value = eval(objTax);
     //alert(document.getElementById("hdnQST").value);
    }
    else if (intTaxId == 3)
    {     
     document.getElementById("hdnHST").value = eval(objTax);
     //alert(document.getElementById("hdnHST").value);
    } // else if (intTaxId == 3)
    
    //alert(objTax);      
    var ctlid = "tbx_TAX" + index;
    document.getElementById(ctlid).value = eval(objTax);
    //round2decimals(document.getElementById(ctlid));
   
   } // if (document.forms[0].elements[i].id.indexOf("hdn_Tax") >= 0)
   
  } // if (document.forms[0].elements[i].type=='hidden')
  
 } // for(i = 0; i <= document.forms[0].elements.length - 1 ; i++)
  
 
 var obj_Tot = eval(obj_SubTotal) + eval(obj_Tax);
 
 document.getElementById("tbx_Subtot").value = obj_SubTotal;
 document.getElementById("tbx_Total").value = obj_Tot ;
 
 round2decimals(document.getElementById("tbx_Subtot"));
 round2decimals(document.getElementById("tbx_Total"));
 
} // function Calculate_Value(obj, MemberCostCTL, NonMemberCostCTL, GST_Value, Member, NonMember)