function changebike(bike){
    $("sc_largebike").src = '/09/images/catalog/large/' + bike;
	$("hugeviewurl").href = '/09/images/catalog/xl/' + bike; 
	$("hugeviewurl2").href = '/09/images/catalog/xl/' + bike; 
}

//VALIDATION
function createaccount(formname,validateid,indicatorid,color1,color2) {
	//VALIDATE REQUIRED
	if(validateform(formname,color1,color2)){	 

	    document.forms[formname].__VIEWSTATE.name = 'NOVIEWSTATE';
	    document.forms[formname].__VIEWSTATE.id= 'NOVIEWSTATE';

		new Ajax.Request('sc_createnewaccount.ashx', {
		method: "post",
		parameters: Form.serialize(document.forms[formname]),
		onComplete: function(transport) {
		        var r = transport.responseText; 
		        if (!r.indexOf("KeepGoing")){
		            document.forms[formname].NOVIEWSTATE.name = '__VIEWSTATE';
		            document.forms[formname].NOVIEWSTATE.id = '__VIEWSTATE';
		            document.getElementById(validateid).style.display = "none";
		            document.forms[formname].submit();
		        } else {
		            document.getElementById(indicatorid).style.display = "none";
		            document.getElementById(validateid).innerHTML = r;
		            document.getElementById(validateid).style.display = "block";
                    formfieldbg(r,"Zip","billing_zip",color1,color2);
                    formfieldbg(r,"Email","billing_email",color1,color2);
                    formfieldbg(r,"Username","newuser",color1,color2);
                    formfieldbg(r,"Passwords","newpassword",color1,color2);
                    formfieldbg(r,"Passwords","newpassword2",color1,color2);	           
		            
		            
		            if (document.getElementById(validateid).style.display == "none"){
		                document.getElementById(validateid).style.display = "block";
		            } else {
		                Effect.Shake(validateid);
		            }
		        }
			}
		}
		);
	} else {
	    document.getElementById(validateid).innerHTML = 'Please fill in Required Fields.';
	    if (document.getElementById(validateid).style.display == "none"){
			Effect.Appear(validateid,'blind');
		} else {
			Effect.Shake(validateid);
		}
	}
}

function formfieldbg(search1,search2,elementid,color1,color2){
     if (search1.indexOf(search2)>-1){
        document.getElementById(elementid).style.background = color1;
     } else {
        document.getElementById(elementid).style.background = color2;
     }        
}

function ShowSwap(_image,_div){
    var x = document.getElementById(_div);
    x.src = _image
}

function showmenu(themenu){
	if (document.getElementById(themenu).style.display == "none"){
		document.getElementById(themenu).style.display = "block"
	} else {
		document.getElementById(themenu).style.display = "none"
	}
}

function loaddiv(divid,ajaxpage,tab,handle){
	//TABS
	var x=document.getElementsByTagName("img");
	for (var i=0;i<x.length;i++){
		if (x[i].id.indexOf(handle)>-1){
			var element = document.getElementById(x[i].id);
			if (element.id == tab){
				element.src = element.src.replace('/off/','/on/')
			} else {
				element.onmouseover = tabover;
				element.onclick = tabclick; 
				element.onmouseout = tabout; 
				element.src = element.src.replace('/on/','/off/')
			}
		}
	}
	
	//AJAX REQUEST
	new Ajax.Request(ajaxpage, {
	method: "get",
	onComplete: function(transport) { 
		document.getElementById(divid).innerHTML = transport.responseText;
		}//-onSuccess
		}//-request arguments
		);// new ajax request	
}

function nav(id) {
    var x=document.getElementsByTagName("div");
    for (var i=0;i<x.length;i++){
		if (x[i].id.indexOf(id)>-1){
		    var element = document.getElementById(x[i].id);
		    var theid = element.id.replace(id,'');
		    //var theid = element.id.replace('_drop','');
		    //var theid = theid + "_drop";
		    //alert(theid);
            var dropdiv = document.getElementById(id + theid);
            dropdiv.onmouseover = function() {
                var navtoswitch = this.id;
                document.getElementById(navtoswitch).style.backgroundColor = "#c7e09f";
            }
            dropdiv.onmouseout = function() {
                //alert('hi1');
                var navtoswitch = this.id;
                document.getElementById(navtoswitch).style.backgroundColor = "#e2e1e1";
            }
        }
    }
    
}

