// JavaScript Document
function getObject(){
	try{
		// Firefox, Opera 8.0+, Safari
		return new XMLHttpRequest();
		
	}catch (e){
		// Internet Explorer
		try{
			return new ActiveXObject("Msxml2.XMLHTTP");
		}catch (e){
			try{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch (e){				
				return null;
			}
		}
	}
}

function NotEmpty( old_res, id, field_title )
{
   if ( old_res==0 )
   {
      var el = document.getElementById( id );
      if ( typeof(el)=='object' && el!=null )
        if ( el.value=='' || el.value.indexOf('%') != -1 || el.value.indexOf('*') != -1)
        {
           alert( 'You should fill "' + field_title + '" and or should contain valid characters only.' );
		   return 1;
        }else if( el.value.length < 12 && id == 'searchphone' ){
			alert( 'You should fill "' + field_title + ' correctly."' );
			 return 1;
		}
   }
   return 0;
}

//check the required field for white pages
function checkPPage(){
	
	var nResult = 0;
  	nResult += NotEmpty( nResult, 'searchfirst_','First Name or Initial' );
   	nResult += NotEmpty( nResult, 'searchlast_','Last Name' );		
   	nResult += NotEmpty( nResult, 'state_','US States' );
	
	if ( nResult == 0 ){
		return true;
	}else{
		return false;
	}
	
}

function checkYPageC(){
	
	var nResult = 0;
   	nResult += NotEmpty( nResult, 'searchcategory','Company Name' );		
   	nResult += NotEmpty( nResult, 'statex','US States' );
	
	if ( nResult == 0 ){
		var prevCookie = readCookie( 'recentc' );
		var searchInput = document.getElementById( 'searchcategory' );
		var cityInput = document.getElementById( 'searchcitycat' );
		var stateInput = document.getElementById( 'statex' );

		//check field length
		if (searchInput.value.length < 2){
			alert('Company Name must be a least 2 charaters in lenght.');
			return false;
		}
		if( prevCookie != null && prevCookie != "" ){
			//check for duplicates
			var someCookie = prevCookie.indexOf( searchInput.value );
			if( someCookie != -1 ){
				return true;
			}
			var newCookie = prevCookie + "|" + searchInput.value + "~" + cityInput.value  + "~" + stateInput.options[stateInput.selectedIndex].value;
		}else{
			var newCookie = searchInput.value + "~" + cityInput.value  + "~" + stateInput.options[stateInput.selectedIndex].value;
		}
		//eraseCookie('recenty');
		bakeCookie('recentc', newCookie, 7);
		return true;
	}else{
		return false;
	}
	
}

function checkPhone(){
	var nResult = 0;
	nResult += NotEmpty( nResult, 'searchphone','Phone Number:' );
	
	if ( nResult == 0 ){
		return true;
	}else{
		return false;
	}
}

function checkZipCode(){
	var nResult = 0;
	nResult += NotEmpty( nResult, 'statez','State' );
	nResult += NotEmpty( nResult, 'searchcityz','City' );
	
	if ( nResult == 0 ){
		return true;
	}else{
		return false;
	}
}

function checkYPage(){
	
	var nResult = 0;
   	nResult += NotEmpty( nResult, 'searchlast','Company Name' );		
   	nResult += NotEmpty( nResult, 'state','US States' );
	
	if ( nResult == 0 ){
		var prevCookie = readCookie( 'recenty' );
		var searchInput = document.getElementById( 'searchlast' );
		var cityInput = document.getElementById( 'searchcity' );
		var stateInput = document.getElementById( 'state' );

		//check field length
		if (searchInput.value.length < 2){
			alert('Company Name must be a least 2 charaters in lenght.');
			return false;
		}
		if( prevCookie != null && prevCookie != "" ){
			//check for duplicates
			var someCookie = prevCookie.indexOf( searchInput.value );
			if( someCookie != -1 ){
				return true;
			}
			var newCookie = prevCookie + "|" + searchInput.value + "~" + cityInput.value  + "~" + stateInput.options[stateInput.selectedIndex].value;
		}else{
			var newCookie = searchInput.value + "~" + cityInput.value  + "~" + stateInput.options[stateInput.selectedIndex].value;
		}
		//eraseCookie('recenty');
		bakeCookie('recenty', newCookie, 7);
		return true;
	}else{
		return false;
	}
	
}

function checkAddress(){
	var nResult = 0;
   	nResult += NotEmpty( nResult, 'searchaddress','Address' );
	nResult += NotEmpty( nResult, 'searchcitya','City' );
   	nResult += NotEmpty( nResult, 'statea','US States' );
	
	if ( nResult == 0 ){		
		return true;
	}else{
		return false;	
	}
	
}

function movePaging( dir, container ){
	var status2 = document.getElementById( 'status2' );	
	var start = Number( readCookie( 'start' ) );
	var numres = Number(readCookie( 'numres' ));
	var next_container = 0;		
	switch( dir ){
		case 'next':
			if( current_container != 2 ){
				current_container+=1;
				if(current_container != 2){
					next_container = (current_container+1);
					prev_container = (current_container-1);
				}else{
					next_container = 0;
					prev_container = 1;
				}
				
			}else{
				current_container = 0;
				next_container = 1;
				prev_container = 2
			}
			var container = document.getElementById( 'container'+current_container );
			var container1 = document.getElementById( 'container'+prev_container );
			var container2 = document.getElementById( 'container'+next_container );
			this.location = '#top';
			setDisplay( container, 1 );
			setDisplay( container1, 0 );
			setDisplay( container2, 0 );
			bakeCookie( 'curr_start', (((start-100) >0 ) ? (start-100) : 100), 0 );
			if(start < numres){
				next("container"+next_container);				
			}
			break;
		case 'prev':
			if( current_container != 0 ){
				current_container-=1;
				if(current_container != 0){
					next_container = (current_container+1);
					prev_container = (current_container-1);
				}else{
					next_container = 1;
					prev_container = 2;
				}
			}else{
				current_container = 2;
				next_container = 0;
				prev_container = 1
			}
			var container = document.getElementById( 'container'+current_container );
			var container1 = document.getElementById( 'container'+prev_container );
			var container2 = document.getElementById( 'container'+next_container );
			this.location = '#top';			
			setDisplay( container, 1 );
			setDisplay( container1, 0 );
			setDisplay( container2, 0 );
						
			var curr_start = Number( readCookie('curr_start') );
			bakeCookie('start', (curr_start), 0);			
			prev("container"+prev_container);
			
	}
	setTimeout( "resetNav()", 500 );
}

function setcurr1( id, container ){
	switch( container ){
		case 0:
			//set first container
			TabbedPanels1.showPanel( id );
			TabbedPanels0.showPanel( id );
			this.location = '#top';
			bakeCookie('tab_id0', id, 0);
			break;
		case 1:
			//set second container
			TabbedPanels3.showPanel( id );
			TabbedPanels5.showPanel( id );
			this.location = '#top';
			bakeCookie('tab_id0', id, 0);
			break;
		case 2:
			//set third container
			TabbedPanels6.showPanel( id );
			TabbedPanels8.showPanel( id );
			this.location = '#top';
			bakeCookie('tab_id0', id, 0);
			break;
	}
	
}

function setcurr2( id, container ){
	switch( container ){
		case 0:
			//set first container
			TabbedPanels1.showPanel( id );
			TabbedPanels2.showPanel( id );
			bakeCookie('tab_id0', id, 0);
			break;
		case 1:
			//set second container
			TabbedPanels4.showPanel( id );
			TabbedPanels5.showPanel( id );
			bakeCookie('tab_id1', id, 0);
			break;
		case 2:
			//set third container
			TabbedPanels7.showPanel( id );
			TabbedPanels8.showPanel( id );
			bakeCookie('tab_id2', id, 0);
			break;
	}
}

//##########################//
//#### Cookie Functions ####//
//##########################//
function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function createCookie(name,selObj,days) {
	
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+selObj.options[selObj.selectedIndex].value+expires+"; path=/";
}

function bakeCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function eraseCookie(name) {
	document.cookie = name+"="+""+"; path=/";
}

//This is for loading the top menu
function loadmyMenu( menu ){
	var xmlHttp = getObject();
	var target = document.getElementById( 'searchMenu' );
	//var loader = document.getElementById( 'loader' );
	var thePage = '';
	if( xmlHttp != null && target ){
		xmlHttp.onreadystatechange=function(){
		  	
			//if( xmlHttp.readyState == 1 ){
			//	loader.style.display = 'inline';
				
			//}
			
			if( xmlHttp.readyState == 4 ){
				target.innerHTML = xmlHttp.responseText;				
				//loader.style.display = 'none';
			}
		 }
		thePage = 'search_menu.php?menu_id='+menu;
		var date = new Date();
		date.setTime(date.getTime()+(1*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
		
		document.cookie = "menu_id="+menu+expires+"; path=/";
		xmlHttp.open('GET', thePage, true);
		xmlHttp.send(null);
	}else{
		//do something if no ajax
	}
}

function openLogin(){
	var obj = document.getElementById( 'passwordForm' );
	if( obj.style.display == 'none' ){
		obj.style.display = 'block';
	}else{
		obj.style.display = 'none';
	}
}

function popEmailer( emailto, toname ){	
	var midL = Math.floor((screen.availWidth/2)-(745/2));
	var midT = Math.floor((screen.availHeight/2)-(520/2));
	var settings = "scrollbars=no,left="+midL+",top="+midT+",screenX="+midL+",screenY="+midT+",width=745,height=520";
	var url = '../../../emailform.php'+'?emailto='+emailto+'&toname='+toname;
	
	var mailform = window.open( url, "EmailForm", settings );
	
	if( mailform ){
		//do nothing
	}else{
		alert('Emailer was blocked.');
	}
}