function getDefaultValue(element)
{

	element_name = element.name;
	result = element_name.split('[');
	result = result[1];

	result = result.split(']');
	result = result[0];
	
	
	result_array = result.split('_');
	result = '';
	
	for (i = 0; i < result_array.length; i++){
		current_word = result_array[i];
		result = result + ' ' + current_word.substring(0, 1).toUpperCase() + current_word.substring(1);
	}
	
	result = result.substring(1);
	return result;
}

function clearDefaultValue(element)
{
	if (element.value == getDefaultValue(element)){
		element.style.color = '#000000';
		element.value = '';
	}
}

function returnDefaultValue(element)
{
	if (element.value == ''){
		element.value = getDefaultValue(element);
		element.style.color = '#888888';
	}
}



function toggleTerritoryVisibility()
{
	breakdown = document.getElementById('territory_breakdown');
	div_next = document.getElementById('show_if_no_territory');
	checkbox = document.getElementById('toggle_territory');
	lat_object = document.getElementById('hidden_lat');
	long_object = document.getElementById('hidden_long');
	
	if (breakdown && div_next && checkbox && lat_object && long_object){
		breakdown.style.display = checkbox.checked ? 'block' : 'none';
		div_next.style.display = checkbox.checked ? 'none' : 'block';
		if (checkbox.checked){
			lat = parseFloat(lat_object.value);
			long = parseFloat(long_object.value);
			initialize_gmap(lat, long);
		}
		userFieldCollapser();			
	}
}




function processAjaxDiv(elementToChange, constraintElement)
{
	if ($(elementToChange) && $(constraintElement)){

		elementToEmpty = (elementToChange.substring(4));
		if ($(elementToEmpty)){
			$(elementToEmpty).value = '';
		}
		elementToEmpty = elementToEmpty  + '_id';
		if ($(elementToEmpty)){
			$(elementToEmpty).value = '';
		}
		constraint_value_new = 0;
		if ($(constraintElement).type == 'select-one'){
			dropdownIndex = $(constraintElement).selectedIndex;
			constraint_value_new = parseInt($(constraintElement)[dropdownIndex].value);
		}else{
			constraint_value_new = parseInt($(constraintElement).value);
		}
		if (isNaN(constraint_value_new)){
			constraint_value_new = 0;
		}
		baseHTML = $(elementToChange).innerHTML;

		div_start = baseHTML.indexOf('<div');
		if (div_start < 0) div_start = baseHTML.indexOf('<DIV');
		div_middle = baseHTML.indexOf('>', div_start) + 1;
		div_end = baseHTML.indexOf('</div>');
		if (div_end < 0) div_end = baseHTML.indexOf('</DIV>');
		
		scriptHTML = baseHTML.substring(div_end);
		
		constraint_value_start = scriptHTML.indexOf('constraint_value');
		constraint_value_middle = scriptHTML.indexOf('/', constraint_value_start) + 1;
		constraint_value_end = scriptHTML.indexOf('/', constraint_value_middle);
		
		constraint_value_old = scriptHTML.substring(constraint_value_middle, constraint_value_end);
		
		scriptHTML = scriptHTML.substring(0, constraint_value_middle) + constraint_value_new + scriptHTML.substring(constraint_value_end);
		
		divHTML_new = baseHTML.substring(0, div_middle) + scriptHTML;

//		divHTML_new = baseHTML;

//		$(elementToChange).innerHTML = divHTML_new;
		


/*

// VIEW SOURCE
<input type="text" name="user_profile[office_city]" value="" onchange="$(user_profile_office_city_id).value = null;" id="user_profile_office_city" /><div id="user_profile_office_city_auto_complete" class="auto_complete"></div><script type="text/javascript">
//<![CDATA[
new Ajax.Autocompleter('user_profile_office_city', 'user_profile_office_city_auto_complete', '/dev.php/main/autocomplete/table_1/lookup_city/column_1/name/constraint_column/state_id/parent_control/office_state_id/form_name/user_profile/constraint_value/default/control_id/user_profile%5Boffice_city%5D', {afterUpdateElement:function (inputField, selectedItem) { $('user_profile_office_city_id').value = selectedItem.id; }, frequency:0.1});
//]]>
</script>

//OLD INNERHTML

<input autocomplete="off" name="user_profile[office_city]" value="" onchange="$(user_profile_office_city_id).value = null;" id="user_profile_office_city" type="text"><div style="display: none;" id="user_profile_office_city_auto_complete" class="auto_complete"></div><script type="text/javascript">
//<![CDATA[
new Ajax.Autocompleter('user_profile_office_city', 'user_profile_office_city_auto_complete', '/dev.php/main/autocomplete/table_1/lookup_city/column_1/name/constraint_column/state_id/parent_control/office_state_id/form_name/user_profile/constraint_value/default/control_id/user_profile%5Boffice_city%5D', {afterUpdateElement:function (inputField, selectedItem) { $('user_profile_office_city_id').value = selectedItem.id; }, frequency:0.1});
//]]>
</script>

// NEW INNERHTML
<input autocomplete="off" name="user_profile[office_city]" value="" onchange="$(user_profile_office_city_id).value = null;" id="user_profile_office_city" type="text"><div style="display: none;" id="user_profile_office_city_auto_complete" class="auto_complete"></div><script type="text/javascript">
//<![CDATA[
new Ajax.Autocompleter('user_profile_office_city', 'user_profile_office_city_auto_complete', '/dev.php/main/autocomplete/table_1/lookup_city/column_1/name/constraint_column/state_id/parent_control/office_state_id/form_name/user_profile/constraint_value/5/control_id/user_profile%5Boffice_city%5D', {afterUpdateElement:function (inputField, selectedItem) { $('user_profile_office_city_id').value = selectedItem.id; }, frequency:0.1});
//]]>
</script>

*/
	}
}

function clear_equipment(){
	check_disabled = document.getElementById('user_profile_no_equipment').checked ? 'disabled' : '';

	document.getElementById('user_profile_infrared').checked = false;
	document.getElementById('user_profile_blower').checked = false;
	document.getElementById('user_profile_duct').checked = false;
	document.getElementById('user_profile_combustion').checked = false;

	document.getElementById('user_profile_infrared').disabled = check_disabled;
	document.getElementById('user_profile_blower').disabled = check_disabled;
	document.getElementById('user_profile_duct').disabled = check_disabled;
	document.getElementById('user_profile_combustion').disabled = check_disabled;

}

