String.prototype.toProperCase = function(){
     return this.toLowerCase().replace(/\w+/g,function(s){
          return s.charAt(0).toUpperCase() + s.substr(1);
     })
}

function _trim(str){

	return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');

}


function _popup(url){
	
	window.open(url, "_blank", "toolbar=1,scrollbars=1,location=0,statusbar=0,menubar=1,resizable=1,width=800,height=600");
	return false; // so we can use on links
}


function _preload(){

	if(!document.images)
		return;

	var i;
	var arr;
	var img;

	// nav
	arr = new Array("nav_home_on.gif", "nav_about_us_on.gif", "nav_contact_us_on.gif", "nav_vidoe_on.gif", "nav_shopping_cart_on.gif", "nav_dealer_on.gif");
	for(i = 0; i < arr.length; i++){
		var img = new Image();
		img.src = "images/" + arr[i];
	}

}


function _contact_us(){

	var f = document.contact_us;
	var msg = "";

	if(f.first_name.value.length < 1)
		msg = msg + "First Name is missing\n";
	if(f.last_name.value.length < 1)
		msg = msg + "Last Name is missing\n";
	if(!f.email.value.match(/^([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+$/i))
		msg = msg + "Email is missing or invalid\n";
	if(f.comment.value.length < 1)
		msg = msg + "Comment is missing\n";

	if(msg.length == 0)
		return true;

	alert(msg);
	return false;

}


//cmotion image gallery II dynamicdrive.com mod by jscheuer1

var restarea=200;       // width of the "neutral" area in the center of the gallery in px
var maxspeed=2.5;         // top scroll speed in pixels. Script auto creates a range from 0 to top speed.
var endofgallerymsg=""; // message to show at end of gallery. Enter "" to disable message.

var iedom=document.all||document.getElementById;
var scrollspeed=0;
var movestate="";

var actualheight='';
var cross_scroll;
var loadedyes=0;

function ietruebody(){
	return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function creatediv(){

	statusdiv=document.createElement("div");
	statusdiv.setAttribute("id","statusdiv");
	document.body.appendChild(statusdiv);
	statusdiv=document.getElementById("statusdiv");
	statusdiv.innerHTML=endofgallerymsg;

}

function positiondiv(){

	menuwidth=parseInt(crossmain.offsetWidth);
	mainobjoffsetW=getposOffset(crossmain, "left");
	statusdiv.style.left=mainobjoffsetW+(menuwidth/2)-(statusdiv.offsetWidth/2)+"px";
	statusdiv.style.top=menu_height+mainobjoffset+10+"px";

}

function showhidediv(what){
	
	if (endofgallerymsg!="")
		statusdiv.style.visibility=what;

}

function getposOffset(what, offsettype){
	
	var totaloffset=(offsettype=="left")? what.offsetLeft: what.offsetTop;
	var parentEl=what.offsetParent;
	
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}


function moveup(){
	
	if (loadedyes){
		movestate="up"
	
		if (iedom&&parseInt(cross_scroll.style.top)>(menu_height-actualheight)){
			cross_scroll.style.top=parseInt(cross_scroll.style.top)-scrollspeed+"px";
			showhidediv("hidden");
		}
		else
			showhidediv("visible");
	}

	uptime=setTimeout("moveup()",10);
}

function movedown(){

	if (loadedyes){
		
		movestate="down";

		if (iedom&&parseInt(cross_scroll.style.top)<0){
			cross_scroll.style.top=parseInt(cross_scroll.style.top)+scrollspeed+"px";
			showhidediv("hidden");
		}
		else
			showhidediv("visible");
	}
	downtime=setTimeout("movedown()",10);
}

function motionengine(e){

	var dsocx=(window.pageXOffset)? pageXOffset: ietruebody().scrollLeft;
	var dsocy=(window.pageYOffset)? pageYOffset : ietruebody().scrollTop;
	var curposy=window.event? event.clientY : e.clientY? e.clientY: "";
	curposy-=mainobjoffset-dsocy;

	var leftbound=(menu_height-restarea)/2;
	var rightbound=(menu_height+restarea)/2;

	if (curposy>rightbound){

		scrollspeed=(curposy-rightbound)/((menu_height-restarea)/2) * maxspeed;
	
		if (window.downtime) 
			clearTimeout(downtime);
		
		if (movestate!="up")
			moveup();
	}
	else if (curposy<leftbound){
	
		scrollspeed=(leftbound-curposy)/((menu_height-restarea)/2) * maxspeed;
		
		if (window.uptime) 
			clearTimeout(uptime);
		
		if (movestate!="down") 
			movedown();
	}
	else
		scrollspeed=0;
}


function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
			return true;
	return false;
}

function stopmotion(e){
	
	if ((window.event&&!crossmain.contains(event.toElement)) || (e && e.currentTarget && e.currentTarget!= e.relatedTarget && !contains_ns6(e.currentTarget, e.relatedTarget))){
		
		if (window.downtime) 
			clearTimeout(downtime);
		
		if (window.uptime) 
			clearTimeout(uptime);
		
		movestate="";
	}
}


function fillup(){

	if (iedom){
		
		var arrow_up =document.getElementById? document.getElementById("arrow_up") : document.all.arrow_up;
		var arrow_down =document.getElementById? document.getElementById("arrow_down") : document.all.arrow_down;

		crossmain=document.getElementById? document.getElementById("motioncontainer") : document.all.motioncontainer;
		menu_height=parseInt(crossmain.style.height);
		mainobjoffset=getposOffset(crossmain, "top");
		cross_scroll=document.getElementById? document.getElementById("motiongallery") : document.all.motiongallery;
		actualheight=cross_scroll.offsetHeight;

		//crossmain.onmousemove=function(e){
		//	motionengine(e);
		//}
		
		//crossmain.onmouseout=function(e){
		//	stopmotion(e);
		//	showhidediv("hidden");
		//}

		crossmain.onmouseover=function(e){
			stopmotion(e);
			showhidediv("hidden");
		}

		arrow_up.onmouseover=function(e){
			motionengine(e);
		}

		arrow_up.onmouseout=function(e){
			stopmotion(e);
			showhidediv("hidden");
		}

		arrow_down.onmouseover=function(e){
			motionengine(e);
		}

		arrow_down.onmouseout=function(e){
			stopmotion(e);
			showhidediv("hidden");
		}

	}

	if (window.opera){
		cross_scroll.style.top=menu_height-actualheight+'px';
		setTimeout('cross_scroll.style.top=0', 10);
	}

	loadedyes=1;
	
	if (endofgallerymsg!=""){
		creatediv();
		positiondiv();
	}

}
//end home page scroller
