function countCharsRemaining(vsrc, vtarget, vlen) {
	if (!vsrc.style) {
		vsrc = document.getElementById(vsrc);
	}
	if (!vtarget.style) {
		vtarget = document.getElementById(vtarget);
	}
	if (!vlen) {
		vlen = vsrc.getAttribute('maxlength');
	}
	var newlen = parseInt(vsrc.value.toString().length);
	vtarget.innerHTML = '('+(vlen-newlen)+' characters remaining)';
}


// function textCounter(field, countfield, maxlimit) {
//   if (field.value.length > maxlimit)
//       {field.value = field.value.substring(0, maxlimit);}
//       else
//       {countfield.value = maxlimit - field.value.length;}
//   }

/** Help msg */
function toCamelCase( sInput ) {
    var oStringList = sInput.split('-');
    if(oStringList.length == 1)   
        return oStringList[0];

    var ret = sInput.indexOf("-") == 0 ?
       oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1) : oStringList[0];

    for(var i = 1, len = oStringList.length; i < len; i++){
        var s = oStringList[i];
        ret += s.charAt(0).toUpperCase() + s.substring(1)
    }

    return ret;
}
function setStyle(objId, style, value) {
	if (!objId.style) {
		objId = document.getElementById(objId);
	}
		
    objId.style[style] = value;
}
function getStyle(el, style) {
   if(!document.getElementById) return;
     var value = el.style[toCamelCase(style)];

    if(!value)
        if(document.defaultView)
            value = document.defaultView.
                 getComputedStyle(el, "").getPropertyValue(style);
        else if(el.currentStyle)
            value = el.currentStyle[toCamelCase(style)];
    return value;
}

function hideHelpLayer(lyr) {
	var lyr = document.getElementById(lyr);
	if (!lyr)
	{
	window.alert(lyr);
		return false;
	}
	setStyle(lyr, 'display', 'none');
// 	document.getElementById(lyr).style.display = "none";
}

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ parseInt(scrOfX), parseInt(scrOfY) ];
}
function getWindowXY() {
  var myWidth = 0, myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    //Non-IE
    myWidth = window.innerWidth;
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    myWidth = document.documentElement.clientWidth;
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
    //IE 4 compatible
    myWidth = document.body.clientWidth;
    myHeight = document.body.clientHeight;
  }
  return [ parseInt(myWidth) , parseInt(myHeight) ];
}
function showHelpLayer(event,lyr) {
	
	var vwin = getWindowXY();
	var vscroll = getScrollXY();
	var vX = vwin[0] + vscroll[0];
	var vY = vwin[1] + vscroll[1];
	
	var lyr = document.getElementById(lyr);
	
	setStyle(lyr, 'visibility', 'hidden');
	lyr.style.display = "block";
	
		lyr.style.left	= (document.all ? event.clientX : event.pageX) + "px";
		lyr.style.top	= (document.all ? event.clientY : event.pageY) + "px";
	
	if( typeof( window.innerWidth ) != 'number' ) {
		setStyle(lyr, 'top', (parseInt(lyr.style.top)+vscroll[1])+"px");
		setStyle(lyr, 'left', (parseInt(lyr.style.left)+vscroll[0])+"px");
	}
	
	if ((parseInt(getStyle(lyr, 'width')) + parseInt(lyr.style.left)) >= vX) {
		lyr.style.left = (parseInt(lyr.style.left) - parseInt(getStyle(lyr, 'width')) - 20) + "px";
	}
	
// 	window.alert(parseInt(lyr.offsetHeight) +'::'+ parseInt(lyr.style.top) +'>='+ vY);
	if ((parseInt(lyr.offsetHeight) + parseInt(lyr.style.top)) >= vY) {
		lyr.style.top = (parseInt(lyr.style.top) - parseInt(lyr.offsetHeight) - 10) + "px";
	}
	
// 	window.alert(vscroll);
	
	setStyle(lyr, 'visibility', 'visible');
// 	window.alert((parseInt(getStyle(lyr, 'height')) +'::'+ parseInt(lyr.style.top)));
}

// JavaScript Document

function centerLayer(layerID, optWidth)
{
	obj = document.getElementById(layerID);
	obj.style.left = (screen.width - optWidth) / 2 + "px";
}

