/* --------------------------------------------------------------------------------------------*/
/* ------------------------------->>> AUTOCLAVE FRAMEWORK V 1.1 <<<----------------------------*/
/* ------------------Requires Prototype Framework 1.7 and Scriptaculous Library(s)-------------*/
/* --------------------------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------------------------*/
/* --------------------------->>> Developed by: Gary Evans <<<---------------------------------*/
/* -------------------------@@(Copyright 2007, Whole Wheat Creative)@@-------------------------*/
/* --------------------------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------------------------*/
/* --------------------------------------------------------------------------------------------*/


/* -----------------------------------*/
/* -------->>> PROTOTYPES <<<---------*/
/* -----------------------------------*/
Array.prototype.find = function(searchStr) {
  var returnArray = false;
  for (i=0; i<this.length; i++) {
    if (typeof(searchStr) == 'function') {
      if (searchStr.test(this[i])) {
        if (!returnArray) { returnArray = [] }
        returnArray.push(i);
      }
    } else {
      if (this[i]===searchStr) {
        if (!returnArray) { returnArray = [] }
        returnArray.push(i);
      }
    }
  }
  return returnArray;
}

var AUTOCLAVEFRAMEWORK = {};

/* -----------------------------------*/
/* ----------->>> LOAD <<<------------*/
/* -----------------------------------*/
AUTOCLAVEFRAMEWORK.baseLoad = {
	
setActiveLinks: function(){
  sURL = new String;
  bits = new Object;
  var x = 0;
  var stop = 0;
  sURL = location.href;
  sURL = sURL.slice(8,sURL.length);
  chunkStart = sURL.indexOf("/");
  sURL = sURL.slice(chunkStart+1,sURL.length)
  while(!stop){
    chunkStart = sURL.indexOf("/");
    if (chunkStart != -1){
      bits[x] = sURL.slice(0,chunkStart)
      sURL = sURL.slice(chunkStart+1,sURL.length);
    }else{		
      stop = 1;
	 }
    x++;
  }
			for(var i in bits){
						if(document.getElementById(bits[i])){ 
							document.getElementById(bits[i]).className = 'active';
						}
			}
		
		if(document.getElementById(bits[0])){
				document.getElementById(bits[0]).className = 'active'
   		};
	}
};


/* -----------------------------------*/
/* ----------->>> EVENTS <<<----------*/
/* -----------------------------------*/

AUTOCLAVEFRAMEWORK.events = {

	  attachColorSortEvent: function(){
		     var colorChips = document.getElementsByClassName('color-chip');
			 if(colorChips){
     		 colorChips.each(function(cbk) {
         		Event.observe(cbk, 'click', AUTOCLAVEFRAMEWORK.listeners.colorChipHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: cbk.id, title: cbk.title}
         )); }
      );
		}
	}
,  attachTrimSortEvent: function(){
		     var trimListOpt = document.getElementsByClassName('trimList');
			 if(trimListOpt){
     		 trimListOpt.each(function(cbk1) {
         		Event.observe(cbk1, 'click', AUTOCLAVEFRAMEWORK.listeners.trimListHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: cbk1.id, title: cbk1.title}
         )); }
      );
		}	
}

,  attachTransSortEvent: function(){
		     var transListOpt = document.getElementsByClassName('transList');
			 if(transListOpt){
     		 transListOpt.each(function(cbk1) {
         		Event.observe(cbk1, 'click', AUTOCLAVEFRAMEWORK.listeners.transListHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: cbk1.id, title: cbk1.title}
         )); }
      );
		}	
}

,  attachTypeSortEvent: function(){
		     var typeListOpt = document.getElementsByClassName('typeList');
			 if(typeListOpt){
     		 typeListOpt.each(function(cbk2) {
         		Event.observe(cbk2, 'click', AUTOCLAVEFRAMEWORK.listeners.typeListHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: cbk2.id, title: cbk2.title}
         )); }
      );
		}	
}
, attachToolTip: function(){
		     var ttListOpt = document.getElementsByClassName('carItem');
			 if(ttListOpt){
    		 ttListOpt.each(function(cbk3) {
         		Event.observe(cbk3, 'mouseover', AUTOCLAVEFRAMEWORK.listeners.ttListHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: cbk3.id, title: cbk3.title, rel:cbk3.attributes.rel.value}
         )); }
      );
		}	
}

