
/**************************************************************
Show's and hides the div tag when called by onchange or form checker
********************************************************************/
function show_alert(obj, bool_val)
{
		if (bool_val)
	{
		document.getElementById(obj.id.replace("_required_hidden","_alert")).style.display="block"
	}
	else
	{		
		document.getElementById(obj.id.replace("_required_hidden","_alert")).style.display="none"
	}
	
}
/*************************************************************************
**************************************************************************
**************************************************************************/



/*************************************************************************
***** appends onchange to the user province field         *************
**************************************************************************/
function citylsit_init(value)
{	
	arr_value=value.split(",")
	new_str=String(document.getElementById(arr_value[0]).onchange)
	new_str=new_str.replace(";","")
	new_str=new_str.replace("}",",build_citylist(document.getElementById('" + arr_value[0]  +"').value,'" +  arr_value[1] + "')}")
//	alert('document.getElementById("'+ arr_value[0] +'").onchange =' + new_str+';')
//	document.getElementById("user_province").onchange = function onchange(){ return(validate_con_signin()),build_citylist(document.getElementById("user_province").value,'user_city')}
//alert('document.getElementById("'+ arr_value[0] +'").onchange =' + new_str+';')
	eval('document.getElementById("'+ arr_value[0] +'").onchange =' + new_str+';');

}
/*************************************************************************
**************************************************************************
**************************************************************************/




/*************************************************************************
***** appends onchange to the user category field         *************
**************************************************************************/

function subcat_init(value)
{	
	arr_value=value.split(",")
	new_str=String(document.getElementById(arr_value[0]).onchange)
	new_str=new_str.replace(";","")
	new_str=new_str.replace("}",",build_subcat(document.getElementById('" + arr_value[0]  +"').value,'" +  arr_value[1] + "')}")
//	alert('document.getElementById("'+ arr_value[0] +'").onchange =' + new_str+';')
//	document.getElementById("user_province").onchange = function onchange(){ return(validate_con_signin()),build_citylist(document.getElementById("user_province").value,'user_city')}
//alert('document.getElementById("'+ arr_value[0] +'").onchange =' + new_str+';')
	eval('document.getElementById("'+ arr_value[0] +'").onchange =' + new_str+';');

}
/*************************************************************************
**************************************************************************
**************************************************************************/




/*************************************************************************
**************************************************************************
**************************************************************************/

function form_function(obj,eval_text,array_number)
{
	if (obj.name.search("required")>-1)
	{	
		eval(eval_text)	
		var array_class = new Array()
		array_class=obj.className.split(",")
		
		if(array_class.length>1)
		{
append_str=""
for(zz=1;zz<array_class.length;zz++)
{
append_str += "," + array_class[zz]
}
			
			
			build_function[array_number]+='if (!(' + array_class[0] + '(document.getElementById("' + obj.id.replace("_required_hidden","") + '")' + append_str + '))){msg_alert="Please check form for errors";show_alert(document.getElementById("'+obj.id+'"),true);if ((low_tab==0) || low_tab > document.getElementById("' + obj.id.replace("_required_hidden","") + '").tabIndex){low_tab=document.getElementById("' + obj.id.replace("_required_hidden","") + '").tabIndex;field_id_text=document.getElementById("' + obj.id.replace("_required_hidden","") + '").id};if(first_name==""){first_name=document.getElementById("' + obj.id.replace("_required_hidden","") + '").id};}else{show_alert(document.getElementById("'+obj.id+'"),false);};'
		}
		else
		{
			
			if(obj.className.search("check_email")>-1 || obj.className.search("check_url")>-1)
			{
			build_function[array_number]+='if (!(arguments.callee.caller==null)) {if ((arguments.callee.caller.toString()).search("onsubmit()")>-1){if (!(' + obj.className + '(document.getElementById("' + obj.id.replace("_required_hidden","") + '")))){msg_alert="Please check form for errors";show_alert(document.getElementById("'+obj.id+'"),true);if ((low_tab==0) || low_tab > document.getElementById("' + obj.id.replace("_required_hidden","") + '").tabIndex){low_tab=document.getElementById("' + obj.id.replace("_required_hidden","") + '").tabIndex;field_id_text=document.getElementById("' + obj.id.replace("_required_hidden","") + '").id};if(first_name==""){first_name=document.getElementById("' + obj.id.replace("_required_hidden","") + '").id};}else{show_alert(document.getElementById("'+obj.id+'"),false);};}};'
			}
			else
			{
			build_function[array_number]+='if (!(' + obj.className + '(document.getElementById("' + obj.id.replace("_required_hidden","") + '")))){msg_alert="Please check form for errors";show_alert(document.getElementById("'+obj.id+'"),true);if ((low_tab==0) || low_tab > document.getElementById("' + obj.id.replace("_required_hidden","") + '").tabIndex){low_tab=document.getElementById("' + obj.id.replace("_required_hidden","") + '").tabIndex;field_id_text=document.getElementById("' + obj.id.replace("_required_hidden","") + '").id};if(first_name==""){first_name=document.getElementById("' + obj.id.replace("_required_hidden","") + '").id};}else{show_alert(document.getElementById("'+obj.id+'"),false);};'
			}
		}			

	}
}

