// Globals
var prevImage = null;
var curType = null;

function $(element){
	return document.getElementById(element);
}

function getQueryStringVal(arg) {
  var myUrl = document.location.href;

  // just get the Query String portion
  var myQS = myUrl.substring( myUrl.indexOf("?"), myUrl.length );

  var theArg = new String ("?" + arg + "=" );
  var retVal = "";

  //Check for "?arg=" or "&arg=" in the QS.
  // if we find it, the value is everything up to "&" or
  // the rest of the QS if there's no "&"

  if (myQS.indexOf(theArg) >= 0 ) {
    var equalIndex = myQS.indexOf("=");

    if (myQS.indexOf("&") >= 0 ) {
      retVal = myQS.substring( equalIndex+1 , myQS.indexOf("&"));
    } else {
      retVal = myQS.substring( equalIndex+1, myQS.length );
    }
  } else {
    theArg = new String("&" + arg + "=" );
    var argIndex = myQS.indexOf(theArg);
    if ( argIndex  >= 0 ) {
      retVal = myQS.substring( argIndex + theArg.length, myQS.length);
      var ampIndex = retVal.indexOf("&");
      if ( ampIndex >= 0 ) {
        retVal = retVal.substring( 0, ampIndex );
      }
    }
  }
  return retVal;
}


function getOrderForm(type, index){
	type = eval(type);
	if (type.type == "BABY_SHOWER_CARDS") url = "form_shower.html?i=";
	if (type.type == "BIRTH_ANNOUNCEMENTS") url = "form_birth.html?i=";
	if (type.type == "PHOTO_BIRTH_ANNOUNCEMENTS") url = "form_birth_photo.html?i=";
	if (type.type == "BRIDAL_SHOWERS") url = "form_bridal.html?i=";
	if (type.type == "HOLIDAY_CARDS") url = "form_save.html?i=";
	if (type.type == "SAVE_THE_DATE") url = "form_save.html?i=";
	if (type.type == "CUSTOM") url = "form_custom.html?i=";
	if (type.type == "HOLIDAY_CARDS") url = "form_holiday_cards.html?i=";
	if (type.type == "CHILD_BIRTHDAY") url = "form_child_birthday.html?i=";
	if (type.type == "BAR_MITZVAHS") url = "form_bar_mitzvahs.html?i=";
	url += index + "&cat=" + type.data[index].category;
	url += "&type=" + type.type;

	return url;
}

function getSample(type, index){
	type = eval(type);
	//if (type.data[index].category != "Coming Soon!"){
		try{
			if (prevImage) $(prevImage).className = "thumbnail";
		}catch(e){
			$("Image0").className = "thumbnail";
		}
		prevImage = "Image" + index;
		$("Image" + index).className = "thumbnailSelected";
		$("title").innerHTML = type.data[index].category;
		var html = "<div class=\"orderButton\">";
		if (type.type == "CUSTOM") html += "<a href='/contact.htm'>> Please contact us for a custom quote.</a>";
		else html += "<a href=\"" + getOrderForm(type.type,index) + "\">> Order consultation for this design:</a>";
		html += "</div>";
		$("order").innerHTML = html;
		
		var html = "<img src=\"" + type.imageDir + type.data[index].imageName + ".jpg\" border=\"0\" align=\"left\"/>";
		if (type.data[index].swatch){
			html += "<table cellpadding=\"5\"> <tr>\n"
			for (var i=0; i<type.data[index].swatch.length; i++){
				html += "<td align=\"center\"><img src=\"" + type.imageDir + type.data[index].imageName + "-s" + type.data[index].swatch[i] + ".jpg\" border=\"0\"/><br\>" + type.data[index].swatch[i];
			}
			html += "</tr></table><br/>" + type.data[index].swatchDesc + "\n";
		}
		$("sample").innerHTML = html;
	//}
}

function preloadAllImages(type, activeIndex){
	curType = type;
	for (i=0; i<type.data.length; i++){
		MM_preloadImages(type.imageDir + type.data[i].imageName + "-icon.gif");
		MM_preloadImages(type.imageDir + type.data[i].imageName + ".jpg");
	}
	setActive(activeIndex);
	setTimeout("getThumbnails()", 500);
}

function getThumbnails(){
	var type = curType;
	$("content").innerHTML = "";
	
	var html = "";
	for (i=0; i<type.data.length; i++){
			comingsoon = false;
			html += "<a href=\"javascript:void(0);\" onMouseOut=\"\" onClick=\"getSample('" + type.type + "', " + i + ")\">"; 
			html += "<img class=\"thumbnail\" src=\"" + type.imageDir + type.data[i].imageName + "-icon.gif\" alt=\"" + type.data[i].category + "\" id=\"Image" + i + "\" border=\"0\"  width=\"54\" height=\"54\"/>";
			html += "</a>\n";
		//if (i == 5) html += "<br/>";
	}
	$("thumbnails").innerHTML = html;
	getSample(type,0);
}


function setActive(index){
	// Reset
	try {
		for (i=0; i<13; i++){
				$("n" + i).className = "";
		}
		$("n" + index).className = "activeLink";
	}catch(e){}
}

// MM functions
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_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_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_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }


function checkOther(){
	if (document.getElementById("Quantity").value == "other"){
		document.getElementById("otherDiv").style.visibility = "visible";
	}else{
		document.getElementById("otherQuantity").value = '';
		document.getElementById("otherDiv").style.visibility = "hidden";
	}
}

function hidePreview(){
	$("preview").style.display = "none";
}

function showPreview(url, coord){
	$("preview").innerHTML = "<img src='" + url + "' class='borderprev'/>";
	$("preview").style.marginLeft = coord.x + "px";
	$("preview").style.top = coord.y + "px";
	$("preview").style.display = "block";
}