// Toolbox Studios, Inc.
// Steve Simons
// Copyright 2003,2004,2005,2006

function MM_openBrWindow(theURL,winName,features) {
  var win=window.open(theURL,winName,features);
  if (typeof win != 'undefined') win.focus();
  else win=false;
  return win;
}

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

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_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_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_jumpMenuGo(selName,targ,restore){ //v3.0
  var selObj = MM_findObj(selName); if (selObj) MM_jumpMenu(targ,selObj,restore);
}

function commonOnLoad() {
	window.defaultstatus='Copyright 2006';
	window.status='Copyright 2006'
	if (this.P7_setMM2 != null) {
		P7_setMM2('none',3,3,'none','none');
		P7_trigMM2();
	}

MM_preloadImages(
		'../_images/nav/b_home_f2.jpg',
		'../_images/nav/b_our_organization_f2.jpg',
		'../_images/nav/b_requirements_f2.jpg',
		'../_images/nav/b_press_f2.jpg',
		'../_images/nav/b_winners_f2.jpg',
		'../_images/nav/b_board_f2.jpg',
		'../_images/nav/b_sponsors_f2.jpg',
		
		'../_images/b2_read_more_f2.jpg'
	);

if (this.onPageLoad != null)
	 onPageLoad();
}
window.onload=commonOnLoad;

function quickExpire() {
  var i,x,a=document.MM_sr; 
  for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) 
  	x.src=(typeof document.lastCarline != 'undefined' && x.name=='CarN' + document.lastCarline ? x.src : x.oSrc);
}

var rndPhoto=0;
function quickShow(carline) {
	var obj;
	if ((obj=MM_findObj('CarPhoto')) != null)
		obj.src='../_images/vehicle_photos/' + carline + '0' + (1 + (rndPhoto++%2)) + '.jpg';
	showCarInv(carline);
}

function quickSearch(carlinename) {
		document.location.replace('../search/search.php?searchcarline=' + carlinename + '&Search=1');
}

function showCarInv(carline) {
	var obj;
	if (obj = document.getElementById('searchResults')) {
		var lastval=obj.src.lastIndexOf('=');
		if (lastval<0 || obj.src.substr(lastval+1)!=carline)
			obj.src='../_includes/vehicleinfo.php?carline=' + carline;
	}
}


var vehicleSubNavCtr = 0;
var menus = new Array();
function showVehicleSubNav(menu) {
	var obj;
	var newmenu=true;
	for (var m in menus) {
		if (menus[m]==menu)
			newmenu=false
	}
	if (newmenu)
		menus[menus.length]=menu;
	for (m in menus) {
		obj=document.getElementById('Menu' + menus[m]);
		if (obj)
			obj.style.display=(menu == menus[m] ? 'block' : 'none');
		if ((obj=MM_findObj('M' + menus[m])) != null) {
			if (menu == menus[m]) {
				if (newmenu)
					obj.oSrc=obj.src;
				obj.src='../_images/nav_vehicles/b2_' + menus[m] + '_f2.png';
			}
			else
				obj.src=obj.oSrc;
		}
	}
	vehicleSubNavCtr++;
}

function hideVehicleSubNav() {
	setTimeout('doHideVehicleSubNav('+vehicleSubNavCtr+')',1000);
}

function doHideVehicleSubNav(ctr) {
	if (ctr==vehicleSubNavCtr) {
		var obj;
		for (var m in menus) {
			obj=document.getElementById('Menu' + menus[m]);
			if (obj)
				obj.style.display='none';
			if ((obj=MM_findObj('M' + menus[m])) != null)
				obj.src=obj.oSrc;
		}
	}
}

function windowopen_displaymore(id,path) {
  if (typeof path == 'undefined')
    path='';
  var win=MM_openBrWindow(path+'display_more.php?id='+id,'photos','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=660,height=650');
  win.focus();
  return win;
}


function windowopen_displayauto(stockno,storeid,path) {
  if (typeof path == 'undefined')
    path='';
  var win=MM_openBrWindow(path+'display.php?stockno='+stockno+"&storeid="+storeid,'detail','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=630,height=650');
  win.focus();
  return win;
}


function windowopen_whygunnused(path) {
  var win=MM_openBrWindow('http://gunnauto.com/main/gunn_used.php','WhyGUNN','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=630,height:500');
  win.focus();
  return win;
}



function format_date(str) {
  var result='';
  if (str.length>0) {
    var curDate = new Date();
    var dateparts = (str.replace(/[^0-9]+/g,'-') + '---').split('-');
    if (dateparts[1].length==0) { dateparts[1]=dateparts[0]; dateparts[0]=''; }
    var Mth=parseInt(dateparts[0].replace(/^0+/,''));
    if (isNaN(Mth) || Mth<1 || Mth>12) Mth=curDate.getMonth() + 1;
    var Day=parseInt(dateparts[1].replace(/^0+/,''));
    if (isNaN(Day) || Day<1 || Day>31) Day=curDate.getDay();
    var Year=parseInt(dateparts[2].replace(/^0+/,''));
    if (isNaN(Year)) Year=curDate.getFullYear();
    if (Year<1000) Year+=2000;
    result=(Mth<10 ? '0' + Mth : Mth) + '/' + (Day<10 ? '0' + Day : Day) + '/' + Year;
  }
  return result;
}

