
admin = {

	allEle: '',
	retEle: '',
	imgEle: '',
	imginput: '',
	browserId: '',
	eleParent: '',
	tooltip: '',
	compArr: [],
	callback: '',
	callback2: '',
	e : '',
	
	
	init: function(){
		this.allEle = document.getElementsByTagName("*")
		
		this.findClickable('prod_detail_btn', 'admin.initChange');
		this.findClickable('img_swap', 'admin.swapImg');
		this.findClickable('dealer_search', 'dealer.getLocations');
		this.findClickable('dealer_tabs', 'dealer.switchView');
		this.findClickable('add_button', 'compare.addComparison');
		
	},
	
	
	createElement: function(pEle, nEle, attrib_arr, attval_arr, eleCont){
		var arr_length = attrib_arr.length;
		
		var parentEle = document.getElementById(pEle);
		var newEle = document.createElement(nEle);
		
		for (i = 0; i < arr_length; i++) {
			newEle.setAttribute(attrib_arr[i], attval_arr[i]);
		}
		
		newEle.innerHTML = eleCont;
		
		parentEle.appendChild(newEle);
		
		return newEle;
		
	},
	
	removeElement: function(pEle, remEle){
		var parentEle = document.getElementById(pEle);
		var removeEle = document.getElementById(remEle);
		parentEle.removeChild(removeEle);
	},
	
	initChange: function(ele){
		var pageid = this.getPage() || this.getPageQ();
		var data		= ele;
		var qstring	= "page=" + pageid + "&data=" + data + "&section=product"

		ajax.callAjax("/utils/data_swap.php",qstring, admin.swapData);
		this.highlight(data);
		return true;
	},
	
	swapData : function(retData){

		dataEle = document.getElementById("product_detail");
		dataEle.innerHTML = retData;
		admin.striper('playlist', '#E6E7E5', ''); 
		admin.findRollable('hoverover',admin.showToolTip,admin.hideToolTip);
	},
	
	highlight : function(highEle){
		
		for (var i = 0, node; node = this.allEle[i++];) {
				(function(){
					
					if (admin.regExCheck('prod_detail_btn', admin.allEle[i])) {
						imgsrc = admin.allEle[i].src;
						if(admin.allEle[i].id == highEle && imgsrc.indexOf('_over') == -1){
							var rep = admin.allEle[i].src.replace(/.gif/, '_over.gif');
							admin.allEle[i].setAttribute('src',rep);
						}else if(imgsrc.indexOf('_over') != -1){
							var rep = admin.allEle[i].src.replace(/_over.gif/, '.gif');
							admin.allEle[i].setAttribute('src', rep);
						}
							
					}
						
				})()
		}	
	},
	
	outline : function(swapEle){
		
		for (var i = 0, node; node = this.allEle[i++];) {
				(function(){
					
					if (admin.regExCheck('product_thumb_img', admin.allEle[i])) {
						firstParent = swapEle.parentNode
						if (admin.allEle[i].childNodes[0].childNodes[0].id == swapEle.id) {
							firstParent.parentNode.style.borderColor = "#535F54";
						}else{
							admin.allEle[i].style.borderColor = "#AFB6AF";
						}
						
							
					}
						
				})()
		}
	},
		
	getPage : function(){
		var tempqstring	= location.href;
		var qstring		= tempqstring.replace("?","");
		var params 		= qstring.split("/");
		return params[4];
	},
	
	getPageQ : function(){
		var tempqstring	= location.search;
		var qstring		= tempqstring.replace("?","");
		var params 		= qstring.split("&");
		if (params[0]) {
			var ret =  params[0].replace(/page=/,'');
		}
		return ret;
	},
	
	swapImg : function(ele){
		swapEle  = document.getElementById(ele);
		swapCont = document.getElementById("prod_large_img");
		admin.outline(swapEle);
		
		swap_src = swapEle.src.replace(/size=thumb/,'size=large');
		
		swapCont.setAttribute('src',swap_src);
		firstParent = swapEle.parentNode;
		firstParent.blur();
		return true;		
	},
	
	showToolTip : function(e,ele){
		hoverEle = document.getElementById(ele)
		
		var e = e ? e : window.event;
		
		var celeId = 'tooltip';
		var attrib_arr 	= ['id'];
		var attrib_vals = [celeId];
		var conts = '';
		var eleParent = 'wrapper'
		
		admin.tooltip = admin.createElement(eleParent,'div',attrib_arr,attrib_vals,conts);
		ajax.callAjax('/utils/hoverovers.php','page=' + ele)
		ajax.callback = function(cont){
			admin.tooltip.innerHTML = cont
		}
		
		
		
		var  mousex = e.clientX;
		var  mousey = e.clientY;
	
		var offset_top = document.documentElement.scrollTop || document.body.scrollTop
		
		admin.tooltip.style.top = mousey + offset_top - 70 + "px"
		admin.tooltip.style.left = mousex + hoverEle.scrollLeft + 20 + "px"
		
		
	},
	
	hideToolTip : function(){
		var wrapper = document.getElementById("wrapper").id
		var remEle = admin.tooltip.id
		admin.removeElement(wrapper, remEle);
	},
	
	findClickable : function(findEle,func){
		for (var i=0, node; node = admin.allEle[i++];) {
			(function() {
						
				if(admin.regExCheck(findEle,admin.allEle[i])){
					admin.allEle[i].onclick = function(){
						var eleId = this.id;
						eval(func + '(eleId)')
					}		
				}
				
			})()
				
		}
	},
	
	findRollable : function(findEle,func1,func2){
		
		for (var i=0, node; node = this.allEle[i++];) {
			(function() {
				if(admin.regExCheck(findEle,admin.allEle[i])){
					admin.allEle[i].onmouseover = function(e){
						var eleId = this.id;
						admin.callback(e,eleId)
						
					}
					
					admin.allEle[i].onmouseout= function(){
						admin.callback2()
					}
							
				}
				
			})()
				
		}
		
		this.callback = func1 || function(){}
		this.callback2 = func2 || function(){}
	},
	
	striper : function(tid,color1,color2){
		var table 		= document.getElementById(tid)
		if(table != null){
			var tableRows	= table.getElementsByTagName("TR")
		
		
			for (var i=0, node; node = tableRows[i++];) {
				if(i%2 == 0){
				
					node.style.backgroundColor = color1
					
				}else{
					
					node.style.backgroundColor = color2
				}
			
			}
		}	
	},
	
	regExCheck : function(strMatch,strItem){
		if(strItem){
			var pattern = new RegExp("(^|\\s)"+ strMatch +"(\\s|$)")
			return pattern.test(strItem.className);
		}
		
	},
	
	preloadImages : function(imgs) { 
	    if(document.images){ 
		if (!document.img_arr) {
			document.img_arr = new Array();
			var i
			var img_arr_lng = document.img_arr.length
							
				for (i = 0; i < imgs.length; i++) {
					if (imgs[i].indexOf("#") != 0) {
						document.img_arr[img_arr_lng] = new Image;
						document.img_arr[img_arr_lng++].src = imgs[i];
					}
				}
			}
	  	  }
	},

	dominit : function(){
		admin.striper('playlist', '#efede8', '#fff');		
		admin.init();
		admin.findRollable('hoverover',admin.showToolTip,admin.hideToolTip);
	}
	
}

	var domload = (function(i) {var u =navigator.userAgent;var e=/*@cc_on!@*/false; var st =
	setTimeout;if(/webkit/i.test(u)){st(function(){var dr=document.readyState;
	if(dr=="loaded"||dr=="complete"){i()}else{st(arguments.callee,10);}},10);}
	else if((/mozilla/i.test(u)&&!/(compati)/.test(u)) || (/opera/i.test(u))){
	document.addEventListener("DOMContentLoaded",i,false); } else if(e){     (
	function(){var t=document.createElement('doc:rdy');try{t.doScroll('left');
	i();t=null;}catch(e){st(arguments.callee,0);}})();}else{window.onload=i;}})(admin.dominit);
	
	 
	window.onload = function(){
		var map = document.getElementById("map");
		var comparison = document.getElementById("comp_dropdowns");
		
		if(map){
			dealer.init()
		}
		
		if (comparison) {
			compare.init()
		}
	}
	

	
	
	
	




