document.cookie = "javascript=true;path=/;";

function primaryCategory(id) {
  var cat = document.getElementById(id);
  cat.style.background = 'url(/gui/1/bg_category_dwn.jpg)';
  cat.setAttribute('onmouseout','return false;');
}

function stripTags(str){
  var regExp = /<\/?[^>]+>/gi;
  str = str.replace(regExp,"");
  return str;
}

function required(id,req) {
  var element = document.getElementById(id);
  if (typeof element != 'undefined') {
    if (req == 'disabled') {
      element.className = 'disabled';
      if (stripTags(element.innerHTML).substring(0,1) == "*") {
        element.innerHTML = stripTags(element.innerHTML).substring(2,stripTags(element.innerHTML).length);
      }
    } else if (!req && element.className != 'notrequired') {
      element.className = 'notrequired';
      if (stripTags(element.innerHTML).substring(0,1) == "*") {
        element.innerHTML = stripTags(element.innerHTML).substring(2,stripTags(element.innerHTML).length);
      }
    } else if (req && element.className != 'required') {
      element.className = 'required';
      if (stripTags(element.innerHTML).substring(0,1) != "*") {
        element.innerHTML = "* " + stripTags(element.innerHTML);
      }
    }
  } else return false;
}

function setHTML(id,html) {
  var element = document.getElementById(id);
  if (typeof element != 'undefined') {
    element.innerHTML = html;
  } else return false;
}

function popUp(u,w,h) {
  window.open(u,'newWin','width=' + w + ',height=' + h + ',toolbar=0,directories=0,menubar=0,status=0,location=0,scrollbars=yes,resizable=yes');
}

function trim(strText) { 
  // this will get rid of leading spaces 
  while (strText.substring(0,1) == ' ') {
    strText = strText.substring(1, strText.length);
  }
  // this will get rid of trailing spaces 
  while (strText.substring(strText.length-1,strText.length) == ' ') {
    strText = strText.substring(0, strText.length-1);
  }
  return strText;
}

function isIP(what) {
  var validChars = '.0123456789';
  
  if (!what) {
    return false;
  }

  dots = 0;

  for (var i = 0; i < what.length; i++) {
    var chr = what.substring(i,i+1);
    if (validChars.indexOf(chr) == -1) {
      return false;
	  }
    if (chr == '.') {
      dots++;
      eval('dot' + dots + ' = ' + i);
    }
  }

  if (dots != 3)
      return false;
    
  if (what.substring(0,1) == '.' || what.substring(what.length,what.length+1) == '.')
      return false;

  ip1 = what.substring(0,dot1);
  if (!ip1 || ip1 >255) return false;
  ip2 = what.substring(dot1+1,dot2);
  if (!ip2 || ip2 >255) return false;
  ip3 = what.substring(dot2+1,dot3);
  if (!ip3 || ip3 >255) return false;
  ip4 = what.substring(dot3+1,what.length+1);
  if (!ip4 || ip4 >255) return false;
  if (ip1 == 0 && ip2 == 0 && ip3 == 0 && ip4 == 0) return false;

  return true;
}

function isImageFile(f) {
  var acceptable = new Array('jpg','jpeg','gif','png','swf');
  var extension = getFileExtension(f);
  for (var i = 0; i < acceptable.length; i++) {
    if (acceptable[i] == extension) return true;
  }
  return false;
}

function getFileExtension(f) {
  var extension = f.value.substring(f.value.lastIndexOf('.') + 1,f.value.length).toLowerCase();
  return extension;
}

function isInteger(value) {
  var regEx = new RegExp('^-[1-9][0-9]*$|^[1-9][0-9]*$|^[0-9]$');
  if (value.search(regEx) > -1) return true;
  return false;
}

function isNumber(value) {
  var regEx = new RegExp('^([0-9]+[.][0-9]+)|(\-[0-9]+[.][0-9]*[1-9]+)|([-]?[1-9]+)$');
  if (value.search(regEx) > -1) return true;
  return false;
}

