//Declaring global variables
var highlitedPageTab;
var highlitedPageSubTab;

function CheckEmail(emailStr)
{
	//Checking For valid email
	
	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)
	{
		//alert("Incorrect email format. Please try again.")
		return false
	}

	var user=matchArray[1]
	var domain=matchArray[2]

	if (user.match(userPat)==null)
	{
		// user is not valid
		//alert("The email doesn't seem to be valid.")
		return false
	}

	var IPArray=domain.match(ipDomainPat)

	if (IPArray!=null) 
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255) 
			{	
				//alert("Destination IP address is invalid!")
				return false
			}
		}		
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null)
	{
		//alert("The domain name doesn't seem to be valid.")
		return false
	}

	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) 
	{
		//alert("The address must end in a three-letter domain, or two letter country.")
		return false
	}

	if (len<2)
	{
		//var errStr="This address is missing a hostname!"
		//alert(errStr)
		return false
	}
	return true
}


function clearAllMessages(arrDivIds){
  	
	var obj;
	var len = arrDivIds.length;
	for(var i=0;i<len;i++){
		
		obj = document.getElementById(arrDivIds[i]);
		if(obj!=null){
			
			obj.innerHTML = '';
			obj.style.display = 'none';
			
		}
	
	}
}
  	
function writeErrorMessage(divId,msgError){

	objErrDisp = document.getElementById(divId);
	objErrDisp.innerHTML = msgError;
	objErrDisp.style.display = '';

}

function validateUrl(url){
	
	var urlRegxp = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.){1}([\w]+)(.[\w]+){1,2}$/;
	
	return urlRegxp.test(url);
	
}

/*******************************************************************************
DESCRIPTION: Validates that a string contains only valid integer number.

PARAMETERS: strValue - String to be tested for validity

RETURNS: True if valid, otherwise false.
********************************************************************************/
function validatePhone(strPhone) {
	
  /*var objRegExp  = /(^-?\d\d*$)/;

  //check for integer characters
  return objRegExp.test(strPhone);*/
  
  
/************************************************
	DESCRIPTION: Validates that a string contains valid
	  US phone pattern.
	  Ex. (999) 999-9999 or (999)999-9999
	
	PARAMETERS:
	   strValue - String to be tested for validity
	
	RETURNS:
	   True if valid, otherwise false.
*************************************************/
  var objRegExp1  = /^\([1-9]\d{2}\)\s?\d{3}\-\d{4}$/;
  var objRegExp2  = /^[1-9]\d{2}\-\d{3}\-\d{4}$/;

  //check for valid us phone with or without space between
  //area code
  if(objRegExp1.test(strPhone))
  	return true;
  else{
  	
  	if(objRegExp2.test(strPhone))
  		return true;
  	else
  		return false;
  }
  
}


function setFocus(objId){
	
	var obj = document.getElementById(objId);
	
	if(obj!=null) obj.focus();
	
}

//Allow numbers only
function allowNumOnly(id){
	
	var obj = document.getElementById(id);
	
	if(obj!=null){
		
		if(isNaN(obj.value)) 
			obj.value=0;
		else if((obj.value * 1)<0)
			obj.value=0;
	}
}

function makeNumeric(val){

	var retVal = 0;

	if(isNaN(val))
		retVal = 0;
	else{

		if((val * 1)<0)
			retVal = 0;
		else
			retVal = val * 1;
		
	}
		
	return retVal;
  		
 }
 