function field_date(obj) {
  obj.value = format_date(obj.value);
}



function format_time(timestr) {
  var result = '';
  if (timestr.length>0) {
    var curDate = new Date();
    var timeparts = timestr.replace(/([^0-9]+)/g, " ").split(' ');
    var hours = parseInt(timeparts[0].replace(/^0+/,''));
    var mins = (timeparts[1] ? parseInt(timeparts[1].replace(/^0+/,'')) : 0);
    var ampm = timestr.replace(/([^aApP]+)/g,"");
    if (isNaN(hours) || hours > 24 || hours < 0) {
      hours = curDate.getHours();
      ampm = '';
    }
    if (isNaN(mins) || mins > 59 || mins < 0) {
      mins = 0; // curDate.getMinutes();
    }
    if (hours > 12) {
      ampm = 'P';
      hours = hours % 12;
    } else {
      if ((ampm.length == 0 || !ampm.match('[aA]')) && (hours < 7 || hours == 12)) ampm='P';
    }
    if (hours == 0) hours = 12;
    if (ampm.match('[Pp]')) ampm='PM'; else ampm='AM';
    var hr = '00' + hours;
    var mn = '00' + mins;
    result = hr.substring(hr.length - 2,hr.length) + ':' + mn.substring(mn.length - 2,mn.length) + ' ' + ampm;
  }
  return result;
}

function field_time(obj) {
  obj.value = format_time(obj.value);
}



function format_datetime(datetime) {
  var result=datetime.replace(/^[ ]+/,'');
  var fw=datetime.indexOf(' ');
  if (fw>0)
    result=format_date(result.substring(0,fw)) + ' ' + format_time(result.substring(fw+1,result.length));
  else result=format_date(result);
  return result;
}

function field_datetime(obj) {
  obj.value = format_datetime(obj.value);
}



function convert_time2min(timeqty) {
  var minutes = 0;
  if (timeqty.length>0) {
    if (timeqty.indexOf('.')>=0) {
      var timeparts = ('0' + timeqty + '0').split('.');
      timeparts[1] = String(Math.floor(60 * parseFloat('.' + timeparts[1])));
    } else {
      var timeparts;
      if (timeqty.indexOf(':')>=0) {
        timeparts = ('0' + timeqty).split(':');
      } else {
        timeparts = new Array(2);
        timeparts[0]='0';
        timeparts[1]=timeqty;
      }
   }
   minutes = (isNaN(parseInt(timeparts[1].replace(/^0+/,'')))
              ? 0
              : parseInt(timeparts[1].replace(/^0+/,''))
             ) +
             (isNaN(parseInt(timeparts[0].replace(/^0+/,'')))
              ? 0
              : parseInt(timeparts[0].replace(/^0+/,'')) * 60
             );
  }
  return minutes;
}

function field_time2min(obj) {
  obj.value = convert_time2min(obj.value);
}



function convert_min2time(qty) {
  var timestr='00:00';
  if (parseInt(qty)>0) {
    var hours = '00' + Math.floor(parseInt(qty)/60);
    var minutes = '00' + parseInt(qty) % 60;
    timestr = hours.substring(hours.length-2,hours.length) + ':' + minutes.substring(minutes.length-2,minutes.length);
  }
  return timestr;
}

function field_min2time(obj) {
  obj.value = convert_min2time(obj.value);
}



function format_dollar(amount,decimals) {
  if (typeof decimals == 'string') decimals = parseInt(decimals);
  if (typeof decimals == 'undefined' || isNaN(decimals) || decimals < 0 || decimals > 5) decimals=2;
  var multi = Math.pow(10,decimals);
  var value = Math.floor(parseFloat('0' + amount.replace(/[^0-9\.]/g,'')) * multi + 0.5);
  var cents = '00000' + (value % multi);
  var dollars = '' + Math.floor(value / multi);
  for (var c=dollars.length-3;c>0;c-=3) 
    dollars=dollars.substring(0,c) + ',' + dollars.substring(c,dollars.length);
  return (amount.match(/^-.*/) ? '-' : '') + dollars + '.' + cents.substring(cents.length-decimals,cents.length);
}

function field_dollar(obj,decimals) {
  obj.value = format_dollar(obj.value,decimals);
}

function field_formatdollar(obj,decimals) {
  obj.value = format_dollar(obj.value,decimals);
}



function valid_creditcard(cc,errmsg) {
  var numbers=cc.replace(/[^0-9\.]/g,'');
  var result=(numbers.length>=15 && numbers.length<=16);
  if (!result && errmsg!='') alert(errmsg);
  return result;
}

function format_creditcard(cc) {
  var result=cc;
  if (valid_creditcard(cc,'')) {
    var numbers=cc.replace(/[^0-9\.]/g,'');
    result=numbers.substring(0,4) + ' ' + numbers.substring(4,8) + ' ' + numbers.substring(8,12) + ' ' + numbers.substring(12,numbers.length);
  }
  return result;
}


function valid_emailaddress(email) {
  var validRegExp = /^[a-z0-9\._-]+@([a-z][a-z0-9\._-]+\.)[a-z]{2,7}$/i;
  return (email.search(validRegExp) != -1);
}