, attachToolTipClose: function(){
		     var ttListOpt = document.getElementsByClassName('carItem');
			 if(ttListOpt){
     		 ttListOpt.each(function(cbk4) {
         			Event.observe(cbk4, 'mouseout', AUTOCLAVEFRAMEWORK.listeners.ttcListHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: cbk4.id, title: cbk4.title})); 
					cbk4.title = '';}
     					 );
		}	
}

, attachSaveEvent: function(){
		     var sims = document.getElementsByClassName('sims');
			 if(sims){
     		 sims.each(function(sim) {
         		Event.observe(sim, 'click', AUTOCLAVEFRAMEWORK.listeners.simsHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: sim.id, title: sim.title, rel:sim.attributes.rel.value}
         )); }
      );
		}	
}
, attachSaveLoadEvent: function(){
		     var sims = document.getElementsByClassName('sims');
			 if(sims){
     		 sims.each(function(sim) {
         		Event.observe(sim, 'load', AUTOCLAVEFRAMEWORK.listeners.simsLoadHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: sim.id, title: sim.title, rel:sim.attributes.rel.value}
         )); }
      );
		}	
}
,  attachPaymentEvent: function(){
		     var rdoList = document.getElementsByClassName('paymentGroup');
			 if(rdoList){
     		 rdoList.each(function(rdo) {
         		Event.observe(rdo, 'click', AUTOCLAVEFRAMEWORK.listeners.paymentHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id: rdo.id, title: rdo.title}
         )); }
      );
		}	
}
 , attachValidateEvent : function() {
	 
      var validInputs = document.getElementsByClassName('valField');
      validInputs.each(function(vid) {
         Event.observe(vid, 'blur', AUTOCLAVEFRAMEWORK.listeners.valHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {
            id : vid.id}
         )); }
      );
   }
, fromSubmitEvent: function(){
		     var formBtn = document.getElementById('processForm');
			 if(formBtn){		 
				 Event.observe(formBtn, 'click', AUTOCLAVEFRAMEWORK.listeners.formHandler.bindAsEventListener(AUTOCLAVEFRAMEWORK.listeners, {id : formBtn.id}));
			}	
	}
};

/* -----------------------------------*/
/* --------->>> LISTENERS <<<---------*/
/* -----------------------------------*/

