<!-- Check Form -->
function checkform(){
	form_ok=true;
	var price_0 = eval("document.order.amount[0].checked");
	var price_1 = eval("document.order.amount[1].checked");
	var price_2 = eval("document.order.amount[2].checked");
	var price_3 = eval("document.order.amount[3].checked");
	var price_4 = eval("document.order.amount[4].checked");
	var price_5 = eval("document.order.amount[5].checked");
	if (price_0==price_1 && price_1==price_2 && price_2==price_3 && price_3==price_4 && price_4==price_5) form_ok=false;
	if (form_ok==false){
		alert("Please choose a print size.");
	}
	return form_ok;
}

var _5x7=30
var _8x10=40
var _13x16=50
var _5x7Mat=40
var _8x10Mat=50
var _13x16Mat=60

function addinfo(){
	if (document.order.amount[0].checked){document.order.item_number.value="5x7 Print "};
	if (document.order.amount[2].checked){document.order.item_number.value="8x10 Print "};
	if (document.order.amount[4].checked){document.order.item_number.value="13x16 Print"};
	if (document.order.amount[1].checked){document.order.item_number.value="5x7 Print and Mat"};
	if (document.order.amount[3].checked){document.order.item_number.value="8x10 Print and Mat"};
	if (document.order.amount[5].checked){document.order.item_number.value="13x16 Print and Mat"};
	}

<!-- Photo Info -->
var frameInfo="Matting Options: 8x10 or 13x16 photo, single matted to complement the photograph for a 16x20 inch frame."