var daysofmonth   = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
var daysofmonthLY = new Array( 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
    
function y2k(number) {
  return (number < 1000) ? number + 1900 : number;
}

function to24hour(hr,tm) {
  if ((tm == 'PM' || tm == 'pm') && hr < 12) {
    return Number(hr) + 12;
  } else if ((tm == 'AM' || tm == 'am') && hr == 12) {
    return 0;
  } else {
    return hr;
  }
}

function isDate(day,month,year) {
  // checks if date passed is valid
  // will accept dates in following format:
  // isDate(dd,mm,ccyy), or
  // isDate(dd,mm) - which defaults to the current year, or
  // isDate(dd) - which defaults to the current month and year.
  // Note, if passed the month must be between 1 and 12, and the
  // year in ccyy format.
  // Remember: Date(year,month-1,day,hours,minutes,seconds,milliseconds)

  var today = new Date();
  year = ((!year) ? y2k(today.getYear()):year);
  month = ((!month) ? today.getMonth():month-1);
  if (!day) return false
  var test = new Date(year,month,day);
  if ( (y2k(test.getYear()) == year) &&
       (month == test.getMonth()) &&
       (day == test.getDate()) ) {
    return true;
  } else {
    return false
  }
}

function secondsDifference(laterdate,earlierdate) {
  var difference = laterdate.getTime() - earlierdate.getTime();
  difference = Math.abs(difference);
  var daysDifference = Math.floor(difference/1000/60/60/24);
  difference -= daysDifference*1000*60*60*24
  var hoursDifference = Math.floor(difference/1000/60/60);
  difference -= hoursDifference*1000*60*60
  var minutesDifference = Math.floor(difference/1000/60);
  difference -= minutesDifference*1000*60
  var secondsDifference = Math.floor(difference/1000);
  return secondsDifference;
}

function minutesDifference(laterdate,earlierdate) {
  var difference = laterdate.getTime() - earlierdate.getTime();
  difference = Math.abs(difference);
  var daysDifference = Math.floor(difference/1000/60/60/24);
  difference -= daysDifference*1000*60*60*24
  var hoursDifference = Math.floor(difference/1000/60/60);
  difference -= hoursDifference*1000*60*60
  var minutesDifference = Math.floor(difference/1000/60);
  return minutesDifference;
}

function hoursDifference(laterdate,earlierdate) {
  var difference = laterdate.getTime() - earlierdate.getTime();
  difference = Math.abs(difference);
  var daysDifference = Math.floor(difference/1000/60/60/24);
  difference -= daysDifference*1000*60*60*24
  var hoursDifference = Math.floor(difference/1000/60/60);
  return hoursDifference;
}

function daysDifference(laterdate,earlierdate) {
  var difference = laterdate.getTime() - earlierdate.getTime();
  difference = Math.abs(difference);

  var daysDifference = Math.floor(difference/1000/60/60/24);
  return daysDifference;
}

function isEmail(email) {
  var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$";
  var regex = new RegExp(emailReg);
  return regex.test(email);
}

function match(val,regEx) {
  regExO = new RegExp(regEx);
  if (val.search(regExO) > -1) return true;
  return false;
}

function isAlphaNumeric(val) {
  var regEx = new RegExp('^[A-z0-9]+$');
  if (val.search(regEx) > -1) return true;
  return false;
}

function isLetter(val) {
  var regEx = new RegExp('^[A-z]$');
  if (val.search(regEx) > -1) return true;
  return false;
}

function isLetters(val) {
  var regEx = new RegExp('^[A-z]+$');
  if (val.search(regEx) > -1) return true;
  return false;
}

function isLowerLetters(val) {
  var regEx = new RegExp('^[a-z]+$');
  if (val.search(regEx) > -1) return true;
  return false;
}

function isUpperLetters(val) {
  var regEx = new RegExp('^[A-Z]+$');
  if (val.search(regEx) > -1) return true;
  return false;
}

function isPhone(phone) {
  var regEx = new RegExp('^[0-9][0-9-]{11,20}$');
  if (phone.search(regEx) > -1) return true;
  return false;
}

function testYear(year) {
  if (year > 0 && year <= 9999) {
    return true;
  } else {
    return false;
  }
}

function isCreditCard(val) {
  if (trim(val).length == 0) return false;
  
  var doubledigit = val.length % 2 == 1 ? false : true;
  var checkdigit = 0;
  var tempdigit;

  for (var i = 0; i < val.length; i++) {
  	tempdigit = eval(val.charAt(i))
    if (!isInteger(val.charAt(i))) return false;
  	if (doubledigit) {
  		tempdigit *= 2;
  		checkdigit += (tempdigit % 10);
  		if ((tempdigit / 10) >= 1.0) {
  			checkdigit++;
  		}
  		doubledigit = false;
  	}	else {
  		checkdigit += tempdigit;
  		doubledigit = true;
  	}
  }
  return (checkdigit % 10) == 0 ? true : false;
}
 
function defaultYear(month_object, year_object, default_year) {
  if (default_year >= 1900) {
    if (month_object.value > 0 && year_object.value.length == 0) {
      year_object.value = default_year;
    } else if (!(month_object.value >= 1)) {
      year_object.value = '';
    }
  }
}
 
function resetDays(day_object,month_object,year_object) {
  if (day_object.options.length > 0 && day_object.options[0].value.length == 0) {
    day_object.options.length = 1;
  } else {
    day_object.options.length = 0;
  }
}
 
function populate(day_object,month_object,year_object) {
  if (testYear(year_object.value) && month_object.value >= 1 && month_object.value <= 12) {
    if (leapYear(year_object.value)) {
      // This is a leap year
  	  if (day_object.options[0] && day_object.options[0].value.length == 0) {
  	    // Place the blank option first
  	    day_object.options[0].value = '';
  	    day_object.options[0].text = '';
  	    day_object.options.length = daysofmonthLY[month_object.value - 1] + 1;
  	    for (var i = 1; i <= daysofmonthLY[month_object.value - 1]; i++) {
  	      day_object.options[i].text = i;
  		    day_object.options[i].value = i;
  	    }
  	  } else {
  	    day_object.options.length = daysofmonthLY[month_object.value - 1];
  	    for (var i = 0; i < daysofmonthLY[month_object.value - 1]; i++) {
  	      day_object.options[i].text = i + 1;
  		    day_object.options[i].value = i + 1;
  	    }
  	  }
    } else {
      // This is not a leap year
  	  if (day_object.options[0] && day_object.options[0].value.length == 0) {
  	    // Place the blank option first
  	    day_object.options[0].value = '';
  	    day_object.options[0].text = '';
  	    day_object.options.length = daysofmonth[month_object.value - 1] + 1;
  	    for (var i = 1; i <= daysofmonth[month_object.value - 1]; i++) {
  	      day_object.options[i].text = i;
  		    day_object.options[i].value = i;
  	    }
  	  } else {
  	    day_object.options.length = daysofmonth[month_object.value - 1];
  	    for (var i = 0; i < daysofmonth[month_object.value - 1]; i++) {
  	      day_object.options[i].text = i + 1;
  		    day_object.options[i].value = i + 1;
  	    }
  	  }
    }
  }
}
 
function syncDay(this_day_object,target_day_object) {
  if (target_day_object.options.length >= this_day_object.selectedIndex) {
    target_day_object.selectedIndex = this_day_object.selectedIndex;
  }
}

function leapYear(year) {
  if ((year/4)   != Math.floor(year/4)  )   return false;
  if ((year/100) != Math.floor(year/100)) return true;
  if ((year/400) != Math.floor(year/400)) return false;
  return true;
}

function upsOverSize(weight,length,width,height) {
  if (weight > 150) {
    return 4;
  }
  if (!isNumber(weight) || !isNumber(length) || !isNumber(width) || !isNumber(height)) return 0;
  length = Math.round(length);
  width = Math.round(width);
  height = Math.round(height);
  longestDimension = length;
  if (width > longestDimension) longestDimension = width;
  if (height > longestDimension) longestDimension = height;
  if (longestDimension == length) {
    girth = (2 * width) + (2 * height);
  } else if (longestDimension = width) {
    girth = (2 * length) + (2 * height);
  } else {
    girth = (2 * length) + (2 * width);
  }
  if (longestDimension + girth >= 84 && longestDimension + girth < 108) return 1;
  if (longestDimension + girth >= 108 && longestDimension + girth < 130) return 2;
  if (longestDimension + girth >= 130 && longestDimension + girth < 165) return 3;
  if (longestDimension + girth >= 165) return 4;
  return 0;
}

function toggleTags(tag) {
  tags = document.getElementsByTagName(tag);
  for (var i = 0; i < tags.length; i++) {
    tags[i].style.visibility = (tags[i].style.visibility=="hidden"?"":"hidden");
  }
}

function getScrollXY() {
  var x = 0, y = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
      // Netscape
      x = window.pageXOffset;
      y = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
      // DOM
      x = document.body.scrollLeft;
      y = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
      // IE6 standards compliant mode
      x = document.documentElement.scrollLeft;
      y = document.documentElement.scrollTop;
  }
  return [x, y];
}

