//Error handling Constants 
reg_error_name     		= "Please enter First Name";
reg_error_customer 		= "Please choose any one Customer option";
reg_error_firm   		= "Please enter Firm Name";
reg_error_address		= "Please enter Address";
reg_error_city			= "Please enter City Name";
reg_error_state			= "Please enter State Name";
reg_error_zip			= "Please enter ZIP Code";
reg_error_zip_error		= "Please enter a valid ZIP Code";

reg_error_email_empty    	= "The Email address is empty";
reg_error_email_not_valid 	= "Please enter a valid Email address";

reg_error_phone			= "Please enter Phone Number";
reg_error_phone_error		= "Please enter a valid Phone Number";
reg_error_cellphone		= "Please enter Cell Phone Number";
reg_error_cellphone		= "Please enter a valid  Cell Phone Number";




function getLabelForId(id) {
    var label, labels = document.getElementsByTagName('label');
    for (var i = 0; (label = labels[i]); i++) {
        if (label.htmlFor == id) {
            return label;
        }
    }
    return false;
}



function checkRequired(id) {
    var formfield = document.getElementById(id);
    var label = getLabelForId(id);
    if (formfield.value.length == 0) {
        label.className = 'problem';
    } else {
        label.className = 'completed';
    }
}

addEvent(window, 'load', function() {
    var input;
    var inputs = document.getElementsByTagName('input');
    for (var i = 0; (input = inputs[i]); i++) {
        addEvent(input, 'focus', oninputfocus);
        addEvent(input, 'blur', oninputblur);
    }
    var textareas = document.getElementsByTagName('textarea');
    for (var i = 0; (textarea = textareas[i]); i++) {
        addEvent(textarea, 'focus', oninputfocus);
        addEvent(textarea, 'blur', oninputblur);
    }
});
function oninputfocus(e) {
    /* Cookie-cutter code to find the source of the event */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return;
    }
    /* End cookie-cutter code */
    source.style.border='1px solid #c00';
}
function oninputblur(e) {
    /* Cookie-cutter code to find the source of the event */
    if (typeof e == 'undefined') {
        var e = window.event;
    }
    var source;
    if (typeof e.target != 'undefined') {
        source = e.target;
    } else if (typeof e.srcElement != 'undefined') {
        source = e.srcElement;
    } else {
        return;
    }
    /* End cookie-cutter code */
   // source.style.border='1px solid #ddd';
}
function addEvent(obj, evType, fn){
    if (obj.addEventListener){
        obj.addEventListener(evType, fn, true);
        return true;
    } else if (obj.attachEvent){
        var r = obj.attachEvent("on"+evType, fn);
        return r;
    } else {
        return false;
    }
}
function getLabelForId1(id) {
    var label, labels = document.getElementsByTagName('labelOne');
	//for(var j in labels[0].attributes){
	//	alert(j);
	//}
	alert(labels[0].attributes[0].name);
	alert(labels[0].attributes[0].value);
	alert(labels[0].attributes[1].name);
	alert(labels[0].attributes[1].value);
    for (var i = 0; (label = labels[i]); i++) {
	alert(i+"L"+label+"for="+label.htmlFor);
        if (label.htmlFor == id) {
            return label;
        }
    }
    return false;
}

function checkRequired1(id,name) {
	//alert(id);
    var formfield = document.getElementById(id);
    var label = getLabelForId(id);
	//alert(formfield.value);
    if (formfield.value.length == 0) {
    	//alert(name);
        label.className = 'problem';
        //formfield.style.border='1px solid #c00';
        
    } else {
        label.className = 'completed';
        formfield.style.border='1px solid #ddd';
    }
}



window.onload=function(){

init_box_msg_fields();


//checkCountry('country');
//var label = getLabelForId('general_info');
//label.className = 'problem';

}


//Name
var first_name;
var first_name_label;
var box_first_name;
var msg_first_name;

//customer
var customer;
var customer_label;
var box_customer;
var msg_customer;

//Firm
/*var firm;
var firm_label;
var box_firm;
var msg_firm;
*/

//firm = textfield1
var textfield1;
var textfield1_label;
var box_textfield1;
var msg_textfield1;

//Address
var address1;
var address1_label;
var box_address1;
var msg_address1;

//City
var city;
var city_label;
var box_city;
var msg_city;