/*//Hide/Show Boxes 
function show()
{
//alert('test')
if(document.getElementById('Table').style.display=='none')
{
document.getElementById('Table').style.display='block'
document.getElementById('1').innerHTML='-'
}
else
{
document.getElementById('Table').style.display='none'
document.getElementById('1').innerHTML='+'
}
}

function show1()
{
//alert('test')
if(document.getElementById('Table1').style.display=='none')
{
document.getElementById('Table1').style.display='block'
document.getElementById('2').innerHTML='-'
}
else
{
document.getElementById('Table1').style.display='none'
document.getElementById('2').innerHTML='+'
}
}


function show2()
{
//alert('test')
if(document.getElementById('Table2').style.display=='none')
{
document.getElementById('Table2').style.display='block'
document.getElementById('3').innerHTML='-'
}
else
{
document.getElementById('Table2').style.display='none'
document.getElementById('3').innerHTML='+'
}
}


function show3()
{
//alert('test')
if(document.getElementById('Table3').style.display=='none')
{
document.getElementById('Table3').style.display='block'
document.getElementById('4').innerHTML='-'
}
else
{
document.getElementById('Table3').style.display='none'
document.getElementById('4').innerHTML='+'
}
}

function show4()
{
//alert('test')
if(document.getElementById('Table4').style.display=='none')
{
document.getElementById('Table4').style.display='block'
document.getElementById('5').innerHTML='-'
}
else
{
document.getElementById('Table4').style.display='none'
document.getElementById('5').innerHTML='+'
}
}

function show5()
{
//alert('test')
if(document.getElementById('Table5').style.display=='none')
{
document.getElementById('Table5').style.display='block'
document.getElementById('6').innerHTML='-'
}
else
{
document.getElementById('Table5').style.display='none'
document.getElementById('6').innerHTML='+'
}
}


function show6()
{
//alert('test')
if(document.getElementById('Table6').style.display=='none')
{
document.getElementById('Table6').style.display='block'
document.getElementById('7').innerHTML='-'
}
else
{
document.getElementById('Table6').style.display='none'
document.getElementById('7').innerHTML='+'
}
}
 

function validateOptionsRadio(objRadio)
{

	var len = objRadio.length;
	var retVal = false;
	
	for(var i=0;i<len;i++){
		
		if(objRadio[i].checked==true){

			retVal = true;	
			break;
			
		}
	}
	
	return retVal;
	
}*/


function validateOptionsRadio(objRadio)
{

	var len = objRadio.length;
	var retVal = false;
	
	if(len==null){
			
		if(objRadio!=null && objRadio.checked==true)
			retVal = true;
		
	}else{

		for(var i=0;i<len;i++){
			
			if(objRadio[i].checked==true){
	
				retVal = true;	
				break;
				
			}
		}
		
	}
	
	return retVal;
	
}


function validateOptionsCheckbox(objForm,name)
{

	var len = objForm.elements.length;
	var retVal = false;
	
	for(var i=0;i<len;i++){
		
		if(objForm.elements[i].type=='checkbox' && objForm.elements[i].name==name){

			if(objForm.elements[i].checked==true){
			
				retVal = true;
				break;
			
			}
			
		}
	}
	
	return retVal;
	
}


function getHilightedTab()
{

	var arrTabs = new Array("tabHome","tabMyProjects","tabLeads","tabProfile","tabDirectory","tabProMatch","tabResCenter","tabAccount","tabOverview","tabFaq","tabGetStarted");

	//Get hilighted tab
	for(var i=0;i<arrTabs.length;i++){
		
		var objTab = document.getElementById(arrTabs[i]);
		
		if(objTab!=null){

			if(objTab.className=="current")
				highlitedPageTab = arrTabs[i];
		}	
	}
	
}


function getHilightedSubTab()
{

	var arrTabs = new Array("subTabProfile","subTabFeedback","subTabAccSummary","subTabLeadPref","subTabLeadPrice","subTabRegInfo","subTabActLeads","subTabArcLeads");

	//Get hilighted tab
	for(var i=0;i<arrTabs.length;i++){
		
		var objTab = document.getElementById(arrTabs[i]);
		
		if(objTab!=null){

			if(objTab.className=="current")
				highlitedPageSubTab = arrTabs[i];
		}	
	}
	
}