function img(url,width,height) {
  if (!width || !height) {
    var imgObj = new Image;
    imgObj.src = url;
    if (!width) width = imgObj.width;
    if (!height) height = imgObj.height;
  }
  toggleTags('select');
  toggleTags('embed');
  $("overlay").style.height = $("body").getHeight() + "px";
  var imgDiv = document.createElement('div');
  imgDiv.setAttribute('id','zoom');
  imgDiv.style.width = width + "px";
  //imgDiv.style.height = Number(height + 20) + "px";
  imgDiv.style.left = Number(screen.width / 2) - Number(width / 2) + "px";
  var scroll = getScrollXY();
  imgDiv.style.top = scroll[1] + Number(window.screen.height / 2) * 0.1 + "px";
  $("body").insertBefore(imgDiv,$("body").firstChild);
  $("zoom").innerHTML = '<a onclick="closeImg();">Close</a><img onclick="closeImg();" src="' + url + '" width="' + width + '" height="' + height + '" border="0" alt="" title=""/>';
  $("overlay").style.display = '';
  new Draggable("zoom");
  //$('zoom').innerHTML = '<img class="image" id="zoom" src="' + url + '" border="0"/><br/>';
  //$('zoom').style.left = screen.width / 2 + "px";
  return false;
}

function closeImg() {
  $("overlay").style.display = "none";
  $("body").removeChild($("zoom"));
  toggleTags('select');
  toggleTags('embed');
}

var nav_home = new Image();
nav_home.src = '/gui/1/nav_home_dwn.jpg';

var nav_about_us = new Image();
nav_about_us.src = '/gui/1/nav_about_us_dwn.jpg';

var nav_contact = new Image();
nav_contact.src = '/gui/1/nav_contact_dwn.jpg';

var nav_project_cars = new Image();
nav_project_cars.src = '/gui/1/nav_project_cars_dwn.jpg';

var nav_customer_cars = new Image();
nav_customer_cars.src = '/gui/1/nav_customer_cars_dwn.jpg';

var nav_videos = new Image();
nav_videos.src = '/gui/1/nav_videos_dwn.jpg';

var nav_wish_lists = new Image();
nav_wish_lists.src = '/gui/1/nav_wish_lists_dwn.jpg';

var cat_btn = new Image();
cat_btn.src = '/gui/1/bg_category_dwn.jpg';

var tmpSrc;
