function addEvent( obj, type, fn )
{
	if (obj.addEventListener)
		obj.addEventListener( type, fn, false );
	else if (obj.attachEvent)
	{
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function removeEvent( obj, type, fn )
{
	if (obj.removeEventListener)
		obj.removeEventListener( type, fn, false );
	else if (obj.detachEvent)
	{
		obj.detachEvent( "on"+type, obj[type+fn] );
		obj[type+fn] = null;
		obj["e"+type+fn] = null;
	}
}

//addEvent(window, 'load', hideTabs);
addEvent(window, 'load', expandableTestimonials);
addEvent(window, 'load', hideTestimonialFull);
addEvent(window, 'load', expandableDivs);
addEvent(window, 'load', hideDivFull);
addEvent(window, 'load', setPage); //highlight current page link

//highlight current sidebar link stuff
function extractPageName(hrefString){
	var arr = hrefString.split('/');
	return  (arr.length<2) ? hrefString : arr[arr.length-2].toLowerCase() + arr[arr.length-1].toLowerCase();                
}
 
 
 
function setActiveMenu(arr, crtPage) {
	for (var i=0; i<arr.length; i++) {
		if(extractPageName(arr[i].href) == crtPage){
			if (arr[i].parentNode.tagName != "DIV") {
				arr[i].className = "current";
				arr[i].parentNode.className = "current";
			}
		}
	}
}
 
function setPage(){
	hrefString = document.location.href ? document.location.href : document.location;
	if (document.getElementById("subnav")!=null) 
		setActiveMenu(document.getElementById("subnav").getElementsByTagName("a"), extractPageName(hrefString));
} 

//homepage tabs
function hideTabs() {
	if (document.getElementsByClassName('tabsdiv')) {
		document.getElementById('hostedcommdiv').style.display = "none";
		document.getElementById('webappsdiv').style.display = "none";
		//document.getElementsByClassName('tabs').style.display = "block";
		
		tabs = document.getElementsByClassName('tabs');
		for (i = 0; i < tabs.length; i++) 
			tabs[i].style.display = "block";
	}
}

function showHide(showdiv, hidediv, otherlink, x) {
	if (document.getElementsByClassName('tabsdiv')) {
		if (document.getElementById(showdiv).style.display == 'none') {
			document.getElementById(showdiv).style.display = 'block';
			document.getElementById(hidediv).style.display = 'none';
			
			var tablink = document.getElementsByTagName('li');
			for (i = 0; i < tablink.length; i++) {
				if (tablink[i].id == otherlink) 
					tablink[i].className = "";
			}
			
			x.className="current";
		}
	}
}

//expandable divs
function hideDivFull() {
	if (document.getElementById('expanddiv')) {
		fullText = document.getElementsByClassName('full');
		for (i = 0; i < fullText.length; i++) {
			fullText[i].style.display = "none";
		}
	}
}

function expandableDivs() {
	if (document.getElementById('expanddiv')) {
		links = document.getElementsByTagName('a');
		for (i = 0; i < links.length; i++) {
			if(links[i].className == "viewmore"){
				links[i].className = "viewmore view";
				links[i].onclick = toggleDiv;
			} else if(links[i].className == "expandall")
				links[i].onclick = expandAllDivs;
			else if(links[i].className == "collapseall")
				links[i].onclick = collapseAllDivs;
		}
	}
}

function toggleDiv() {
	var listItem = this.parentNode.parentNode;
	var textItems = listItem.getElementsByTagName('span');
	var links = listItem.getElementsByTagName('a');

	var full;
	
	for(i = 0; i < textItems.length; i++) {
		if(textItems[i].className == "full")
			full = textItems[i];
	}

	if(full.style.display == "none") 
		full.style.display = "block";
	else 
		full.style.display = "none";
	
	if(this.className.match("close"))
		this.className = "viewmore view";
	else if(this.className.match("view"))
		this.className = "viewmore close";
	
	return false;
}

function expandAllDivs() {
	var fulls = document.getElementsByClassName('full');
	for(i = 0; i < fulls.length;i++)
		fulls[i].style.display = "block";
}

function collapseAllDivs() {
	var fulls = document.getElementsByClassName('full');
	for(i = 0; i < fulls.length;i++)
		fulls[i].style.display = "none";
}

//Expandable Testimonials for the Testimonial page
function hideTestimonialFull() {
	if (document.getElementById('expandtext')) {
		fullText = document.getElementsByClassName('full');
		for (i = 0; i < fullText.length; i++) {
			fullText[i].style.display = "none";
		}
	}
}

function expandableTestimonials() {
	if (document.getElementById('expandtext')) {
		links = document.getElementsByTagName('a');
		for (i = 0; i < links.length; i++) {
			if(links[i].className == "viewmore")
				links[i].onclick = toggleTestimonial;
			else if(links[i].className == "expandall")
				links[i].onclick = expandAllTestimonials;
			else if(links[i].className == "collapseall")
				links[i].onclick = collapseAllTestimonials;
		}
	}
}

function toggleTestimonial() {
	var listItem = this.parentNode.parentNode;
	var textItems = listItem.getElementsByTagName('span');
	var links = listItem.getElementsByTagName('a');

	var excerpt;
	var full;
	
	for(i = 0; i < textItems.length; i++) {
		if(textItems[i].className == "excerpt")
			excerpt = textItems[i];
		else if(textItems[i].className == "full")
			full = textItems[i];
	}

	if(full.style.display == "block") {
		excerpt.style.display = "block";
		full.style.display = "none";
		this.innerHTML = "Read the full testimonial";
	}
	else {
		//excerpt.style.display = "none"; used for toggling would hide excerpt
		full.style.display = "block";
		this.innerHTML = "Collapse &laquo;";
	}
	return false;
}

/*function expandAllTestimonials() {
	var excerpts = document.getElementsByClassName('excerpt');
	var fulls = document.getElementsByClassName('full');
	var links = document.getElementsByClassName('viewmore');
	for(i = 0; i < excerpts.length;i++)
		excerpts[i].style.display = "none";
	for(i = 0; i < fulls.length;i++)
		fulls[i].style.display = "block";
	for(i = 0; i < links.length;i++)
		links[i].innerHTML = "Collapse &laquo;";
}

function collapseAllTestimonials() {
	var excerpts = document.getElementsByClassName('excerpt');
	var fulls = document.getElementsByClassName('full');
	var links = document.getElementsByClassName('viewmore');
	for(i = 0; i < excerpts.length;i++)
		excerpts[i].style.display = "block";
	for(i = 0; i < fulls.length;i++)
		fulls[i].style.display = "none";
	for(i = 0; i < links.length;i++)
		links[i].innerHTML = "Read More &raquo;";
}*/


//contact form validation
function checkInput()
{

	if (document.contactform.name.value == ""){
		alert("Please enter your name");
		document.contactform.name.focus();
		return;
	}
	
	if (document.contactform.email.value == ""){
		alert("Please enter your email address");
		document.contactform.email.focus();
		return;
	}
	
	if (document.contactform.email.value!=""){
		var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
		var check=/@[\w\-]+\./;
		var checkend=/\.[a-zA-Z]{2,4}$/;  
		if(((document.contactform.email.value.search(exclude) != -1) || (document.contactform.email.value.search(check)) == -1) || (document.contactform.email.value.search(checkend) == -1)){              
			alert("Invalid email address!");   
			document.contactform.email.focus()
			return;   
		}       
	}	
	
	if (document.contactform.phone.value == ""){
		alert("Please enter your phone number");
		document.contactform.email.focus();
		return;
	}
	
	if (document.contactform.country.value == ""){
		alert("Please enter your country");
		document.contactform.country.focus();
		return;
	}
	
	if (document.contactform.subject.value == ""){
		alert("Please enter your reason for inquiry");
		document.contactform.subject.focus();
		return;
	}		
	
	if (document.contactform.comments.value == ""){
		alert("Please enter your comments or questions");
		document.contactform.comments.focus();
		return;
	}
	
	//alert("All good");
	document.contactform.submit();
}

//for support page validation
function checkInput2()
{
	if (document.contactform.name.value == "")
	{
		alert("Please enter your Name");
		document.contactform.name.focus();
		return;
	}
	
	if (document.contactform.email.value == "")
	{
		alert("Please enter an Email Address");
		document.contactform.email.focus();
		return;
	}
	
	if (document.contactform.email.value!=""){
		var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
		var check=/@[\w\-]+\./;
		var checkend=/\.[a-zA-Z]{2,4}$/;  
		if(((document.contactform.email.value.search(exclude) != -1) || (document.contactform.email.value.search(check)) == -1) || (document.contactform.email.value.search(checkend) == -1)){              
			alert("Invalid email address!");   
			document.contactform.email.focus()
			return;   
		}       
	}
	
	if (document.contactform.subject.value == "")
	{
		alert("Please enter a Reason for Inquiry");
		document.contactform.subject.focus();
		return;
	}
	
	if (document.contactform.comments.value == "")
	{
		alert("Please enter some Comments/Questions");
		document.contactform.comments.focus();
		return;
	}

	document.contactform.submit();
}

//FAQ Page
/*function viewAnswer(e) {
	list = e.parentNode.parentNode;
	listElements = list.getElementsByTagName('dd');
	for(i = 0; i < listElements.length; i++) {
		if(listElements[i].style.display == "none")
			listElements[i].style.display = "block";
		else
			listElements[i].style.display = "none";
	}
	if(e.className.match("view"))
		e.className = "question close";
	else if(e.className.match("close"))
		e.className = "question view";
}


function getFaq() {
	if (document.getElementById('faq')) {
		var links = document.getElementById('faq').getElementsByTagName('a');
		for (var i = 0; i < links.length; i++) {
    		if (links[i].className.match("question")) {
				// Attach function to onclick event
				links[i].className = "question view";
				links[i].onclick = function() {
		        	viewAnswer(this);
					return false;
      			}
			}
		}
		var answers = document.getElementById('faq').getElementsByTagName('dd');
		for(i=0; i<answers.length; i++) {
			answers[i].style.display = "none";
		}
	}
}

function collapseAllFaq() {
	if (document.getElementById) {
		var links = document.getElementsByTagName('a');
		for (var i = 0; i < links.length; i++) {
    		if (links[i].className.match("question")) {
				links[i].className = "question view";
				list = links[i].parentNode.parentNode;
				listElements = list.getElementsByTagName('dd');
				for(j = 0; j < listElements.length; j++)
					listElements[j].style.display = "none";
			}
		}
	}
}

function expandAllFaq() {
	if (document.getElementById) {
		var links = document.getElementsByTagName('a');
		for (var i = 0; i < links.length; i++) {
    		if (links[i].className.match("question")) {
				links[i].className = "question close";
				list = links[i].parentNode.parentNode;
				listElements = list.getElementsByTagName('dd');
				for(j = 0; j < listElements.length; j++)
					listElements[j].style.display = "block";
			}
		}
	}
}*/