function spidermenus(triggerhandle,menuhandle){
	var x=document.getElementsByTagName("div");
	for (var i=0;i<x.length;i++){
		if (x[i].id.indexOf(triggerhandle)>-1){
			//VARIABLES
			var element = document.getElementById(x[i].id);
			var theid = element.id.replace(triggerhandle,'');
            
			//TRIGGERS
			var thetrigger = document.getElementById(triggerhandle + theid);
			thetrigger.onmouseover = function() {  
			    this.style.position = 'relative';
				var menutoswitch;
				menutoswitch = this.id.replace('trigger','');
				
				document.getElementById(menutoswitch).style.display = "block";
				var navimg = this.id.replace('menutrigger','');
				document.getElementById('nav' + navimg).src = document.getElementById('nav' + navimg).src.replace('/off/','/roll/');
			    };
			thetrigger.onmouseout = function() {
			    this.style.position = 'static';
				var menutoswitch;
				menutoswitch = this.id.replace('trigger','');
				document.getElementById(menutoswitch).style.display = "none";
                var navimg = this.id.replace('menutrigger','');
                
				document.getElementById('nav' + navimg).src = document.getElementById('nav' + navimg).src.replace('/roll/','/off/');
			};
			
			//MENUS
			var themenu = document.getElementById(menuhandle + theid);
			themenu.onmouseover = function() {
				var menutoswitch;
				menutoswitch = this.id;
				document.getElementById(menutoswitch).style.display = "block";
				
			};
			themenu.onmouseout = function() {
				var menutoswitch;
				menutoswitch = this.id;
				document.getElementById(menutoswitch).style.display = "none";
			};
		} 
	}
}

//SLIDE

function SlidesShow(){
    //PROPERTIES
    this.slideTotal = 0;
    this.slideContainer = ''; //ID NAME
    this.slideWrapper = '';//ID NAME
    this.nextButton = ''; //ID OF HREF(SO THAT ELEMENT CAN BE TEXT OR IMAGE)
    this.prevButton = '';
    this.slideIncrement = 5; //SLIDE INCREMENTS
    this.slideWidth = 350; // WIDTH OF EACH DIV OR IMAGE
    this.next = nextSlide;
    this.previous = prevSlide;
    this.nextUrl = '';
    this.prevUrl = '';
  
    //VARIABLES
    var loopI = 0; //KEEPS TRACK OF EACH slideIncrement FROM 0 TO slideWidth, 50, 100, 150, 200
    var goNext = null;
    var goBack = null;
    var me = this;
    
    function setProperties(){
          me.prevUrl = document.getElementById(me.prevButton).style.href;
          me.nextUrl = document.getElementById(me.nextButton).style.href;
    }
    
    //METHODS
    function nextSlide(){  
	    document.getElementById(me.prevButton).style.display = "block";
	    goNext = setInterval(nextSlideDetail,1);
    }
    
    function prevSlide(){
	    goBack = setInterval(prevSlideDetail,1);
    }
    
    function nextSlideDetail(slideEnd,nextUrl){
        document.getElementById(me.nextButton).removeAttribute("href");  
	    var slideStart = parseFloat(document.getElementById(me.slideContainer).style.left);
	    slideEnd = slideStart - me.slideWidth;
	    var endFrame = 0 - ((me.slideTotal-1) * me.slideWidth);
	     
	    var addIncrement;
	    if ((loopI + me.slideIncrement) > me.slideWidth){

	         addIncrement = me.slideWidth -loopI;
	    } else {
	        addIncrement = me.slideIncrement;
	    }

	    loopI += me.slideIncrement;
	    if(slideEnd <= endFrame){
		     document.getElementById(me.nextButton).style.display = "none";
	    }
	    
	    document.getElementById(me.slideContainer).style.left = slideStart - addIncrement + 'px';
	    if(loopI>=me.slideWidth){
	        document.getElementById(me.nextButton).setAttribute('href',me.nextUrl);
		    clearInterval(goNext);
		    loopI = 0;
	    }
    }
    
    function prevSlideDetail(){
        document.getElementById(me.prevButton).removeAttribute("href");
	    var slideStart = parseFloat(document.getElementById(me.slideContainer).style.left);
	    slideEnd = slideStart + me.slideWidth;    
	        
	    var addIncrement;
	    if ((loopI + me.slideIncrement) > me.slideWidth){
	         addIncrement = me.slideWidth -loopI;
	    } else {
	        addIncrement = me.slideIncrement;
	    }
	    loopI += me.slideIncrement;
 
	    document.getElementById(me.slideContainer).style.left = slideStart + addIncrement + 'px';
	    if(loopI>=me.slideWidth){
	        document.getElementById(me.prevButton).setAttribute('href', me.prevUrl);
		    clearInterval(goBack);
		    loopI = 0;
		    if(slideStart == -addIncrement){
		       document.getElementById(me.prevButton).style.display = "none";
		        document.getElementById(me.nextButton).style.display = "block";
		    } else {
                document.getElementById(me.nextButton).style.display = "block";
		    }
	    }
    }
}

