/*****************************************************
 All javascript herein is copyrighted (c) to
 Media Manifest, LLC and it's respective owners.
 
 Use or duplication of this script is not permitted
 without the prior written consent of Media Manifest,
 LLC.
 
 These functions will not work without the proper APIs
 
 copyright (c) 2005, All rights reserved
*****************************************************/

/*****************************************************
 Global Vars
*****************************************************/
var display_cookie_name = 'display';
var display_cookie_glue = ':';

/*****************************************************
 Logout confirmation
*****************************************************/
function logout(name)
{
	var ht;
	
	ht = document.getElementsByTagName("html");
	ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
	if (confirm('Are you sure you want to log out '+name+'?'))
	{
		return true;
	}
	else
	{
		ht[0].style.filter = "";
		return false;
	}
}

/*****************************************************
 Submit Form
*****************************************************/
function submitForm(form_id)
{
	gE(form_id).submit();
}

/***************************************************** 
 Toggle / Close / Open Display with Cookie Option
*****************************************************/
function changeDisplay(idtitle,action,cookie,textObj,openText,closeText)
{	
	var cookie_value, cookie_value_array, e_obj, i, j, newcookie_value_array, s_obj;
	
	newcookie_value_array = new Array();

	e_obj = gE(idtitle);
	s_obj = gS(idtitle);

	if(e_obj)
	{
		switch(action)
		{
			case "toggle":
				if(s_obj.display == 'none')
				{
					oE(e_obj);
					if(textObj && openText)
						wH(textObj,openText);
					if(cookie)
					{
						cookie_value = getCookie(display_cookie_name);
						
						if(cookie_value != null && cookie_value != '' && !inDisplayCookie(idtitle))
							cookie_value += display_cookie_glue + idtitle;
						else
							cookie_value = idtitle;
					}
				} else
				{
					cE(e_obj);
					if(textObj && closeText)
						wH(textObj,closeText);
					if(cookie)
					{
						cookie_value = getCookie(display_cookie_name);
						if(cookie_value != null)
						{
							j = 0;

							cookie_value_array = cookie_value.split(display_cookie_glue);

							for(i=0;i<cookie_value_array.length;i++)
							{
								if(cookie_value_array[i] != idtitle)
								{
									newcookie_value_array[j] = cookie_value_array[i];
									j++;
								}
							}

							cookie_value = newcookie_value_array.join(display_cookie_glue);
						}
					}
				}
				
				if(cookie && cookie_value != null)
					 setCookie(display_cookie_name,cookie_value,null,'/','.[:$smarty.server.HTTP_HOST:]');
				else if(cookie && cookie_value == null)
					 deleteCookie(display_cookie_name,'/','.[:$smarty.server.HTTP_HOST:]');
			break;

			case "close":
				cE(e_obj);
			break;

			case "open":
				s_obj.display='block';
				oE(e_obj);
			break;
		}

		return true; //if idObj exists
	} else
		return false; //if idObj doesnt exist
}

/***************************************************** 
 Check Value in Display Cookie
*****************************************************/
function inDisplayCookie(value)
{
	var cookie_value, cookie_value_array, i;

	cookie_value = getCookie(display_cookie_name);
	
	if(cookie_value != null)
	{
		cookie_value_array = cookie_value.split(display_cookie_glue);

		for(i=0;i<cookie_value_array.length;i++)
		{
			if(cookie_value_array[i] == value)
				return true;
		}
	}

	return false;
}

/*****************************************************
 Disable button after clicked and submit form
*****************************************************/
function clickOnce(obj_input,submit_form,enable_value)
{
	var disabled_timer=null;
	
	if(!enable_value)
	{
		obj_input.disabled = true;
		tmp_obj_input = obj_input;
		tmp_enable_value = obj_input.value;
		obj_input.value = 'Please wait...';
		disabled_timer = setTimeout("clickOnce(tmp_obj_input,false,tmp_enable_value);",5000);
		if(submit_form) // for IE
		{
			obj_input.form.submit();
			return false;
		}
		
		return true;
	} else
	{
		clearTimeout(disabled_timer);
		obj_input.disabled = false;
		obj_input.value = enable_value;
	}
}

/*****************************************************
 Show a sepcific number of displays
*****************************************************/
function displayNumber(i_section,start_num,end_num,m_section) {
	var i;
	
	if(m_section)
	{
		if(end_num >= start_num) changeDisplay(m_section,'open');
		else changeDisplay(m_section,'close');
	}

	i = start_num;
	do
	{
		changeDisplay(i_section+i,'close');
		i++;
	} while(changeDisplay(i_section+i,'close'))

	for(i=start_num;i<=end_num;i++)
	{
		changeDisplay(i_section+i,'open');
	}
}

/*****************************************************
 For the demo / buy page. To hide and show sections
 based on a value.
*****************************************************/
function displayContactTypeSections(value,current_value) {
	var get_contacted_disp = 'close';
	var closest_disp = 'close';
	var search_disp = 'close';
	var reseller_results_disp = 'close';
	
	switch(value) {
		case 'get_contacted':
			get_contacted_disp = 'open';
		break;
		
		case 'closest':
			closest_disp = 'open';
		break;
		
		case 'search':
			search_disp = 'open';
		break;
	}
	
	if(value == current_value)
		reseller_results_disp = 'open';
	
	changeDisplay('get_contacted_details',get_contacted_disp);
	changeDisplay('closest_details',closest_disp);
	changeDisplay('search_details',search_disp);
	changeDisplay('reseller_results',reseller_results_disp);
}

/*****************************************************
 Formats a number as money
*****************************************************/
function formatAsMoney(mnt)
{
	mnt -= 0;
	mnt = (Math.round(mnt*100))/100;
	return (mnt == Math.floor(mnt)) ? mnt + '.00' : ( (mnt*10 == Math.floor(mnt*10)) ? mnt + '0' : mnt);
}

/*****************************************************
 For the purchasing section, to go back to a section
*****************************************************/
function backTo(step)
{
	var step_obj = gE('step');
	var back_to_obj = gE('back_to');
	step_obj.value = 'back_to';
	back_to_obj.value = step;
}