var smallTransparentGif = "";
var selRow = 1;
var selCol = 1;
var popupImage = null;

if (document.images)
{
    // home
    homeon = new Image();
    homeon.src = "button_files/home_sel.png";
    homeoff = new Image();
    homeoff.src = "button_files/home.png";
    // back
    backon = new Image();
    backon.src = "button_files/back_sel.png";
    backoff = new Image();
    backoff.src = "button_files/back.png";
    // bookinginfo
    bookinginfoon = new Image();
    bookinginfoon.src = "button_files/bookinginfo_sel.png";
    bookinginfooff = new Image();
    bookinginfooff.src = "button_files/bookinginfo.png";
    // mailinglist
    mailingliston = new Image();
    mailingliston.src = "button_files/mailinglist_sel.png";
    mailinglistoff = new Image();
    mailinglistoff.src = "button_files/mailinglist.png";
    // bio
    bioon = new Image();
    bioon.src = "button_files/bio_sel.png";
    biooff = new Image();
    biooff.src = "button_files/bio.png";
    // photos
    photoson = new Image();
    photoson.src = "button_files/photos_sel.png";
    photosoff = new Image();
    photosoff.src = "button_files/photos.png";
    // video
    videoon = new Image();
    videoon.src = "button_files/video_sel.png";
    videooff = new Image();
    videooff.src = "button_files/video.png";
    // music
    musicon = new Image();
    musicon.src = "button_files/music_sel.png";
    musicoff = new Image();
    musicoff.src = "button_files/music.png";
    // shows
    showson = new Image();
    showson.src = "button_files/shows_sel.png";
    showsoff = new Image();
    showsoff.src = "button_files/shows.png";
    // shop
    shopon = new Image();
    shopon.src = "button_files/shop_sel.png";
    shopoff = new Image();
    shopoff.src = "button_files/shop.png";
    // links
    linkon = new Image();
    linkon.src = "button_files/links_sel.png";
    linkoff = new Image();
    linkoff.src = "button_files/links.png";
    // aboutus
    aboutuson = new Image();
    aboutuson.src = "button_files/aboutus_sel.png";
    aboutusoff = new Image();
    aboutusoff.src = "button_files/aboutus.png";
    // preview
    previewon = new Image();
    previewon.src = "button_files/here_sel.jpg";
    previewoff = new Image();
    previewoff.src = "button_files/here.jpg";
    // freeTune
    freeTuneon = new Image();
    freeTuneon.src = "button_files/freeTune_sel.png";
    freeTuneoff = new Image();
    freeTuneoff.src = "button_files/freeTune.png";
    // addtocart
    addtocarton = new Image();
    addtocarton.src = "button_files/addtocart_sel.png";
    addtocartoff = new Image();
    addtocartoff.src = "button_files/addtocart.png";
    // viewcart
    viewcarton = new Image();
    viewcarton.src = "button_files/viewcart_sel.png";
    viewcartoff = new Image();
    viewcartoff.src = "button_files/viewcart.png";
    // checkout
    checkouton = new Image();
    checkouton.src = "button_files/checkout_sel.png";
    checkoutoff = new Image();
    checkoutoff.src = "button_files/checkout.png";
}

function checkForm(formID, fieldNum)
{
  var formElement = document.getElementById(formID);
  var fieldElement = new Array();
  var required = new Array();
  var validation = new Array();
  var message = new Array();

  fieldCount = 0;
  for (i=0; i<formElement.elements.length; i++)
  {
    formField = formElement.elements[i];
    if (formField.type == "text")
    {
      fieldCount++;
      fieldElement[fieldCount-1] = formField;
      className = formField.className;

      // check if the field is required
      spos = className.indexOf(':') + 1;
      epos = className.indexOf(';');
      required[fieldCount-1] = className.substr(spos, epos-spos);
      
      // check the validation type
      spos = className.indexOf(':',epos) + 1;
      epos = className.indexOf(';',spos);
      validation[fieldCount-1] = className.substr(spos, epos-spos);
      
      // check the message field
      spos = className.indexOf(':',epos) + 1;
      epos = className.indexOf(';',spos);
      message[fieldCount-1] = className.substr(spos, epos-spos);
    }
  }

  var isValid = true;
  var firstError = true;
  for (i=0; i<fieldCount; i++)
  {
    // clear the error message
    if (message[i] != "none")
    {
      displayErrorMsg(message[i], "");
    }

    if (required[i] == "yes" || (required[i] == "no" && fieldElement[i].value != ""))
    {
      if (eval(fieldNum) >= eval("i + 1"))
      {
	displayError = true;
      }
      else
      {
	displayError = false;
      }

      if (validation[i] == "name")
      {
	if (checkName(fieldElement[i].value) == false)
	{
	  if (displayError == true)
	  {
	    displayErrorMsg(message[i], "Please enter your name");
	  }
	  isValid = false;
	}
      }
      else if (validation[i] == "email")
      {
	if (checkEmail(fieldElement[i].value) == false)
	{
	  if (displayError == true)
	  {
	    displayErrorMsg(message[i], "Please enter your email address");
	  }
	  isValid = false;
	}
      }
      else if (validation[i] == "phone")
      {
	if (checkPhone(fieldElement[i].value) == false)
	{
	  if (displayError == true)
	  {
	    displayErrorMsg(message[i], "Please enter your phone number");
	  }
	  isValid = false;
	}
      }
    }
    if (firstError == true && isValid == false)
    {
      firstErrorField = fieldElement[i];
      firstError = false;
    }
  }

  if (isValid == false && fieldNum == 99)
  {
    firstErrorField.focus();
  }
  
  return isValid;
}