function display_active_trade(trade_id)
{
	job_types = document.getElementsByName('job_type_radius[user_job_type_list][]');
	last_parent_id = 0;
	for (var job_type_counter = 0; job_type_counter < job_types.length; job_type_counter++) {
		job_type_id = job_types[job_type_counter].value;
		parent_id = document.getElementById('job_type_parent_' + job_type_id).value;
		if (parent_id != last_parent_id)
		{
			parent_object = document.getElementById('trade_' + parent_id);
			//if (parent_object) parent_object.className = trade_id == parent_id ? 'tradeTitleActive' : 'tradeTitle';
			last_parent_id = parent_id;
		}
		if(document.getElementById('li_job_type_' + job_type_id).style.display != 'block')
		{
			document.getElementById('li_job_type_' + job_type_id).style.display = (trade_id == parent_id ? 'block' : 'none');
			if(trade_id == parent_id)
			{
				parent_object.className = 'tradeTitleActive';
				document.getElementById('close_' + parent_id).style.display = 'inline';
			}
		}
		else if(document.getElementById('li_job_type_' + job_type_id).style.display == 'block'  && trade_id == parent_id)
		{
			document.getElementById('li_job_type_' + job_type_id).style.display = 'none';
			parent_object.className = 'tradeTitle';
			document.getElementById('close_' + parent_id).style.display = 'none';
		}
		
	}

}

function showElementIfExists(element, displayStyle)
{
	if (document.getElementById(element))
	{
		document.getElementById(element).style.display = displayStyle;
	}
}


function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+','+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function userFieldCollapser()
{
	obj = document.getElementById('job_type_radius_radius');
	if (obj){
		radius_shown = true;
		selectedOption = obj.options[obj.selectedIndex].value;
	}else{
		radius_shown = false;
		selectedOption = 'NATIONAL';
	}
	
	if (document.getElementById('total_fee_amount')){

		include_directory = 1;
		checkbox = document.getElementById('toggle_territory');
		
		if (checkbox){
		
			if (!checkbox.checked) include_directory = 0;
		}
		

		increment_fee = parseFloat(document.getElementById('hidden_increment_fee'));
		m_annual_fee = parseFloat(document.getElementById('hidden_m_annual_fee').value);
		d_annual_fee = parseFloat(document.getElementById('hidden_d_annual_fee').value);
		m_deduction = parseFloat(document.getElementById('hidden_m_deduction').value);
		d_deduction = parseFloat(document.getElementById('hidden_d_deduction').value);
		if (!include_directory) d_annual_fee = 0;

		m_basic_setup_fee = parseFloat(document.getElementById('hidden_m_basic_setup_fee').value);
		d_basic_setup_fee = parseFloat(document.getElementById('hidden_d_basic_setup_fee').value);
		if (!include_directory) d_basic_setup_fee = 0;

		m_trade_setup_fee = parseFloat(document.getElementById('hidden_m_trade_setup_fee').value);
		d_trade_setup_fee = parseFloat(document.getElementById('hidden_d_trade_setup_fee').value);
		if (!include_directory) d_trade_setup_fee = 0;

		increment_fee = parseFloat(document.getElementById('hidden_increment_fee').value);
		state_fee = parseFloat(document.getElementById('hidden_state_fee').value);
		additional_state_fee = parseFloat(document.getElementById('hidden_additional_state_fee').value);
		national_fee = parseFloat(document.getElementById('hidden_national_fee').value);
		m_default_additional_trade_fee = parseFloat(document.getElementById('hidden_m_default_additional_trade_fee').value);
		m_count_of_trades_included = parseFloat(document.getElementById('hidden_m_count_of_trades_included').value);
		d_default_additional_trade_fee = parseFloat(document.getElementById('hidden_d_default_additional_trade_fee').value);
		if (!include_directory) d_default_additional_trade_fee = 0;

		d_count_of_trades_included = parseFloat(document.getElementById('hidden_d_count_of_trades_included').value);
		if (!include_directory) d_deduction = 0;

		// d_basic_setup_fee will be included after evaluating radius
		setup_fee = m_annual_fee + d_annual_fee + m_basic_setup_fee + m_trade_setup_fee + d_trade_setup_fee;
		
		selected_states_count = 0;
		if (radius_shown){
			obj = document.getElementById('job_type_radius_office_state_id');
			for (var i = 0; i < obj.length; i++) { 
				if (obj.options[i].selected) { 
					selected_states_count += 1; 
				} 
			} 
			if (selected_states_count == 0) selected_states_count = 1;
		}

		job_type_fee = 0;
		trade_count = 0;
		job_types = document.getElementsByName('job_type_radius[user_job_type_list][]');

		parent_array = Array();
		parent_fees = Array();
		
		parent_count = 0;
		for (var job_type_counter = 0; job_type_counter < job_types.length; job_type_counter++) {
			job_type = job_types[job_type_counter];
			if (job_type.checked){
				id_array = job_type.id.split('_');
				job_type_id = id_array[id_array.length - 1];
				parent_id = document.getElementById('job_type_parent_' + job_type_id).value;
				m_price = parseFloat(document.getElementById('m_price_' + job_type_id).value);
				d_price = parseFloat(document.getElementById('d_price_' + job_type_id).value);
				if (!include_directory) d_price = 0;
				
				if (isNaN(m_price)) m_price = m_default_additional_trade_fee;
				if (isNaN(d_price)) d_price = d_default_additional_trade_fee;

				parent_found = false;
				for (var parent_counter = 0; parent_counter < parent_array.length; parent_counter++) {
					if (parent_id == parent_array[parent_counter]) parent_found = true;
				}

				if (!parent_found){
					charge_only_highest = parseInt(document.getElementById('charge_only_highest_' + job_type_id).value);
					m_price_array = Array();
					d_price_array = Array();
					trade_array = Array();
					parent_array.push(parent_id);
					parent_count = parent_count + 1;
					if (parent_id != 0){
						parent_fees[parent_count - 1] = 0;
						if (parent_count > m_count_of_trades_included) parent_fees[parent_count - 1] += m_default_additional_trade_fee;
						if (parent_count > d_count_of_trades_included) parent_fees[parent_count - 1] += d_default_additional_trade_fee;
					}
				}
				if (parent_id == 0){
					trade_count = trade_count + 1;
					m_price_array[job_type_id] = m_price;
					d_price_array[job_type_id] = d_price;
					trade_array.push(job_type_id);
					parent_fees[parent_count - 1] = 0;
					for (var trade_counter = 0; trade_counter < trade_array.length; trade_counter++) {
						current_id = trade_array[trade_counter];
						current_price = m_price_array[current_id] + d_price_array[current_id];
						if (charge_only_highest){
							if (current_price > parent_fees[parent_count - 1]) parent_fees[parent_count - 1] = current_price;
						}else{
							parent_fees[parent_count - 1] += current_price;
						}
					}
				}
			}
		}
		
		for (var fee_counter = 0; fee_counter < parent_fees.length; fee_counter++) {
			job_type_fee += parent_fees[fee_counter];
		}
		// d_basic_setup_fee
		radius_fee = 0;

		if (radius_shown){
			if (selectedOption == 'STATE') radius_fee = state_fee + (selected_states_count - 1) * additional_state_fee;
			if (selectedOption == 'NATIONAL') radius_fee = national_fee;
			if (radius_fee == 0) radius_fee = d_basic_setup_fee + increment_fee * document.getElementById('job_type_radius_radius').selectedIndex;
		}
		if (!include_directory) radius_fee = 0;

		result =  job_type_fee + radius_fee + setup_fee - m_deduction - d_deduction;
		if (result < 1) result = 0;
		result = formatCurrency(result);
		job_type_fee = formatCurrency(job_type_fee);
		radius_fee = formatCurrency(radius_fee);
	
	//	o2 = document.getElementById('trade_fee_amount');
		if(document.getElementById('trade_fee_amount') != null)
			document.getElementById('trade_fee_amount').innerHTML = job_type_fee;
		if(document.getElementById('trade_fee_amount_bottom') != null)
			document.getElementById('trade_fee_amount_bottom').innerHTML = job_type_fee;
		if(document.getElementById('territory_fee_amount') != null)	
			document.getElementById('territory_fee_amount').innerHTML = radius_fee;
		if(document.getElementById('territory_fee_amount_bottom') != null)	
			document.getElementById('territory_fee_amount_bottom').innerHTML = radius_fee;
		if(document.getElementById('total_fee_amount') != null)	
			document.getElementById('total_fee_amount').innerHTML = result;
		if(document.getElementById('total_fee_amount_bottom') != null)	
			document.getElementById('total_fee_amount_bottom').innerHTML = result;
	}
	

	state_display = (selectedOption == 'STATE') ? '' : 'none';
	zip_display = (selectedOption == 'STATE') ? 'none' : '';

	showElementIfExists('error_office_postal_code_holder', zip_display);
	showElementIfExists('error_hidden_state_id_holder', state_display);
	showElementIfExists('error_office_state_id_holder', state_display);
	showElementIfExists('office_state_id_holder', state_display);
	
}