function createCookie(name,value,days){
	if (days){
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires;
}

function readCookie(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++){
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
function eraseCookie(name){
	createCookie(name,"",-1);
}

// Show or Hide Divs
var startOpen = "[ - ]";
var startClosed = "[ + ]";
function showHide(id) {
	var e = document.getElementById(id);	
	if(e.style.display == 'none'){
		e.style.display = '';
		startOpen = "[ - ]";
		startClosed = "[ - ]";
		createCookie(id, 'show', '365');
	} else {
		e.style.display = 'none';
		startOpen = "[ + ]";
		startClosed = "[ + ]";
		eraseCookie(id);
	}
}


//Alerts for non-standard sizes or prices...
function standard(){
	if (document.photo.price_change.checked==true && document.photo.size_change.checked==false){ 
		return confirm('You selected non-standard Pricing for this photo.\n Is this okay?');
	}else if (document.photo.size_change.checked==true && document.photo.price_change.checked==false){ 
		return confirm('You selected non-standard Sizing for this photo.\n Is this okay?');
	}else if (document.photo.size_change.checked==true && document.photo.price_change.checked==true){ 
		return confirm('You selected non-standard Sizing AND non-standard Pricing for this photo.\n Is this okay?');
	}
} 


//Include scripts on the fly
function include_js(script_filename) {
    var html_doc = document.getElementsByTagName('head').item(0);
    var js = document.createElement('script');
    js.setAttribute('language', 'javascript');
    js.setAttribute('type', 'text/javascript');
    js.setAttribute('src', script_filename);
    html_doc.appendChild(js);
    return false;
}


//AUTO RE-SIZE iFRAME (works in non-gecko browsers)
function autoIframe(frameId){
	frame = document.getElementById(frameId);
	innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;
	objToResize = (frame.style) ? frame.style : frame;
	objToResize.height = innerDoc.body.scrollHeight + 20;
}

//CHECKS TO SEE IF LARGE SIZE ALLOWED ... BLOCKS ADMIN ENTRY FIELDS IF SO
function prevent_large(){
	if (document.photo.fuji.checked){
		document.photo.large.disabled = true;
		document.photo.large_matted.disabled = true;
		document.photo.large_size.disabled = true;
	} else {
		document.photo.large.disabled = false;
		document.photo.large_matted.disabled = false;
		document.photo.large_size.disabled = false;
	}
}
// ENCRYPT AND REVERSE STRING
function enc_rev(inp) { 
    var match = document.getElementById('nobots').value
    var inp = inp 
    var outp = ""
    var outp2 = ""

    for (i = 0; i <= inp.length; i++) { 
        outp = inp.charAt (i) + outp 
    }
 
    outp = hex_md5(outp);
    outp2 = hex_md5(match);
    
    if (outp == outp2){
        alert('Correct!');
    } else {
        alert('Try again...\nAll letters (a-z) are lowercase, and numbers 0-9\nEnter the sequence in REVERSE order.');
    }
} 

// SEXYBOX
function $(v) { return(document.getElementById(v)); }
function $S(v) { return($(v).style); }
function agent(v) { return(Math.max(navigator.userAgent.toLowerCase().indexOf(v),0)); }
function isset(v) { return((typeof(v)=='undefined' || v.length==0)?false:true); }
function XYwin(v) { var z=agent('msie')?Array(document.body.clientHeight,document.body.clientWidth):Array(window.innerHeight,window.innerWidth); return(isset(v)?z[v]:z); }

function sexyTOG() { 
	document.onclick=function(){ 
		$S('sexyBG').display='none'; 
		$S('sexyBOX').display='none'; 
		document.onclick=function(){}; 
	} 
}
function sexyBOX(v,b,l) { 
	setTimeout("sexyTOG()",100); 
	$S('sexyBG').height=XYwin(0)+'px'; 
	$S('sexyBG').display='block'; 
	$('sexyBOX').innerHTML=v+'<div class="sexyX">(click outside box to close)'+"<\/div>"; 
	$S('sexyBOX').left=l; 
	$S('sexyBOX').width=b+'px'; 
	$S('sexyBOX').display='block'; 
}

///////////////////////////////////////////////////////////////
//PRELOAD (FROM MORE... PAGE)
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_nbGroup(event, grpName) { //v3.0
var i,img,nbArr,args=MM_nbGroup.arguments;
if (event == "init" && args.length > 2) {
if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
nbArr[nbArr.length] = img;
for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
} else if (event == "over") {
document.MM_nbOver = nbArr = new Array();
for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
nbArr[nbArr.length] = img;
}
} else if (event == "out" ) {
for (i=0; i < document.MM_nbOver.length; i++) {
img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
} else if (event == "down") {
if ((nbArr = document[grpName]) != null)
for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
document[grpName] = nbArr = new Array();
for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
}

// SCREENSAVER CHANGE
function change(p) {
	document.movie.src = p
}

function changeText() {
	var Reflected="Reflected Light"
	var NoName="JPP No Names"
	var Names="JPP Names"
}
/////////////////////////////////////////////////////////////
//                      SLIDE DIVS
////////////////////////////////////////////////////////////
/************************************************************************************************************
(C) www.dhtmlgoodies.com, November 2005

This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

************************************************************************************************************/

var dhtmlgoodies_slideSpeed = 15;	// Higher value = faster
var dhtmlgoodies_timer = 5;	// Lower value = faster

var objectIdToSlideDown = false;
var dhtmlgoodies_activeId = false;
var dhtmlgoodies_slideInProgress = false;
function showHideContent(e,inputId)
{
	if(dhtmlgoodies_slideInProgress)return;
	dhtmlgoodies_slideInProgress = true;
	if(!inputId)inputId = this.id;
	inputId = inputId + '';
	var numericId = inputId.replace(/[^0-9]/g,'');
	var answerDiv = document.getElementById('dhtmlgoodies_a' + numericId);

	objectIdToSlideDown = false;
	
	if(!answerDiv.style.display || answerDiv.style.display=='none'){		
		if(dhtmlgoodies_activeId &&  dhtmlgoodies_activeId!=numericId){			
			objectIdToSlideDown = numericId;
			slideContent(dhtmlgoodies_activeId,(dhtmlgoodies_slideSpeed*-1));
		}else{
			
			answerDiv.style.display='block';
			answerDiv.style.visibility = 'visible';
			
			slideContent(numericId,dhtmlgoodies_slideSpeed);
		}
	}else{
		slideContent(numericId,(dhtmlgoodies_slideSpeed*-1));
		dhtmlgoodies_activeId = false;
	}	
}

function slideContent(inputId,direction)
{
	
	var obj =document.getElementById('dhtmlgoodies_a' + inputId);
	var contentObj = document.getElementById('dhtmlgoodies_ac' + inputId);
	height = obj.clientHeight;
	if(height==0)height = obj.offsetHeight;
	height = height + direction;
	rerunFunction = true;
	if(height>contentObj.offsetHeight){
		height = contentObj.offsetHeight;
		rerunFunction = false;
	}
	if(height<=1){
		height = 1;
		rerunFunction = false;
	}

	obj.style.height = height + 'px';
	var topPos = height - contentObj.offsetHeight;
	if(topPos>0)topPos=0;
	contentObj.style.top = topPos + 'px';
	if(rerunFunction){
		setTimeout('slideContent(' + inputId + ',' + direction + ')',dhtmlgoodies_timer);
	}else{
		if(height<=1){
			obj.style.display='none'; 
			if(objectIdToSlideDown && objectIdToSlideDown!=inputId){
				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.display='block';
				document.getElementById('dhtmlgoodies_a' + objectIdToSlideDown).style.visibility='visible';
				slideContent(objectIdToSlideDown,dhtmlgoodies_slideSpeed);				
			}else{
				dhtmlgoodies_slideInProgress = false;
			}
		}else{
			dhtmlgoodies_activeId = inputId;
			dhtmlgoodies_slideInProgress = false;
		}
	}
}



function initShowHideDivs()
{
	var divs = document.getElementsByTagName('DIV');
	var divCounter = 1;
	for(var no=0;no<divs.length;no++){
		if(divs[no].className=='dhtmlgoodies_question'){
			divs[no].onclick = showHideContent;
			divs[no].id = 'dhtmlgoodies_q'+divCounter;
			var answer = divs[no].nextSibling;
			while(answer && answer.tagName!='DIV'){
				answer = answer.nextSibling;
			}
			answer.id = 'dhtmlgoodies_a'+divCounter;	
			contentDiv = answer.getElementsByTagName('DIV')[0];
			contentDiv.style.top = 0 - contentDiv.offsetHeight + 'px'; 	
			contentDiv.className='dhtmlgoodies_answer_content';
			contentDiv.id = 'dhtmlgoodies_ac' + divCounter;
			answer.style.display='none';
			answer.style.height='1px';
			divCounter++;
		}		
	}	
}

//////////////////////////////////////////////////////////////////////////
//      FORM VALIDATE
/////////////////////////////////////////////////////////////////////////
/************************************************************************************************************
(C) www.dhtmlgoodies.com, February 2006

This is a script from www.dhtmlgoodies.com. You will find this and a lot of other scripts at our website.	

Terms of use:
You are free to use this script as long as the copyright message is kept intact. However, you may not
redistribute, sell or repost it without our permission.

Thank you!

www.dhtmlgoodies.com
Alf Magne Kalleland

************************************************************************************************************/	
	
	
// Patterns
var formValidationMasks = new Array();
formValidationMasks['email'] = /\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/gi;	// Email
formValidationMasks['numeric'] = /^[0-9]+$/gi;	// Numeric
formValidationMasks['zip'] = /^[0-9]{5}\-[0-9]{4}$/gi;	// Numeric

var formElementArray = new Array();

/* These two event functions are from http://ejohn.org/apps/jselect/event.html */

function addEvent( obj, type, fn ) { 
  if ( obj.attachEvent ) { 
    obj['e'+type+fn] = fn; 
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );} 
    obj.attachEvent( 'on'+type, obj[type+fn] ); 
  } else 
    obj.addEventListener( type, fn, false ); 
} 
function removeEvent( obj, type, fn ) { 
  if ( obj.detachEvent ) { 
    obj.detachEvent( 'on'+type, obj[type+fn] ); 
    obj[type+fn] = null; 
  } else 
    obj.removeEventListener( type, fn, false ); 
} 


function validateInput(e,inputObj)
{
	if(!inputObj)inputObj = this;		
	var inputValidates = true;
	
	if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='INPUT' && inputObj.value.length==0)inputValidates = false;
	if(formElementArray[inputObj.name]['required'] && inputObj.tagName=='SELECT' && inputObj.selectedIndex==0){
		inputValidates = false;
	}
	if(formElementArray[inputObj.name]['mask'] && !inputObj.value.match(formValidationMasks[formElementArray[inputObj.name]['mask']]))inputValidates = false;

	if(formElementArray[inputObj.name]['freemask']){
		var tmpMask = formElementArray[inputObj.name]['freemask'];
		tmpMask = tmpMask.replace(/-/g,'\\-');
		tmpMask = tmpMask.replace(/S/g,'[A-Z]');
		tmpMask = tmpMask.replace(/N/g,'[0-9]');
		tmpMask = eval("/^" + tmpMask + "$/gi");
		if(!inputObj.value.match(tmpMask))inputValidates = false
	}	
	
	if(formElementArray[inputObj.name]['regexpPattern']){
		var tmpMask = eval(formElementArray[inputObj.name]['regexpPattern']);
		if(!inputObj.value.match(tmpMask))inputValidates = false
	}
	if(!formElementArray[inputObj.name]['required'] && inputObj.value.length==0 && inputObj.tagName=='INPUT')inputValidates = true;
	
	
	if(inputValidates){
		inputObj.parentNode.className='validInput';
	}else{
		inputObj.parentNode.className='invalidInput'
	}
}