function checkEmail(value)
{
  var filter = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
  if (!value.match(filter))
  {
    return false;
  }
  else
  {
    return true;
  }
}

function checkName(value)
{
  var filter = /^[a-zA-Z0-9-']+(\s[a-zA-Z0-9-']+)*$/;
  if (!value.match(filter))
  {
    return false;
  }
  else
  {
    return true;
  }
}

function checkPhone(value)
{
  var filter = /^[\(]?[0-9]{3}[\)]?[\.-\s]?[0-9]{3}[\.-\s]?[0-9]{4}$/;
  if (!value.match(filter))
  {
    return false;
  }
  else
  {
    return true;
  }
}

function displayErrorMsg(messageID, message)
{
  var msgField=document.getElementById(messageID);
  msgField.innerText=message;
}

// Function to 'activate' photo images.
function photoOn(imgName,width,height,row,col)
{
    imgSelector = "imgSel_"+selRow+"_"+selCol;
    document.images[imgSelector].src="button_files/imgSelector.png";
    selRow=row;
    selCol=col;
    imgSelector = "imgSel_"+row+"_"+col;
    document.images[imgSelector].src="button_files/imgSelector_sel.png";
    if (width < height)
    {
      // portrait
      adjHeight = 300;
      adjWidth = width * adjHeight / height;
      adjTop = 235;
      adjLeft = 239 + (379 - adjWidth) / 2;
    }
    else
    {
      // landscape
      adjWidth = 300;
      adjHeight = height * adjWidth / width;
      adjLeft = 239 + 79/2;
      adjTop = 235 + (300 - adjHeight) / 2;
    }
    document.images["imgPhoto"].src="images/transparent.gif";
    document.images["imgPhoto"].width=adjWidth;
    document.images["imgPhoto"].height=adjHeight;
    document.images["imgPhoto"].style.top=adjTop+"px";
    document.images["imgPhoto"].style.left=adjLeft+"px";
    document.images["imgPhoto"].src="photo_files/"+imgName;
    return true;
}

// Function to change images.
function chgImg(control, imgSrc)
{
    if (document.images)
    {
	control.src = imgSrc;
    }
    return true;
}

// Function to popup images.
function expandImg(control, imgSrc)
{
    if (document.images)
    {
      if (popupImage != null)
      {
	delete popupImage;
      }
      popupImage = new Image();
      popupImage.src = imgSrc;
    }
    return true;
}

// Function to 'activate' images.
function imgOn(imgName)
{
    if (document.images)
    {
	document[imgName].src = eval(imgName + "on.src");
    }
    return true;
}

// Function to 'deactivate' images.
function imgOff(imgName)
{
    if (document.images)
    {
	turnoff=eval(imgName + "off.src");
	document[imgName].src = turnoff;
    }
    return true;
}

// Function to popup a new window.
function popup(windowName)
{
    popupwindow = window.open(windowName + ".html", "uSpinRecords", "menubar=0,resizable=0,scrollbars=0,width=425,height=385");
    return true;
}

// Function to close a new window.
function closewnd()
{
    self.close();
}

function fixupIEPNG(strImageID, transparentGif) 
{
    smallTransparentGif = transparentGif;
    if (windowsInternetExplorer && (browserVersion < 7))
    {
        var img = document.getElementById(strImageID);
        if (img)
        {
            var src = img.src;
            img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')";
            img.src = transparentGif;
            img.attachEvent("onpropertychange", imgPropertyChanged);
        }
    }
}

var windowsInternetExplorer = false;
var browserVersion = 0;
function detectBrowser()
{
    windowsInternetExplorer = false;
    var appVersion = navigator.appVersion;
    if ((appVersion.indexOf("MSIE") != -1) &&
        (appVersion.indexOf("Macintosh") == -1))
    {
        var temp = appVersion.split("MSIE");
        browserVersion = parseFloat(temp[1]);
        windowsInternetExplorer = true;
    }
}

function onPageLoad()
{
    detectBrowser();
    fixupIEPNG("id1", "images/transparent.gif");
    fixupIEPNG("id2", "images/transparent.gif");
    fixupIEPNG("id3", "images/transparent.gif");
    fixupIEPNG("id4", "images/transparent.gif");
    fixupIEPNG("id5", "images/transparent.gif");
    fixupIEPNG("id6", "images/transparent.gif");
    setupButtons();
    return true;
}

var inImgPropertyChanged = false;
function imgPropertyChanged()
{
    if ((window.event.propertyName == "src") && (! inImgPropertyChanged))
    {
        inImgPropertyChanged = true;
        var el = window.event.srcElement;
        if (el.src != smallTransparentGif)
        {
            el.filters.item(0).src = el.src;
            el.src = smallTransparentGif;
        }
        inImgPropertyChanged = false;
    }
}