function copyBToSAdmin()
{
	var billing  = document.getElementById('billingForm');
	var shipping = document.getElementById('shippingForm');
	
	for (i=0; i<billing.childNodes.length; i++){
		if (billing.childNodes[i].nodeName == 'UL')
		{
			bUL = billing.childNodes[i];
		}
	}

	for (i=0; i<bUL.childNodes.length; i++){
		if (bUL.childNodes[i].tagName == 'LI' && bUL.childNodes[i].childNodes[0].nodeName != 'STRONG'){
			if (bUL.childNodes[i].childNodes[2].nodeName == 'INPUT' || bUL.childNodes[i].childNodes[2].nodeName == 'SELECT'){
				bFormEl = bUL.childNodes[i].childNodes[2];
			} else {
				bFormEl = bUL.childNodes[i].childNodes[1];
			}
			
			if ((bFormEl.tagName == "INPUT" || bFormEl.tagName == "SELECT") && bFormEl.id != "billing_email" && bFormEl.id != "billing_company_name"){
				bFormElId = bFormEl.id;
				if (sFormEl == document.getElementById(bFormElId.replace('billing', 'shipping'))) {
					sFormEl.value = bFormEl.value;
				}
			}
		}
	}
}
function addListener(element, type, listener, capture)
{
	if (capture == undefined){
		capture = false;
	}
	if (element.addEventListener){
		element.addEventListener(type, listener, capture);
	}else{
		element.attachEvent('on' + type, listener);
	}
}

function removeListener(element, type, listener, capture)
{
	if (capture == undefined){
		capture = false;
	}
	if (element.removeEventListener){
		element.removeEventListener(type, listener, capture);
	}else{
		element.detachEvent('on' + type, listener);
	}
}

function getTrigger(e, target)
{
	e = (e) ? e : (window.event) ? window.event : "";
	var element;
	if (e.currentTarget){
		element = e.currentTarget;
	}else if (e.srcElement){
		element = e.srcElement;
	}else if (e.target){
		element = e.target;
	}else if (e.fromElement){
		element = e.fromElement;
	}else{
		element = (e.target) ? e.target : e.srcElement;
	}
	if (element.nodeType == 3){ // Safari bug
		element = element.parentNode;
	}
	if (target != undefined){
		while (element.nodeName.toLowerCase() != target && element.parentNode){
			element = element.parentNode;
		}
	}
	return element;
}


function getIndex (arr, arrItem)
{
	for (var i = 0; i < arr.length; i++){
		if (arr[i] == arrItem) return i;
	}
	return -1;
}

function generateId(prefix, ln)
{
	if (prefix == undefined) prefix = 'gid';
	if (ln == undefined) ln = 10;
	var str = 'abcdefghijklmnopqrstuvwxyz';
	var newid = prefix;
	while(newid.length < (ln + 1)){
		newid += str.charAt(randomMax(str.length - 1));
	}
	return newid;
}

function randomMax(maxVal,asFloat)
{
	var val = Math.random()*maxVal;
	return asFloat?val:Math.round(val);
}

function debugObj(obj, from, to)
{
	if (from == undefined) from = 0;
	if (to == undefined) to = 999999;
	var buffer = '';
	var s = 0;
	for (var xx in obj){
		s++
		if (from < s < to){
			var val = eval('obj.' + xx);
			buffer += xx + ': ' + val + "\n";
			if (typeof(val) == 'object'){
				for (var yy in val){
					buffer += '  - ' + yy + ': ' + eval('val.' + yy) + "\n";
				}
			}
		}
	}
	return buffer;
}

function send_mail(email, subject)
{
	var str = email;
	str = str.replace("[*et*]", "@");
	str = str.replace("[*dt*]", ".");
	str = str.replace("[*dt*]", ".");
	
	if(subject != undefined) {
		var sbj = '?Subject='+subject;
	} else {
		var sbj = '';
	}

	window.location='mailto: ' + str + sbj;
}

function setDivPosition(id, l, t)
{
	var divObj = document.getElementById(id);
	if (l == 'c'){
		if (divObj.style.width){
			divW = divObj.style.width;
		}else{
			divW = "240px";
		}
		if (document.all){
			l = parseInt(parseInt(document.body.clientWidth) / 2) - (parseInt(divW) / 2);
		}else{
			l = parseInt(parseInt(window.innerWidth) / 2) - (parseInt(divW) / 2);
		}
	}
	if (t == 'c'){
		var divH;
		if (divObj.style.height){
			divH = divObj.style.height;
		}else{
			divH = "100px";
		}
		if (document.all){
			t = parseInt(parseInt(document.body.clientHeight) / 2) - (parseInt(divH) / 2);
		}else{
			t = parseInt(parseInt(window.innerHeight) / 2) - (parseInt(divH) / 2);
		}
	}
	if (l == 'mouse'){
		if (window.event){
			l = window.event.x;
			t = window.event.y;
		}else{
			l = t.pageX;
			t = t.pageY;
		}
	}
	document.getElementById(id).style.left = l + 'px';
	document.getElementById(id).style.top = t + 'px';
}

function toggleVisibility(id)
{
	var obj = document.getElementById(id);
	if (!obj.style.display){
		obj.style.display = '';
	}
	if (obj.style.display == 'none'){
		obj.style.display = '';
	}else{
		obj.style.display = 'none';
	}
}

function makeVisible(obj)
{
	var caller = obj.previousSibling;
	if (!obj.style){
		obj = obj.nextSibling;
	}
	obj.style.display = '';
}

function makeInvisible(obj)
{
	var caller = obj.previousSibling;
	if (!obj.style){
		obj = obj.nextSibling;
	}
	obj.style.display = 'none';
}

