//var serverPath = 'https://www.teemingpod.com/TeemingPodServer';
var serverPath = 'https://www.teemingpod.com/TeemingPodServer';
//var serverPath = 'http://archana/TeemingPodServer_V2.0';
function websiteSignUp(IsNewsLetter)
{
	try
	{
		var emailVal = document.getElementById("txtEmail").value;
	
		// check the validity of email id
		var regexp = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
		
		if(regexp.test(emailVal))
		{
			// mail id is valid hence send the request to server
			sendRegisterRequest(emailVal, IsNewsLetter);
		}
		else
		{
			// show the error message
			document.getElementById("MessageDiv").innerHTML = "You have entered an Invalid Email Id.";
		} 
	}
	catch(e)
	{
	}
}

function sendRegisterRequest(emailID, IsNewsLetter)
{
	try
	{
		var url = serverPath + '/DynamicJS.aspx?action=RegisterWebsiteUser&emailID=' + encodeURIComponent(emailID) + '&IsNewsLetter=' + IsNewsLetter + '&callback=getRegisterResponse';
		var s = document.createElement("SCRIPT");
		s.src = url;
		var h = document.getElementsByTagName("head").item(0);
		h.appendChild(s);
	}
	catch(e)
	{
	}
}

function getRegisterResponse(responseTxt)
{
	// show the response message to the user
	document.getElementById("MessageDiv").innerHTML = responseTxt;
}

// For webinar page
// Added by shamaila 30th Jan 09

var xmlDoc;
var  	selectedWebinar = "July 07th 2010, Wednesday at 11.00am (Pacific Time)" + "\n" +
                    "https://www1.gotomeeting.com/join/831149217" + "\n" +
                    "Dial: 630-869-1016" + "\n" +
					"Access Code: 831-149-217" + "\n" +
					"Audio PIN: Shown after joining the meeting" + "\n" +
					"Meeting ID: 831-149-217";


function readWebinarList()
{
	try
	{
		// load webinar list
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
		xmlDoc.onreadystatechange = readWebinarXML;
		xmlDoc.load("xml/WebinarList.xml");
		
		// load designation list
		if (window.ActiveXObject)
		{// code for IE
			xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			xmlDoc.async = false;
			xmlDoc.onreadystatechange = readDesignationXML;
			xmlDoc.load("xml/DesignationList.xml");
		}
		else if (document.implementation.createDocument)
		{// code for Mozilla, Firefox, Opera, etc.
			xmlDoc=document.implementation.createDocument("","",null);
			//xmlDoc.async = false;
			xmlDoc.load("xml/DesignationList.xml");
			xmlDoc.onload = readDesignationXML;
		}
		
		// clear all fields
		resetAction();
	}
	catch(e)
	{  
   	}	
}

function readWebinarXML()
{
	try
	{
		if(xmlDoc.readyState == 4)
		{
			var xmlLen = xmlDoc.documentElement.childNodes.length;
			
			for(var i=0; i<xmlLen; i++)
			{
				var heading = xmlDoc.documentElement.childNodes[i].attributes[0].nodeValue;
				var detail = xmlDoc.documentElement.childNodes[i].attributes[1].nodeValue;
				
				// make radio buttons
				makeWebinarOptions(heading, detail, i);
			}
		}
	}
	catch(e)
	{  
   	}
}

function makeWebinarOptions(heading, detail, counter)
{
	var divList = document.getElementById("webinarList");
	
	try
	{  
    	var rdo = '<input type="radio" name="groupWebinar" value="' + (heading + "\n" + detail) + '" id="radio' + counter + '" onClick="javascript:onClickOfWebinar(' + counter + ');" >' + heading + '<br>'; 
		divList.innerHTML = divList.innerHTML + rdo;
    }
	catch(e)
	{  
   	}  
}

