
/*
========================================================
============ Forms- Validator and functions ============ 
========================================================

Files Required: None
Forms should be mapped in http://admin.plasticsurgerystudios.com/

-------------------------------------------------- */

/* CLEAR FORM FUNCTION
-------------------------------------------------- */
function clearText(thefield) {
if (thefield.defaultValue==thefield.value) { thefield.value = "" }
} function replaceText(thefield) {
if (thefield.value=="") { thefield.value = thefield.defaultValue }
}

/* FORM VALIDATOR
-------------------------------------------------- */
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 == '');
} }













$(document).ready(function() {

		
	/* 
	============================================================
	============ Multi-Tiered Dropdowns - Superfish ============ 
	============================================================
	
	Files Required: 
	jquery-1.3.2.min.js
	superfish.js
	
	-------------------------------------------------- */
	
	
	
					$("ul.Nav").superfish({
						delay:         1000,                // the delay in milliseconds that the mouse can remain outside a submenu without it closing 
						animation:     {opacity:'show',height:'show'},   // an object equivalent to first parameter of jQuery’s .animate() method 
						speed:         'normal',           // speed of the animation. Equivalent to second parameter of jQuery’s .animate() method 
						autoArrows:    true                // if true, arrow mark-up generated automatically = cleaner source code at expense of initialisation performance 
					});
	
	
	
	
	
	
	
	
	/* 
	============================================================
	=================== Light box - FancyBox ===================
	============================================================
	
	Files Required: 
	jquery-1.3.2.min.js
	jquery.fancybox-1.3.1.js
	
	Just add the class of fancybox, iframe or inline to any element.
	-------------------------------------------------- */
	
	$("a.fancybox").fancybox({
			'transitionIn'	:	'elastic',
			'transitionOut'	:	'elastic',
			'speedIn'		:	600, 
			'speedOut'		:	200 
		});
	
	
	
	$("a.iframe").fancybox({
					'width'				: '60%',
					'height'			: '75%',
					'autoScale'			: false,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic',
					'type'				: 'iframe'
				});
		
	$("a.inline").fancybox({
					'autoDimensions'    : false,
					'autoScale'			: false,
					'transitionIn'		: 'elastic',
					'transitionOut'		: 'elastic'
				});
	
	
		
	/* 
	============================================================
	============ Image Slideshow- Fading In and Out ============ 
	============================================================
	
	Files Required: 
	jquery-1.3.2.min.js
	jquery.cycle.all.js
	
	-------------------------------------------------- */
		
	$(".Fade").cycle({ 
		fx: "fade",			/* controls transition effect -- see below for more effects */
		speed:  3500,		/* controls speed of transition */	
		pause: 1
	
	});
	
	$(".Shuffle").cycle({ 
		fx: "zoom",			/* controls transition effect -- see below for more effects */
		speed:  4500, 		/* controls speed of transition */	
		pause: 1
	});



});	




// The third party Validate Form
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_validateForm() { //v4.0
  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=MM_findObj(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 == '');
}