function hideVisible(id)
{
	var obj = document.getElementById(id);
	obj.style.display = 'none';
}

function showInvisible(id)
{
	var obj = document.getElementById(id);
	obj.style.display = '';
}

function ehColapse(lnk)
{
	var content = lnk.parentNode.parentNode.nextSibling;
	var filterLnk = lnk.previousSibling;
	while (content.className == undefined){
		content = content.nextSibling;
	}
	while (filterLnk.className == undefined){
		filterLnk = filterLnk.previousSibling;
	}
	var filter = s$$$('.elementFilter', content)[0];
	var table = s$$('table', content)[0];
	if (!table.style.display){
		table.style.display = '';
	}
	if (table.style.display == 'none'){
		table.style.display = '';
		lnk.className = 'colapse';
	}else{
		table.style.display = 'none';
		if (filter){
			if (filter.style.display != 'none'){
				ehFilter(filterLnk);
			}
		}
		lnk.className = 'expand';
	}
}

function ehFilter(lnk)
{
	var content = lnk.parentNode.parentNode.nextSibling;
	var colapseLnk = lnk.nextSibling;
	while (content.className == undefined){
		content = content.nextSibling;
	}
	while (colapseLnk.className == undefined){
		colapseLnk = colapseLnk.nextSibling;
	}
	var filter = s$$$('.elementFilter', content)[0];
	var table = s$$('table', content)[0];
	if (!filter.style.display){
		filter.style.display = '';
	}
	if (filter.style.display == 'none'){
		filter.style.display = '';
		lnk.className = 'filterOn';
		if (table.style.display == 'none'){
			ehColapse(colapseLnk);
		}
	}else{
		filter.style.display = 'none';
		lnk.className = 'filter';
	}
}

function ehFilterInit()
{
	var filters = s$$$('.elementFilter');
	for (var i = 0; i < filters.length; i++){
		var filter = filters[i];
		if (!filter.style.display){
			filter.style.display = '';
		}
		if (filter.style.display != 'none'){
			var header = filter.parentNode.previousSibling;
			while (header.className == undefined){
				header = header.previousSibling;
			}
			var filterLnk = s$$$('.filter', header)[0];
			filterLnk.className = 'filterOn';
		}
	}
}

//---FORM HIGHLIGHT->>

var formHL_historyClass;

function attachFormHL()
{
	var fields = document.getElementsByTagName('input');
	for (var i = 0; i < fields.length; i++){
		if (fields[i].type != 'radio' && fields[i].type != 'checkbox' && fields[i].type != 'button' && fields[i].type != 'submit' && fields[i].type != 'file' && fields[i].className != 'textInput' && fields[i].className != 'calc' && fields[i].className != 'calc_error'){
			addListener(fields[i], 'focus', FC, true);
			addListener(fields[i], 'blur', BL, true);
		}else{
			if ((fields[i].type == 'button' || fields[i].type == 'submit') && fields[i].className == 'butt'){
				addListener(fields[i], 'mouseover', overButt, true);
				addListener(fields[i], 'mouseout', outButt, true);
			}
			if ((fields[i].type == 'button' || fields[i].type == 'submit') && fields[i].className == 'cancel'){
				addListener(fields[i], 'mouseover', overCancel, true);
				addListener(fields[i], 'mouseout', outCancel, true);
			}
		}
	}
	fields = document.getElementsByTagName('select');
	for (var i = 0; i < fields.length; i++){
		if (document.all){
			addListener(fields[i], 'focusin', FC, true);
		}else{
			addListener(fields[i], 'focus', FC, true);
		}
		addListener(fields[i], 'blur', BL, true);
	}
	fields = document.getElementsByTagName('textarea');
	for (var i = 0; i < fields.length; i++){
		addListener(fields[i], 'focus', FC, true);
		addListener(fields[i], 'blur', BL, true);
	}
}

function FC(e)
{
	var field = getTrigger(e);
	formHL_historyClass = field.className;
	field.className = 'focus';
}

function BL(e)
{
	var field = getTrigger(e);
	field.className = formHL_historyClass;
}

function overButt(e)
{
	var btn = getTrigger(e);
	btn.className = 'buttHover';
}

function outButt(e)
{
	var btn = getTrigger(e);
	btn.className = 'butt';
}

function overCancel(e)
{
	var btn = getTrigger(e);
	btn.className = 'cancelHover';
}

function outCancel(e)
{
	var btn = getTrigger(e);
	btn.className = 'cancel';
}

//<<-FORM HIGHLIGHT---

//---TABLE HIGHLIGHT->>

var tableHL_historyClass;
var tableHL_tableClass = 'dataList';
var tableHL_hiLiteClass = 'hilite';
var tableHL_historyHit;
var tableHL_historyHitClass;
var tableHL_hitClass = 'hit';

function tableHL(tableClass, hit){
	if (tableClass == undefined) tableClass = tableHL_tableClass;
	if (hit == undefined) hit = false;
	var trs = document.getElementsByTagName('tr');
	var s = 0;
	for (var i = 0; i < trs.length; i++){
		if (trs[i].parentNode.parentNode.className == tableClass){
			addListener(trs[i], "mouseover", hiliteRow, true);
			addListener(trs[i], "mouseout", unhiliteRow, true);
			if (hit){
				addListener(trs[i], "click", hitRow, true);
			}
			s++;
		}
	}
}

function hiliteRow(e){
	var element = getTrigger(e,'tr');
	tableHL_historyClass = element.className;
	element.className = tableHL_hiLiteClass;
}

function unhiliteRow(e){
	var element = getTrigger(e,'tr');
	element.className = tableHL_historyClass;
}

function hitRow(e){
	var element = getTrigger(e,'tr');
	if (tableHL_historyHit != undefined){
		addListener(tableHL_historyHit, "mouseover", hiliteRow, true);
		addListener(tableHL_historyHit, "mouseout", unhiliteRow, true);
		addListener(tableHL_historyHit, "click", hitRow, true);
		tableHL_historyHit.className = tableHL_historyHitClass;
	}
	tableHL_historyHit = element;
	tableHL_historyHitClass = tableHL_historyClass;
	removeListener(element, 'mouseover', hiliteRow, true);
	removeListener(element, 'mouseout', unhiliteRow, true);
	removeListener(element, 'click', hitRow, true);
	element.className = tableHL_hitClass;
}

//<<-TABLE HIGHLIGHT---

function extractNumbers(str)
{
	var tt = str.match(/\d+/g);
	tt = tt.toString().replace(/\,/g, "");
	return parseInt(tt);
}

function CheckUrl(target, e)
{
    var asciiCode = (e.which || e.charCode || e.keyCode);
    if ((target.value == "http://" || target.value == "http:/") && asciiCode == 8){
		target.value = "http://";
        if (!document.all){
            e.preventDefault();
        }
    }else if (target.value.substring(0,7) != "http://"){
        target.value = "http://" + target.value;
        if (!document.all){
            e.preventDefault();
        }
    }
}