function onClickOfWebinar()
{
	try
	{
		var id = document.getElementById("listWebinar").value;
				if (id == "1")
		        {
			        selectedWebinar = "July 07th 2010, Wednesday at 11.00am (Pacific Time)" + "\n" +
	                "https://www1.gotomeeting.com/join/831149217" + "\n" +
	                "Dial: 630-869-1016" + "\n" +
	                "Access Code: 831-149-217" + "\n" +
	                "Audio PIN: Shown after joining the meeting" + "\n" +
	                "Meeting ID: 831-149-217";
                }
                else if (id == "2")
                {
                    selectedWebinar = "July 14th 2010, Wednesday at 11.00am (Pacific Time)" + "\n" +
                      "https://www1.gotomeeting.com/join/831149217" + "\n" +
                      "Dial: 630-869-1016" + "\n" +
                      "Access Code: 831-149-217" + "\n" +
                      "Audio PIN: Shown after joining the meeting" + "\n" +
                      "Meeting ID: 831-149-217";
                }
                else if (id == "3")
                {                    
                   selectedWebinar = "July 21st 2010, Wednesday, 11am (Pacific Time)" + "\n" +
                      "https://www1.gotomeeting.com/join/831149217" + "\n" +
                      "Dial: 630-869-1016" + "\n" +
                      "Access Code: 831-149-217" + "\n" +
                      "Audio PIN: Shown after joining the meeting" + "\n" +
                      "Meeting ID: 831-149-217";
                }
                else if (id == "4")
                {                    
                      selectedWebinar = "July 28th 2010, Wednesday, 11am (Pacific Time)" + "\n" +
                      "https://www1.gotomeeting.com/join/831149217" + "\n" +
                      "Dial: 630-869-1016" + "\n" +
                      "Access Code: 831-149-217" + "\n" +
                      "Audio PIN: Shown after joining the meeting" + "\n" +
                      "Meeting ID: 831-149-217";
                }
				
		//alert(selectedWebinar);
	}
	catch(e)
	{  
   	}
}

function readDesignationXML()
{
	try
	{
		if(window.ActiveXObject)
		{
			if(xmlDoc.readyState == 4)
			{
				var xmlLen = xmlDoc.documentElement.childNodes.length;
				for(var i=0; i<xmlLen; i++)
				{
					var designation = xmlDoc.documentElement.childNodes[i].attributes[0].nodeValue;
					fillDesignationList(designation);
				}
			}
		}
		else
		{
			var items = xmlDoc.documentElement.getElementsByTagName("Item");
			for(var i=0; i<items.length; i++)
			{
				fillDesignationList(items[i].getAttribute("name"));
			}
		}
	}
	catch(e)
	{  
   	}
}

function fillDesignationList(designation)
{
	try
	{
		var list = document.getElementById("listDesignation");
		
		var option = document.createElement('option');
		option.setAttribute('label', designation);
		option.setAttribute('value', designation);
	
		list.appendChild(option);
	}
	catch(e)
	{  
   	}
}

function validatePhoneFax(strPhoneFax,choice)
{
	try
	{
		//This function will check for valid characters entered  in the phone and fax text
		
		var strBase1="48|49|50|51|52|53|54|55|56|57|"; //For nos
		
		var strcode;
		var i;
		
		for(i=0;i<strPhoneFax.length;i++)
		{
			strcode=strPhoneFax.charAt(i);
			if (strBase1.search(strPhoneFax.charCodeAt(i))==-1)
			{
				if(strcode != "-")
				{
					if (choice == "P")
						document.getElementById("alertMsg").innerHTML = "Please enter a vaild Phone number. (e.g : 91-20-5449683)";
					else if (choice=="F")	
						document.getElementById("alertMsg").innerHTML = "Please enter a valid Fax. (e.g : 91-20-5449683)";
					return false;
				}
			}
			
		}
		return true;
	}
	catch(e)
	{  
   	}
}