function setActiveTab(tabId)
{

	var arrTabs = new Array("tabHome","tabMyProjects","tabLeads","tabProfile","tabDirectory","tabProMatch","tabResCenter","tabAccount","tabOverview","tabFaq","tabGetStarted");

	//Clear all selection
	for(var i=0;i<arrTabs.length;i++){
		
		var objTab = document.getElementById(arrTabs[i]);
		
		if(objTab!=null)
			objTab.className = '';
			
	}
	
	//Hilight a tab
	for(var i=0;i<arrTabs.length;i++){
		
		var objTab = document.getElementById(arrTabs[i]);
		
		if(objTab!=null){
			
			if(arrTabs[i]==tabId)
				objTab.className = 'current';
				
		}
	}
	
}

function setActiveSubTab(tabId)
{

	var arrTabs = new Array("subTabProfile","subTabFeedback","subTabAccSummary","subTabLeadPref","subTabLeadPrice","subTabRegInfo","subTabActLeads","subTabArcLeads");

	//Clear all selection
	for(var i=0;i<arrTabs.length;i++){
		
		var objTab = document.getElementById(arrTabs[i]);
		
		if(objTab!=null)
			objTab.className = '';
			
	}
	
	//Hilight a tab
	for(var i=0;i<arrTabs.length;i++){
		
		var objTab = document.getElementById(arrTabs[i]);
		
		if(objTab!=null){
			
			if(arrTabs[i]==tabId)
				objTab.className = 'current';
				
		}
	}
	
}


function restoreHilightedTab(tabId)
{
	
	var objTab = document.getElementById(tabId);
	if(objTab!=null)
			objTab.className = 'current';
}


//Display hide elements
function toggleElement(elementId1,elementId2,iconElementId,selfToggel,includeIcon)
{

	var obj1 = document.getElementById(elementId1);	
	var obj2 = document.getElementById(elementId2);	
	var objIcon = document.getElementById(iconElementId);	
	
	if(selfToggel){
		
		//For self element hide/display
		if(includeIcon){
	
			if(obj1!=null && objIcon!=null){
			
				if(obj1.style.display=='none'){
					
					obj1.style.display = '';
					objIcon.innerHTML = '-';
					objIcon.title = 'Collapse';
					
				}else{
				
					obj1.style.display = 'none';
					objIcon.innerHTML = '+';
					objIcon.title = 'Expand';
					
				}
			}
		
		}else{
		
			if(obj1!=null){
			
				if(obj1.style.display=='none'){
				
					obj1.style.display = '';
					
				}else{
				
					obj1.style.display = 'none';
				}
			}
		
		}
		
		
	}else{
		
		//For dual element hide/display

		if(includeIcon){
	
			if(obj1!=null && obj2!=null && objIcon!=null){
			
				if(obj1.style.display=='none'){
				
					obj1.style.display = '';
					obj2.style.display = 'none';
					objIcon.innerHTML = '-';
					objIcon.title = 'Collapse';
					
				}else{
				
					obj1.style.display = 'none';
					obj2.style.display = '';
					objIcon.innerHTML = '+';
					objIcon.title = 'Expand';
				}
			}
		
		}else{
		
			if(obj1!=null && obj2!=null){
			
				if(obj1.style.display=='none'){
				
					obj1.style.display = '';
					obj2.style.display = 'none';
					
				}else{
				
					obj1.style.display = 'none';
					obj2.style.display = '';
				}
			}
		
		}
	}	
}


function trimAll(strValue){
 var objRegExp = /^(\s*)$/;

    //check for all spaces
    if(objRegExp.test(strValue)) {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
    }

   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
  return strValue;
}

function getDirName4URL(dirName)
{
	var retVal = dirName;
  	
  	retVal = retVal.replace(new RegExp(/\s/g),'-');
  	retVal = retVal.replace(new RegExp(/,-/g),'-');
  	retVal = retVal.replace('-(','-');
  	retVal = retVal.replace(')','');
  	retVal = retVal.replace('-&-','-');
  	retVal = retVal.replace('.','');

  	return retVal;
  	
}