/*************************************************************************
**************************************************************************
**************************************************************************/




/*************************************************************************
**************************************************************************
**************************************************************************/


//function to create hidden div message
div_text_array = new Array()
div_text_array[0] = new Array()
function create_div(obj)
{
old_value=""
div_name1=(obj.name.replace("_alert_hidden","")).replace("_required_hidden","")
if (div_name1.search("password")>-1){old_value=document.getElementById(div_name1).value}

var array_calls = new Array()
		array_calls=obj.className.split(",")
		
		if(array_calls.length>1)
		{
        append_str=""
        for(zz=1;zz<array_calls.length;zz++)
        {
            append_str += "," + array_calls[zz]
        }
        
	form_name = obj.form.id
	div_name=(obj.name.replace("_alert_hidden","")).replace("_required_hidden","")
	if (obj.name.search("_required_hidden")>-1)
	{
	obj.parentNode.innerHTML =	obj.parentNode.innerHTML + '<div id="' + div_name + '_alert" style="display:none" class="alert_text">' + obj.value + '</div>'
	}
	else
	{
	obj.parentNode.innerHTML =	obj.parentNode.innerHTML + '<div id="' + div_name + '_alert" style="display:none" class="warning_text">' + obj.value + '</div>'
	}


		if(document.getElementById(obj.id.replace("_required_hidden","").replace("_alert_hidden","")).type=="select-one")
	{
	var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onchange = function onchange(){return(validate_' + form_name + '())}'
	var_onblur+=';document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(validate_' + form_name + '())}'

	}
	else
	{
	if (obj.id.search("alert")>-1 || obj.className.search("check_email")>-1 || obj.className.search("check_url")>-1)
	{
		if (obj.className.search("check_email")>-1 || obj.className.search("check_url")>-1)
		{
			var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(' +	 array_calls[0] + '(this' + append_str + '))}'
		}
			else
		{
			var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(' + array_calls[0] + '(this'+append_str+'))?show_alert(document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'_alert"), false):show_alert(document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'_alert"), true)}'
		}

	}
	else
	{
	var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(validate_' + form_name + '())}'
	
	}
	}

	
	eval(var_onblur)
}
else
{
	form_name = obj.form.id
	div_name=(obj.name.replace("_alert_hidden","")).replace("_required_hidden","")
	if (obj.name.search("_required_hidden")>-1)
	{
	obj.parentNode.innerHTML =	obj.parentNode.innerHTML + '<div id="' + div_name + '_alert" style="display:none" class="alert_text">' + obj.value + '</div>'
	}
	else
	{
	obj.parentNode.innerHTML =	obj.parentNode.innerHTML + '<div id="' + div_name + '_alert" style="display:none" class="warning_text">' + obj.value + '</div>'
	}
	if(document.getElementById(obj.id.replace("_required_hidden","").replace("_alert_hidden","")).type=="select-one")
	{
	var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onchange = function onchange(){return(validate_' + form_name + '())}'
	var_onblur+=';document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(validate_' + form_name + '())}'

	}
	else
	{
	if (obj.id.search("alert")>-1 || obj.className.search("check_email")>-1 || obj.className.search("check_url")>-1)
	{
		if (obj.className.search("check_email")>-1 || obj.className.search("check_url")>-1)
		{
			var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(' +	 obj.className + '(this))}'
		}
			else
		{
			var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(' + obj.className + '(this))?show_alert(document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'_alert"), false):show_alert(document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'_alert"), true)}'
		}

	}
	else
	{
	var_onblur='document.getElementById("'+obj.id.replace("_required_hidden","").replace("_alert_hidden","")+'").onblur = function onblur(){return(validate_' + form_name + '())}'
	
	}
	}

	
	
	eval(var_onblur)

}
if (old_value.length>0){document.getElementById(div_name1).value=old_value}
}