function switchLayers(layerName, layerID, multiDimensional, displayType) {
	if (!displayType) var displayType = "block";
	if (!multiDimensional) {
		for (var i=0; document.getElementById(layerName + i); i++) {
			if (i == layerID)	document.getElementById(layerName + i).style.display = displayType;
			else				document.getElementById(layerName + i).style.display = "none";
		}
	}
	else {
		for (var i=0; document.getElementById(layerName + i + "_0"); i++) {
			for (var j=0; document.getElementById(layerName + i + "_" + j); j++) {
				if (i == layerID)	document.getElementById(layerName + i + "_" + j).style.display = displayType;
				else				document.getElementById(layerName + i + "_" + j).style.display = "none";
			}
		}
	}
}

function toggleLayer(layerName) {
	if (document.getElementById(layerName).style.display == "none")
		document.getElementById(layerName).style.display = "block";
	else
		document.getElementById(layerName).style.display = "none";
}

function ValidateDesign()
{
	var name = document.design.name;
	var email = document.design.email;
	var email2 = document.design.email2;
	var contact = document.design.contact;
	var webpagesneeded = document.design.webpagesneeded;
	var timeframe = document.design.timeframe;	
	var referral = document.design.referral;
	var budget = document.design.budget;
	var updates = document.design.Yearly_Updates;
	myString = new String("choose")	
	

	if (name.value == "")
    {
       window.alert("Please enter your name.");
       name.focus();
       return false;
    } 
	if (email.value == "")
    {
       window.alert("Please enter your email address.");
       email.focus();
       return false;
    } 
	if (email.value != email2.value)
    {
       window.alert("Your email addresses must match.");
       email2.focus();
       return false;
    } 
	if (contact.value == myString)
    {
       window.alert("Please enter contact preference.");
       contact.focus();
       return false;
    }
    if (webpagesneeded.value == "")
	{
       window.alert("Please enter number of web pages needed.");
       webpagesneeded.focus();
       return false;
    }  

	if (timeframe.value == "")
    {
       window.alert("Please enter a project time frame.");
       timeframe.focus();
       return false;
    } 
	
	if (referral.value == "")
    {
       window.alert("Please enter a referral.");
       referral.focus();
       return false;
    } 
	
	if (budget.value == myString)
    {
       window.alert("Please enter your budget.");
       budget.focus();
       return false;
    }	
	
	if (updates.value == myString)
    {
       window.alert("Please choose an answer.");
       updates.focus();
       return false;
    }	
}

function ValidateDesign2()
{
	var name = document.design.name;
	var email = document.design.email;
	var message = document.design.message;

	myString = new String(" Name")
	myString2 = new String(" Email")
	myString4 = new String(" Message")	
    
	if (name.value == myString)
    {
       window.alert("Please enter your Name");
       name.focus();
       return false;
    } 

	if (email.value == myString2)
    {
       window.alert("Please enter your Email Address");
       name.focus();
       return false;
    } 

	if (message.value == myString4)
    {
       window.alert("Please enter a Message");
       name.focus();
       return false;
    } 	
	
}

function validateme() 
 { 
 //validate identity
 if (document.indexform.name.value == " Name: ") 
  {
  alert("You need to type in your full name.");
  document.indexform.name.focus();
  return false;
  }
 if (document.indexform.phone.value == " Phone: ") 
  {
  alert("You need to type in your phone number.");
  document.indexform.phone.focus();
  return false;
  }  
 if (document.indexform.email.value == " Email: ") 
  {
  alert("You need to type in your e-mail address.");
  document.indexform.email.focus();
  return false;
  }    
 if (document.indexform.email.value.indexOf("@") == -1 || document.contact.email.value.indexOf(".") == -1 || document.contact.email.value == "") 
  {
  alert("Sorry, you have entered an invalid e-mail address.");
  document.indexform.email.focus();
  return false;
  }  
return (true);
}


function dynAnimation() {}
function clickSwapImg() {}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->



function popUp(URL) 
{
   day = new Date();
   id = day.getTime();
   eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=1,scrollbars=1,location=1,statusbar=1,menubar=1,resizable=1,width=1024,height=780,left = 140,top = 60');");
}


function popUp2(strURL,strType,strHeight,strWidth) {
var strOptions="";
if (strType=="console") strOptions="resizable,height="+strHeight+",width="+strWidth;
if (strType=="fixed") strOptions="status,height="+strHeight+",width="+strWidth;
if (strType=="elastic") strOptions="toolbar,menubar,scrollbars,resizable,location,height="+strHeight+",width="+strWidth;
window.open(strURL, 'newWin', strOptions);
}