AUTOCLAVEFRAMEWORK.listeners = {
	
	currentRdo:Number,	
	formValid:null,
	
	colorChipHandler: function(e, args){
			//e = Event.element(e);
			id = args.id;
			color = args.title			
			AUTOCLAVEFRAMEWORK.ajax.filterByColor(id, color);
			Event.stop(e);
	}
	
	, trimListHandler: function(e, args){
			//e = Event.element(e);
			var id = args.id;
			var color = args.title			
			AUTOCLAVEFRAMEWORK.ajax.filterByTrim();
		}
		
	, paymentHandler: function(e, args){
			var id = args.id;
			var color = args.title			
			AUTOCLAVEFRAMEWORK.utils.setPayment(id);
	}
	
	, cBoxHandler: function(e, args){
		var carBox = $(args.id+'_CB')

		if(carBox){
			if(args.dir == 'over'){
					carBox.className = 'car-box no-ghost';
				}else{
					carBox.className = 'car-box mid-ghost';	
				}
			}
		}
	
	, transListHandler: function(e, args){
			//e = Event.element(e);
			var id = args.id;
			var color = args.title			
			AUTOCLAVEFRAMEWORK.ajax.filterByTrans();
		}
	
	, typeListHandler: function(e, args){
		AUTOCLAVEFRAMEWORK.utils.filterByType();
	}
   , ttListHandler: function(e, args){
			//e = Event.element(e);
			var id = args.id;
			var title = args.title;
			var show = args.rel;	
			if($('showQv').checked){
				AUTOCLAVEFRAMEWORK.utils.showTip(id, title , show);
			}
	}
	, ttcListHandler: function(e, args){
		//e = Event.element(e);
		AUTOCLAVEFRAMEWORK.utils.closeToolTip();		
	}
	 //handels validation
   , valHandler : function(e, args) {
      e = Event.element(e);
	  var id = e.id;	  
      var valType = e.getAttribute('rel');
      AUTOCLAVEFRAMEWORK.utils.highlightField(id, valType);
      }
	
	
	
	, formHandler: function(e, args){

	  Event.stop(e);
	  
	  var validInputs = document.getElementsByClassName('valField');
      validInputs.each(function(vid){
		 var valType = vid.getAttribute('rel');
		
		 AUTOCLAVEFRAMEWORK.utils.isValid = true;
		 if(AUTOCLAVEFRAMEWORK.utils.validateField(vid.id, valType)==true){
		 }else{			 	
			 AUTOCLAVEFRAMEWORK.utils.isValid = false;
			  var field = document.getElementById(vid.id);
			  var lable = document.getElementById(vid.id + '_lbl');
			  lable.style.color = '#ff0000';
			  lable.style.display = 'block';
		 	  field.style.background ='#fb5553';
			  field.style.color = '#fff';
			  
		 }
		 });
		
	
		var statusLine = document.getElementById('statusLine');
		
		if(AUTOCLAVEFRAMEWORK.utils.isValid == true){
		 if($('dgNorth').checked || $('dgSouth').checked){
			AUTOCLAVEFRAMEWORK.ajax.processForm();		
		 }else{
			 statusLine.style.color = '#ff0000';
			statusLine.style.fontWeight = 'bold';
			statusLine.style.display = 'block';
			statusLine.style.lineHeight = '10px';
			statusLine.style.padding = '10px 30px 10px 30px';
			statusLine.style.background = 'url(/images/error-icon.gif) no-repeat';
			statusLine.innerHTML = 'Oops, you forgot to select a Baker-Jackson location above.';
		 }
		}else{
			statusLine.style.color = '#ff0000';
			statusLine.style.fontWeight = 'bold';
			statusLine.style.display = 'block';
			statusLine.style.lineHeight = '10px';
			statusLine.style.padding = '10px 30px 10px 30px';
			statusLine.style.background = 'url(/images/error-icon.gif) no-repeat';
			statusLine.innerHTML = 'Oops, please enter or correct the information in the red.';
		}
	
	}
	
	, simsHandler: function(e, args){
		//e = Event.element(e);
		AUTOCLAVEFRAMEWORK.utils.saveInMySelections(args);		
		Event.stop(e);
	}
	, simsLoadHandler: function(e, args){
		AUTOCLAVEFRAMEWORK.utils.saveLoad(args);		
	}
};