function selectSideMenu(menuId, selected)
{
	if (selected != '' && selected != undefined){
		var links = document.getElementById(menuId).childNodes;
		for (var i = 0; i < links.length; i ++){
			var action = '';
			if (links[i].href){
				var temp = links[i].href.split('/');
				temp = temp.reverse();
				action = temp[1];
				temp = temp[0].split('.');
				if (temp.length == 2){
					action = temp[0];
				}
			}
			if (action == selected){
				links[i].className = 'selected';
				break;
			}
		}
	}
}

//---TABS MENU->>

function setTabs(tabsId, initSelected, displayIdPrefix)
{
	if (initSelected == undefined){
		initSelected = 1;
	}
	if (displayIdPrefix == undefined){
		displayIdPrefix = 'tabDisplay';
	}
	var tabs = document.getElementById(tabsId).childNodes;
	var s = 0;
	for (var i = 0; i < tabs.length; i++){
		if (tabs[i].nodeName.toLowerCase() == 'div'){
			s++;
			tabs[i].id = tabsId + '_' + displayIdPrefix + '_' + s;
			tabs[i].onclick = selectTab;
			tabs[i].onmouseover = function()
			{
				this.className = 'hover';
			};
			tabs[i].onmouseout = function()
			{
				this.className = '';
			};
			if (s == initSelected){
				tabs[i].onmouseover = null;
				tabs[i].onmouseout = null;
				tabs[i].className = 'selected';
			} else {
				tabs[i].className = '';
			}
			
			if (document.getElementById(displayIdPrefix + '_' + s) && s != initSelected){
				document.getElementById(displayIdPrefix + '_' + s).style.display = 'none';
			} else {
				document.getElementById(displayIdPrefix + '_' + s).style.display = '';
			}
		}
	}
}

function selectTab(tab_id)
{
	var elem;
	if (typeof(tab_id) != 'string') {
		elem = this;
		tab_id = this.id;
	} else {
		elem = $(tab_id);
	}
	
	var idArr = tab_id.toString().split('_');
	var parentId = idArr[0];
	var displayIdPrefix = idArr[1];
	var showTab = idArr[2];
	var tabs = document.getElementById(parentId).childNodes;
	var s = 0;
	for (var i = 0; i < tabs.length; i++){
		if (tabs[i].nodeName.toLowerCase() == 'div'){
			s++;
			tabs[i].className = '';
			tabs[i].onmouseover = function()
			{
				this.className = 'hover';
			};
			tabs[i].onmouseout = function()
			{
				this.className = '';
			};
			if (document.getElementById(displayIdPrefix + '_' + s)){
				document.getElementById(displayIdPrefix + '_' + s).style.display = 'none';
			}
		}
	}
	document.getElementById(displayIdPrefix + '_' + showTab).style.display = 'block';
	faderIn(displayIdPrefix + '_' + showTab);
	elem.onmouseover = null;
	elem.onmouseout = null;
	elem.className = 'selected';
}

function sideTabs(caller, trg)
{
	if (trg == undefined) trg = s$('sideTabsContent');
	var lnks = s$$('a', caller.parentNode);
	for (var i = 0; i < lnks.length; i++){
		lnks[i].className = '';
	}
	caller.className = 'selected';
	trg.innerHTML = s$(caller.id + 'Content').innerHTML;
}

//<<-TABS MENU---

//---SLIDER->>

var sliderLooped = false;
var showSlideCaptionTimer;
var SliderThumbHeight = 33;

function showSlideCaption(e)
{
	var holder = getTrigger(e,'div');
	var caption = $$$('.imgCaption', holder.parentNode)[0];
	if (caption.id == '') caption.id = generateId();
	showSlideCaptionTimer = setTimeout("faderIn('" + caption.id + "')", 400);
}

function hideSlideCaption(e)
{
	var holder = getTrigger(e,'div');
	var caption = $$$('.imgCaption', holder.parentNode)[0];
	if (caption.id == '') caption.id = generateId();
	clearTimeout(showSlideCaptionTimer);
	clearTimeout(faderInTimer);
	setOpacity(0, caption);
}

function setSlider(sliderId, thumbNo)
{
	if (thumbNo == undefined) thumbNo = 2;
	var items = $$$('.item', $(sliderId));
	var thumbLimit = thumbNo < items.length ? thumbNo : items.length;
	var arrows = s$$('a',$$$('.nav', $(sliderId))[0]);
	if (items.length == thumbLimit && !sliderLooped){
		arrows[0].style.display = 'none';
		arrows[1].style.display = 'none';
	}else if (!sliderLooped){
		arrows[0].className = 'disabled';
	}
	for (var i = 0; i < items.length; i++){
		items[i].style.display = 'none';
		var imgHolder = $$$('.imgHolder', items[i])[0];
		addListener(imgHolder, 'mouseover', showSlideCaption, true);
		addListener(imgHolder, 'mouseout', hideSlideCaption, true);
	}
	items[0].style.display = 'block';
	var imgs = s$$('img', $(sliderId));
	for (var i = 0; i < imgs.length; i++){
		imgs[i].alt = '';
	}
	if (items.length < 2){
		$$$('.nav', $(sliderId))[0].style.display = 'none';
		$(sliderId).style.height = 'auto';
		return false;
	}
	for (var i = 0; i < thumbLimit; i++){
		var thumb = document.createElement('div');
		thumb.innerHTML = '<img src="' + s$$('img', items[i])[0].src + '" height="' + SliderThumbHeight + '" border="0" alt="" />';
		if (i == 0){
			thumb.className = 'thumbA';
		}else{
			thumb.className = 'thumb';
		}
		addListener(thumb, 'click', setActiveImg, true);
		$$$('.thumbs', $(sliderId))[0].appendChild(thumb);
	}
}

function setActiveImg(e, obj)
{
	var thumb;
	if (obj == undefined){
		thumb = getTrigger(e,'div');
	}else{
		thumb = obj;
	}
	var sld = thumb.parentNode.parentNode.parentNode;
	var thumbs = s$$('div',thumb.parentNode);
	var arrows = s$$('a',$$$('.nav', sld)[0]);
	arrows[0].className = '';
	arrows[1].className = '';
	for (var i = 0; i < thumbs.length; i++){
		thumbs[i].className = 'thumb';
	}
	var activeImg = s$$('img',thumb)[0];
	var items = $$$('.item', sld);

	for (var i = 0; i < items.length; i++){
		items[i].style.display = 'none';
		var img = s$$('img',items[i])[0];
		if (img.src == activeImg.src){
			items[i].style.display = 'block';
			thumb.className = 'thumbA';
			if (i == 0 && !sliderLooped){
				arrows[0].className = 'disabled';
			}
			if (i == (items.length - 1) && !sliderLooped){
				arrows[1].className = 'disabled';
			}
		}
	}
}

function getCurrentSliderItem(items)
{
	for (var i = 0; i < items.length; i++){
		if (items[i].style.display != 'none'){
			return items[i];
		}
	}
}

