//  VIEWS_01.JS                         Lastmod 08/04/2008
//  Javascript function library for jfpchristmastrees.com
//======================================================================


   var contentTop = 243;  // for dynamic layers positioning
   bName = navigator.appName;
   bVer = parseInt(navigator.appVersion);
   if (screen.width) {
       var baseWidth = screen.width;
       if (baseWidth > 1280) { baseWidth = 1280; }  // Thx Keith! Large two-monitor screen object.
       var mainWidth = 700;
   }

function init(){

    if ((document.getElementById) || (document.all) || (document.layers)) {
        if (document.getElementById) {
		layerStyleRef="";
		layerRef="";
		styleSwitch=".style";
                visibleVar="visible";
                if (baseWidth) { setDivs();  }
        }
	else if (bName == "Netscape") {
		layerStyleRef="layer.";
		layerRef="document.layers";
		styleSwitch="";
                visibleVar = "show";
                if (baseWidth) { setDivs();  }
	}
        else if (document.all) {
		layerStyleRef="layer.style.";
		layerRef="document.all";
		styleSwitch=".style";
                visibleVar="visible";
                if (baseWidth) { setDivs();  }
	}
        else { return false; }

    }
    else { return false; }
}




  // move the element with id to x,y
function setDivs()  {

    var positionLefts = new Array("main","helicopter");
    var divLefts = new Array (6,653);
    var x = 0;
    var leftEdge = (baseWidth/2) - (mainWidth/2) - 36;
   //alert(baseWidth + ' ' + mainWidth + ' ' + leftEdge);
   //alert('Expirament: leftEdge ' + leftEdge);
   if (leftEdge > 0) {
        for (i=0;i<positionLefts.length;i++) {
             var elm = null; x = 0;
             x = divLefts[i] + leftEdge;

             // W3C DOM
             if (document.getElementById) {  elm = document.getElementById(positionLefts[i]); }
             // IE 4 compatible
             else if (document.all) { elm = document.all[positionLefts[i]]; }
             // Navigator 4
             else if (document.layers) { elm = document.layers[positionLefts[i]]; }
             if (!elm){ return false; } // noboby home
             // W3C
             else if (elm.style) {
                  if (typeof(elm.style.left) == 'number') {
                       // Opera 5/6 do not implement the standard correctly
                       // and assume that elm.style.left and similar properties
                       // are numbers.
                       elm.style.left = x;
                  }
                  else { elm.style.left = x + 'px'; }
            }
            // Navigator 4
            else if (typeof(elm.left) == 'number') { elm.left = x; }
            // uncomment to set initial pos. in css, 800 rez
            // alert(positionLefts[i] + ' ' + x);
        }
    }

    // after positioning, show the main layer, which is now centered
    showLayer('main'); showLayer('helicopter');

}

    function showLayer(layerName){
       if ((document.getElementById) || (document.all) || (document.layers)) {
            if (document.getElementById) {
                 layerRef = document.getElementById(layerName);
                 layerRef.style.visibility="visible";
            }
  	    else { eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility="visible"'); }
       }
       else { return false; }
    }

function newWindow (URL, wide, high) {

   var day = new Date();
   var id = day.getTime();
   
   if (! wide) { wide = 300; }
   if (! high) { high = 300; }
   
   if (window.innerWidth) {
       wide = window.innerWidth-24;
       high = window.innerHeight-24;
    }
    else if (document.documentElement.clientWidth) {
       wide = document.documentElement.clientWidth-24;
       high = document.documentElement.clientHeight-24;
    }
    else if (document.body.offsetWidth) {
       wide = document.body.offsetWidth-24;
       high = document.body.offsetHeight-24;
    }
	
    var param = "width=" + wide + ",height=" + high + ",resizable,scrollbars";

    var win = open (URL, id, param);
}


  function chkForm(form) {
     var msg = "";
     var passChecks = true;

     if ((form.Email.value == '') || (form.Name.value == '')) {
         msg = 'Please provide your name and \n email address before submitting this form.';
         alert(msg);
     }
     if (msg == '') { form.submit(); }
     else { return 0; }

   }


// Opens a new window and presents a link to choose tree, whicvh reloads contact.cgi in the
// opening parent window.

function detailWin (img,treenum,w,h,sold) {
   var day = new Date();
   var id = day.getTime();
   var winwd = w + 95;
   var winht = h + 175;
   var params = 'width=' + winwd + ',height=' + winht + ',scrollbars,resizable';

   var content = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'+
         '<html><head><title> Tree #'+ treenum+ ' <\/title>\n'+
         '<meta http-equiv="Content-Style-Type" content="text\/css">\n'+
		 '<link rel="stylesheet" href="/data/jfp08-09.css">\n'+
		 '<scr'+ 'ipt type="text\/ja'+'vascript" src="/data\/jfp08-08.js"> <\/s'+'cript>'+
         '<\/head><body onload="init();">'+
	     '<table width="100%" cellpadding="2" cellspacing="0" border="0">\n'+
         '<tr><td class="center"><h3>Tree #'+treenum+'<\/h3><\/td><\/tr>\n'+
         '<tr><td class="center"><form><a href="\#" onClick="goToOrder(\''+treenum+'\'); return false;"><img src="/images/'+img+'" width="'+w+'" height="'+h+'" border="0" alt="Tree #'+treenum+'"><\/a><\/td><\/tr>\n';
   if (! sold) {
         content += '<tr><td class="center"><form><input type="button" onClick="goToOrder(\''+treenum+'\');" value="Reserve This Tree"><\/form><\/td><\/tr>\n';
   }
   content += '<tr><td class="center"><form><input type="button" onClick="javascript:window.close();" value="Close Window"><\/form><\/td><\/tr>\n'+
	     '<\/table><\/form><\/body><\/html>';
   var win = open('',id,params);
   win.document.write(content);
   win.document.close();
   return false;
}

function goToOrder(num) {
   if (window.opener && !window.opener.closed) {
	  num = (num.length==1)?'0'+num:num;
      var loc = 'cgi/contact.cgi?treenum='+num;
      window.opener.document.location=loc;
      window.close();
   }
}

function parseData(form,selected) {
   paramArray = selected.split(':');
   if ((paramArray) && (form)) { 
     if (! paramArray[1]) { form.treesize.value=''; }
     else { form.treesize.value=paramArray[1]; } 
   }
}

 // This one's a little different than the global, it's view and close only. and used from cgi dir.
function imgWin () {
  
   if (document.forms[0].treenum)  { var select = document.forms[0].treenum; }
   else if (document.layers['main'].document.forms[0].treenum) { var select = document.layers['main'].document.forms[0].treenum; }
   else { alert('Layers not supported in your browser, sorry.\n View the trees on the Pick a Tree Page.'); return; }
   var ind = select.selectedIndex;
   if (ind == 0) { alert('Please select a tree to preview from the list.'); return; }
   var imgParams = select.options[ind].value;
   var day = new Date();
   var id = day.getTime();
   paramArray = imgParams.split(':');
   var treenum = paramArray[0];
   var desc = paramArray[1];
   var img = paramArray[2];
   var w= parseInt(paramArray[3]);
   var h=parseInt(paramArray[4]);
   var winwd = w + 95;
   var winht = h + 155;

   var params = 'width=' + winwd + ',height=' + winht + ',scrollbars,resizable';
   
   var content = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">'+
         '<html><head><title> Tree #'+ treenum+ ' <\/title>\n'+
         '<meta http-equiv="Content-Style-Type" content="text\/css">\n'+
		 '<link rel="stylesheet" href="\/data/jfp08-09.css">\n'+
		 '<scr'+ 'ipt type="text\/ja'+'vascript" src="\/data\/jfp08-08.js"> <\/s'+'cript>'+
         '<\/head><body onload="init();">'+
	     '<table width="100%" cellpadding="2" cellspacing="0" border="0">\n'+
         '<tr><td class="center"><h3>Tree #'+treenum+'<\/h3><\/td><\/tr>\n'+
         '<tr><td class="center"><form><a href="javascript:window.close();"><img src="\/images\/'+img+'" width="'+w+'" height="'+h+'" border="0" alt="Tree #'+treenum+'"><\/a><\/td><\/tr>\n'+
		 '<tr><td class="center"><form><input type="button" onClick="javascript:window.close();" value="Close Window"><\/form><\/td><\/tr>\n'+
	     '<\/table><\/form><\/body><\/html>';
   var win = open('',id,params);
   win.document.write(content);
   win.document.close();
   return false;
}



function checkForm(form) {
        var requireds = new Array("fname","lname", "email");
		var english  = new Array('First Name','Last Name','Email Address');
        var checkThis = "";
        var msg = "";
        var passChecks = true;

        for (i=0; i<requireds.length; i++) {
            checkThis = eval('form.' + requireds[i] + '.value');
            if (checkThis == "") {
                msg = "Please provide your " + english[i] + " before submitting this form.";
                passChecks = false;
                break;
            }
        }
        if ((passChecks == true) && (form.email.value != "")) {
            var found = false;
            var emailString = form.email.value;
            for (j=0; j < emailString.length; j++) {
                if (emailString.charAt(j) == "@") { found = true; }
            }
            if (found == false) {
                msg = 'Is that your true email address?\n' +
                      'Please enter your correct email address.\n' +
                      'We will not place you on any mailing lists!\n';
                passChecks = false;
            }
        }

        if (passChecks == true) { return true; }
        else if (passChecks == false) {  alert(msg); return false; }

}

//=======================  END OF LIBRARY  ==============================