/* -----------------------------------*/
/* ------------>>> AJAX <<<-----------*/
/* -----------------------------------*/
AUTOCLAVEFRAMEWORK.ajax = {
	trimList:null
  , transList:null
  , ajaxLoader:'<div style="width:100%; height:100%; z-index:1002; top:0; left:0; text-align:center;"><img src="/images/loading/loadBar.gif" alt="loading..."  /></div>'	
  , filterByColor:function(id, color){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	var date = new Date();
    var d = date.getSeconds();
	var url = '/autoclave/app/?COLOR='+id+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {
				
				var response = t.responseText;
				
				AUTOCLAVEFRAMEWORK.utils.updateList(response, id, color);	
				
			},	
			onFailure: function(t){
				this.statusBar.innerHTML = 'There has been a network error.';
				this.statusBar.style.color = '#ff0000';
			}
		});
		//loading animation
		carList.className = "cars-rows ghost";
		statusBar.style.display = 'block';
		
	}
	
	, filterByTrim:function(){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	var trimListOpt = document.getElementsByClassName('trimList');
	AUTOCLAVEFRAMEWORK.ajax.trimList = '';
	var date = new Date();
    var d = date.getSeconds();
	trimListOpt.each(function(cbk){
			if(cbk.checked){
			AUTOCLAVEFRAMEWORK.ajax.trimList += cbk.title + ','
			}});	
		if(AUTOCLAVEFRAMEWORK.ajax.trimList == ''){			
				AUTOCLAVEFRAMEWORK.ajax.trimList = 'none'
			}
	
	var url = '/autoclave/app/?TRIM='+AUTOCLAVEFRAMEWORK.ajax.trimList+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {
				
				var response = t.responseText;
				
				AUTOCLAVEFRAMEWORK.utils.updateList(response);	
				
			},	
			onFailure: function(t){
				this.statusBar.innerHTML = 'There has been a network error.';
				this.statusBar.style.color = '#ff0000';
			}
		});
		//loading animation
		carList.className = "cars-rows ghost";
		statusBar.style.display = 'block';
		
	}
	
	
	, filterByTrans:function(){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	var transListOpt = document.getElementsByClassName('transList');
	AUTOCLAVEFRAMEWORK.ajax.transList = '';
	var date = new Date();
    var d = date.getSeconds();
	transListOpt.each(function(cbk){
			if(cbk.checked){
				AUTOCLAVEFRAMEWORK.ajax.transList += cbk.title + ','
			}});	
			if(AUTOCLAVEFRAMEWORK.ajax.transList == ''){			
				AUTOCLAVEFRAMEWORK.ajax.transList = 'none'
			}
			
		var url = '/autoclave/app/?TRANS='+AUTOCLAVEFRAMEWORK.ajax.transList+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {				
				var response = t.responseText;
					AUTOCLAVEFRAMEWORK.utils.updateList(response);	
								
			},	
			onFailure: function(t){
				this.statusBar.innerHTML = 'There has been a network error.';
				this.statusBar.style.color = '#ff0000';
			}
		});
		//loading animation
		carList.className = "cars-rows ghost";
		statusBar.style.display = 'block';
		
	}
	
	
	, setColorsByModel:function(model){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	var ecolors = document.getElementById('ecolors');
	if(ecolors){
	var date = new Date();
    var d = date.getSeconds();
	var url = '/autoclave/app/colors/?MODEL='+model+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {
				
				var response = t.responseText;				
				ecolors.innerHTML = response;	
				AUTOCLAVEFRAMEWORK.events.attachColorSortEvent();
			},	
			onFailure: function(t){
				this.statusBar.innerHTML = 'There has been a network error.';
				this.statusBar.style.color = '#ff0000';
			}
		});
		//loading animation

		
		}
	}
	
	, setTrimByModel:function(model){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	var trim = document.getElementById('trim');
	if(trim){
	var date = new Date();
    var d = date.getSeconds();
	var url = '/autoclave/app/trim/?MODEL='+model+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {
				
				var response = t.responseText;				
				trim.innerHTML = response;	
				AUTOCLAVEFRAMEWORK.events.attachTrimSortEvent();

			},	
			onFailure: function(t){
				this.statusBar.innerHTML = 'There has been a network error.';
				this.statusBar.style.color = '#ff0000';

			}
		});
		//loading animation

		
		}
	}
	, setTransByModel:function(model){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	var trans = document.getElementById('transBox');
	if(trans){
	var date = new Date();
    var d = date.getSeconds();
	var url = '/autoclave/app/trans/?MODEL='+model+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {
				
				var response = t.responseText;				
				trans.innerHTML = response;	
				AUTOCLAVEFRAMEWORK.events.attachTransSortEvent();

			},	
			onFailure: function(t){
					this.statusBar.innerHTML = 'There has been a network error.';
				this.statusBar.style.color = '#ff0000';
			}
		});
		//loading animation
		}
	}
	, setListByModel:function(model){
	var carList = document.getElementById('car-rows');
	var statusBar = document.getElementById('statusBar');
	if(carList){
	var date = new Date();
    var d = date.getSeconds();
	var url = '/autoclave/app/?MODEL='+model+'&nocache=' + d;
		new Ajax.Request(url, {
			method: 'get',	
			onSuccess: function(t) {
				
				var response = t.responseText;				
				carList.innerHTML = response;	
				carList.className = "cars-rows";
				statusBar.style.display = 'none';
				AUTOCLAVEFRAMEWORK.events.attachToolTip();
				AUTOCLAVEFRAMEWORK.events.attachToolTipClose();
			},
			
			onFailure: function(t){
				statusBar.innerHTML = 'There has been a network error.';
				statusBar.style.color = '#ff0000';
			}
		});
		//loading animation
		carList.className = "cars-rows ghost";
		statusBar.style.display = 'block';
		
		}
	}