//UPDATE CART
function updatecart(formname){
    new Ajax.Request('/sc_addtocart.ashx', {
	method: "post",
	parameters: Form.serialize(document.forms[formname]),
    onSuccess: function(transport) {
        var resp = transport.responseText.split("^");
	    document.getElementById("sc_minicart_subtotalwrapper").innerHTML = '$' + resp[1];
			}//-onSuccess
	    }//-request arguments
    );// new ajax request
}

//ADD TO CART
function addtoshoppingcart(formname,messageid){ 
    var x = document.forms[formname];
	var keepgoing = false;
	for (var i=0;i<x.length;i++){
		if (x.elements[i].name.indexOf('item_qty')>-1) {
		 	var thisformname = x.elements[i].name;
			var thisformvalue = x.elements[i].value;
			if (thisformvalue != ''){
			    keepgoing = true;
		    }
	    }
    }
    
    if (!keepgoing){
        $('quantity').style.display = 'block';
        $('quantity').innerHTML = '<br/>Please fill in a quantity<br/>';
        Effect.Shake('quantity');
        return;
    }
    var Digital=new Date()
    var seconds=Digital.getSeconds()
    var hours=Digital.getHours()
    var minutes=Digital.getMinutes()
    new Ajax.Request('/sc_addtocart.ashx?refresh=' + seconds + hours + minutes, {
    method: "post",
    parameters: Form.serialize(document.forms[formname]),
    onSuccess: function(transport,formname) { 	
            $('quantity').style.display = 'none';
            $(messageid).style.display = 'block';
            $(messageid).innerHTML = 'Added!';
            var t = setTimeout("Effect.Fade('" + messageid + "');",1000);
            var resp = transport.responseText.split("^");
	        $("Header1_sc_cartcount").innerHTML = resp[0];	
	        $("Header1_sc_carttotal").innerHTML = resp[1];	
            refreshcart('refreshcart');    
		    }//-onSuccess
        }//-request arguments
    );// new ajax request
}

//REFRESH CART
function refreshcart(divid){
    var Digital=new Date()
    var seconds=Digital.getSeconds()
    var hours=Digital.getHours()
    var minutes=Digital.getMinutes()
    new Ajax.Request('/09/ajax/loadcart.aspx?refresh=' + new Date().getTime(), {
	    method: "get",
	    onSuccess: function(transport) { 
		    document.getElementById(divid).innerHTML = transport.responseText;
		    }//-onSuccess
		    }//-request arguments
		    );// new ajax request
}

//DELETE FROM CART
function remitem(cartrow,cartitemid){
	Effect.Fade(cartrow);
	
	//AJAX POST
	new Ajax.Request('/sc_deletecartitem.ashx?id=' + cartitemid, {
	method: "get",
	onComplete: function(transport) { 
        var resp = transport.responseText.split("^");
        $("Header1_sc_cartcount").innerHTML = resp[0];	
        $("Header1_sc_carttotal").innerHTML = resp[1];
        $("sc_carttotal").innerHTML = resp[1];		
		}//-onSuccess
		}//-request arguments
		);// new ajax request
}


//VALIDATION
function validEmail(email) {
			var re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
			return re.test(email); 
		}
		
//VALIDATION
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
		
//VALIDATION
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
		
//VALIDATION
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}
		
//VALIDATION
function isFilled(elm) {
	//alert(elm.type);
	//Last Updated by Sol - 6/14/07
	switch(elm.type){
	case "text":
		if (trim(elm.value) == "" || elm.value == null){
		return false;}
		else {return true;}
		break;
	case "password":
		if (trim(elm.value) == "" || elm.value == null){
		return false;}
		else {return true;}
		break;
	case "textarea":
		if (trim(elm.value) == "" || elm.value == null){
		return false;}
		else {return true;}
		break;
	case "select-one":
		var myindex=elm.selectedIndex;
		if (myindex==0){
		return false;}
		else {return true;}
		break;
	}
}

//VALIDATION
function validateform(formname,color1,color2){
	//last updated on 9/27/07
	//index of is mo betta
	var x = document.forms[formname];
	var allgood = true;
	for (var i=0;i<x.length;i++){
		if (x.elements[i].className.indexOf('required')>-1) {
		 	var thisformname = x.elements[i].name;
			var thisformid = x.elements[i].id;
			if (!isFilled(x.elements[i])) {
				document.getElementById(thisformid).style.background = color1;
				allgood = false;
				} else {
				  document.getElementById(thisformid).style.background = color2; 
				}
			}
		}
		if (allgood) {
			return true;
			} else {
			return false;
			}
	}
	