function isFormValid()
{
	var spans = document.getElementsByTagName('SPAN');
	for(var no=0;no<spans.length;no++){
		if(spans[no].className=='invalidInput')return false;
	}
	return true;	
}




function initFormValidation()
{
	var inputFields = document.getElementsByTagName('INPUT');
	var selectBoxes = document.getElementsByTagName('SELECT');
	
	var inputs = new Array();
	
	
	for(var no=0;no<inputFields.length;no++){
		inputs[inputs.length] = inputFields[no];
		
	}	
	for(var no=0;no<selectBoxes.length;no++){
		inputs[inputs.length] = selectBoxes[no];
		
	}
	
	for(var no=0;no<inputs.length;no++){
		var className = inputs[no].parentNode.className;
		if(className && className.indexOf('validInput')>=0)continue;			
		var required = inputs[no].getAttribute('required');
		if(!required)required = inputs[no].required;		
		
		var mask = inputs[no].getAttribute('mask');
		if(!mask)mask = inputs[no].mask;
		
		var freemask = inputs[no].getAttribute('freemask');
		if(!freemask)freemask = inputs[no].freemask;
		
		var regexpPattern = inputs[no].getAttribute('regexpPattern');
		if(!regexpPattern)regexpPattern = inputs[no].regexpPattern;
		
		var span = document.createElement('SPAN');
		span.className = 'invalidInput';
		inputs[no].parentNode.insertBefore(span,inputs[no]);
		span.appendChild(inputs[no]);
		span.style.width = inputs[no].offsetWidth + 'px';
		
		addEvent(inputs[no],'blur',validateInput);
		addEvent(inputs[no],'change',validateInput);
		addEvent(inputs[no],'paste',validateInput);
		addEvent(inputs[no],'keyup',validateInput);
		
	
		formElementArray[inputs[no].name] = new Array();
		formElementArray[inputs[no].name]['mask'] = mask;
		formElementArray[inputs[no].name]['freemask'] = freemask;
		formElementArray[inputs[no].name]['required'] = required;
		formElementArray[inputs[no].name]['regexpPattern'] = regexpPattern;

		validateInput(false,inputs[no]);
			
	}	
}