function add_event(event_str, obj, function_str)
{	alert(obj.id)
	eval('old_event=obj.'+event_str+'.toString()')
	old_event=old_event.replace(";","")
	old_event=old_event.replace("}",","+function_str)+'}'
	
	eval('obj.' + event_str + ' = ' + old_event)
}
/*************************************************************************
**************************************************************************
**************************************************************************/



//initalize global variables 
var_check_phone = 0
var_check_postal = 0
var_is_email = 0
var_dropdownlist = 0
var_min_characters = 0
var_check_email = 0
var_check_numeric = 0
var_check_url = 0
var_ischecked = 0
var_confirm_duplicate = 0
var_build_citylist = 0
var_build_subcategory = 0
var var_onsubmit = new Array()
var build_function = new Array()
var_onblur=""
first_submit=0

/*************************************************************************
********beginning of calling of functions and anaylyzing the form*********
**************************************************************************/

//loop for each form on document
for (a=0;a<document.forms.length;a++)
{		
	var_onsubmit[a] = 'document.forms[a].onsubmit = function onsubmit() {return(validate_' + document.forms[a].name + '())}'
	build_function[a] = 'function validate_' + document.forms[a].name + '(){msg_alert="";low_tab=0;first_name="";field_id_text="";if (!(arguments.callee.caller==null)) {if ((arguments.callee.caller.toString()).search("onsubmit()")>-1){first_submit=1}};if (first_submit==0){return false};'

//loop for each element in each form
	for(b=0;b<document.forms[a].length;b++)	
	{	
		//check to see if the type of field is a hidden field
		if(document.forms[a][b].type=="hidden")
		{	/*check the classnames for each function name increment the variable for the javascript call
			also call the form function with each object */
			if(document.forms[a][b].className.search("check_phone")>-1){var_check_phone++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("check_postal")>-1){var_check_postal++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("is_email")>-1){var_is_email++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("dropdownlist")>-1){var_dropdownlist++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("min_characters")>-1){var_min_characters++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("check_email")>-1){var_check_email++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("check_numeric")>-1){var_check_numeric++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("check_url")>-1){var_check_url++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("ischecked")>-1){var_ischecked++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("confirm_duplicate")>-1){var_confirm_duplicate++;create_div(document.forms[a][b]);form_function(document.forms[a][b],var_onsubmit[a],a)}
			if(document.forms[a][b].className.search("build_citylist")>-1){var_build_citylist++;citylsit_init(document.forms[a][b].name)}
			if(document.forms[a][b].className.search("build_subcategory")>-1){var_build_subcategory++;subcat_init(document.forms[a][b].name)}

		}
	}
		build_function[a] += 'if (!(arguments.callee.caller==null)) {if ((arguments.callee.caller.toString()).search("onsubmit()")>-1){if (msg_alert){if(low_tab==0){field_id_text=first_name}alert(msg_alert);document.getElementById(field_id_text).type=="text"?document.getElementById(field_id_text).select():document.getElementById(field_id_text).focus();return false;} return true;}}}'

}

//builds the on submit function for the required fields
for(z=0;z<build_function.length;z++)
{
//	x=window.open()
//	x.document.write(build_function[z])
	eval(build_function[z])
}


//checks for which include files to include
if (var_check_phone >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-phone.js"></script>')}
if (var_check_postal >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-postal.js"></script>')}
if (var_is_email >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-email.js"></script>')}
if (var_dropdownlist >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-drop-list.js"></script>')}
if (var_min_characters >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-min-character-length.js"></script>')}
if (var_check_email >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-dup-email-ajax.js"></script><script language="javascript" src="JS_FUNCTIONS/check-email.js"></script>')}
if (var_check_numeric >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-isnumber.js"></script>')}
if (var_confirm_duplicate >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-two-identical.js"></script>')}
if (var_check_url >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-url-ajax.js"></script>')}
if (var_ischecked >0){document.write('<script language="javascript" src="JS_FUNCTIONS/check-checked-checkbox.js"></script>')}
if (var_build_citylist >0){document.write('<script language="javascript" src="JS_FUNCTIONS/build_citylist.js"></script>');}
if (var_build_subcategory >0){document.write('<script language="javascript" src="JS_FUNCTIONS/build_subcategory.js"></script>');}




