function spiderform(formname,validateid,successid,indicatorid,ajaxpage) {
	//VALIDATE REQUIRED
	if(validateform(formname,'#e1de00','#d2d3d3')){	
	
		//EMAIL IS VALID?
		var email = document.getElementById("email").value;
		if(!validEmail(email)){
			document.getElementById("email").style.background = "#ffff00"; 
			document.getElementById(validateid).innerHTML = 'Invalid Email';
			if (document.getElementById(validateid).style.display == "none"){
					Effect.Appear(validateid,'blind');
					} else {
					Effect.Shake(validateid);
					}
			} else {
			document.getElementById(validateid).style.display = "none";
			document.getElementById(indicatorid).style.display = "block";
			//alert('got here')
			//AJAX POST
			new Ajax.Request(ajaxpage, {
			method: "post",
			parameters: Form.serialize(document.forms[formname]),
			onComplete: function(transport) {		
			document.getElementById(successid).innerHTML = transport.responseText;
			document.getElementById(indicatorid).style.display = "none";
				//alert(transport.responseText);			
				
				}//-onSuccess
			}//-request arguments
			);// new ajax request	
			
			//document.form.formname.submit();	
			}
	}
}

//IMAGE ROLLOVER
function rolloverInit(){
	for (var i=0; i<document.images.length; i++) {
	if (navigator.appName == "Netscape"){
		if (document.images[i].hasAttribute("name")){ 
				if (document.images[i].getAttribute('name').indexOf("rollover")>-1){			
					setupRollover(document.images[i]);
				}
		}
	} else
		if (document.images[i].getAttribute('name').indexOf("rollover")>-1){			
			setupRollover(document.images[i]);
		}
	}
}

//IMAGE ROLLOVER
//Last Update August 1, 2008
function setupRollover(thisImage) {
	thisImage.outImage = new Image();
	thisImage.outImage.src = thisImage.src;
	//alert(thisImage.id);
	thisImage.outImage.id = thisImage.id;
	thisImage.onmouseout = rollOut;
	thisImage.overImage = new Image();
	thisImage.overImage.id = thisImage.id
	thisImage.overImage.src = thisImage.src.replace('/off/','/roll/')
	thisImage.onmouseover = rollOver;
}

//IMAGE ROLLOVER
function rollOver() {
	this.src = this.overImage.src;
}

//IMAGE ROLLOVER
function rollOut() {
	this.src = this.outImage.src;
}

//IMAGE SWAP

//imgout = new Image(9,9);
//imgin = new Image(9,9);
//imgout.src = "/09/images/buttons/rightdown.gif";
//imgin.src = "/09/images/buttons/rightup.gif";

//function filter(imagename,objectsrc){
//	if (document.images){
//		document.images[imagename].src=eval(objectsrc+".src");
// 	}
//}

function shoh(base,id,header) {
    if (document.getElementById(base+id).style.display == "none"){
 	    document.getElementById('edit' + id).src = "/09/images/buttons/rightup.gif";
 	    if (header != ''){
 	    document.getElementById(header).className = "subheader2a"
 	    }
    } else { 
 	    document.getElementById('edit' + id).src = "/09/images/buttons/rightdown.gif";
 	    if (header != ''){
 	    document.getElementById(header).className = "subheader3"
 	    }    
 	    }
}

//EDIT ALL
function expandall(base,header){
	var x=document.getElementsByTagName("div");
	for (var i=0;i<x.length;i++)
  	{
	if (x[i].id.indexOf(base)>-1){	
			    Effect.BlindDown(x[i].id,'blind');
			    var zfilter
			    //zfilter = (x[i].id.replace(base,'edit'),'imgin');
			    //alert(zfilter + [i]);
			    filter(x[i].id.replace(base,'edit'),'imgin');

 	    //for product page right column - needs to be cooler
 	    if (header != ''){
 	    document.getElementById('title4').className = "subheader2a"
 	    document.getElementById('title5').className = "subheader2a"
 	    document.getElementById('title6').className = "subheader2a"
 	    document.getElementById('title7').className = "subheader2a"
 	    }			    
		}
	}
}

//CLOSE ALL
function closeall(){
	var x=document.getElementsByTagName("div");
	for (var i=0;i<x.length;i++)
  	{
	if (x[i].id.indexOf("c")>-1){	
			    Effect.BlindUp(x[i].id,'blind');
			    filter(x[i].id.replace('c','edit'),'imgout');
		}
	}
}

function changecolor(id){
    document.getElementById(id).style.backgroundColor = '#efeff0';
    document.getElementById(id).onmouseout = function(){
        document.getElementById(id).style.backgroundColor = '#F6F5F6';
    }
}

window.onload = masterloader;

function masterloader(){
	rolloverInit();
	spidermenus('menutrigger','menu');
	//nav('sc_header_');
	//nav('drop');
}