function init_func(){
	initFormValidation();
	initShowHideDivs();	
}
window.onload = init_func;
///////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////
// HIDDEN SUB-MENUS (Cat & Sort...)
function showMe(s,w,h,k){
	e=document.getElementById(s);
	if(e != null){
		var show = "<div onMouseOut=\"closeMe('"+s+"');\"><iframe frameborder=\"0\" id=\"frame\" src=\"includes/"+s+".php?keep="+k+"\" width=\""+w+"\" height=\""+h+"\" border=\"0\"></iframe></div>";
		e.style.display='';
		e.innerHTML = show;
	}
}

function showMeADMIN(s,w,h,k){
	e=document.getElementById(s);
	if(e != null){
		var show = "<div style=\"border:12px ridge #999999; background-color:#444444;\" onClick=\"closeMe('"+s+"');\"><div style=\"cursor:pointer;font-weight:bold;color:#FFAAAA;text-align:right;\">[ X ]</div><iframe frameborder=\"0\" id=\"frame\" src=\"N3Wadmin/"+s+".php?id="+k+"\" width=\""+w+"\" height=\""+h+"\" border=\"0\"></iframe></div>";
		e.style.display='';
		e.innerHTML = show;
	}
}

function closeMe(s){
	document.getElementById(s).style.display='none';
}
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
//
//  GET ELEMENTS BY CLASS NAME (places in array)
//
function getElementsByClassName(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}
/////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////