function jsTrim(sInputString) 
{
	try
	{
		// Removes leading and trailing spaces from the passed string. Also removes
		// consecutive spaces and replaces it with one space. If something besides
		// a string is passed in (null, custom object, etc.) then return the input.
	
		if (typeof sInputString != "string") { 
			return sInputString; 
		}
	
		var retValue = sInputString;
		var ch = retValue.substring(0, 1);
	
		while (ch == " ") { // Check for spaces at the beginning of the string
		   retValue = retValue.substring(1, retValue.length);
		   ch = retValue.substring(0, 1);
		}
	
		ch = retValue.substring(retValue.length-1, retValue.length);
	
		while (ch == " ") { // Check for spaces at the end of the string
		   retValue = retValue.substring(0, retValue.length-1);
		   ch = retValue.substring(retValue.length-1, retValue.length);
		}
	
		return retValue; // Return the trimmed string back to the user
	}
	catch(e)
	{  
   	}
}

function validateEmail(email, prms)
{
	try
	{
		// check the validity of email id
		var regexp = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
		
		if(regexp.test(email))
		{
			return true;
		}
		else
		{
			if(prms == "1")
			{
				document.getElementById("alertMsg").innerHTML = "Please enter a valid email id.";
			}
			else if(prms == "2")
			{
				document.getElementById("alertOfferMsg").innerHTML = "Please enter a valid email id.";
			}
		} 
	}
	catch(e)
	{  
   	}
}

function submitAction()
{
   
	try
	{
	    LoadMessage();
	    var name = document.getElementById("txtName").value;
		name = jsTrim(name);
		
		var company = document.getElementById("txtCompany").value;
		company = jsTrim(company);
		
		var designation = document.getElementById("listDesignation").value;
		
		var phone = document.getElementById("txtPhone").value;
		phone = jsTrim(phone);
		
		var email = document.getElementById("txtEmail").value;
		email = jsTrim(email);
		
		var country = document.getElementById("listCountry").value;
		
		// check that all fields are filled
		var isFormFilled = checkUserInput(name, company, designation, phone, email, country);
		
		if(isFormFilled)
		{
			// check the validity of phone no
			//var isPhoneValid = validatePhoneFax(phone, "P");
			
			// check validity of email id
			var isEmailValid = validateEmail(email, "1");
			
			var isDesignationValid = true;
			
			if(designation == "Other")
			{
				isDesignationValid = validateDesignation(jsTrim(document.getElementById("txtDesignation").value));
				if(isDesignationValid == true)
				{
					userInput = document.getElementById("txtDesignation").value;
				}
			}
			
			if(isEmailValid == true && isDesignationValid == true)
			{
				//alert(designation);
				submitWebinarInfo(name, company, designation, phone, email, country, "webinar page");
			}
			else
			{
			    document.getElementById("alertMsg").className = "ErrorStyle";
		        document.getElementById("spnProcessingRequest").innerHTML="";
			}
			
			
			
		}
		else
		{
		     document.getElementById("alertMsg").className = "ErrorStyle";
		     document.getElementById("spnProcessingRequest").innerHTML="";
		}
	
       

	}
	catch(e)
	{  
   	}
}

function init()
{
	document.getElementById("txtDesignation").style.visibility = 'hidden';
}

function getDesignationSelected()
{
	var designation = document.getElementById("listDesignation").value;
	
	if(designation == "Other")
	{
		document.getElementById("txtDesignation").style.visibility = 'visible';
	}
	else
	{
		document.getElementById("txtDesignation").style.visibility = 'hidden';
		document.getElementById("txtDesignation").value = "";
	}
}

function validateDesignation(designationTxt)
{
	// check if user entered designation has special chars
	// ~ < > | ` ! @ # $ % * + =
	var len = designationTxt.length;
	
	for(var i=0; i<len; i++)
	{
		if(designationTxt.charAt(i) == "~" || designationTxt.charAt(i) == "<" || designationTxt.charAt(i) == ">" || designationTxt.charAt(i) == "|" || designationTxt.charAt(i) == "`" || designationTxt.charAt(i) == "!" || designationTxt.charAt(i) == "@" || designationTxt.charAt(i) == "#" || designationTxt.charAt(i) == "$" || designationTxt.charAt(i) == "%" || designationTxt.charAt(i) == "*" || designationTxt.charAt(i) == "+" || designationTxt.charAt(i) == "=")
		{
			document.getElementById("alertMsg").innerHTML = "Designation cannot contain special characters.";
			return false;
		}
	}
	
	return true;
}