, processForm:function(type){	
	var statusBtn = $('processForm');
	var stausLine = document.getElementById('stausLine');
	var url = '/autoclave/app/process/';
			new Ajax.Request(url, {
			parameters: $('requestAQuoteForm').serialize(true),
			method: 'post',	
			onSuccess: function(t) {		
				var response = t.responseText;				
				var responseHolder = document.getElementById('RequestQuote');
				responseHolder.innerHTML = response;
			},	
			onFailure: function(t){
				var stausLine = document.getElementById('stausLine');
				stausLine.innerHTML = 'There has been a network error.';
				stausLine.style.color = '#ff0000';
			}
		});			
		statusBtn.src = '/autoclave/images/loading/redbar.gif';
		//loading animation
	}
	
	
};



/* -----------------------------------*/
/* ----------->>> UTILS <<<-----------*/
/* -----------------------------------*/

AUTOCLAVEFRAMEWORK.utils = {

		userinfoform:null
		, wwcToolTip:null
		, oldEl: null
		, isValid: false
		, updateList: function(response, id, color){	
			var statusBar = document.getElementById('statusBar');
			var carList = document.getElementById('car-rows');
			
			if(color){
				var colorSelected = document.getElementById('color-selected');
				var colorLI = document.getElementById((id + "_LI"));
			
				colorSelected.innerHTML = color;
				var colorChips = document.getElementsByClassName('ccactive');
			 
				 if(colorChips){
				 		colorChips.each(function(cci){cci.className = '';})					 
				 }			 
						colorLI.className = 'ccactive';
			}
			
			carList.innerHTML = response;
			carList.className = 'cars-rows';
			statusBar.style.display = 'none';
			AUTOCLAVEFRAMEWORK.utils.initPayment();
		 	AUTOCLAVEFRAMEWORK.events.attachToolTip();
			AUTOCLAVEFRAMEWORK.events.attachToolTipClose();
			
			
		}
		
		, restColorChips: function(id){			
			var colorChips = document.getElementsByClassName('chipli');
			 
			 if(colorChips){
     		 colorChips.each(function(cci){cci.className = 'chipli2';})			 
			 }				
		}
		
		

 , showTip: function(id, title, show){
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip = $('toolTip');
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.top = "200px";
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.left = "147px";
	var anchorTag = $(id);
	//kill the tooltip on mouse out
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.display = "none";
	
	var tempX = AUTOCLAVEFRAMEWORK.utils.findPosX(anchorTag);
	var tempY = AUTOCLAVEFRAMEWORK.utils.findPosY(anchorTag);
	
	var newY = parseFloat(tempY);
	var newX = parseFloat(tempX);

	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.top = (newY - 121) + "px";
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.left = (newX +50) + "px";
	AUTOCLAVEFRAMEWORK.utils.oldEl = this;
	
	$('ttBodyContainer').innerHTML = '<div id="ttCopy"><h6>'+title+'</h6>'+'<p>'+show+'</p></div>'; 
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.display = 'block';
}


, closeToolTip: function(){
	AUTOCLAVEFRAMEWORK.utils.wwcToolTip.style.display = "none";
}

, filterByType: function(id){
	var showTypeCars = document.getElementById('showTypeCars');
	var showTypeSUVs = document.getElementById('showTypeSUVs');
	var showTypeTrucks = document.getElementById('showTypeTrucks');
	var carsBoxes = document.getElementsByClassName('car');
	var SUVsBoxes = document.getElementsByClassName('suv');
	var trucksBoxes = document.getElementsByClassName('truck');
	
	if(showTypeCars.checked){
		carsBoxes.each(function(cci1){cci1.style.display = 'block';});
	}else{
		carsBoxes.each(function(cci1){cci1.style.display = 'none';});
	}
	
	if(showTypeSUVs.checked){
		SUVsBoxes.each(function(cci2){cci2.style.display = 'block';});
	}else{
		SUVsBoxes.each(function(cci2){cci2.style.display = 'none';});
	}
		
	if(showTypeTrucks.checked){
		trucksBoxes.each(function(cci3){cci3.style.display = 'block';});
	}else{
		trucksBoxes.each(function(cci3){cci3.style.display = 'none';});
	}
}

, findPosX: function(obj){
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

	 , findPosY: function(obj){
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}
			
		
		, getQueryVariable: function(variable) {
			var query = window.location.search.substring(1);
			var vars = query.split("&");
			var pair;
			
			//append qs to bypass link
			
			
			for (var i=0;i<vars.length;i++) {
				pair = vars[i].split("=");
				if (pair[0] == variable) {
					return pair[1];	
				}
			} 
			return;
		}
	
, saveInMySelections: function(args){
	var sims = args.rel;
	var simsBtn = $(args.id)
	var oldSims = AUTOCLAVEFRAMEWORK.utils.readCookie('BJSIMS');
	if(oldSims){
		
	   sims += (', ' + oldSims);
	   AUTOCLAVEFRAMEWORK.utils.eraseCookie('BJSIMS');
	   AUTOCLAVEFRAMEWORK.utils.createCookie("BJSIMS",sims,90);
	}else{
		AUTOCLAVEFRAMEWORK.utils.createCookie("BJSIMS",sims,90);
		new Effect.Appear('mySelections', { duration: 1.5});
		
	}	
		simsBtn.innerHTML = '<span style="color:#0ba02e;">&raquo; saved</span>';
}

, saveLoad: function(args){
	var sims = args.rel;
	var simsBtn = $(args.id)
	var oldSims = AUTOCLAVEFRAMEWORK.utils.readCookie('BJSIMS');
	if(oldSims){
	   simsArray:Array = new Array();
	   simsArray = oldSims.split(',');
	   if(simsArray.find(sims)){
	    simsBtn.innerHTML = '<span style="color:#0ba02e;">&raquo; saved</span>';
		}  
	}	
		
}
, showSims: function(){
	var sims = AUTOCLAVEFRAMEWORK.utils.readCookie('BJSIMS');
	if(sims){
		if($('mySelections')){
		$('mySelections').style.display = 'block';	
		}
	}	
		
}
		
, createCookie: function(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=/";
}

, readCookie: function(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;
}

,  eraseCookie: function(name) {
	AUTOCLAVEFRAMEWORK.utils.createCookie(name,"",-1);
}

, highlightField: function(id, valType){ 
		var field = document.getElementById(id);
		var lable = document.getElementById(id + '_lbl');
		
		 if(AUTOCLAVEFRAMEWORK.utils.validateField(id, valType)){
			  lable.style.display = 'block';
			  lable.style.color = '#000';			
			  field.style.background ='#fff';
		 	  field.style.color='#000'; 
		 	  }else{ 
			    lable.style.color = '#ff0000';
			    lable.style.display = 'block';
		 	  	field.style.background ='#fb5553';
				field.style.color = '#fff';
		 	  } 
	}

, validateField: function(id, valType){ 
		var field = document.getElementById(id); 
		var str;
		str = field.value; 
		var type; 
		var regExp = new RegExp;
		
		
		switch(valType){ 
			case 'number':
				 regExp = /^[-+]?[0-9]+(\.[0-9]+)?$/;
				  break; 
			case 'currency':
				 regExp = /^\$?[1-9][0-9]{0,2}(,[0-9]{3})*(\.[0-9]{2})?$/;
				  break;
			case 'zip': regExp = /^[-+]?[0-9]+(\.[0-9]+)?$/; 
				break; 
			case 'email':
				regExp = /\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
				break; 
			case 'phone':
				regExp = /((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}/;
				break; 
			case 'ssn':				
				regExp = /\d{3}-\d{2}-\d{4}/;
			case 'required': 
				val = true; 
				break;
			default: 
				val = true;
		 }
		 if(!str){ 
		 	return false;
		  }else{ 
		  	if(str.match(regExp)){
		  		return true;
		  	}else{
		  		return false;
		  	}
		  	 }
		}
	, setPayment: function(id){
			 var paymentBox = document.getElementsByClassName('payment');
			 if(paymentBox){
     			 paymentBox.each(function(box) {
					if(id =='viewByPayment'){
						box.style.display = 'block';	
					}else{
						box.style.display = 'none';	
					}
      			}
    	  	);
		}	
		
		var priceBox = document.getElementsByClassName('price');
			 if(priceBox){
     			 priceBox.each(function(box) {
					if(id =='viewByPayment'){
						box.style.display = 'none';	
					}else{
						box.style.display = 'block';	
					}
      			}
    	  	);
		}	
	}
	, enlargeBox: function(e, args){		
		
	}
	, initPayment: function(){
			 var paymentBox = document.getElementsByClassName('payment');
			 if(paymentBox){
     			 paymentBox.each(function(box) {
					if($('viewByPayment').checked){
						box.style.display = 'block';	
					}else{
						box.style.display = 'none';	
					}
      			}
    	  	);
		}	
		
		var priceBox = document.getElementsByClassName('price');
			 if(priceBox){
     			 priceBox.each(function(box) {
					if($('viewByPayment').checked){
						box.style.display = 'none';	
					}else{
						box.style.display = 'block';	
					}
      			}
    	  	);
		}	
	}
	, calculateMortgage: function(P){ 
		
		var mi = 7.5 / 1200; 
		var base = 1; 
		var mbase = 1 + mi; 
		var pi;
		for (i=0; i<30 * 12; i++) { 
			base = base * mbase 
			}
			 pi = this.findFloor(P * mi / ( 1 - (1/base)))
			  return pi;
		 }
		 
	 , resize_iframe: function(){
		 
	 var poframe = document.getElementById("poframe");
	 var height;
	if(poframe){
			height=window.innerWidth;//Firefox
		if (document.body.clientHeight){
			height=document.body.clientHeight;//IE
		}
		//resize the iframe according to the size of the
		//window (all these should be on the same line)
		
			poframe.style.height=(parseInt(height-poframe.offsetTop-57)+"px");
		}

	}

};	




Event.onDOMReady(function() {
	AUTOCLAVEFRAMEWORK.baseLoad.setActiveLinks();
	AUTOCLAVEFRAMEWORK.events.attachSaveLoadEvent();
	AUTOCLAVEFRAMEWORK.ajax.setListByModel(AUTOCLAVEFRAMEWORK.utils.getQueryVariable('MODEL'));
	AUTOCLAVEFRAMEWORK.events.attachColorSortEvent();
	AUTOCLAVEFRAMEWORK.events.attachTrimSortEvent();
	AUTOCLAVEFRAMEWORK.events.attachTransSortEvent();
	AUTOCLAVEFRAMEWORK.events.attachTypeSortEvent();	
	AUTOCLAVEFRAMEWORK.events.attachToolTip();
	AUTOCLAVEFRAMEWORK.events.attachToolTipClose();
	AUTOCLAVEFRAMEWORK.events.attachSaveLoadEvent();
	AUTOCLAVEFRAMEWORK.events.attachSaveEvent();
	AUTOCLAVEFRAMEWORK.events.attachValidateEvent();
	AUTOCLAVEFRAMEWORK.events.fromSubmitEvent();
	AUTOCLAVEFRAMEWORK.events.attachPaymentEvent();
	//AUTOCLAVEFRAMEWORK.events.fromSelfSubmitEvent();
	AUTOCLAVEFRAMEWORK.utils.showSims();

	
});