function nextSlider(nav)
{
	var sld = nav.parentNode.parentNode;
	var activeThumb = $$$('.thumbA', sld)[0];
	var thumbs = s$$('div',activeThumb.parentNode);
	var items = $$$('.item', sld);
	var nextItem = items[0];
	var currentItem = getCurrentSliderItem(items);
	var pos = getIndex(items, currentItem);
	if (pos < (items.length - 1)){
		nextItem = items[pos + 1];
	}else{
		if (!sliderLooped){
			return false;
		}
	}
	currentItem.style.display = 'none';
	nextItem.style.display = 'block';

	var thumbPos = getIndex(thumbs, activeThumb);
	if (thumbPos < (thumbs.length - 1)){
		setActiveImg(false, thumbs[thumbPos + 1]);
	}else{
		var newThumb = document.createElement('div');
		newThumb.innerHTML = '<img src="' + s$$('img', nextItem)[0].src + '" height="' + SliderThumbHeight + '" border="0" alt="" />';
		addListener(newThumb, 'click', setActiveImg, true);
		$$$('.thumbs', sld)[0].appendChild(newThumb);
		$$$('.thumbs', sld)[0].removeChild(thumbs[0]);
		setActiveImg(false, thumbs[thumbs.length - 1]);
	}
}

function prevSlider(nav)
{
	var sld = nav.parentNode.parentNode;
	var activeThumb = $$$('.thumbA', sld)[0];
	var thumbs = s$$('div',activeThumb.parentNode);
	var items = $$$('.item', sld);
	var nextItem = items[(items.length - 1)];
	var currentItem = getCurrentSliderItem(items);
	var pos = getIndex(items, currentItem);
	if (pos > 0){
		nextItem = items[pos - 1];
	}else{
		if (!sliderLooped){
			return false;
		}
	}
	currentItem.style.display = 'none';
	nextItem.style.display = 'block';

	var thumbPos = getIndex(thumbs, activeThumb);
	if (thumbPos > 0){
		setActiveImg(false, thumbs[thumbPos - 1]);
	}else{
		var newThumb = document.createElement('div');
		newThumb.innerHTML = '<img src="' + s$$('img', nextItem)[0].src + '" height="' + SliderThumbHeight + '" border="0" alt="" />';
		addListener(newThumb, 'click', setActiveImg, true);
		$$$('.thumbs', sld)[0].insertBefore(newThumb,thumbs[0])
		$$$('.thumbs', sld)[0].removeChild(thumbs[thumbs.length - 1]);
		setActiveImg(false, thumbs[0]);
	}
}

//<<-SLIDER---

//---IMAGE SLIDER->>

var slideTimer;
var fadeoutTimer;
var fadeinTimer;
var switchTime = 3000;
var fadeoutTime = 20;
var fadeinTime = 40;
var faderSmoothness = 5;

function clearTimers()
{
	if (fadeoutTimer != undefined) clearTimeout(fadeoutTimer);
	if (fadeinTimer != undefined) clearTimeout(fadeinTimer);
	if (slideTimer != undefined) clearTimeout(slideTimer);
}

function initSlider(sliderId)
{
	if (sliderId == undefined) sliderId = 'slider';
	if (s$(sliderId)){
		var firstItem = s$$('div',s$(sliderId))[0];
		if (firstItem.id == '') firstItem.id = generateId();
		clearTimers();
		slide(firstItem.id);
	}
}

function slide(itemId)
{
	if (!s$(itemId)){
		clearTimers();
		return false;
	}
	var item = s$(itemId);
	var items = s$$('div',item.parentNode);
	for (var i = 0; i < items.length; i++){
		if (items[i].id == '') items[i].id = generateId();
		if (items[i].style.opacity > 0){
			fadeout(items[i].id);
		}
	}
	fadein(item.id);
	var itemIndex = getIndex(items, item);
	var nextItem;
	if (itemIndex < (items.length - 1)){
		nextItem = items[itemIndex+1];
	}else{
		nextItem = items[0];
	}
	slideTimer = setTimeout('slide("' + nextItem.id + '")', switchTime);
}

function fadeout(objId, op)
{
	if (!s$(objId)){
		clearTimers();
		return false;
	}
	var obj = s$(objId);
	if (op == undefined) op = 100;
	if (op < 0){
		clearTimeout(fadeoutTimer);
		return false;
	}
	op -= faderSmoothness;
	obj.style.opacity = op / 100;
	obj.style.filter = 'alpha(opacity=' + op + ')';
	fadeoutTimer = setTimeout('fadeout("' + obj.id + '", ' + op + ')', fadeoutTime);
}

function fadein(objId, op)
{
	if (!s$(objId)){
		clearTimers();
		return false;
	}
	var obj = s$(objId);
	if (op == undefined) op = 0;
	if (op > 100){
		clearTimeout(fadeinTimer);
		return false;
	}
	op += faderSmoothness;
	obj.style.opacity = op / 100;
	obj.style.filter = 'alpha(opacity=' + op + ')';
	fadeinTimer = setTimeout('fadein("' + obj.id + '", ' + op + ')', fadeinTime);
}

//<<-IMAGE SLIDER---

//---FADER->>

var faderOutTime = 50;
var faderInTime = 50;
var faderSmoothness = 5;

var faderOutTimer;
var faderInTimer;

function setOpacity(opacity, id)
{
	var object;
	if (typeof(id) == 'string'){
		object = document.getElementById(id).style;
	}else{
		object = id.style;
	}
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function getOpacity(id)
{
	var object;
	if (typeof(id) == 'string'){
		object = document.getElementById(id).style;
	}else{
		object = id.style;
	}
	if (object.opacity != undefined) return object.opacity * 100;
	if (object.MozOpacity != undefined) return object.MozOpacity;
	if (object.KhtmlOpacity != undefined) return object.KhtmlOpacity;
	if (object.filter != undefined) return object.filter.opacity;//= "alpha(opacity=" + opacity + ")";
}

function faderOut(id, op, end)
{
	if (op == undefined) op = 100;
	if (op > 100) op = 100;
	if (end == undefined) end = 0;
	if (end > 100) end = 0;
	op -= faderSmoothness;
	setOpacity(op, id);
	if (op > end){
		faderOutTimer = setTimeout("faderOut('" + id + "'," + op + "," + end + ")", faderOutTime);
	}else{
		return false;
	}
}

function faderIn(id, op)
{
	if (op == undefined){
		op = 0;
	}
	op += faderSmoothness;
	setOpacity(op, id);
	if (op < 100){
		faderInTimer = setTimeout("faderIn('" + id + "'," + op + ")", faderInTime);
	}else{
		return false;
	}
}

function selfFadeIn(e)
{
	var elm = getTrigger(e,'div');
	if (elm.id == '') elm.id = generateId();
	setOpacity(100, elm.id);
}

function selfFadeOut(e)
{
	var elm = getTrigger(e,'div');
	if (elm.id == '') elm.id = generateId();
	setOpacity(50, elm.id);
}

//<<-FADER---

//---PRINT VIEW->>

function cleanPrintableVersion(sourceId, targetId)
{
	var content;
	if (opener.window){
		content = opener.window.document.getElementById(sourceId).innerHTML;
	}else{
		content = opener.document.getElementById(sourceId).innerHTML;
	}
	document.getElementById(targetId).innerHTML = content;
	var links = document.getElementById(targetId).getElementsByTagName('a');
	var forms = document.getElementById(targetId).getElementsByTagName('form');
	for (var i = 0; i < links.length; i ++){
		links[i].href = '#';
		links[i].target = '_self';
		if (links[i].getElementsByTagName('img')){
			if (links[i].getElementsByTagName('img')[0] && links[i].getElementsByTagName('img')[0].clientWidth < 30){
				links[i].style.display = 'none';
			}
		}
	}
	for (var i = 0; i < forms.length; i ++){
		forms[i].action = '#';
		forms[i].target = '_self';
		var inputs = forms[i].elements;
		for (var j = 0; j < inputs.length; j ++){
			inputs[j].disabled = true;
		}
	}
}

//<<-PRINT VIEW---

//---MODAL->>

function modal(url)
{
	var box = document.getElementById('modalBox');
	var blocker = document.getElementById('modalBlocker');
	box.style.display = 'block';
	blocker.style.display = 'block';
	setBlockerSize();
	document.getElementById('topMenu').style.display = 'none';
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.position = 'absolute';
		var topOff = document.body.parentNode.scrollTop;
		var yPos = box.offsetTop;
		var templ = box.offsetParent;
		while (templ != null) {
  			yPos += templ.offsetTop;
	  		templ = templ.offsetParent;
  		}
		box.style.top = (topOff + yPos) + 'px';
		var selects = document.getElementsByTagName('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = 'none';
		}
	}
	document.getElementById('offsiteUrl').innerHTML = url;
}