function checkNameValidation(name)
{
	try
	{
		// check the validity of name
		var regexp = /^[a-zA-Z]+$/;
		
		if(regexp.test(name))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	catch(e)
	{  
   	}
}

function checkCompanyValidation(company)
{
	try
	{
		// check the validity of company name
		var regexp = /^[a-z|A-Z|0-9][a-z|A-Z|0-9]*[^\~^\<^\>^\`^\\]*$/;
		
		if(regexp.test(company))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	catch(e)
	{  
   	}
}

function checkPhoneValidation(phone)
{
	try
	{	
		// check the validity of phone
		var regexp = /^[^\<^\>^\\]*$/;
		
		if(regexp.test(phone))
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	catch(e)
	{  
   	}
}

function checkUserInput(name, company, designation, phone, email, country)
{
	try
	{
		var isNameValid = checkNameValidation(name); 	
		var isCompanyValid = checkCompanyValidation(company); 
		var isPhoneValid = checkPhoneValidation(phone);  
		
		if(name == "")
		{
			document.getElementById("alertMsg").innerHTML = "Please enter the name.";
			return false;
		}
		else if(isNameValid == false)
		{
			document.getElementById("alertMsg").innerHTML = "First name cannot contain numeric values or special characters.";
			return false;
		}
		else if(email == "")
		{
			document.getElementById("alertMsg").innerHTML = "Please enter the email id.";
			return false;
		}
		else if(company == "")
		{
			document.getElementById("alertMsg").innerHTML = "Please enter the company.";
			return false;
		}
		else if(isCompanyValid == false)
		{
			document.getElementById("alertMsg").innerHTML = "Please enter a valid company.";
			return false;
		}
		else if(phone != "" && isPhoneValid == false)
		{
			document.getElementById("alertMsg").innerHTML = "Please enter a valid phone number.";
			return false;
		}
		else if(selectedWebinar == "" || selectedWebinar == undefined)
		{
			document.getElementById("alertMsg").innerHTML = "Please select a webinar.";
			return false;
		}
		else
		{
			return true;
		}
	}
	catch(e)
	{  
   	}
}

function submitWebinarInfo(name, company, designation, phone, email, country, userSource)
{
	try
	{
		var url = serverPath + '/DynamicJS.aspx?action=RegisterWebinarUserFromWebsite&webinarInfo=' + encodeURIComponent(selectedWebinar) + '&userName=' + encodeURIComponent(name) + '&companyName=' + encodeURIComponent(company) + '&userDesignation=' + encodeURIComponent(designation) + '&userPhone=' + encodeURIComponent(phone) + '&userEmail=' + encodeURIComponent(email) + '&userCountry=' + encodeURIComponent(country) + '&callback=getWebinarInfo' + '&userSource=' + encodeURIComponent(userSource);
		var s = document.createElement("SCRIPT");
		//alert(url);
		s.src = url;
		var h = document.getElementsByTagName("head").item(0);
		h.appendChild(s);
	}
	catch(e)
	{
	}
}

function getWebinarInfo(response)
{	
	//alert(response);
	try
	{
		resetAction();
		document.getElementById("spnProcessingRequest").innerHTML="";
		document.getElementById("alertMsg").innerHTML = response;
		document.getElementById("alertMsg").className = "InfoMsg";
		
	}
	catch(e)
	{
	}
}

function resetAction()
{
	try
	{
	    document.getElementById("listWebinar").value = "1";
		
		selectedWebinar ="July 07th 2010, Wednesday at 11.00am (Pacific Time)" + "\n" +
                    "https://www1.gotomeeting.com/join/831149217" + "\n" +
                    "Dial: 630-869-1016" + "\n" +
					"Access Code: 831-149-217" + "\n" +
					"Audio PIN: Shown after joining the meeting" + "\n" +
					"Meeting ID: 831-149-217";

		document.getElementById("txtName").value = "";
		document.getElementById("txtCompany").value = "";
		document.getElementById("listDesignation").value = "";
		document.getElementById("txtPhone").value = "";
		document.getElementById("txtEmail").value = "";
		document.getElementById("listCountry").value = "";
		document.getElementById("alertMsg").innerHTML = "";
		document.getElementById("txtDesignation").value = "";
		document.getElementById("txtDesignation").style.visibility = 'hidden';
	}
	catch(e)
	{
	}
}

// End by shamaila for webinar page

// For offer page
// Added by shamaila 02nd Feb 09

function cleanOfferForm()
{
	try
	{
		document.getElementById("txtOfferName").value = "";
		document.getElementById("txtOfferEmailID").value = "";
		document.getElementById("alertOfferMsg").innerHTML = "";
	}
	catch(e)
	{
	}
}

function btnOfferSubmit()
{
	try
	{
		var name = document.getElementById("txtOfferName").value;
		name = jsTrim(name);
		
		var email = document.getElementById("txtOfferEmailID").value;
		email = jsTrim(email);
		
		var text = document.getElementById("txtOfferMsg").value;
		text = jsTrim(text);
		
		// check that all fields are filled
		var isFormFilled = checkUserInputOffer(name, email);

		if(isFormFilled)
		{
			// check validity of email id
			var isEmailValid = validateEmail(email, "2");
			
			if(isEmailValid == true)
			{
				submitOfferDetails(name, email, text);
			}
		}
	}
	catch(e)
	{
	}
}

function checkUserInputOffer(name, email)
{
	try
	{
		if(name == "")
		{
			document.getElementById("alertOfferMsg").innerHTML = "Please enter the name.";
			return false;
		}
		else if(email == "")
		{
			document.getElementById("alertOfferMsg").innerHTML = "Please enter the email id.";
			return false;
		}
		else
		{
			return true;
		}
	}
	catch(e)
	{
	}
}

function submitOfferDetails(name, email, text)
{
	try
	{
		var url = serverPath + '/DynamicJS.aspx?action=RegisterOfferUserFromWebsite&userName=' + name + '&userEmail=' + encodeURIComponent(email) + '&userMessage=' + encodeURIComponent(text) + '&callback=getOfferInfo';
		var s = document.createElement("SCRIPT");
		s.src = url;
		var h = document.getElementsByTagName("head").item(0);
		h.appendChild(s);
	}
	catch(e)
	{
	}
}

function getOfferInfo(response)
{
	try
	{
		cleanOfferForm();
		document.getElementById("alertOfferMsg").innerHTML = response;
	}
	catch(e)
	{
	}
}

function fillOfferMsg()
{
	var msgTxt = document.getElementById("txtOfferMsg");
	msgTxt.value = "Yes, I would like to participate in the 10-10-10 offer. Please have one of your representatives' write to me to schedule a conversation.";
}

function limitUserInput()
{
	var msgTxt = document.getElementById("txtOfferMsg").value;
	var inputLen = 500;
	
	if(msgTxt.length>inputLen)
	{
		
		document.getElementById("txtOfferMsg").disabled = true;
	}
	else
	{
		document.getElementById("txtOfferMsg").disabled = false;
	}
	
	// if delete or backspace is pressed make it editable again
	document.onkeyup=detectSpecialKeys;

}

function detectSpecialKeys(e)
{
	var evtobj=window.event? event : e
	var unicode=evtobj.charCode? evtobj.charCode : evtobj.keyCode

	if (unicode == 8 || unicode == 46)
	{
		document.getElementById("txtOfferMsg").disabled = false;
	}
}

// End by shamaila for offer page

function LoadMessage()
{
	var loadstatustext="<img src='images/loading.gif' />";
	document.getElementById("spnProcessingRequest").innerHTML = loadstatustext;
	document.getElementById("alertMsg").className = "InfoMsg";
	document.getElementById("alertMsg").innerHTML = "&nbsp;Processing request...";
}