/**
 * common 10MAR2009 Version 1.0
 * Abhimanyu Dawar, March 2009
 * Copyright (c) NIS Sparta.
 *
 */

// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}
function trim(s)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not a whitespace, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (c != " ") returnString += c;
    }
    return returnString;
}
function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf(")")<=2)return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function fnValid()
{
	returnValue = true;
	if(document.frmEnquiry.txtName.value.length==0)
	{
		alert("Please fill in your NAME");
		document.frmEnquiry.txtName.focus();
		document.frmEnquiry.txtName.select();
		returnValue = false;
	}
	/*else if(document.frmEnquiry.txtAddress.value.length==0)
	{
		alert("Please fill-in your ADDRESS");
		document.frmEnquiry.txtAddress.focus();
		document.frmEnquiry.txtAddress.select();
		returnValue = false
	}*/
	else if(document.frmEnquiry.txtMobile.value.length==0)
	{
		alert("Please fill in your LANDLINE/MOBILE NUMBER");
		document.frmEnquiry.txtMobile.focus();
		document.frmEnquiry.txtMobile.select();
		returnValue = false
	}
	else if(checkInternationalPhone(document.frmEnquiry.txtMobile.value)==false)
	{
		alert("Please enter a valid LANDLINE/MOBILE NUMBER");
		document.frmEnquiry.txtMobile.focus();
		document.frmEnquiry.txtMobile.select();
		returnValue = false
	}
	else if(document.frmEnquiry.txtEmail.value.length==0)
	{
		alert("Please fill-in your E-MAIL ADDRESS");
		document.frmEnquiry.txtEmail.focus();
		document.frmEnquiry.txtEmail.select();
		returnValue = false
	}
	else if(document.frmEnquiry.txtEmail.value.indexOf("@") == -1) 
	{
	    alert("Please enter a valid E-MAIL ADDRESS")
    	document.frmEnquiry.txtEmail.focus()
    	document.frmEnquiry.txtEmail.select()      
        returnValue = false
	}
	else if(document.frmEnquiry.txtEmail.value.indexOf(".") == -1) 
	{
    	alert("Please Enter a valid E-MAIL ADDRESS")
	    document.frmEnquiry.txtEmail.focus()
	    document.frmEnquiry.txtEmail.select()      
    	returnValue = false 
	}
	else if(document.frmEnquiry.txtEmail.value.indexOf("'")!= -1)
	{
    	alert("Please Enter a valid E-MAIL ADDRESS")
	    document.frmEnquiry.txtEmail.focus()
    	document.frmEnquiry.txtEmail.select()      
	    returnValue = false 
	}
	else if(document.frmEnquiry.cmbReason.value.length==0)
	{
		alert("Please select your REASON");
		document.frmEnquiry.cmbReason.focus();
		returnValue = false
	}
	else if(document.frmEnquiry.cmbReason.value == "course")
	{
		if(document.frmEnquiry.cmbCourse.selectedIndex <= 0)
		{
			alert("Please select a COURSE");
			document.frmEnquiry.cmbCourse.focus();
			returnValue = false
		}
		else if(document.frmEnquiry.txtCity.selectedIndex <= 0)
		{
			alert("Please select your TOWN/CITY");
			document.frmEnquiry.txtCity.focus();
			returnValue = false
		}
		else if(document.frmEnquiry.txtCenter.selectedIndex <= 0)
		{
			alert("Please select your CENTER");
			document.frmEnquiry.txtCenter.focus();
			returnValue = false
		}
		else if(document.frmEnquiry.txtComments.value.length==0)
		{
			alert("Please enter your COMMENTS/QUERY");
			document.frmEnquiry.txtComments.focus();
			returnValue = false
		}
	}
	else if(document.frmEnquiry.cmbReason.value == "franchise")
	{
		if(document.frmEnquiry.txtCity.selectedIndex <= 0)
		{
			alert("Please select your TOWN/CITY");
			document.frmEnquiry.txtCity.focus();
			returnValue = false
		}
		else if(document.frmEnquiry.txtComments.value.length==0)
		{
			alert("Please enter your COMMENTS/QUERY");
			document.frmEnquiry.txtComments.focus();
			returnValue = false
		}
	}
	else if(document.frmEnquiry.txtComments.value.length==0)
	{
		alert("Please enter your COMMENTS/QUERY");
		document.frmEnquiry.txtComments.focus();
		returnValue = false
	}
	return returnValue;
}

function clear_form()
{
	for (var i = 0; i < document.frmEnquiry.elements.length; i ++)
	{
		document.frmEnquiry.elements [i].value = "";
	}
	reset_form()
}

function reset_form()
{
	if (BrowserDetect.browser == "Firefox")
	{
		document.getElementById("courseRow1").style.display = "none";
		document.getElementById("courseRow1").style.visibility = "collapse";

		document.getElementById("courseRow2").style.display = "none";
		document.getElementById("courseRow2").style.visibility = "collapse";
	}
	else if (BrowserDetect.browser == "Explorer")
	{
		document.getElementById("courseRow1").style.display = "none";
		document.getElementById("courseRow1").style.visibility = "hidden";

		document.getElementById("courseRow2").style.display = "none";
		document.getElementById("courseRow2").style.visibility = "hidden";
	}
}

function display_form()
{
	reset_form();
	var reason = document.getElementById("reason").value;
	if (reason != "" || reason != null)
	{
		switch (reason)
		{
			//case "feedback":
			//	document.getElementById("contactRow1").style.display = "block";
			//	document.getElementById("contactRow1").style.visibility = "visible";
			//	break;
			//case "partnership":
			//	document.getElementById("contactRow1").style.display = "block";
			//	document.getElementById("contactRow1").style.visibility = "visible";
			//	break;
			case "course":
				if (BrowserDetect.browser == "Firefox")
				{
					document.getElementById("courseRow1").style.display = "table-row";
					document.getElementById("courseRow2").style.display = "table-row";
				}
				else if (BrowserDetect.browser == "Explorer")
				{
					document.getElementById("courseRow1").style.display = "block";
					document.getElementById("courseRow2").style.display = "block";
				}
				document.getElementById("courseRow1").style.visibility = "visible";
				document.getElementById("courseRow2").style.visibility = "visible";
				break;
			//case "franchise":
				//document.getElementById("contactRow1").style.display = "block";
				//document.getElementById("contactRow1").style.visibility = "visible";
				//document.getElementById("courseRow2").style.display = "block";
				//document.getElementById("courseRow2").style.visibility = "visible";
			//	break;
			default:
				break;
		}

	}
	else
	{
		alert ("Error! Please try again later.")
	}
}

function submit_form()
{
	if (fnValid())
	{
		document.getElementById("frmEnquiry").submit()
	}
}



/*Abhimanyu Dawar - Ajax to fetch centers after the city is selected*/

var xmlHttp

function fetchCenters(str,page)
{
	var reason = document.getElementById("reason").value;
	if (reason == "course")
	{
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null)
		{
			alert ("Your browser does not support AJAX!");
			return;
		} 
		
		var url=page;
		url=url+"?q="+str;
		url=url+"&sid="+Math.random();
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	}

	function stateChanged()
	{
		if (xmlHttp.readyState==4)
		{ 
			document.getElementById("displayCenter").innerHTML=xmlHttp.responseText;
		}
	}

	function GetXmlHttpObject()
	{
		var xmlHttp=null;
		try
		{
		  // Firefox, Opera 8.0+, Safari
		  xmlHttp=new XMLHttpRequest();
		}
		catch (e)
		{
			// Internet Explorer
			try
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		}
		
		return xmlHttp;
	}
}