//State
var state;
var state_label;
var box_state;
var msg_state;

//Zip
var zip;
var zip_label;
var box_zip;
var msg_zip;

//email
var email;
var email_label;
var box_email;
var msg_email;

//Phone
var phone;
var phone_label;
var box_phone;
var msg_phone;

//CellPhone
/*var cellphone;
var cellphone_label;
var box_cellphone;
var msg_cellphone;
*/

//general_info
var general_info;
var general_info_label;
var box_general_info;
var msg_general_info;


//Cell Phone= textfield2
var textfield2;
var textfield2_label;
var box_textfield2;
var msg_textfield2;


function init_box_msg_fields()
{

	first_name = document.getElementById('first_name');
	first_name_label = getLabelForId('first_name');
	box_first_name = document.getElementById('box_first_name');
	msg_first_name = document.getElementById('msg_first_name');
	
	//customer
	//customer = document.getElementById('customer');
/*	customer = document.getElementsByName("customer");
	customer_label = getLabelForId('customer');
	box_customer= document.getElementById('box_customer');
	msg_customer = document.getElementById('msg_customer');
*/

	//firm
/*	firm = document.getElementById('firm');
	firm_label = getLabelForId('firm');
	box_firm= document.getElementById('box_firm');
	msg_firm = document.getElementById('msg_firm');
*/


	//firm = textfield1
	textfield1 = document.getElementById('textfield1');
	textfield1_label = getLabelForId('textfield1');
	box_textfield1 = document.getElementById('box_textfield1');
	msg_textfield1 = document.getElementById('msg_textfield1');
	

	//Address
	address1 = document.getElementById('address1');
	address1_label = getLabelForId('address1');
	box_address1 = document.getElementById('box_address1');
	msg_address1 = document.getElementById('msg_address1');	


	//City
	city = document.getElementById('city');
	city_label = getLabelForId('city');
	box_city = document.getElementById('box_city');
	msg_city = document.getElementById('msg_city');


	//State
	state = document.getElementById('state');
	state_label = getLabelForId('state');
	box_state = document.getElementById('box_state');
	msg_state = document.getElementById('msg_state');	


	//Zip
	zip = document.getElementById('zip');
	zip_label = getLabelForId('zip');
	box_zip = document.getElementById('box_zip');
	msg_zip = document.getElementById('msg_zip');		

	
	//email
	email = document.getElementById('email');
	email_label = getLabelForId('email');
	box_email= document.getElementById('box_email');
	msg_email = document.getElementById('msg_email');


	//phone
	phone = document.getElementById('phone');
	phone_label = getLabelForId('phone');
	box_phone = document.getElementById('box_phone');
	msg_phone = document.getElementById('msg_phone');	
	

	//cellphone
/*	cellphone = document.getElementById('cellphone');
	cellphone_label = getLabelForId('cellphone');
	box_cellphone = document.getElementById('box_cellphone');
	msg_cellphone = document.getElementById('msg_cellphone');		
*/

	//customer or vendor
	general_info = document.getElementsByName("general_info");
	general_info_label = getLabelForId('general_info');
	box_general_info= document.getElementById('box_general_info');
	msg_general_info = document.getElementById('msg_general_info');
	
	//cellphone = textfield2
	textfield2 = document.getElementById('textfield2');
	textfield2_label = getLabelForId('textfield2');
	box_textfield2 = document.getElementById('box_textfield2');
	msg_textfield2 = document.getElementById('msg_textfield2');


}

function checkName() {
	if (!first_name.disabled) {
		if (first_name.value.length == 0)
		{ 
			first_name.style.border='1px solid #c00';
			first_name_label.className = 'problem';
			box_first_name.style.display     = 'block';
			msg_first_name.innerHTML         = reg_error_name;
			return false;
		}
		else{
			first_name_label.className = 'completed';
			first_name.style.border='1px solid #0C0';
			box_first_name.style.display     = 'none';
			return true;
		}
	}
}

/*
function checkRadio() {
		var i = 0;
		var position=0;
		var selected=false;
		for (i = 0; i < customer.length; i++)
		{
			if (customer[i].checked)
			{	
				position = i;
				i = customer.length + 1;
				//hds_customer[position].style.border='1px solid #0C0';
				selected=true;
			}
		}
		
		if (!selected)
		{
			//hds_customer[position].focus(); 
			//hds_customer[position].style.border='1px solid #c00';
			customer_label.className = 'problem';
			box_customer.style.display     = 'block';
			msg_customer.innerHTML         = reg_error_customer;
			return false;			
		}
		else{
			customer_label.className = 'completed';
			customer[position].style.border='1px solid #0C0';
			box_customer.style.display     = 'none';
			return true;
		}
}
*/