function customModal(contentId, w, h, ext)
{
	if (w == undefined) w = 750;
	if (h == undefined) h = 500;
	var box = $('modalBox');
	var innerBox = $('modalBoxInner');
	var blocker = $('modalBlocker');
	box.style.display = 'block';
	box.style.top = '10%';
	box.style.marginLeft = '-' + Math.round(w / 2) + 'px';
	box.style.width = w + 'px';
	innerBox.style.width = (w - 30) + 'px';
	box.style.maxHeight = h + 'px';
	innerBox.style.maxHeight = (h - 51) + 'px';
	innerBox.style.overflow = 'scroll';
	innerBox.style.overflowX = 'hidden';
	blocker.style.display = 'block';
	setBlockerSize();
	$('topMenu').style.display = 'none';
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.position = 'absolute';
		var topOff = document.body.parentNode.scrollTop;
		var yPos = box.offsetTop;
		var templ = box.offsetParent;
		while (templ != null) {
  			yPos += templ.offsetTop;
	  		templ = templ.offsetParent;
  		}
		box.style.top = (topOff + yPos) + 'px';
		var selects = $$('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = 'none';
		}
	}

	if(ext != undefined) {
		$('modalContent'+ext).innerHTML = $(contentId).innerHTML;
	} else {
		$('modalContent').innerHTML = $(contentId).innerHTML;
	}
}

function modal_summary(width, height, top_bar, dimmed, top)
{
	var box = document.getElementById('modalBoxSummary');
	var box_inner = document.getElementById('modalBoxInnerSummary');
	var blocker = document.getElementById('modalBlocker');
	box.style.display = 'block';
	if(dimmed == undefined) {
		blocker.style.display = 'block';
	}
	setBlockerSize();
	document.getElementById('topMenu').style.display = 'none';
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.position = 'absolute';
		var topOff = document.body.parentNode.scrollTop;
		var yPos = box.offsetTop;
		var templ = box.offsetParent;
		while (templ != null) {
  			yPos += templ.offsetTop;
	  		templ = templ.offsetParent;
  		}
		
		box.style.top = (topOff + yPos) + 'px';
				
		var selects = document.getElementsByTagName('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = 'none';
		}
	}

	if(top != undefined) {
		box.style.top = top+'px';
	}
	
	if(width != undefined) {
		box.style.width = width+'px';
		box_inner.style.width = width-30+'px';
	}

	if(height != undefined) {
		box_inner.style.height = height+'px';
	}

	if(top_bar != undefined) {
		box_inner.style.borderTopWidth = top_bar+'px';
	}
}

function modal_summary_hide() {
	var modalBoxSummary = document.getElementById('modalBoxSummary');
	modalBoxSummary.style.display='none';
	modalCancel();
}

function modalImage(imageSrc, desc)
{
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		return false;
	}
	document.getElementById('topMenu').style.display = 'none';
	var bodySize = getBodySize();
	var box = document.getElementById('modalBox');
	var innerBox = document.getElementById('modalBoxInner');
	var boxContent = document.getElementById('modalContent');
	var blocker = document.getElementById('modalBlocker');
	blocker.style.display = 'block';
	setBlockerSize();

	var newImg = new Image();
	newImg.onerror = function(){
		boxContent.innerHTML = 'ERROR! Failed to load "' + imageSrc + '"';
		return false;
	}
	newImg.src = '';
	newImg.src = imageSrc;

	//PRELOAD
	boxContent.innerHTML = '';
	box.style.width = '210px';
	box.style.height = '181px';
	innerBox.style.padding = 0;
	innerBox.style.width = '200px';
	innerBox.style.height = '150px';
	innerBox.style.background = 'url(/images/pic/preload.gif) center no-repeat';
	box.style.left = Math.round(bodySize[0] / 2 - 105) + 'px';
	box.style.top = Math.round(bodySize[1] / 2 - 90) + 'px';
	box.style.marginLeft = 0;
	box.style.display = 'block';
	//END PRELOAD
	if (newImg.complete){
		if (desc != undefined){
			showModalImage(newImg, desc);
		}else{
			showModalImage(newImg);
		}
	}else{
		if (desc != undefined){
			setTimeout('modalImage("' + imageSrc + '", "' + desc + '")',500);
		}else{
			setTimeout('modalImage("' + imageSrc + '")',500);
		}
	}
}

function showModalImage(newImg, desc)
{
	var bodySize = getBodySize();
	var sizeLimit = 600;
	if (sizeLimit > bodySize[1]){
		sizeLimit = bodySize[1] - 20;
	}
	var imageSrc = newImg.src;
	var imgWidth = newImg.width;
	var imgHeight = newImg.height;
	var sizePatch = '';

	var box = document.getElementById('modalBox');
	var innerBox = document.getElementById('modalBoxInner');
	var boxContent = document.getElementById('modalContent');
	var blocker = document.getElementById('modalBlocker');

	if (imgHeight > imgWidth && imgHeight > sizeLimit){
		sizePatch = ' height="' + sizeLimit + '"';
		imgWidth = Math.round(imgWidth * sizeLimit / imgHeight);
		imgHeight = sizeLimit;
	}else if (imgWidth >= imgHeight && imgWidth > sizeLimit){
		sizePatch = ' width="' + sizeLimit + '"';
		imgHeight = Math.round(imgHeight * sizeLimit / imgWidth);
		imgWidth = sizeLimit;
	}
	box.style.width = (imgWidth + 10) + 'px';
	box.style.height = (imgHeight + 31) + 'px';
	innerBox.style.width = imgWidth + 'px';
	innerBox.style.height = imgHeight + 'px';
	box.style.left = (Math.round(bodySize[0] / 2 - imgWidth / 2) - 5) + 'px';
	box.style.top = (Math.round(bodySize[1] / 2 - imgHeight / 2) - 20) + 'px';
	box.style.marginLeft = 0;
	boxContent.innerHTML = '<img src="' + imageSrc + '" border="0" alt=""' + sizePatch + ' />';
	if (desc != undefined){
		boxContent.innerHTML += '<p style="clear: both; float: left; margin: 10px;">' + desc + '</p>';
		innerBox.style.height = (imgHeight + 50) + 'px';
		box.style.height = (imgHeight + 81) + 'px';
		box.style.top = (parseInt(box.style.top) - 25) + 'px';
	}
}

