﻿//***********************//
//**  Main JavaScript  *//
//*********************//
//
//init
function init(){
    
    //Set elements height
    var mH = ($(window).height() - 164);
    $("#page-body-cont").css("min-height", mH+"px");
}
//
//
//Set style
function setStyle(sElementId, sStyleAtt, sStyleVal){
	$("#"+sElementId).css(sStyleAtt, sStyleVal);
}
//
//Validate Email Address
function validateEmailAddress(sEmailField){
	var emailstring = $("#"+sEmailField).val();
	var ampIndex = emailstring.indexOf("@");
	var afterAmp = emailstring.substring((ampIndex + 1), emailstring.length);
	var dotIndex = afterAmp.indexOf(".");
	dotIndex = dotIndex + ampIndex + 1;
	afterAmp = emailstring.substring((ampIndex + 1), dotIndex);
	var afterDot = emailstring.substring((dotIndex + 1), emailstring.length);
	var beforeAmp = emailstring.substring(0,(ampIndex));
	var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/ 
	if ((emailstring.indexOf("@") != "-1") &&
		(emailstring.length > 5) &&
		(afterAmp.length > 0) &&
		(beforeAmp.length > 1) &&
		(afterDot.length > 1) &&
		(email_regex.test(emailstring)) ) {
		setStyle(sEmailField, "background-color", "#FFF");
		return true;
	} else {
		setStyle(sEmailField, "background-color", "#FFCCCC");
		return false;
	}
}
//
//Validate Text Field
function validateTextField(sFormField){
	if($("#"+sFormField).val().length > 0){
		setStyle(sFormField, "background-color", "#FFF");
		return true;
	}else{
		setStyle(sFormField, "background-color", "#FFCCCC");
		return false;
	}
}
//
//Validate Form
function vailidateForm(reqFields, reqEmailField){
    //var
    var blFirstError = true;
	var valid = false;
	//var reqFields = ["tbName", "tbEmail"];
	var sErrorType = null;
	var sTextError = "Please complete all required fields.";
	var sEmailError = "Please enter a valid e-mail address.";
	//
	//iterate form field
	$.each( $(reqFields), function(i, n){
	  
        //validate
        valid = validateTextField(n);
        
        //Focus 1st error
        if((valid == false) && (blFirstError == true)){
            $("#"+n).focus();
            blFirstError = false;
            sErrorType = "text";
        }
        
	});
	// /iterate form field >
	//
	if(valid == true){
		//validate email field
		valid = validateEmailAddress(reqEmailField);
		if(valid == false){
		    sErrorType = "email";
		}
	}
	//
	//Show error message?
	if(valid == false){
	    var sError = null;
	    if(sErrorType == "text"){
	        sError = sTextError;
		}else if(sErrorType == "email"){
		    sError = sEmailError;
		}
	    //Error!
		$("#FormStatus").empty();
		$("#FormStatus").attr("class", "form-error");
		$("#FormStatus").append(sError);
		$("#FormStatus").show();
	}else{
	    //Success!
		$("#FormStatus").empty();
		$("#FormStatus").attr("class", "form-success");
		$("#FormStatus").append("Processing...");
		$("#FormStatus").show();
	}
	//valid?
	return valid;
}
//
//Handle Form Sent Response
function handleFormSentResponse(responseText, statusText, sFormSentMessage){
	var sReText = responseText;
	if(sReText == "SENT"){
		$("#FormStatus").empty();
		$("#FormStatus").attr("class", "form-success");
		$("#FormStatus").append(sFormSentMessage);
		$("#FormStatus").show();
	}else{
        $("#FormStatus").empty();
        $("#FormStatus").attr("class", "form-error");
        $("#FormStatus").append("Error: sending form, please retry.");
        $("#FormStatus").show();
	}
}
//
//Initialize Lightbox
function initializeLightbox(){
	$('a.lightbox').lightBox({
		imageLoading: '/images/lightbox/lightbox-ico-loading.gif',
		imageBtnClose: '/images/lightbox/lightbox-btn-close.gif',
		imageBtnPrev: '/images/lightbox/lightbox-btn-prev.gif',
		imageBtnNext: '/images/lightbox/lightbox-btn-next.gif'
	});
}
//
//-->