var vf;

function submitBook(){
	vf = new Array(8);
	vf[0] = new Array("fname", "First Name", 1);
	vf[1] = new Array("lname", "Last Name", 1);
	vf[2] = new Array("psnumber", "PS Number", 1);
	vf[3] = new Array("email", "Email Address", 1);
	vf[4] = new Array("website", "Website", 1);
	vf[5] = new Array("title", "Book Title", 1);
	vf[6] = new Array("category_fk", "Book Category", 1);
	vf[7] = new Array("description", "Book Description", 1);
	
	var ret = false;
	
	if(verifyInfo(null)){
		openIndicator();
		if(document.getElementById('picture_id').value.length > 6){
			ret = true;
		}
		else{
			xajax_submitBook(xajax.getFormValues('cinfo'));
		}
	}
	return ret;
}

function submitContact(){
	vf = new Array(2);
	vf[0] = new Array("name", "Your Name", 1);
	vf[1] = new Array("email", "Your Email Address", 1);
	
	if(verifyInfo(null)){
		openIndicator();
		prepPhone();
		xajax_submitContact(xajax.getFormValues('cinfo'));
	}
	return false;
}

function prepPhone(){
	var c_area = document.getElementById('area_id').value;
	var c_pre = document.getElementById('pre_id').value;
	var c_num = document.getElementById('num_id').value;
	c_area = c_area.trim();
	c_pre = c_pre.trim();
	c_num = c_num.trim();
	document.getElementById('phone_id').value = c_area+'.'+c_pre+'.'+c_num;
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function setDimensions(){
	var pageWidth;
	var pageHeight;
	
	// Firefox
	if( window.innerHeight && window.scrollMaxY ){
		pageWidth = window.innerWidth + window.scrollMaxX;
		pageHeight = window.innerHeight + window.scrollMaxY;
	}
	// all but Explorer Mac
	else if( document.body.scrollHeight > document.body.offsetHeight ){
		pageWidth = document.body.scrollWidth;
		pageHeight = document.body.scrollHeight;
	}
	// works in Explorer 6 Strict, Mozilla (not FF) and Safari
	else{ 
		pageWidth = document.body.offsetWidth + document.body.offsetLeft; pageHeight = document.body.offsetHeight + document.body.offsetTop;
	}
	$('#overlay').height(pageHeight);
	//$('#overlay').width(pageWidth);
}

function openIndicator(ind_text){
	setDimensions();
	$('#overlay').fadeIn("400");
	$('#indicator').fadeIn("400");
}

function closeIndicator(txt){
	$('#overlay').fadeOut("400");
	$('#indicator').fadeOut("400");	
}

function clearWhiteSpace(){
	var txt, i;
	txt = document.getElementsByTagName('input');
	for(i=0; i<txt.length; i++){
		if(txt[i].type == 'text' && txt[i].value.match(/^\s*$/)){
			txt[i].value = '';
		}
	}
}

function delayedSetFocus(){
	if(glbElem != null)
    	glbElem.focus();
}

function verifyInfo(obj_id){
	clearWhiteSpace();
	$(".manageForm label").css('color', 'black');
	var fck = 0;
	first = true;
	var errMsg = "Missing Required Information:";
	var valid = true;
	var item = '';
	var iVal = new String();
	
	for(var i=0;i<vf.length;i++){
		item = document.getElementById(vf[i][0]+"_id");
		iVal = item.value;
		iVal = iVal.trim();
		if(obj_id == 0 || vf[i][2] > 0){
			switch (vf[i][1]){
				case 'email':
					if(! validEmail(iVal)){
						valid = false;
						errMsg += "\n"+vf[i][1];
						$("#"+vf[i][0]+"_lbl").css('color', 'red');
						if(first){
							glbElem = item;
							first = false;
						}
					}
					break;
				case 'phone':
					if(iVal.length != 10){
						valid = false;
			  			errMsg += "\n"+vf[i][1];
			  			$("#"+vf[i][0]+"_lbl").css('color', 'red');
			  			if(first){
			  				glbElem = item;
			    			first = false;
			  			}
					}
					break;
				default :
					if(iVal.length == 0 || iVal == 0){
						valid = false;
			  			errMsg += "\n"+vf[i][1];
			  			$("#"+vf[i][0]+"_lbl").css('color', 'red');
			  			if(first){
			  				glbElem = item;
			    			first = false;
			  			}
					}
					break;
			}
		}
	}
	if(! valid){
		document.getElementById('msg').innerHTML = "Missing Required Information...";
		alert(errMsg);
  		setTimeout('delayedSetFocus()', 100);
	}
	return valid;
}

function validEmail(email){
    var tValid = true;
    if((email.length < 8) ||
        ((email.length>0) && (! email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi)))){
        tValid = false;
        if(first){
            first = false;
            glbElem = email;
        }
    }
    return tValid;
}

function isNumberKey(evt){
    var charCode = (evt.which) ? evt.which : evt.keyCode;
    if (charCode > 31 && (charCode < 48 || charCode > 57)){
        if(charCode == 32 || (charCode >= 44 && charCode <= 46)){
            return true;
        }
        else{
            return false;
        }
    }
    return true;
}