function modalConfirm()
{
	window.location = document.getElementById('offsiteUrl').innerHTML;
}

function modalCancel()
{
	var box = document.getElementById('modalBox');
	var blocker = document.getElementById('modalBlocker');
	box.style.display = 'none';
	blocker.style.display = 'none';
	document.getElementById('topMenu').style.display = '';
	if (navigator.appVersion.indexOf('MSIE 6.0') != -1){ //IE6 FIX
		box.style.top = '40%';
		var selects = document.getElementsByTagName('select');
		for (var i = 0; i < selects.length; i++){
			selects[i].style.display = '';
		}
	}
}

function setBlockerSize()
{
	if (document.getElementById('modalBlocker')){
		var blocker = document.getElementById('modalBlocker');
		if	(blocker.style.display == 'block'){
			var innerW;
			var innerH;
			var theWidth;
			var theHeight;
			var b = document.body;
			if (!window.innerWidth){
				//IE
				innerW = b.clientWidth;
				innerH = b.clientHeight;
				theWidth = b.scrollWidth;
				theHeight = b.scrollHeight;
			}else{
				//w3c
				if (document.documentElement){
					b = document.documentElement;
				}
				theWidth = b.scrollWidth;
				theHeight = b.scrollHeight;
				innerW = window.innerWidth;
				innerH = window.innerHeight;
			}

			if (theWidth < innerW){
				theWidth = innerW - 16;
			}
			if (theHeight < innerH){
				theHeight = innerH;
			}
			blocker.style.width = theWidth + 'px';
			blocker.style.height = theHeight + 'px';
		}
	}
}

window.onresize = setBlockerSize;

//<<-MODAL---

//---COLLAPSABLE TABLES->>

function toggleVisible(obj, colapse)
{
	if (colapse == undefined) colapse = false;
	var caller = obj.previousSibling;
	if (!obj.style){
		obj = obj.nextSibling;
	}
	if (!obj.style.display){
		obj.style.display = '';
	}
	if (colapse){
		if (obj.className){
			if (obj.style.display == 'none'){
				collapseVisible(obj.className);
			}
		}
	}
	if (obj.style.display == 'none'){
		obj.style.display = '';
		if (caller.firstChild){
			var mark = caller.firstChild;
			if (mark.tagName == undefined) mark = mark.nextSibling;
			if (mark.className == 'openerMark'){
				mark.innerHTML = '-';
				mark.style.padding = '0 0 2px 2px';
				mark.style.width = '5px';
				mark.style.height = '5px';
				mark.style.lineHeight = '5px';
			}
		}
	}else{
		obj.style.display = 'none';
		if (caller.firstChild){
			var mark = caller.firstChild;
			if (mark.tagName == undefined) mark = mark.nextSibling;
			if (mark.className == 'openerMark'){
				mark.innerHTML = '+';
				mark.style.padding = '0';
				mark.style.width = '7px';
				mark.style.height = '7px';
				mark.style.lineHeight = '7px';
			}
		}
	}
}

function collapseVisible(cls)
{
	var elms = $$$('.' + cls);
	for (var i = 0; i < elms.length; i++){
		elms[i].style.display = 'none';
		var caller = elms[i].previousSibling;
		if (!caller.style){
			caller = caller.previousSibling;
		}
		if (caller.firstChild){
			var mark = caller.firstChild;
			if (mark.tagName == undefined) mark = mark.nextSibling;
			if (mark.className == 'openerMark'){
				mark.innerHTML = '+';
				mark.style.padding = '0';
				mark.style.width = '7px';
				mark.style.height = '7px';
				mark.style.lineHeight = '7px';
			}
		}
	}
}

function ctShow(obj)
{
	if (typeof(obj) == 'string'){
		obj = document.getElementById(obj);
	}
	var divs = $$$('div.openerBar');
	for (var i = 0; i < divs.length; i++){
		var openerBody = divs[i].nextSibling;
		while (openerBody.className == undefined){
			openerBody = openerBody.nextSibling;
		}
		if (openerBody.style.display != 'none') toggleVisible(divs[i].nextSibling);
	}
	toggleVisible(obj.nextSibling);
}

//<<-COLLAPSABLE TABLES---

//---GET ELEMENT(s)->>

function s$(id, elem)
{
	if (elem == undefined){
		elem = document;
	}
	return elem.getElementById(id);
}

function s$$(tagname, elem)
{
	if (elem == undefined){
		elem = document;
	}
	return elem.getElementsByTagName(tagname);
}

function s$$$(e, elem)
{
	if (!e || !e.length || e.length == 0)
	return [];
	var store = [elem || document.body];
	var store_t = [];
	e = e.split(" ");
	for (var i = 0; i < e.length; i++) {
		var r = {
			id:  "",
			tag: "*",
			clas:[]
		};
		var c, s, t = e[i];
		while (t.length > 0){
			s = t.search(/.[#\.]/) + 1 || t.length;
			c = t.substr(0, s);

			if (c.substr(0, 1) == "#"){
				r.id = c.substr(1);
			}else if (c.substr(0, 1) == "."){
				r.clas.push(c.substr(1));
			}else{
				r.tag = c;
			}

			t = t.substr(s);
		}
		while (store.length > 0){
			var curr = [], temp = store.shift().getElementsByTagName(r.tag);
			for (var j = 0; j < temp.length; j++){
				curr.push(temp[j]);
			}
			while (curr.length > 0){
				var ok = true, ce = curr.shift();
				if (r.id && ce.id != r.id){
					ok = false;
				}
				for (j = 0; j < r.clas.length; j++){
					if ((" " + ce.className + " ").indexOf(" " + r.clas[j] + " ") == -1){
						ok = false;
						break;
					}
				}
				if (ok){
					store_t.push(ce);
				}
			}
		}
		store = store_t;
		store_t = [];
	}
	return store;
}

//<<-GET ELEMENT(s)---

function selectRadio(form, elements, selection) {
	
	var buttonGroup = document['forms'][form][elements];
	for (var i=0; i<buttonGroup.length; i++) {
		if(buttonGroup[i].id != selection) {
			buttonGroup[i].checked = false;
		} else {
			buttonGroup[i].checked = true;
		}
	}
}