function checkRadio() {
		var i = 0;
		var position=0;
		var selected=false;
		for (i = 0; i < general_info.length; i++)
		{
			if (general_info[i].checked)
			{	
				position = i;
				i = general_info.length + 1;
				//general_info[position].style.border='1px solid #0C0';
				selected=true;
			}
		}
		
		if (!selected)
		{
			//general_info[position].focus(); 
			//general_info[position].style.border='1px solid #c00';
			general_info_label.className = 'problem';
			box_general_info.style.display     = 'block';
			msg_general_info.innerHTML         = reg_error_customer;
			return false;			
		}
		else{
			general_info_label.className = 'completed';
			general_info[position].style.border='1px solid #0C0';
			box_general_info.style.display     = 'none';
			return true;
		}
}



function checkFirm() {
	if (!textfield1.disabled) {
		if (textfield1.value.length == 0)
		{ 
			textfield1.style.border='1px solid #c00';
			textfield1_label.className = 'problem';
			box_textfield1.style.display     = 'block';
			msg_textfield1.innerHTML         = reg_error_firm;
			return false;
		}
		else{
			textfield1_label.className = 'completed';
			textfield1.style.border='1px solid #0C0';
			box_textfield1.style.display     = 'none';
			return true;
		}
	}
}

function checkAddress() {

	if (!address1.disabled) {
		if (address1.value.length == 0)
		{ 
			address1.style.border='1px solid #c00';
			address1_label.className = 'problem';
			box_address1.style.display     = 'block';
			msg_address1.innerHTML         = reg_error_address;
			return false;
		}
		else{
			address1_label.className = 'completed';
			address1.style.border='1px solid #0C0';
			box_address1.style.display     = 'none';
			return true;
		}
	}
}



function checkCity() {

	if (!city.disabled) {
		if (city.value.length == 0)
		{ 
			city.style.border='1px solid #c00';
			city_label.className = 'problem';
			box_city.style.display     = 'block';
			msg_city.innerHTML         = reg_error_city;
			return false;
		}
		else{
			city_label.className = 'completed';
			city.style.border='1px solid #0C0';
			box_city.style.display     = 'none';
			return true;
		}
	}
}



function checkState() {

	if (!state.disabled) {
		if (state.value.length == 0)
		{ 
			state.style.border='1px solid #c00';
			state_label.className = 'problem';
			box_state.style.display     = 'block';
			msg_state.innerHTML         = reg_error_state;
			return false;
		}
		else{
			state_label.className = 'completed';
			state.style.border='1px solid #0C0';
			box_state.style.display     = 'none';
			return true;
		}
	}
}


function checkZip() {

	if (!zip.disabled) { 
	    
	 //   var digits = zip.value.replace(/[^0-9]/ig, '');
	    if (zip.value == "")
	    {
	    	zip.style.border='1px solid #c00';
	    	zip_label.className = 'problem';
	    	box_zip.style.display     = 'block';
	    	msg_zip.innerHTML         = reg_error_zip;
		return false;
	    }
	/*    else if (!digits) {
		zip.style.border='1px solid #c00';
		zip_label.className = 'problem';
		box_zip.style.display     = 'block';
		msg_zip.innerHTML         = reg_error_zip_error;
		return false;
	    }*/
	    
	    else if (zip.value.length >= 3) {
		zip_label.className = 'completed';
		zip.style.border='1px solid #0C0';
		box_zip.style.display     = 'none';
		return true;
	    }  
	    
	    else {
		zip.style.border='1px solid #c00';
		zip_label.className = 'problem';
		box_zip.style.display     = 'block';
		msg_zip.innerHTML         = reg_error_zip_error;
		return false;
	    }

	}    
}