//
//  Resize All Photo Elements in show_photo.php
//
function resize_photo(size, imgSrc, matColor){
	document.getElementById('holder').innerHTML='<div onContextMenu="delay_func(0); return false;" onMouseOut="cancel_func(\'timer\');" align="center" id="mat1" style="background-color:'+matColor+'; width:'+size+';"><div id="mat2" onMouseOver="delay_func(.25);" align="center" style="width:'+size+'"><img id="photo_img" src="'+imgSrc+'" width="'+size+'" class="photo"></div></div>';
}

//  
function photo_menu(){
	var e1 = document.getElementById('photo_menu_div').style;
	var e2 = document.getElementById('holder').style;
	var e3 = document.getElementById('menu_toggle');
	
	if(e1.display == 'none'){
		e1.display='';
		
		e2.opacity=.2;
		e2.MozOpacity=.2;
		e2.KhtmlOpacity=.2;
		e2.filter = "alpha(opacity=20)";
		
		e3.style.color='#FF9999';
		e3.innerHTML='[ x ]';//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span onClick="createCookie(\'pin_menu\', \'yes\', 365);">[ pin below ]</span>';
		
		if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('photo');}
		
	} else {
		e1.display='none';
		
		e2.opacity=1;
		e2.MozOpacity=1;
		e2.KhtmlOpacity=1;
		e2.filter = "alpha(opacity=100)";
		
		e3.style.color=''
		e3.innerHTML=''
		
		if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('photo');}
	}
}

// Force Menu Closed on Show_photo
function force_menu_closed(){
	var e1 = document.getElementById('photo_menu_div').style;
	var e2 = document.getElementById('holder').style;
	
	e1.display='none';
	
	e2.opacity=1;
	e2.MozOpacity=1;
	e2.KhtmlOpacity=1;
	e2.filter = "alpha(opacity=100)";
	
	if (window.parent && window.parent.autoIframe) {window.parent.autoIframe('photo');}
}

// start timer to allow a slight delay for the show_photo menu
var timer;
function delay_func(time){
	var milisec = time*1000;
	timer = setTimeout('photo_menu()', milisec);
}

// Stops timer from executing, so to prevent unwanted menu pops.
function cancel_func(t){
	clearTimeout(timer);
}

// SHOW_PHOTO's Menu is written to be used with nonJS browsers, this make it prettier if JS is supported
function make_dynamic_menu(){
	var e = document.getElementById('photo_menu_div');
	e.style.display='none'; 
	e.style.position='absolute'; 
	e.style.top='70px'; 
	e.style.left='10px'; 
	e.style.width='881px';
}