function checkEmail() {
	if (!email.disabled) {
	    if (email.value == "")
	    {
		email.style.border='1px solid #c00';
		email_label.className = 'problem';
		box_email.style.display     = 'block';
		msg_email.innerHTML         = reg_error_email_empty;
		return false;
	    }

	    var multi_email = email.value.split(',');
	    var all = true;
	    for (var i = 0; i < multi_email.length; i++) {
	    
		var email_tmp = multi_email[i];
		
		    if (email_tmp != "" && !email_tmp.match(/^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-.]?[0-9a-zA-Z])*[.][a-zA-Z]{2,3}$/))
		    { 
			/*email.style.border='1px solid #c00';
			email_label.className = 'problem';
			box_email.style.display     = 'block';
			msg_email.innerHTML         = reg_error_email_not_valid;
			return false;
			*/
			all = false;
		    }
		/*    else {
			email_label.className = 'completed';
			email.style.border='1px solid #0C0';
			box_email.style.display     = 'none';
			return true;
		    }
		*/    
    		}//for
    		
    		if(all)
    		{
    			email_label.className = 'completed';
			email.style.border='1px solid #0C0';
			box_email.style.display     = 'none';
			return true;
    		
    		}
    		else{
    		
    			email.style.border='1px solid #c00';
			email_label.className = 'problem';
			box_email.style.display     = 'block';
			msg_email.innerHTML         = reg_error_email_not_valid;
			return false;
    		
    		}
    	
    	}
}



function checkPhone() {

	if (!phone.disabled) { 
	    
	    var digits = phone.value.replace(/[^0-9]/ig, '');
	    if (phone.value == "")
	    {
	    	phone.style.border='1px solid #c00';
	    	phone_label.className = 'problem';
	    	box_phone.style.display     = 'block';
	    	msg_phone.innerHTML         = reg_error_phone;
		return false;
	    }
	    else if (!digits) {
		phone.style.border='1px solid #c00';
		phone_label.className = 'problem';
		box_phone.style.display     = 'block';
		msg_phone.innerHTML         = reg_error_phone_error;
		return false;
	    }
	    else if (digits.length >= 4) {
		phone_label.className = 'completed';
		phone.style.border='1px solid #0C0';
		box_phone.style.display     = 'none';
		return true;
	    }    
	    else {
		phone.style.border='1px solid #c00';
		phone_label.className = 'problem';
		box_phone.style.display     = 'block';
		msg_phone.innerHTML         = reg_error_phone_error;
		return false;
	    }

	}    
}


function checkCellPhone() {

	if (!textfield2.disabled) { 
	    
	    var digits = textfield2.value.replace(/[^0-9]/ig, '');
	    if (textfield2.value == "")
	    {
	    	textfield2.style.border='1px solid #c00';
	    	textfield2_label.className = 'problem';
	    	box_textfield2.style.display     = 'block';
	    	msg_textfield2.innerHTML         = reg_error_cellphone;
		return false;
	    }
	    else if (!digits) {
		textfield2.style.border='1px solid #c00';
		textfield2_label.className = 'problem';
		box_textfield2.style.display     = 'block';
		msg_textfield2.innerHTML         = reg_error_cellphone_error;
		return false;
	    }
	    else if (digits.length >= 4) {
		textfield2_label.className = 'completed';
		textfield2.style.border='1px solid #0C0';
		box_textfield2.style.display     = 'none';
		return true;
	    }    
	    else {
		textfield2.style.border='1px solid #c00';
		textfield2_label.className = 'problem';
		box_textfield2.style.display     = 'block';
		msg_textfield2.innerHTML         = reg_error_cellphone_error;
		return false;
	    }

	}    
}




var check_form_error_obj = null;


function check_form () {
var obj, e;
try {
	if (!checkName()) {
		name.focus();
		return false;
	}else if (!checkRadio()) {
		general_info.focus();
		return false;
	}else if (!checkFirm()) {
		textfield1.focus();
		return false;
	}else if (!checkAddress()) {
		address.focus();
		return false;
	}else if (!checkCity()) {
		city.focus();
		return false;	
	}else if (!checkState()) {
		state.focus();
		return false;
	}else if (!checkZip()) {
		zip.focus();
		return false;
	}else if (!checkEmail()) {
		email.focus();
		return false;
	}else if (!checkPhone()) {
		phone.focus();
		return false;
	}/*else if (!checkCellPhone()) {
		textfield2.focus();
		return false;
	}*/
	else{
		return true;
	}

} catch (e) { check_form_error_obj = obj; return false; }

return false;

}

